orenoblog

エンジニアになりたいExcel方眼紙erの物語

AWS SDK for RubyでCloudFormation

CloudFormationをSDKで処理してみました。

ありがとうAPIリファレンス

ClientクラスとStackクラス... Clientクラスだけでも良さそうですね。

  • 作成と削除
require 'json'
template = nil
open("VPC.json") do |io|
  template = JSON.load(io)
end
cfm = AWS::CloudFormation.new(
  :access_key_id =>  '<access_key_id>',
  :secret_access_key => '<secret_access_key>',
  :region => '<region>'
)

if cfm.stacks['VPCtestStack'].exists? == false
  stack = cfm.stacks.create('VPCtestStack',template)
else
  cfm.client.delete_stack(:stack_name => 'VPCtestStack')
  stack = cfm.stacks['VPCtestStack']
end
  • 状態をチェックします
cfm.stacks.each do |stack|
   puts stack
end
cfm.stack_summaries.each do |stack_summary|
  puts stack_summary
end
puts cfm.stacks['VPCtestStack'].template