require 'etude_for_aws'

namespace :CFM do

desc '1つのアベイラビリティゾーンに1つのパブリックサブネットVPCを作成する'
task :create_type01_vpc do
  CFM::OneAzOnePublicSubnetVpc.new.create
end

desc '1つのアベイラビリティゾーンに1つのパブリックサブネットVPCを削除する'
task :destroy_type01_vpc do
  CFM::OneAzOnePublicSubnetVpc.new.destroy
end

desc '1つのアベイラビリティゾーンに2つのパブリックサブネットVPCを作成する'
task :create_type02_vpc do
  CFM::OneAzTwoPublicSubnetVpc.new.create
end

desc '1つのアベイラビリティゾーンに2つのパブリックサブネットVPCを削除する'
task :destroy_type02_vpc do
  CFM::OneAzTwoPublicSubnetVpc.new.destroy
end

desc '1つのアベイラビリティゾーンに1つのパブリックサブネットと1つのプライベートサブネットVPCを作成する'
task :create_type03_vpc do
  CFM::OneAzTwoPublicAndPrivateSubnetVpc.new.create
end

desc '1つのアベイラビリティゾーンに1つのパブリックサブネットと1つのプライベートサブネットを削除する'
task :destroy_type03_vpc do
  CFM::OneAzTwoPublicAndPrivateSubnetVpc.new.destroy
end

desc '2つのアベイラビリティゾーンに2つのプライベートサブネットVPCを作成する'
task :create_type04_vpc do
  CFM::TwoAzTwoPrivateSubnetVpc.new.create
end

desc '2つのアベイラビリティゾーンに2つのプライベートサブネットを削除する'
task :destroy_type04_vpc do
  CFM::TwoAzTwoPrivateSubnetVpc.new.destroy
end

desc '2つのアベイラビリティゾーンに2つのパブリックサブネットVPCを作成する'
task :create_type05_vpc do
  CFM::TwoAzTwoPublicSubnetVpc.new.create
end

desc '2つのアベイラビリティゾーンに2つのパブリックサブネットVPCを削除する'
task :destroy_type05_vpc do
  CFM::TwoAzTwoPublicSubnetVpc.new.destroy
end

desc '2つのアベイラビリティゾーンに1つのパブリックサブネットと1つのプライベートサブネットVPCを作成する'
task :create_type06_vpc do
  CFM::TwoAzOnePublicSubnetAndPrivateSubnetVpc.new.create
end

desc '2つのアベイラビリティゾーンに1つのパブリックサブネットと1つのプライベートサブネットVPCを削除する'
task :destroy_type06_vpc do
  CFM::TwoAzOnePublicSubnetAndPrivateSubnetVpc.new.destroy
end

desc '2つのアベイラビリティゾーンに2つのパブリックサブネットと2つのプライベートサブネットVPCを作成する'
task :create_type07_vpc do
  CFM::TwoAzTwoPublicSubnetAndPrivateSubnetVpc.new.create
end

desc '2つのアベイラビリティゾーンに2つのパブリックサブネットと2つのプライベートサブネットVPCを削除する'
task :destroy_type07_vpc do
  CFM::TwoAzTwoPublicSubnetAndPrivateSubnetVpc.new.destroy
end

end