diff --git a/lib/convection/model/template/resource/aws_ec2_customer_gateway.rb b/lib/convection/model/template/resource/aws_ec2_customer_gateway.rb new file mode 100644 index 0000000..da17e89 --- /dev/null +++ b/lib/convection/model/template/resource/aws_ec2_customer_gateway.rb @@ -0,0 +1,27 @@ +require_relative '../resource' + +module Convection + module Model + class Template + class Resource + ## + # AWS::EC2::CustomerGateway + ## + class EC2CustomerGateway < Resource + include Model::Mixin::Taggable + + type 'AWS::EC2::CustomerGateway' + property :connection_type, 'Type' + property :bgp_asn, 'BgpAsn' + property :ip_address, 'IpAddress' + + def render(*args) + super.tap do |resource| + render_tags(resource) + end + end + end + end + end + end +end diff --git a/lib/convection/model/template/resource/aws_ec2_vpn_connection.rb b/lib/convection/model/template/resource/aws_ec2_vpn_connection.rb new file mode 100644 index 0000000..9966532 --- /dev/null +++ b/lib/convection/model/template/resource/aws_ec2_vpn_connection.rb @@ -0,0 +1,28 @@ +require_relative '../resource' + +module Convection + module Model + class Template + class Resource + ## + # AWS::EC2::VPNConnection + ## + class EC2VPNConnection < Resource + include Model::Mixin::Taggable + + type 'AWS::EC2::VPNConnection' + property :connection_type, 'Type' + property :static_routes_only, 'StaticRoutesOnly' + property :customer_gateway_id, 'CustomerGatewayId' + property :vpn_gateway_id, 'VpnGatewayId' + + def render(*args) + super.tap do |resource| + render_tags(resource) + end + end + end + end + end + end +end diff --git a/lib/convection/model/template/resource/aws_ec2_vpn_connection_route.rb b/lib/convection/model/template/resource/aws_ec2_vpn_connection_route.rb new file mode 100644 index 0000000..16c5a23 --- /dev/null +++ b/lib/convection/model/template/resource/aws_ec2_vpn_connection_route.rb @@ -0,0 +1,18 @@ +require_relative '../resource' + +module Convection + module Model + class Template + class Resource + ## + # AWS::EC2::VPNConnectionRoute + ## + class EC2VPNConnectionRoute < Resource + type 'AWS::EC2::VPNConnectionRoute' + property :destination, 'DestinationCidrBlock' + property :vpn_connection_id, 'VpnConnectionId' + end + end + end + end +end diff --git a/lib/convection/model/template/resource/aws_ec2_vpn_gateway.rb b/lib/convection/model/template/resource/aws_ec2_vpn_gateway.rb new file mode 100644 index 0000000..ef1e403 --- /dev/null +++ b/lib/convection/model/template/resource/aws_ec2_vpn_gateway.rb @@ -0,0 +1,25 @@ +require_relative '../resource' + +module Convection + module Model + class Template + class Resource + ## + # AWS::EC2::VPNGateway + ## + class EC2VPNGateway < Resource + include Model::Mixin::Taggable + + type 'AWS::EC2::VPNGateway' + property :connection_type, 'Type' + + def render(*args) + super.tap do |resource| + render_tags(resource) + end + end + end + end + end + end +end diff --git a/lib/convection/model/template/resource/aws_ec2_vpn_gateway_route_propagation.rb b/lib/convection/model/template/resource/aws_ec2_vpn_gateway_route_propagation.rb new file mode 100644 index 0000000..a9b0cc0 --- /dev/null +++ b/lib/convection/model/template/resource/aws_ec2_vpn_gateway_route_propagation.rb @@ -0,0 +1,18 @@ +require_relative '../resource' + +module Convection + module Model + class Template + class Resource + ## + # AWS::EC2::VPNGatewayRoutePropagation + ## + class EC2VPNGatewayRoutePropagation < Resource + type 'AWS::EC2::VPNGatewayRoutePropagation' + property :route_table_ids, 'RouteTableIds' + property :vpn_gateway_id, 'VpnGatewayId' + end + end + end + end +end diff --git a/lib/convection/model/template/resource/aws_route53_hosted_zone.rb b/lib/convection/model/template/resource/aws_route53_hosted_zone.rb new file mode 100644 index 0000000..d6ca644 --- /dev/null +++ b/lib/convection/model/template/resource/aws_route53_hosted_zone.rb @@ -0,0 +1,29 @@ +require_relative '../resource' + +module Convection + module Model + class Template + class Resource + ## + # AWS::Route53::HostedZone + ## + class Route53HostedZone < Resource + include Model::Mixin::Taggable + + type 'AWS::Route53::HostedZone', :route53_hosted_zone + property :config, 'HostedZoneConfig' + property :name, 'Name' + property :vpcs, 'VPCs', :type => :list + + def render(*args) + super.tap do |resource| + resource.tap do |r| + r['Properties']['HostedZoneTags'] = tags.render unless tags.empty? + end + end + end + end + end + end + end +end