skywriter 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (154) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +18 -0
  3. data/.rspec +2 -0
  4. data/.travis.yml +8 -0
  5. data/CHANGES.md +5 -0
  6. data/Gemfile +4 -0
  7. data/LICENSE.md +22 -0
  8. data/README.md +139 -0
  9. data/Rakefile +7 -0
  10. data/lib/skywriter/function.rb +133 -0
  11. data/lib/skywriter/resource/auto_scaling/auto_scaling_group.rb +28 -0
  12. data/lib/skywriter/resource/auto_scaling/launch_configuration.rb +28 -0
  13. data/lib/skywriter/resource/auto_scaling/scaling_policy.rb +18 -0
  14. data/lib/skywriter/resource/auto_scaling/scheduled_action.rb +21 -0
  15. data/lib/skywriter/resource/auto_scaling/trigger.rb +26 -0
  16. data/lib/skywriter/resource/cloud_formation/authentication.rb +46 -0
  17. data/lib/skywriter/resource/cloud_formation/custom_resource.rb +17 -0
  18. data/lib/skywriter/resource/cloud_formation/stack.rb +15 -0
  19. data/lib/skywriter/resource/cloud_formation/wait_condition.rb +15 -0
  20. data/lib/skywriter/resource/cloud_formation/wait_condition_handle.rb +12 -0
  21. data/lib/skywriter/resource/cloud_front/distribution.rb +13 -0
  22. data/lib/skywriter/resource/cloud_watch/alarm.rb +27 -0
  23. data/lib/skywriter/resource/dynamo_db/table.rb +18 -0
  24. data/lib/skywriter/resource/ec2/customer_gateway.rb +16 -0
  25. data/lib/skywriter/resource/ec2/dhcp_options.rb +18 -0
  26. data/lib/skywriter/resource/ec2/eip.rb +14 -0
  27. data/lib/skywriter/resource/ec2/eip_association.rb +17 -0
  28. data/lib/skywriter/resource/ec2/instance.rb +34 -0
  29. data/lib/skywriter/resource/ec2/internet_gateway.rb +13 -0
  30. data/lib/skywriter/resource/ec2/network_acl.rb +14 -0
  31. data/lib/skywriter/resource/ec2/network_acl_entry.rb +20 -0
  32. data/lib/skywriter/resource/ec2/network_interface.rb +20 -0
  33. data/lib/skywriter/resource/ec2/network_interface_attachment.rb +16 -0
  34. data/lib/skywriter/resource/ec2/route.rb +17 -0
  35. data/lib/skywriter/resource/ec2/route_table.rb +14 -0
  36. data/lib/skywriter/resource/ec2/security_group.rb +17 -0
  37. data/lib/skywriter/resource/ec2/security_group_egress.rb +23 -0
  38. data/lib/skywriter/resource/ec2/security_group_ingress.rb +26 -0
  39. data/lib/skywriter/resource/ec2/subnet.rb +16 -0
  40. data/lib/skywriter/resource/ec2/subnet_network_acl_association.rb +14 -0
  41. data/lib/skywriter/resource/ec2/subnet_route_table_association.rb +14 -0
  42. data/lib/skywriter/resource/ec2/volume.rb +18 -0
  43. data/lib/skywriter/resource/ec2/volume_attachment.rb +15 -0
  44. data/lib/skywriter/resource/ec2/vpc.rb +17 -0
  45. data/lib/skywriter/resource/ec2/vpc_dhcp_options_association.rb +14 -0
  46. data/lib/skywriter/resource/ec2/vpc_gateway_attachment.rb +15 -0
  47. data/lib/skywriter/resource/ec2/vpn_connection.rb +17 -0
  48. data/lib/skywriter/resource/ec2/vpn_connection_route.rb +14 -0
  49. data/lib/skywriter/resource/ec2/vpn_gateway.rb +14 -0
  50. data/lib/skywriter/resource/ec2/vpn_gateway_route_propagation.rb +14 -0
  51. data/lib/skywriter/resource/elasti_cache/cache_cluster.rb +27 -0
  52. data/lib/skywriter/resource/elastic_beanstalk/application.rb +14 -0
  53. data/lib/skywriter/resource/elastic_beanstalk/application_version.rb +15 -0
  54. data/lib/skywriter/resource/elastic_beanstalk/configuration_template.rb +18 -0
  55. data/lib/skywriter/resource/elastic_beanstalk/environment.rb +21 -0
  56. data/lib/skywriter/resource/elastic_load_balancing/load_balancer.rb +25 -0
  57. data/lib/skywriter/resource/elasticache/parameter_group.rb +15 -0
  58. data/lib/skywriter/resource/elasticache/security_group.rb +13 -0
  59. data/lib/skywriter/resource/elasticache/security_group_ingress.rb +15 -0
  60. data/lib/skywriter/resource/elasticache/subnet_group.rb +14 -0
  61. data/lib/skywriter/resource/iam/access_key.rb +16 -0
  62. data/lib/skywriter/resource/iam/group.rb +15 -0
  63. data/lib/skywriter/resource/iam/instance_profile.rb +15 -0
  64. data/lib/skywriter/resource/iam/policy.rb +18 -0
  65. data/lib/skywriter/resource/iam/role.rb +13 -0
  66. data/lib/skywriter/resource/iam/user.rb +17 -0
  67. data/lib/skywriter/resource/iam/user_to_group_addition.rb +15 -0
  68. data/lib/skywriter/resource/logical_name_pointer.rb +11 -0
  69. data/lib/skywriter/resource/pointer.rb +23 -0
  70. data/lib/skywriter/resource/rds/db_instance.rb +37 -0
  71. data/lib/skywriter/resource/rds/db_parameter_group.rb +17 -0
  72. data/lib/skywriter/resource/rds/db_security_group.rb +17 -0
  73. data/lib/skywriter/resource/rds/db_security_group_ingress.rb +18 -0
  74. data/lib/skywriter/resource/rds/db_subnet_group.rb +16 -0
  75. data/lib/skywriter/resource/redshift/cluster.rb +37 -0
  76. data/lib/skywriter/resource/redshift/cluster_parameter_group.rb +16 -0
  77. data/lib/skywriter/resource/redshift/cluster_security_group.rb +14 -0
  78. data/lib/skywriter/resource/redshift/cluster_security_group_ingress.rb +17 -0
  79. data/lib/skywriter/resource/redshift/cluster_subnet_group.rb +15 -0
  80. data/lib/skywriter/resource/ref_pointer.rb +11 -0
  81. data/lib/skywriter/resource/route_53/record_set.rb +24 -0
  82. data/lib/skywriter/resource/route_53/record_set_group.rb +17 -0
  83. data/lib/skywriter/resource/s3/bucket.rb +17 -0
  84. data/lib/skywriter/resource/s3/bucket_policy.rb +15 -0
  85. data/lib/skywriter/resource/sdb/domain.rb +13 -0
  86. data/lib/skywriter/resource/sns/topic.rb +16 -0
  87. data/lib/skywriter/resource/sns/topic_policy.rb +15 -0
  88. data/lib/skywriter/resource/sqs/queue.rb +18 -0
  89. data/lib/skywriter/resource/sqs/queue_policy.rb +15 -0
  90. data/lib/skywriter/resource.rb +165 -0
  91. data/lib/skywriter/resource_property/README.md +64 -0
  92. data/lib/skywriter/resource_property/auto_scaling/block_device_mapping.rb +12 -0
  93. data/lib/skywriter/resource_property/auto_scaling/ebs_block_device.rb +17 -0
  94. data/lib/skywriter/resource_property/auto_scaling/notification_configuration.rb +11 -0
  95. data/lib/skywriter/resource_property/auto_scaling/tag.rb +15 -0
  96. data/lib/skywriter/resource_property/cloud_formation/resource_tag.rb +12 -0
  97. data/lib/skywriter/resource_property/cloud_front/cache_behavior.rb +14 -0
  98. data/lib/skywriter/resource_property/cloud_front/custom_origin.rb +11 -0
  99. data/lib/skywriter/resource_property/cloud_front/default_cache_behavior.rb +13 -0
  100. data/lib/skywriter/resource_property/cloud_front/distribution_config.rb +16 -0
  101. data/lib/skywriter/resource_property/cloud_front/forwarded_value.rb +13 -0
  102. data/lib/skywriter/resource_property/cloud_front/logging.rb +10 -0
  103. data/lib/skywriter/resource_property/cloud_front/origin.rb +12 -0
  104. data/lib/skywriter/resource_property/cloud_front/s3_origin.rb +9 -0
  105. data/lib/skywriter/resource_property/cloud_watch/metric_dimension.rb +10 -0
  106. data/lib/skywriter/resource_property/dynamo_db/attribute_definition.rb +12 -0
  107. data/lib/skywriter/resource_property/dynamo_db/global_secondary_index.rb +14 -0
  108. data/lib/skywriter/resource_property/dynamo_db/key_schema.rb +10 -0
  109. data/lib/skywriter/resource_property/dynamo_db/local_secondary_index.rb +13 -0
  110. data/lib/skywriter/resource_property/dynamo_db/projection.rb +12 -0
  111. data/lib/skywriter/resource_property/dynamo_db/provisioned_throughput.rb +10 -0
  112. data/lib/skywriter/resource_property/ec2/block_device_mapping.rb +12 -0
  113. data/lib/skywriter/resource_property/ec2/ebs_block_device.rb +15 -0
  114. data/lib/skywriter/resource_property/ec2/icmp.rb +10 -0
  115. data/lib/skywriter/resource_property/ec2/mount_point.rb +10 -0
  116. data/lib/skywriter/resource_property/ec2/network_interface.rb +18 -0
  117. data/lib/skywriter/resource_property/ec2/network_interface_association.rb +12 -0
  118. data/lib/skywriter/resource_property/ec2/network_interface_attachment.rb +10 -0
  119. data/lib/skywriter/resource_property/ec2/network_interface_group_item.rb +10 -0
  120. data/lib/skywriter/resource_property/ec2/network_interface_private_ip_specification.rb +10 -0
  121. data/lib/skywriter/resource_property/ec2/port_range.rb +10 -0
  122. data/lib/skywriter/resource_property/ec2/security_group_rule.rb +12 -0
  123. data/lib/skywriter/resource_property/ec2/tag.rb +10 -0
  124. data/lib/skywriter/resource_property/elastic_beanstalk/environment_tier.rb +11 -0
  125. data/lib/skywriter/resource_property/elastic_beanstalk/option_setting.rb +13 -0
  126. data/lib/skywriter/resource_property/elastic_beanstalk/source_bundle.rb +10 -0
  127. data/lib/skywriter/resource_property/elastic_beanstalk/source_configuration.rb +10 -0
  128. data/lib/skywriter/resource_property/elastic_load_balancing/app_cookie_stickiness_policy.rb +10 -0
  129. data/lib/skywriter/resource_property/elastic_load_balancing/health_check.rb +13 -0
  130. data/lib/skywriter/resource_property/elastic_load_balancing/lb_cookie_stickiness_policy.rb +10 -0
  131. data/lib/skywriter/resource_property/elastic_load_balancing/listener.rb +14 -0
  132. data/lib/skywriter/resource_property/elastic_load_balancing/policy.rb +13 -0
  133. data/lib/skywriter/resource_property/rds/security_group_rule.rb +12 -0
  134. data/lib/skywriter/resource_property/redshift/parameter.rb +10 -0
  135. data/lib/skywriter/resource_property/route53/alias_target.rb +10 -0
  136. data/lib/skywriter/resource_property/s3/website_configuration_policy.rb +16 -0
  137. data/lib/skywriter/resource_property/sns/subscription.rb +10 -0
  138. data/lib/skywriter/resource_property/sqs/redrive_policy.rb +10 -0
  139. data/lib/skywriter/resource_property.rb +57 -0
  140. data/lib/skywriter/template.rb +143 -0
  141. data/lib/skywriter/version.rb +3 -0
  142. data/lib/skywriter.rb +8 -0
  143. data/skywriter.gemspec +29 -0
  144. data/spec/skywriter/function_spec.rb +99 -0
  145. data/spec/skywriter/resource/cloud_formation/authentication_spec.rb +36 -0
  146. data/spec/skywriter/resource/cloud_formation/custom_resource_spec.rb +30 -0
  147. data/spec/skywriter/resource/logical_name_pointer_spec.rb +15 -0
  148. data/spec/skywriter/resource/ref_pointer_spec.rb +15 -0
  149. data/spec/skywriter/resource_property/ec2/security_group_rule_spec.rb +7 -0
  150. data/spec/skywriter/resource_property_spec.rb +153 -0
  151. data/spec/skywriter/resource_spec.rb +236 -0
  152. data/spec/skywriter/template_spec.rb +246 -0
  153. data/spec/spec_helper.rb +29 -0
  154. metadata +306 -0
@@ -0,0 +1,18 @@
1
+ module Skywriter
2
+ module Resource
3
+ module EC2
4
+ # AWS::EC2::DHCPOptions Resource
5
+ #
6
+ class DHCPOptions
7
+ include Skywriter::Resource
8
+
9
+ property :DomainName
10
+ property :DomainNameServers
11
+ property :NetbiosNameServers
12
+ property :NetbiosNodeType
13
+ property :NtpServers
14
+ property :Tags
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,14 @@
1
+ module Skywriter
2
+ module Resource
3
+ module EC2
4
+ # AWS::EC2::EIP Resource
5
+ #
6
+ class EIP
7
+ include Skywriter::Resource
8
+
9
+ property :InstanceId
10
+ property :Domain
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,17 @@
1
+ module Skywriter
2
+ module Resource
3
+ module EC2
4
+ # AWS::EC2::EIPAssociation Resource
5
+ #
6
+ class EIPAssociation
7
+ include Skywriter::Resource
8
+
9
+ property :AllocationId
10
+ property :EIP
11
+ property :InstanceId
12
+ property :NetworkInterfaceId
13
+ property :PrivateIpAddress
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,34 @@
1
+ module Skywriter
2
+ module Resource
3
+ module EC2
4
+ # AWS::EC2::Instance Resource
5
+ #
6
+ class Instance
7
+ include Skywriter::Resource
8
+
9
+ property :AvailabilityZone
10
+ property :BlockDeviceMappings
11
+ property :DisableApiTermination
12
+ property :EbsOptimized
13
+ property :IamInstanceProfile
14
+ property :ImageId
15
+ property :InstanceType
16
+ property :KernelId
17
+ property :KeyName
18
+ property :Monitoring
19
+ property :NetworkInterfaces
20
+ property :PlacementGroupName
21
+ property :PrivateIpAddress
22
+ property :RamdiskId
23
+ property :SecurityGroupIds
24
+ property :SecurityGroups
25
+ property :SourceDestCheck
26
+ property :SubnetId
27
+ property :Tags
28
+ property :Tenancy
29
+ property :UserData
30
+ property :Volumes
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,13 @@
1
+ module Skywriter
2
+ module Resource
3
+ module EC2
4
+ # AWS::EC2::InternetGateway Resource
5
+ #
6
+ class InternetGateway
7
+ include Skywriter::Resource
8
+
9
+ property :Tags
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,14 @@
1
+ module Skywriter
2
+ module Resource
3
+ module EC2
4
+ # AWS::EC2::NetworkAcl Resource
5
+ #
6
+ class NetworkAcl
7
+ include Skywriter::Resource
8
+
9
+ property :Tags
10
+ property :VpcId
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,20 @@
1
+ module Skywriter
2
+ module Resource
3
+ module EC2
4
+ # AWS::EC2::NetworkAclEntry Resource
5
+ #
6
+ class NetworkAclEntry
7
+ include Skywriter::Resource
8
+
9
+ property :CidrBlock
10
+ property :Egress
11
+ property :Icmp
12
+ property :NetworkAclId
13
+ property :PortRange
14
+ property :Protocol
15
+ property :RuleAction
16
+ property :RuleNumber
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,20 @@
1
+ module Skywriter
2
+ module Resource
3
+ module EC2
4
+ # AWS::EC2::NetworkInterface Resource
5
+ #
6
+ class NetworkInterface
7
+ include Skywriter::Resource
8
+
9
+ property :Description
10
+ property :GroupSet
11
+ property :PrivateIpAddress
12
+ property :PrivateIpAddresses
13
+ property :SecondaryPrivateIpAddressCount
14
+ property :SourceDestCheck
15
+ property :SubnetId
16
+ property :Tags
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,16 @@
1
+ module Skywriter
2
+ module Resource
3
+ module EC2
4
+ # AWS::EC2::NetworkInterfaceAttachment Resource
5
+ #
6
+ class NetworkInterfaceAttachment
7
+ include Skywriter::Resource
8
+
9
+ property :DeleteOnTermination
10
+ property :DeviceIndex
11
+ property :InstanceId
12
+ property :NetworkInterfaceId
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,17 @@
1
+ module Skywriter
2
+ module Resource
3
+ module EC2
4
+ # AWS::EC2::Route Resource
5
+ #
6
+ class Route
7
+ include Skywriter::Resource
8
+
9
+ property :DestinationCidrBlock
10
+ property :GatewayId
11
+ property :InstanceId
12
+ property :NetworkInterfaceId
13
+ property :RouteTableId
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,14 @@
1
+ module Skywriter
2
+ module Resource
3
+ module EC2
4
+ # AWS::EC2::RouteTable Resource
5
+ #
6
+ class RouteTable
7
+ include Skywriter::Resource
8
+
9
+ property :VpcId
10
+ property :Tags
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,17 @@
1
+ module Skywriter
2
+ module Resource
3
+ module EC2
4
+ # AWS::EC2::SecurityGroup Resource
5
+ #
6
+ class SecurityGroup
7
+ include Skywriter::Resource
8
+
9
+ property :GroupDescription
10
+ property :SecurityGroupEgress
11
+ property :SecurityGroupIngress
12
+ property :VpcId
13
+ property :Tags
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,23 @@
1
+ module Skywriter
2
+ module Resource
3
+ module EC2
4
+ # AWS::EC2::SecurityGroupEgress Resource
5
+ #
6
+ class SecurityGroupEgress < Skywriter::ResourceProperty::EC2::SecurityGroupRule
7
+ property :DestinationSecurityGroupId
8
+ property :GroupId
9
+ end
10
+ end
11
+ end
12
+
13
+ # This is just for aliasing purposes. Despite the fact that Amazon documents
14
+ # this class as a resource, it is, in fact, a resource property in all ways.
15
+ # So, we put it in the place you'd expect if you were looking at the
16
+ # CloudFormation documentations. And we're aliasing it below in the place
17
+ # where you'd expect it if you have your head right about how this behaves.
18
+ class ResourceProperty
19
+ module EC2
20
+ SecurityGroupEgress = Skywriter::Resource::EC2::SecurityGroupEgress
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,26 @@
1
+ module Skywriter
2
+ module Resource
3
+ module EC2
4
+ # AWS::EC2::SecurityGroupIngress Resource
5
+ #
6
+ class SecurityGroupIngress < Skywriter::ResourceProperty::EC2::SecurityGroupRule
7
+ property :GroupName
8
+ property :GroupId
9
+ property :SourceSecurityGroupName
10
+ property :SourceSecurityGroupId
11
+ property :SourceSecurityGroupOwnerId
12
+ end
13
+ end
14
+ end
15
+
16
+ # This is just for aliasing purposes. Despite the fact that Amazon documents
17
+ # this class as a resource, it is, in fact, a resource property in all ways.
18
+ # So, we put it in the place you'd expect if you were looking at the
19
+ # CloudFormation documentations. And we're aliasing it below in the place
20
+ # where you'd expect it if you have your head right about how this behaves.
21
+ class ResourceProperty
22
+ module EC2
23
+ SecurityGroupIngress = Skywriter::Resource::EC2::SecurityGroupIngress
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,16 @@
1
+ module Skywriter
2
+ module Resource
3
+ module EC2
4
+ # AWS::EC2::Subnet Resource
5
+ #
6
+ class Subnet
7
+ include Skywriter::Resource
8
+
9
+ property :AvailabilityZone
10
+ property :CidrBlock
11
+ property :Tags
12
+ property :VpcId
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,14 @@
1
+ module Skywriter
2
+ module Resource
3
+ module EC2
4
+ # AWS::EC2::SubnetNetworkAclAssociation Resource
5
+ #
6
+ class SubnetNetworkAclAssociation
7
+ include Skywriter::Resource
8
+
9
+ property :SubnetId
10
+ property :NetworkAclId
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ module Skywriter
2
+ module Resource
3
+ module EC2
4
+ # AWS::EC2::SubnetRouteTableAssociation Resource
5
+ #
6
+ class SubnetRouteTableAssociation
7
+ include Skywriter::Resource
8
+
9
+ property :RouteTableId
10
+ property :SubnetId
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,18 @@
1
+ module Skywriter
2
+ module Resource
3
+ module EC2
4
+ # AWS::EC2::Volume Resource
5
+ #
6
+ class Volume
7
+ include Skywriter::Resource
8
+
9
+ property :AvailabilityZone
10
+ property :Iops
11
+ property :Size
12
+ property :SnapshotId
13
+ property :Tags
14
+ property :VolumeType
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,15 @@
1
+ module Skywriter
2
+ module Resource
3
+ module EC2
4
+ # AWS::EC2::VolumeAttachment Resource
5
+ #
6
+ class VolumeAttachment
7
+ include Skywriter::Resource
8
+
9
+ property :Device
10
+ property :InstanceId
11
+ property :VolumeId
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,17 @@
1
+ module Skywriter
2
+ module Resource
3
+ module EC2
4
+ # AWS::EC2::VPC Resource
5
+ #
6
+ class VPC
7
+ include Skywriter::Resource
8
+
9
+ property :CidrBlock
10
+ property :EnableDnsSupport
11
+ property :EnableDnsHostnames
12
+ property :InstanceTenancy
13
+ property :Tags
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,14 @@
1
+ module Skywriter
2
+ module Resource
3
+ module EC2
4
+ # AWS::EC2::VPCDHCPOptionsAssociation Resource
5
+ #
6
+ class VPCDHCPOptionsAssociation
7
+ include Skywriter::Resource
8
+
9
+ property :DhcpOptionsId
10
+ property :VpcId
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,15 @@
1
+ module Skywriter
2
+ module Resource
3
+ module EC2
4
+ # AWS::EC2::VPCGatewayAttachment Resource
5
+ #
6
+ class VPCGatewayAttachment
7
+ include Skywriter::Resource
8
+
9
+ property :InternetGatewayId
10
+ property :VpcId
11
+ property :VpnGatewayId
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,17 @@
1
+ module Skywriter
2
+ module Resource
3
+ module EC2
4
+ # AWS::EC2::VPNConnection Resource
5
+ #
6
+ class VPNConnection
7
+ include Skywriter::Resource
8
+
9
+ property :Type
10
+ property :CustomerGatewayId
11
+ property :StaticRoutesOnly
12
+ property :Tags
13
+ property :VpnGatewayId
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,14 @@
1
+ module Skywriter
2
+ module Resource
3
+ module EC2
4
+ # AWS::EC2::VPNConnectionRoute Resource
5
+ #
6
+ class VPNConnectionRoute
7
+ include Skywriter::Resource
8
+
9
+ property :DestinationCidrBlock
10
+ property :VpnConnectionId
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ module Skywriter
2
+ module Resource
3
+ module EC2
4
+ # AWS::EC2::VPNGateway Resource
5
+ #
6
+ class VPNGateway
7
+ include Skywriter::Resource
8
+
9
+ property :Type
10
+ property :Tags
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ module Skywriter
2
+ module Resource
3
+ module EC2
4
+ # AWS::EC2::VPNGatewayRoutePropagation Resource
5
+ #
6
+ class VPNGatewayRoutePropagation
7
+ include Skywriter::Resource
8
+
9
+ property :RouteTableIds
10
+ property :VpnGatewayId
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,27 @@
1
+ module Skywriter
2
+ module Resource
3
+ module ElastiCache
4
+ # AWS::ElastiCache::CacheCluster Resource
5
+ #
6
+ class CacheCluster
7
+ include Skywriter::Resource
8
+
9
+ property :AutoMinorVersionUpgrade
10
+ property :CacheNodeType
11
+ property :CacheParameterGroupName
12
+ property :CacheSecurityGroupNames
13
+ property :CacheSubnetGroupName
14
+ property :ClusterName
15
+ property :Engine
16
+ property :EngineVersion
17
+ property :NotificationTopicArn
18
+ property :NumCacheNodes
19
+ property :Port
20
+ property :PreferredAvailabilityZone
21
+ property :PreferredMaintenanceWindow
22
+ property :SnapshotArns
23
+ property :VpcSecurityGroupIds
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,14 @@
1
+ module Skywriter
2
+ module Resource
3
+ module ElasticBeanstalk
4
+ # AWS::ElasticBeanstalk::Application Resource
5
+ #
6
+ class Application
7
+ include Skywriter::Resource
8
+
9
+ property :ApplicationName
10
+ property :Description
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,15 @@
1
+ module Skywriter
2
+ module Resource
3
+ module ElasticBeanstalk
4
+ # AWS::ElasticBeanstalk::ApplicationVersion Resource
5
+ #
6
+ class ApplicationVersion
7
+ include Skywriter::Resource
8
+
9
+ property :ApplicationName
10
+ property :Description
11
+ property :SourceBundle
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,18 @@
1
+ module Skywriter
2
+ module Resource
3
+ module ElasticBeanstalk
4
+ # AWS::ElasticBeanstalk::ConfigurationTemplate Resource
5
+ #
6
+ class ConfigurationTemplate
7
+ include Skywriter::Resource
8
+
9
+ property :ApplicationName
10
+ property :Description
11
+ property :EnvironmentId
12
+ property :OptionsSettings
13
+ property :SolutionStackName
14
+ property :SourceConfiguration
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,21 @@
1
+ module Skywriter
2
+ module Resource
3
+ module ElasticBeanstalk
4
+ # AWS::ElasticBeanstalk::Environment Resource
5
+ #
6
+ class Environment
7
+ include Skywriter::Resource
8
+
9
+ property :ApplicationName
10
+ property :CNAMEPrefix
11
+ property :Description
12
+ property :EnvironmentName
13
+ property :OptionSettings
14
+ property :SolutionStackName
15
+ property :TemplateName
16
+ property :Tier
17
+ property :VersionLabel
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,25 @@
1
+ module Skywriter
2
+ module Resource
3
+ module ElasticLoadBalancing
4
+ # AWS::ElasticLoadBalancing::LoadBalancer Resource
5
+ #
6
+ class LoadBalancer
7
+ include Skywriter::Resource
8
+
9
+ property :AppCookieStickinessPolicy
10
+ property :AvailabilityZones
11
+ property :CrossZone
12
+ property :HealthCheck
13
+ property :Instances
14
+ property :LBCookieStickinessPolicy
15
+ property :LoadBalancerName
16
+ property :Listeners
17
+ property :Policies
18
+ property :Scheme
19
+ property :SecurityGroups
20
+ property :Subnets
21
+ end
22
+ end
23
+ end
24
+ end
25
+
@@ -0,0 +1,15 @@
1
+ module Skywriter
2
+ module Resource
3
+ module ElastiCache
4
+ # AWS::ElastiCache::ParameterGroup Resource
5
+ #
6
+ class ParameterGroup
7
+ include Skywriter::Resource
8
+
9
+ property :CacheParameterGroupFamily
10
+ property :Description
11
+ property :Properties # Yeah, I know...
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,13 @@
1
+ module Skywriter
2
+ module Resource
3
+ module ElastiCache
4
+ # AWS::ElastiCache::SecurityGroup Resource
5
+ #
6
+ class SecurityGroup
7
+ include Skywriter::Resource
8
+
9
+ property :Description
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,15 @@
1
+ module Skywriter
2
+ module Resource
3
+ module ElastiCache
4
+ # AWS::ElastiCache::SecurityGroupIngress Resource
5
+ #
6
+ class SecurityGroupIngress
7
+ include Skywriter::Resource
8
+
9
+ property :CacheSecurityGroupName
10
+ property :EC2SecurityGroupName
11
+ property :EC2SecurityGroupOwnerId
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,14 @@
1
+ module Skywriter
2
+ module Resource
3
+ module ElastiCache
4
+ # AWS::ElastiCache::SubnetGroup Resource
5
+ #
6
+ class SubnetGroup
7
+ include Skywriter::Resource
8
+
9
+ property :Description
10
+ property :SubnetIds
11
+ end
12
+ end
13
+ end
14
+ end