humidifier 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (185) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +21 -0
  3. data/README.md +88 -0
  4. data/ext/humidifier/extconf.rb +2 -0
  5. data/ext/humidifier/humidifier.c +93 -0
  6. data/ext/humidifier/humidifier.h +14 -0
  7. data/lib/humidifier/aws_adapters/base.rb +64 -0
  8. data/lib/humidifier/aws_adapters/noop.rb +18 -0
  9. data/lib/humidifier/aws_adapters/sdkv1.rb +56 -0
  10. data/lib/humidifier/aws_adapters/sdkv2.rb +43 -0
  11. data/lib/humidifier/aws_shim.rb +60 -0
  12. data/lib/humidifier/condition.rb +17 -0
  13. data/lib/humidifier/fn.rb +28 -0
  14. data/lib/humidifier/humidifier.bundle +0 -0
  15. data/lib/humidifier/loader.rb +53 -0
  16. data/lib/humidifier/mapping.rb +17 -0
  17. data/lib/humidifier/output.rb +20 -0
  18. data/lib/humidifier/parameter.rb +27 -0
  19. data/lib/humidifier/props.rb +127 -0
  20. data/lib/humidifier/ref.rb +17 -0
  21. data/lib/humidifier/resource.rb +108 -0
  22. data/lib/humidifier/sdk_payload.rb +30 -0
  23. data/lib/humidifier/serializer.rb +18 -0
  24. data/lib/humidifier/sleeper.rb +25 -0
  25. data/lib/humidifier/stack.rb +66 -0
  26. data/lib/humidifier/utils.rb +21 -0
  27. data/lib/humidifier/version.rb +4 -0
  28. data/lib/humidifier.rb +50 -0
  29. data/specs/ApiGateway-Account.cf +6 -0
  30. data/specs/ApiGateway-ApiKey.cf +9 -0
  31. data/specs/ApiGateway-Authorizer.cf +13 -0
  32. data/specs/ApiGateway-BasePathMapping.cf +9 -0
  33. data/specs/ApiGateway-ClientCertificate.cf +6 -0
  34. data/specs/ApiGateway-Deployment.cf +9 -0
  35. data/specs/ApiGateway-Method.cf +15 -0
  36. data/specs/ApiGateway-Model.cf +10 -0
  37. data/specs/ApiGateway-Resource.cf +8 -0
  38. data/specs/ApiGateway-RestApi.cf +12 -0
  39. data/specs/ApiGateway-Stage.cf +14 -0
  40. data/specs/AutoScaling-AutoScalingGroup.cf +21 -0
  41. data/specs/AutoScaling-LaunchConfiguration.cf +22 -0
  42. data/specs/AutoScaling-LifecycleHook.cf +12 -0
  43. data/specs/AutoScaling-ScalingPolicy.cf +14 -0
  44. data/specs/AutoScaling-ScheduledAction.cf +12 -0
  45. data/specs/CloudFormation-Authentication.cf +18 -0
  46. data/specs/CloudFormation-CustomResource.cf +8 -0
  47. data/specs/CloudFormation-Interface.cf +9 -0
  48. data/specs/CloudFormation-Stack.cf +10 -0
  49. data/specs/CloudFormation-WaitCondition.cf +8 -0
  50. data/specs/CloudFormation-WaitConditionHandle.cf +5 -0
  51. data/specs/CloudFront-Distribution.cf +6 -0
  52. data/specs/CloudTrail-Trail.cf +16 -0
  53. data/specs/CloudWatch-Alarm.cf +20 -0
  54. data/specs/CodeDeploy-Application.cf +6 -0
  55. data/specs/CodeDeploy-DeploymentConfig.cf +7 -0
  56. data/specs/CodeDeploy-DeploymentGroup.cf +13 -0
  57. data/specs/CodePipeline-CustomActionType.cf +12 -0
  58. data/specs/CodePipeline-Pipeline.cf +11 -0
  59. data/specs/Config-ConfigRule.cf +11 -0
  60. data/specs/Config-ConfigurationRecorder.cf +8 -0
  61. data/specs/Config-DeliveryChannel.cf +10 -0
  62. data/specs/DataPipeline-Pipeline.cf +12 -0
  63. data/specs/DirectoryService-MicrosoftAD.cf +11 -0
  64. data/specs/DirectoryService-SimpleAD.cf +13 -0
  65. data/specs/DynamoDB-Table.cf +12 -0
  66. data/specs/EC2-CustomerGateway.cf +9 -0
  67. data/specs/EC2-DHCPOptions.cf +11 -0
  68. data/specs/EC2-EIP.cf +7 -0
  69. data/specs/EC2-EIPAssociation.cf +10 -0
  70. data/specs/EC2-FlowLog.cf +10 -0
  71. data/specs/EC2-Host.cf +8 -0
  72. data/specs/EC2-Instance.cf +32 -0
  73. data/specs/EC2-InternetGateway.cf +6 -0
  74. data/specs/EC2-NatGateway.cf +7 -0
  75. data/specs/EC2-NetworkAcl.cf +7 -0
  76. data/specs/EC2-NetworkAclEntry.cf +13 -0
  77. data/specs/EC2-NetworkInterface.cf +13 -0
  78. data/specs/EC2-NetworkInterfaceAttachment.cf +9 -0
  79. data/specs/EC2-PlacementGroup.cf +6 -0
  80. data/specs/EC2-Route.cf +12 -0
  81. data/specs/EC2-RouteTable.cf +7 -0
  82. data/specs/EC2-SecurityGroup.cf +10 -0
  83. data/specs/EC2-SecurityGroupEgress.cf +11 -0
  84. data/specs/EC2-SecurityGroupIngress.cf +14 -0
  85. data/specs/EC2-SpotFleet.cf +6 -0
  86. data/specs/EC2-Subnet.cf +10 -0
  87. data/specs/EC2-SubnetNetworkAclAssociation.cf +5 -0
  88. data/specs/EC2-SubnetRouteTableAssociation.cf +7 -0
  89. data/specs/EC2-VPC.cf +10 -0
  90. data/specs/EC2-VPCDHCPOptionsAssociation.cf +7 -0
  91. data/specs/EC2-VPCEndpoint.cf +9 -0
  92. data/specs/EC2-VPCGatewayAttachment.cf +8 -0
  93. data/specs/EC2-VPCPeeringConnection.cf +8 -0
  94. data/specs/EC2-VPNConnection.cf +10 -0
  95. data/specs/EC2-VPNConnectionRoute.cf +7 -0
  96. data/specs/EC2-VPNGateway.cf +7 -0
  97. data/specs/EC2-VPNGatewayRoutePropagation.cf +7 -0
  98. data/specs/EC2-Volume.cf +14 -0
  99. data/specs/EC2-VolumeAttachment.cf +8 -0
  100. data/specs/ECR-Repository.cf +7 -0
  101. data/specs/ECS-Cluster.cf +6 -0
  102. data/specs/ECS-Service.cf +11 -0
  103. data/specs/ECS-TaskDefinition.cf +7 -0
  104. data/specs/EFS-FileSystem.cf +6 -0
  105. data/specs/EFS-MountTarget.cf +9 -0
  106. data/specs/EMR-Cluster.cf +17 -0
  107. data/specs/EMR-InstanceGroupConfig.cf +14 -0
  108. data/specs/EMR-Step.cf +9 -0
  109. data/specs/ElastiCache-CacheCluster.cf +27 -0
  110. data/specs/ElastiCache-ParameterGroup.cf +8 -0
  111. data/specs/ElastiCache-ReplicationGroup.cf +23 -0
  112. data/specs/ElastiCache-SecurityGroup.cf +7 -0
  113. data/specs/ElastiCache-SecurityGroupIngress.cf +9 -0
  114. data/specs/ElastiCache-SubnetGroup.cf +7 -0
  115. data/specs/ElasticBeanstalk-Application.cf +7 -0
  116. data/specs/ElasticBeanstalk-ApplicationVersion.cf +8 -0
  117. data/specs/ElasticBeanstalk-ConfigurationTemplate.cf +11 -0
  118. data/specs/ElasticBeanstalk-Environment.cf +15 -0
  119. data/specs/ElasticLoadBalancing-LoadBalancer.cf +21 -0
  120. data/specs/Elasticsearch-Domain.cf +12 -0
  121. data/specs/Events-Rule.cf +12 -0
  122. data/specs/GameLift-Alias.cf +8 -0
  123. data/specs/GameLift-Build.cf +8 -0
  124. data/specs/GameLift-Fleet.cf +16 -0
  125. data/specs/IAM-AccessKey.cf +8 -0
  126. data/specs/IAM-Group.cf +8 -0
  127. data/specs/IAM-InstanceProfile.cf +7 -0
  128. data/specs/IAM-ManagedPolicy.cf +11 -0
  129. data/specs/IAM-Policy.cf +10 -0
  130. data/specs/IAM-Role.cf +9 -0
  131. data/specs/IAM-User.cf +10 -0
  132. data/specs/IAM-UserToGroupAddition.cf +7 -0
  133. data/specs/KMS-Key.cf +9 -0
  134. data/specs/Kinesis-Stream.cf +8 -0
  135. data/specs/KinesisFirehose-DeliveryStream.cf +9 -0
  136. data/specs/Lambda-Alias.cf +9 -0
  137. data/specs/Lambda-EventSourceMapping.cf +10 -0
  138. data/specs/Lambda-Function.cf +14 -0
  139. data/specs/Lambda-Permission.cf +10 -0
  140. data/specs/Lambda-Version.cf +8 -0
  141. data/specs/Logs-Destination.cf +9 -0
  142. data/specs/Logs-LogGroup.cf +6 -0
  143. data/specs/Logs-LogStream.cf +7 -0
  144. data/specs/Logs-MetricFilter.cf +8 -0
  145. data/specs/Logs-SubscriptionFilter.cf +9 -0
  146. data/specs/OpsWorks-App.cf +16 -0
  147. data/specs/OpsWorks-ElasticLoadBalancerAttachment.cf +7 -0
  148. data/specs/OpsWorks-Instance.cf +19 -0
  149. data/specs/OpsWorks-Layer.cf +21 -0
  150. data/specs/OpsWorks-Stack.cf +23 -0
  151. data/specs/RDS-DBCluster.cf +23 -0
  152. data/specs/RDS-DBClusterParameterGroup.cf +9 -0
  153. data/specs/RDS-DBInstance.cf +38 -0
  154. data/specs/RDS-DBParameterGroup.cf +9 -0
  155. data/specs/RDS-DBSecurityGroup.cf +10 -0
  156. data/specs/RDS-DBSecurityGroupIngress.cf +10 -0
  157. data/specs/RDS-DBSubnetGroup.cf +8 -0
  158. data/specs/RDS-EventSubscription.cf +10 -0
  159. data/specs/RDS-OptionGroup.cf +10 -0
  160. data/specs/Redshift-Cluster.cf +30 -0
  161. data/specs/Redshift-ClusterParameterGroup.cf +8 -0
  162. data/specs/Redshift-ClusterSecurityGroup.cf +6 -0
  163. data/specs/Redshift-ClusterSecurityGroupIngress.cf +9 -0
  164. data/specs/Redshift-ClusterSubnetGroup.cf +7 -0
  165. data/specs/Route53-HealthCheck.cf +7 -0
  166. data/specs/Route53-HostedZone.cf +9 -0
  167. data/specs/Route53-RecordSet.cf +19 -0
  168. data/specs/Route53-RecordSetGroup.cf +9 -0
  169. data/specs/S3-Bucket.cf +15 -0
  170. data/specs/S3-BucketPolicy.cf +7 -0
  171. data/specs/SDB-Domain.cf +6 -0
  172. data/specs/SNS-Topic.cf +8 -0
  173. data/specs/SNS-TopicPolicy.cf +8 -0
  174. data/specs/SQS-Queue.cf +12 -0
  175. data/specs/SQS-QueuePolicy.cf +7 -0
  176. data/specs/SSM-Document.cf +6 -0
  177. data/specs/WAF-ByteMatchSet.cf +7 -0
  178. data/specs/WAF-IPSet.cf +7 -0
  179. data/specs/WAF-Rule.cf +8 -0
  180. data/specs/WAF-SizeConstraintSet.cf +7 -0
  181. data/specs/WAF-SqlInjectionMatchSet.cf +7 -0
  182. data/specs/WAF-WebACL.cf +9 -0
  183. data/specs/WAF-XssMatchSet.cf +7 -0
  184. data/specs/WorkSpaces-Workspace.cf +11 -0
  185. metadata +356 -0
@@ -0,0 +1,12 @@
1
+ {
2
+ "Type" : "AWS::AutoScaling::ScheduledAction",
3
+ "Properties" : {
4
+ "AutoScalingGroupName" : String,
5
+ "DesiredCapacity" : Integer,
6
+ "EndTime" : Time stamp,
7
+ "MaxSize" : Integer,
8
+ "MinSize" : Integer,
9
+ "Recurrence" : String,
10
+ "StartTime" : Time stamp
11
+ }
12
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "Type": "AWS::CloudFormation::Authentication",
3
+ "Properties" : {
4
+ "Type" : "AWS::CloudFormation::Authentication" {
5
+ "String" : {
6
+ "accessKeyId" : String,
7
+ "buckets" : [ String, ... ],
8
+ "password" : String,
9
+ "secretKey" : String,
10
+ "type" : String,
11
+ "uris" : [ String, ... ],
12
+ "username" : String,
13
+ "roleName" : String
14
+ },
15
+ ...
16
+ }
17
+ }
18
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "Type" : "AWS::CloudFormation::CustomResource",
3
+ "Version" : "1.0",
4
+ "Properties" : {
5
+ "ServiceToken" : String,
6
+ ... provider-defined properties ...
7
+ }
8
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "Type": "AWS::CloudFormation::Interface",
3
+ "Properties" : "Metadata" : {
4
+ "AWS::CloudFormation::Interface" : {
5
+ "ParameterGroups" : [ ParameterGroup, ... ],
6
+ "ParameterLabels" : ParameterLabel
7
+ }
8
+ }
9
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "Type" : "AWS::CloudFormation::Stack",
3
+ "Properties" : {
4
+ "NotificationARNs" : [ String, ... ],
5
+ "Parameters" : { CloudFormation Stack Parameters Property Type },
6
+ "Tags" : [ Resource Tag, ... ],
7
+ "TemplateURL" : String,
8
+ "TimeoutInMinutes" : String
9
+ }
10
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "Type" : "AWS::CloudFormation::WaitCondition",
3
+ "Properties" : {
4
+ "Count" : String,
5
+ "Handle" : String,
6
+ "Timeout" : String
7
+ }
8
+ }
@@ -0,0 +1,5 @@
1
+ {
2
+ "Type" : "AWS::CloudFormation::WaitConditionHandle",
3
+ "Properties" : {
4
+ }
5
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "Type" : "AWS::CloudFront::Distribution",
3
+ "Properties" : {
4
+ "DistributionConfig" : DistributionConfig
5
+ }
6
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "Type" : "AWS::CloudTrail::Trail",
3
+ "Properties" : {
4
+ "CloudWatchLogsLogGroupArn" : String,
5
+ "CloudWatchLogsRoleArn" : String,
6
+ "EnableLogFileValidation" : Boolean,
7
+ "IncludeGlobalServiceEvents" : Boolean,
8
+ "IsLogging" : Boolean,
9
+ "IsMultiRegionTrail" : Boolean,
10
+ "KMSKeyId" : String,
11
+ "S3BucketName" : String,
12
+ "S3KeyPrefix" : String,
13
+ "SnsTopicName" : String,
14
+ "Tags" : [ Resource Tag, ... ]
15
+ }
16
+ }
@@ -0,0 +1,20 @@
1
+ {
2
+ "Type" : "AWS::CloudWatch::Alarm",
3
+ "Properties" : {
4
+ "ActionsEnabled" : Boolean,
5
+ "AlarmActions" : [ String, ... ],
6
+ "AlarmDescription" : String,
7
+ "AlarmName" : String,
8
+ "ComparisonOperator" : String,
9
+ "Dimensions" : [ Metric dimension, ... ],
10
+ "EvaluationPeriods" : String,
11
+ "InsufficientDataActions" : [ String, ... ],
12
+ "MetricName" : String,
13
+ "Namespace" : String,
14
+ "OKActions" : [ String, ... ],
15
+ "Period" : String,
16
+ "Statistic" : String,
17
+ "Threshold" : String,
18
+ "Unit" : String
19
+ }
20
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "Type" : "AWS::CodeDeploy::Application",
3
+ "Properties" : {
4
+ "ApplicationName" : String
5
+ }
6
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "Type" : "AWS::CodeDeploy::DeploymentConfig",
3
+ "Properties" : {
4
+ "DeploymentConfigName" : String,
5
+ "MinimumHealthyHosts" : MinimumHealthyHosts
6
+ }
7
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "Type" : "AWS::CodeDeploy::DeploymentGroup",
3
+ "Properties" : {
4
+ "ApplicationName" : String,
5
+ "AutoScalingGroups" : [ String, ... ],
6
+ "Deployment" : Deployment,
7
+ "DeploymentConfigName" : String,
8
+ "DeploymentGroupName" : String,
9
+ "Ec2TagFilters" : [ Ec2TagFilters, ... ],
10
+ "OnPremisesInstanceTagFilters" : [ OnPremisesInstanceTagFilters, ... ],
11
+ "ServiceRoleArn" : String
12
+ }
13
+ }
@@ -0,0 +1,12 @@
1
+ {
2
+ "Type" : "AWS::CodePipeline::CustomActionType",
3
+ "Properties" : {
4
+ "Category" : String,
5
+ "ConfigurationProperties" : [ ConfigurationProperties, ... ],
6
+ "InputArtifactDetails" : ArtifactDetails,
7
+ "OutputArtifactDetails" : ArtifactDetails,
8
+ "Provider" : String,
9
+ "Settings" : Settings,
10
+ "Version" : String
11
+ }
12
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "Type" : "AWS::CodePipeline::Pipeline",
3
+ "Properties" : {
4
+ "ArtifactStore" : ArtifactStore,
5
+ "DisableInboundStageTransitions" : [ DisableInboundStageTransitions, ... ],
6
+ "Name" : String,
7
+ "RestartExecutionOnUpdate" : Boolean,
8
+ "RoleArn" : String,
9
+ "Stages" : [ Stages, ... ]
10
+ }
11
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "Type" : "AWS::Config::ConfigRule",
3
+ "Properties" : {
4
+ "ConfigRuleName" : String,
5
+ "Description" : String,
6
+ "InputParameters" : { ParameterName : Value },
7
+ "MaximumExecutionFrequency" : String,
8
+ "Scope" : Scope,
9
+ "Source" : Source
10
+ }
11
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "Type" : "AWS::Config::ConfigurationRecorder",
3
+ "Properties" : {
4
+ "Name" : String,
5
+ "RecordingGroup" : Recording group,
6
+ "RoleARN" : String
7
+ }
8
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "Type" : "AWS::Config::DeliveryChannel",
3
+ "Properties" : {
4
+ "ConfigSnapshotDeliveryProperties" : Config snapshot delivery properties,
5
+ "Name" : String,
6
+ "S3BucketName" : String,
7
+ "S3KeyPrefix" : String,
8
+ "SnsTopicARN" : String
9
+ }
10
+ }
@@ -0,0 +1,12 @@
1
+ {
2
+ "Type" : "AWS::DataPipeline::Pipeline",
3
+ "Properties" : {
4
+ "Activate" : Boolean,
5
+ "Description" : String,
6
+ "Name" : String,
7
+ "ParameterObjects" : [ Parameter object, ... ],
8
+ "ParameterValues" : [ Parameter value, ... ],
9
+ "PipelineObjects" : [ Pipeline object, ... ],
10
+ "PipelineTags" : [ Pipeline tag, ... ]
11
+ }
12
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "Type" : "AWS::DirectoryService::MicrosoftAD",
3
+ "Properties" : {
4
+ "CreateAlias" : Boolean,
5
+ "EnableSso" : Boolean,
6
+ "Name" : String,
7
+ "Password" : String,
8
+ "ShortName" : String,
9
+ "VpcSettings" : VpcSettings
10
+ }
11
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "Type" : "AWS::DirectoryService::SimpleAD",
3
+ "Properties" : {
4
+ "CreateAlias" : Boolean,
5
+ "Description" : String,
6
+ "EnableSso" : Boolean,
7
+ "Name" : String,
8
+ "Password" : String,
9
+ "ShortName" : String,
10
+ "Size" : String,
11
+ "VpcSettings" : VpcSettings
12
+ }
13
+ }
@@ -0,0 +1,12 @@
1
+ {
2
+ "Type" : "AWS::DynamoDB::Table",
3
+ "Properties" : {
4
+ "AttributeDefinitions" : [ AttributeDefinitions, ... ],
5
+ "GlobalSecondaryIndexes" : [ GlobalSecondaryIndexes, ... ],
6
+ "KeySchema" : [ KeySchema, ... ],
7
+ "LocalSecondaryIndexes" : [ LocalSecondaryIndexes, ... ],
8
+ "ProvisionedThroughput" : ProvisionedThroughput,
9
+ "StreamSpecification" : StreamSpecification,
10
+ "TableName" : String
11
+ }
12
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "Type" : "AWS::EC2::CustomerGateway",
3
+ "Properties" : {
4
+ "BgpAsn" : Number,
5
+ "IpAddress" : String,
6
+ "Tags" : [ Resource Tag, ... ],
7
+ "Type" : String
8
+ }
9
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "Type" : "AWS::EC2::DHCPOptions",
3
+ "Properties" : {
4
+ "DomainName" : String,
5
+ "DomainNameServers" : [ String, ... ],
6
+ "NetbiosNameServers" : [ String, ... ],
7
+ "NetbiosNodeType" : Number,
8
+ "NtpServers" : [ String, ... ],
9
+ "Tags" : [ Resource Tag, ... ]
10
+ }
11
+ }
data/specs/EC2-EIP.cf ADDED
@@ -0,0 +1,7 @@
1
+ {
2
+ "Type" : "AWS::EC2::EIP",
3
+ "Properties" : {
4
+ "InstanceId" : String,
5
+ "Domain" : String
6
+ }
7
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "Type": "AWS::EC2::EIPAssociation",
3
+ "Properties": {
4
+ "AllocationId": String,
5
+ "EIP": String,
6
+ "InstanceId": String,
7
+ "NetworkInterfaceId": String,
8
+ "PrivateIpAddress": String
9
+ }
10
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "Type" : "AWS::EC2::FlowLog",
3
+ "Properties" : {
4
+ "DeliverLogsPermissionArn" : String,
5
+ "LogGroupName" : String,
6
+ "ResourceId" : String,
7
+ "ResourceType" : String,
8
+ "TrafficType" : String
9
+ }
10
+ }
data/specs/EC2-Host.cf ADDED
@@ -0,0 +1,8 @@
1
+ {
2
+ "Type" : "AWS::EC2::Host",
3
+ "Properties" : {
4
+ "AutoPlacement" : String,
5
+ "AvailabilityZone" : String,
6
+ "InstanceType" : String
7
+ }
8
+ }
@@ -0,0 +1,32 @@
1
+ {
2
+ "Type" : "AWS::EC2::Instance",
3
+ "Properties" : {
4
+ "Affinity" : String,
5
+ "AvailabilityZone" : String,
6
+ "BlockDeviceMappings" : [ EC2 Block Device Mapping, ... ],
7
+ "DisableApiTermination" : Boolean,
8
+ "EbsOptimized" : Boolean,
9
+ "HostId" : String,
10
+ "IamInstanceProfile" : String,
11
+ "ImageId" : String,
12
+ "InstanceInitiatedShutdownBehavior" : String,
13
+ "InstanceType" : String,
14
+ "KernelId" : String,
15
+ "KeyName" : String,
16
+ "Monitoring" : Boolean,
17
+ "NetworkInterfaces" : [ EC2 Network Interface, ... ],
18
+ "PlacementGroupName" : String,
19
+ "PrivateIpAddress" : String,
20
+ "RamdiskId" : String,
21
+ "SecurityGroupIds" : [ String, ... ],
22
+ "SecurityGroups" : [ String, ... ],
23
+ "SourceDestCheck" : Boolean,
24
+ "SsmAssociations" : [ SSMAssociation, ... ]
25
+ "SubnetId" : String,
26
+ "Tags" : [ Resource Tag, ... ],
27
+ "Tenancy" : String,
28
+ "UserData" : String,
29
+ "Volumes" : [ EC2 MountPoint, ... ],
30
+ "AdditionalInfo" : String
31
+ }
32
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "Type" : "AWS::EC2::InternetGateway",
3
+ "Properties" : {
4
+ "Tags" : [ Resource Tag, ... ]
5
+ }
6
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "Type" : "AWS::EC2::NatGateway",
3
+ "Properties" : {
4
+ "AllocationId" : String,
5
+ "SubnetId" : String
6
+ }
7
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "Type" : "AWS::EC2::NetworkAcl",
3
+ "Properties" : {
4
+ "Tags" : [ Resource Tag, ... ],
5
+ "VpcId" : String
6
+ }
7
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "Type" : "AWS::EC2::NetworkAclEntry",
3
+ "Properties" : {
4
+ "CidrBlock" : String,
5
+ "Egress" : Boolean,
6
+ "Icmp" : EC2 ICMP,
7
+ "NetworkAclId" : String,
8
+ "PortRange" : EC2 PortRange,
9
+ "Protocol" : Integer,
10
+ "RuleAction" : String,
11
+ "RuleNumber" : Integer
12
+ }
13
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "Type" : "AWS::EC2::NetworkInterface",
3
+ "Properties" : {
4
+ "Description" : String,
5
+ "GroupSet" : [ String, ... ],
6
+ "PrivateIpAddress" : String,
7
+ "PrivateIpAddresses" : [ PrivateIpAddressSpecification, ... ],
8
+ "SecondaryPrivateIpAddressCount" : Integer,
9
+ "SourceDestCheck" : Boolean,
10
+ "SubnetId" : String,
11
+ "Tags" : [ Resource Tag, ... ]
12
+ }
13
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "Type" : "AWS::EC2::NetworkInterfaceAttachment",
3
+ "Properties" : {
4
+ "DeleteOnTermination": Boolean,
5
+ "DeviceIndex": String,
6
+ "InstanceId": String,
7
+ "NetworkInterfaceId": String
8
+ }
9
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "Type" : "AWS::EC2::PlacementGroup",
3
+ "Properties" : {
4
+ "Strategy" : String
5
+ }
6
+ }
@@ -0,0 +1,12 @@
1
+ {
2
+ "Type" : "AWS::EC2::Route",
3
+ "Properties" : {
4
+ "DestinationCidrBlock" : String,
5
+ "GatewayId" : String,
6
+ "InstanceId" : String,
7
+ "NatGatewayId" : String,
8
+ "NetworkInterfaceId" : String,
9
+ "RouteTableId" : String,
10
+ "VpcPeeringConnectionId" : String
11
+ }
12
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "Type" : "AWS::EC2::RouteTable",
3
+ "Properties" : {
4
+ "VpcId" : String,
5
+ "Tags" : [ Resource Tag, ... ]
6
+ }
7
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "Type" : "AWS::EC2::SecurityGroup",
3
+ "Properties" : {
4
+ "GroupDescription" : String,
5
+ "SecurityGroupEgress" : [ Security Group Rule, ... ],
6
+ "SecurityGroupIngress" : [ Security Group Rule, ... ],
7
+ "Tags" : [ Resource Tag, ... ],
8
+ "VpcId" : String
9
+ }
10
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "Type": "AWS::EC2::SecurityGroupEgress",
3
+ "Properties" : {
4
+ "CidrIp" : String,
5
+ "DestinationSecurityGroupId" : String,
6
+ "FromPort" : Integer,
7
+ "GroupId" : String,
8
+ "IpProtocol" : String,
9
+ "ToPort" : Integer
10
+ }
11
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "Type": "AWS::EC2::SecurityGroupIngress",
3
+ "Properties" : {
4
+ "CidrIp" : String,
5
+ "FromPort" : Integer,
6
+ "GroupId" : String,
7
+ "GroupName" : String,
8
+ "IpProtocol" : String,
9
+ "SourceSecurityGroupName" : String,
10
+ "SourceSecurityGroupId" : String,
11
+ "SourceSecurityGroupOwnerId" : String,
12
+ "ToPort" : Integer
13
+ }
14
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "Type" : "AWS::EC2::SpotFleet",
3
+ "Properties" : {
4
+ "SpotFleetRequestConfigData" : SpotFleetRequestConfigData
5
+ }
6
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "Type" : "AWS::EC2::Subnet",
3
+ "Properties" : {
4
+ "AvailabilityZone" : String,
5
+ "CidrBlock" : String,
6
+ "MapPublicIpOnLaunch" : Boolean,
7
+ "Tags" : [ Resource Tag, ... ],
8
+ "VpcId" : { "Ref" : String }
9
+ }
10
+ }
@@ -0,0 +1,5 @@
1
+ "Type" : "AWS::EC2::SubnetNetworkAclAssociation",
2
+ "Properties" : {
3
+ "SubnetId" : { String },
4
+ "NetworkAclId" : { String }
5
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "Type" : "AWS::EC2::SubnetRouteTableAssociation",
3
+ "Properties" : {
4
+ "RouteTableId" : String,
5
+ "SubnetId" : String,
6
+ }
7
+ }
data/specs/EC2-VPC.cf ADDED
@@ -0,0 +1,10 @@
1
+ {
2
+ "Type" : "AWS::EC2::VPC",
3
+ "Properties" : {
4
+ "CidrBlock" : String,
5
+ "EnableDnsSupport" : Boolean,
6
+ "EnableDnsHostnames" : Boolean,
7
+ "InstanceTenancy" : String,
8
+ "Tags" : [ Resource Tag, ... ]
9
+ }
10
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "Type" : "AWS::EC2::VPCDHCPOptionsAssociation",
3
+ "Properties" : {
4
+ "DhcpOptionsId" : String,
5
+ "VpcId" : String
6
+ }
7
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "Type" : "AWS::EC2::VPCEndpoint",
3
+ "Properties" : {
4
+ "PolicyDocument" : JSON object,
5
+ "RouteTableIds" : [ String, ... ],
6
+ "ServiceName" : String,
7
+ "VpcId" : String
8
+ }
9
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "Type" : "AWS::EC2::VPCGatewayAttachment",
3
+ "Properties" : {
4
+ "InternetGatewayId" : String,
5
+ "VpcId" : String,
6
+ "VpnGatewayId" : String
7
+ }
8
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "Type" : "AWS::EC2::VPCPeeringConnection",
3
+ "Properties" : {
4
+ "PeerVpcId" : String,
5
+ "Tags" : [ Resource Tag, ... ],
6
+ "VpcId" : String
7
+ }
8
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "Type" : "AWS::EC2::VPNConnection",
3
+ "Properties" : {
4
+ "Type" : String,
5
+ "CustomerGatewayId" : GatewayID,
6
+ "StaticRoutesOnly" : Boolean,
7
+ "Tags" : [ Resource Tag, ... ],
8
+ "VpnGatewayId" : GatewayID
9
+ }
10
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "Type" : "AWS::EC2::VPNConnectionRoute",
3
+ "Properties" : {
4
+ "DestinationCidrBlock" : String
5
+ "VpnConnectionId" : String,
6
+ }
7
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "Type" : "AWS::EC2::VPNGateway",
3
+ "Properties" : {
4
+ "Type" : String,
5
+ "Tags" : [ Resource Tag, ... ]
6
+ }
7
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "Type" : "AWS::EC2::VPNGatewayRoutePropagation",
3
+ "Properties" : {
4
+ "RouteTableIds" : [ String, ... ],
5
+ "VpnGatewayId" : String
6
+ }
7
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "Type":"AWS::EC2::Volume",
3
+ "Properties" : {
4
+ "AutoEnableIO" : Boolean,
5
+ "AvailabilityZone" : String,
6
+ "Encrypted" : Boolean,
7
+ "Iops" : Number,
8
+ "KmsKeyId" : String,
9
+ "Size" : String,
10
+ "SnapshotId" : String,
11
+ "Tags" : [ Resource Tag, ... ],
12
+ "VolumeType" : String
13
+ }
14
+ }