humidifier 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
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,8 @@
1
+ {
2
+ "Type":"AWS::EC2::VolumeAttachment",
3
+ "Properties" : {
4
+ "Device" : String,
5
+ "InstanceId" : String,
6
+ "VolumeId" : String
7
+ }
8
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "Type" : "AWS::ECR::Repository",
3
+ "Properties" : {
4
+ "RepositoryName" : String,
5
+ "RepositoryPolicyText" : JSON object
6
+ }
7
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "Type": "AWS::ECS::Cluster",
3
+ "Properties" : {
4
+ "Type" : "AWS::ECS::Cluster"
5
+ }
6
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "Type" : "AWS::ECS::Service",
3
+ "Properties" : {
4
+ "Cluster" : String,
5
+ "DeploymentConfiguration" : DeploymentConfiguration,
6
+ "DesiredCount" : Integer,
7
+ "LoadBalancers" : [ Load Balancer Objects, ... ],
8
+ "Role" : String,
9
+ "TaskDefinition" : String
10
+ }
11
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "Type" : "AWS::ECS::TaskDefinition",
3
+ "Properties" : {
4
+ "ContainerDefinitions" : [ Container Definition, ... ],
5
+ "Volumes" : [ Volume Definition, ... ]
6
+ }
7
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "Type" : "AWS::EFS::FileSystem",
3
+ "Properties" : {
4
+ "FileSystemTags" : [ FileSystemTags, ... ]
5
+ }
6
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "Type" : "AWS::EFS::MountTarget",
3
+ "Properties" : {
4
+ "FileSystemId" : String,
5
+ "IpAddress" : String,
6
+ "SecurityGroups" : [ String, ... ],
7
+ "SubnetId" : String
8
+ }
9
+ }
@@ -0,0 +1,17 @@
1
+ {
2
+ "Type" : "AWS::EMR::Cluster",
3
+ "Properties" : {
4
+ "AdditionalInfo" : JSON object,
5
+ "Applications" : [ Applications, ... ],
6
+ "BootstrapActions" [ Bootstrap Actions, ... ],
7
+ "Configurations" : [ Configurations, ... ],
8
+ "Instances" : JobFlowInstancesConfig,
9
+ "JobFlowRole" : String,
10
+ "LogUri" : String,
11
+ "Name" : String,
12
+ "ReleaseLabel" : String,
13
+ "ServiceRole" : String,
14
+ "Tags" : [ Resource Tag, ... ],
15
+ "VisibleToAllUsers" : Boolean
16
+ }
17
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "Type" : "AWS::EMR::InstanceGroupConfig",
3
+ "Properties" : {
4
+ "BidPrice" : String,
5
+ "Configurations" : [ Configuration, ... ],
6
+ "EbsConfiguration" : EBSConfiguration,
7
+ "InstanceCount" : Integer,
8
+ "InstanceRole" : String,
9
+ "InstanceType" : String,
10
+ "JobFlowId": String,
11
+ "Market" : String,
12
+ "Name" : String
13
+ }
14
+ }
data/specs/EMR-Step.cf ADDED
@@ -0,0 +1,9 @@
1
+ {
2
+ "Type" : "AWS::EMR::Step",
3
+ "Properties" : {
4
+ "ActionOnFailure" : String,
5
+ "HadoopJarStep" : HadoopJarStepConfig,
6
+ "JobFlowId" : String,
7
+ "Name" : String
8
+ }
9
+ }
@@ -0,0 +1,27 @@
1
+ {
2
+ "Type" : "AWS::ElastiCache::CacheCluster",
3
+ "Properties" :
4
+ {
5
+ "AutoMinorVersionUpgrade" : Boolean,
6
+ "AZMode" : String,
7
+ "CacheNodeType" : String,
8
+ "CacheParameterGroupName" : String,
9
+ "CacheSecurityGroupNames" : [ String, ... ],
10
+ "CacheSubnetGroupName" : String,
11
+ "ClusterName" : String,
12
+ "Engine" : String,
13
+ "EngineVersion" : String,
14
+ "NotificationTopicArn" : String,
15
+ "NumCacheNodes" : String,
16
+ "Port" : Integer,
17
+ "PreferredAvailabilityZone" : String,
18
+ "PreferredAvailabilityZones" : [String, ... ],
19
+ "PreferredMaintenanceWindow" : String,
20
+ "SnapshotArns" : [String, ... ],
21
+ "SnapshotName" : String,
22
+ "SnapshotRetentionLimit" : Integer,
23
+ "SnapshotWindow" : String,
24
+ "Tags" : [Resource Tag, ...],
25
+ "VpcSecurityGroupIds" : [String, ...]
26
+ }
27
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "Type": "AWS::ElastiCache::ParameterGroup",
3
+ "Properties": {
4
+ "CacheParameterGroupFamily" : String,
5
+ "Description" : String,
6
+ "Properties" : { "prop1" : "value1", ... }
7
+ }
8
+ }
@@ -0,0 +1,23 @@
1
+ {
2
+ "Type" : "AWS::ElastiCache::ReplicationGroup",
3
+ "Properties" : {
4
+ "AutomaticFailoverEnabled" : Boolean,
5
+ "AutoMinorVersionUpgrade" : Boolean,
6
+ "CacheNodeType" : String,
7
+ "CacheParameterGroupName" : String,
8
+ "CacheSecurityGroupNames" : [ String, ... ],
9
+ "CacheSubnetGroupName" : String,
10
+ "Engine" : String,
11
+ "EngineVersion" : String,
12
+ "NotificationTopicArn" : String,
13
+ "NumCacheClusters" : Integer,
14
+ "Port" : Integer,
15
+ "PreferredCacheClusterAZs" : [ String, ... ],
16
+ "PreferredMaintenanceWindow" : String,
17
+ "ReplicationGroupDescription" : String,
18
+ "SecurityGroupIds" : [ String, ... ],
19
+ "SnapshotArns" : [ String, ... ],
20
+ "SnapshotRetentionLimit" : Integer,
21
+ "SnapshotWindow" : String
22
+ }
23
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "Type" : "AWS::ElastiCache::SecurityGroup",
3
+ "Properties" :
4
+ {
5
+ "Description" : String
6
+ }
7
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "Type" : "AWS::ElastiCache::SecurityGroupIngress",
3
+ "Properties" :
4
+ {
5
+ "CacheSecurityGroupName" : String,
6
+ "EC2SecurityGroupName" : String,
7
+ "EC2SecurityGroupOwnerId" : String
8
+ }
9
+ }
@@ -0,0 +1,7 @@
1
+ "SubnetGroup" : {
2
+ "Type" : "AWS::ElastiCache::SubnetGroup",
3
+ "Properties" : {
4
+ "Description" : String,
5
+ "SubnetIds" : [ String, ... ]
6
+ }
7
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "Type" : "AWS::ElasticBeanstalk::Application",
3
+ "Properties" : {
4
+ "ApplicationName" : String,
5
+ "Description" : String
6
+ }
7
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "Type" : "AWS::ElasticBeanstalk::ApplicationVersion",
3
+ "Properties" : {
4
+ "ApplicationName" : String,
5
+ "Description" : String,
6
+ "SourceBundle" : { SourceBundle }
7
+ }
8
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "Type" : "AWS::ElasticBeanstalk::ConfigurationTemplate",
3
+ "Properties" : {
4
+ "ApplicationName" : String,
5
+ "Description" : String,
6
+ "EnvironmentId" : String,
7
+ "OptionSettings" : [ OptionSetting, ... ],
8
+ "SolutionStackName" : String,
9
+ "SourceConfiguration" : Source configuration
10
+ }
11
+ }
@@ -0,0 +1,15 @@
1
+ {
2
+ "Type" : "AWS::ElasticBeanstalk::Environment",
3
+ "Properties" : {
4
+ "ApplicationName" : String,
5
+ "CNAMEPrefix" : String,
6
+ "Description" : String,
7
+ "EnvironmentName" : String,
8
+ "OptionSettings" : [ OptionSettings, ... ],
9
+ "SolutionStackName" : String,
10
+ "Tags" : [ Resource Tag, ... ],
11
+ "TemplateName" : String,
12
+ "Tier" : Environment Tier,
13
+ "VersionLabel" : String
14
+ }
15
+ }
@@ -0,0 +1,21 @@
1
+ {
2
+ "Type": "AWS::ElasticLoadBalancing::LoadBalancer",
3
+ "Properties": {
4
+ "AccessLoggingPolicy" : AccessLoggingPolicy,
5
+ "AppCookieStickinessPolicy" : [ AppCookieStickinessPolicy, ... ],
6
+ "AvailabilityZones" : [ String, ... ],
7
+ "ConnectionDrainingPolicy" : ConnectionDrainingPolicy,
8
+ "ConnectionSettings" : ConnectionSettings,
9
+ "CrossZone" : Boolean,
10
+ "HealthCheck" : HealthCheck,
11
+ "Instances" : [ String, ... ],
12
+ "LBCookieStickinessPolicy" : [ LBCookieStickinessPolicy, ... ],
13
+ "LoadBalancerName" : String,
14
+ "Listeners" : [ Listener, ... ],
15
+ "Policies" : [ ElasticLoadBalancing Policy, ... ],
16
+ "Scheme" : String,
17
+ "SecurityGroups" : [ Security Group, ... ],
18
+ "Subnets" : [ String, ... ],
19
+ "Tags" : [ Resource Tag, ... ]
20
+ }
21
+ }
@@ -0,0 +1,12 @@
1
+ {
2
+ "Type" : "AWS::Elasticsearch::Domain",
3
+ "Properties" : {
4
+ "AccessPolicies" : JSON object,
5
+ "AdvancedOptions" : Advanced Options,
6
+ "DomainName" : String,
7
+ "EBSOptions" : EBS Options,
8
+ "ElasticsearchClusterConfig" : Elasticsearch Cluster Config,
9
+ "SnapshotOptions" : Snaptshot Options,
10
+ "Tags" : [ Resource Tag, ... ]
11
+ }
12
+ }
@@ -0,0 +1,12 @@
1
+ {
2
+ "Type" : "AWS::Events::Rule",
3
+ "Properties" : {
4
+ "Description" : String,
5
+ "EventPattern" : JSON object,
6
+ "Name" : String,
7
+ "RoleArn" : String,
8
+ "ScheduleExpression" : String,
9
+ "State" : String,
10
+ "Targets" : [ Target, ... ]
11
+ }
12
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "Type" : "AWS::GameLift::Alias",
3
+ "Properties" : {
4
+ "Name" : String,
5
+ "Description" : String,
6
+ "RoutingStrategy" : RoutingStrategy
7
+ }
8
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "Type" : "AWS::GameLift::Build",
3
+ "Properties" : {
4
+ "Name" : String,
5
+ "StorageLocation" : StorageLocation,
6
+ "Version" : String
7
+ }
8
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "Type" : "AWS::GameLift::Fleet",
3
+ "Properties" : {
4
+ "BuildId" : String,
5
+ "Description" : String,
6
+ "DesiredEC2Instances" : Integer,
7
+ "EC2InboundPermissions" : [ EC2InboundPermission, ... ],
8
+ "EC2InstanceType" : String,
9
+ "LogPaths" : [ String, ... ],
10
+ "MaxSize" : Integer,
11
+ "MinSize" : Integer,
12
+ "Name" : String,
13
+ "ServerLaunchParameters" : String,
14
+ "ServerLaunchPath" : String
15
+ }
16
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "Type": "AWS::IAM::AccessKey",
3
+ "Properties": {
4
+ "Serial": Integer,
5
+ "Status": String,
6
+ "UserName": String
7
+ }
8
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "Type": "AWS::IAM::Group",
3
+ "Properties": {
4
+ "ManagedPolicyArns": [ String, ... ],
5
+ "Path": String,
6
+ "Policies": [ Policies, ... ]
7
+ }
8
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "Type": "AWS::IAM::InstanceProfile",
3
+ "Properties": {
4
+ "Path": String,
5
+ "Roles": [ IAM Roles ]
6
+ }
7
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "Type": "AWS::IAM::ManagedPolicy",
3
+ "Properties": {
4
+ "Description" : String,
5
+ "Groups" : [ String, ... ],
6
+ "Path" : String,
7
+ "PolicyDocument" : JSON object,
8
+ "Roles" : [ String, ... ],
9
+ "Users" : [ String, ... ]
10
+ }
11
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "Type": "AWS::IAM::Policy",
3
+ "Properties": {
4
+ "Groups" : [ String, ... ],
5
+ "PolicyDocument" : JSON object,
6
+ "PolicyName" : String,
7
+ "Roles" : [ String, ... ],
8
+ "Users" : [ String, ... ]
9
+ }
10
+ }
data/specs/IAM-Role.cf ADDED
@@ -0,0 +1,9 @@
1
+ {
2
+ "Type": "AWS::IAM::Role",
3
+ "Properties": {
4
+ "AssumeRolePolicyDocument": { JSON },
5
+ "ManagedPolicyArns": [ String, ... ],
6
+ "Path": String,
7
+ "Policies": [ Policies, ... ]
8
+ }
9
+ }
data/specs/IAM-User.cf ADDED
@@ -0,0 +1,10 @@
1
+ {
2
+ "Type": "AWS::IAM::User",
3
+ "Properties": {
4
+ "Groups": [ String, ... ],
5
+ "LoginProfile": LoginProfile Type,
6
+ "ManagedPolicyArns": [ String, ... ],
7
+ "Path": String,
8
+ "Policies": [ Policies, ... ]
9
+ }
10
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "Type": "AWS::IAM::UserToGroupAddition",
3
+ "Properties": {
4
+ "GroupName": String,
5
+ "Users": [ User1, ... ]
6
+ }
7
+ }
data/specs/KMS-Key.cf ADDED
@@ -0,0 +1,9 @@
1
+ {
2
+ "Type" : "AWS::KMS::Key",
3
+ "Properties" : {
4
+ "Description" : String,
5
+ "Enabled" : Boolean,
6
+ "EnableKeyRotation" : Boolean,
7
+ "KeyPolicy" : JSON object
8
+ }
9
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "Type" : "AWS::Kinesis::Stream",
3
+ "Properties" : {
4
+ "Name" : String,
5
+ "ShardCount" : Integer,
6
+ "Tags" : [ Resource Tag, ... ]
7
+ }
8
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "Type" : "AWS::KinesisFirehose::DeliveryStream",
3
+ "Properties" : {
4
+ "DeliveryStreamName" : String,
5
+ "ElasticsearchDestinationConfiguration" : ElasticsearchDestinationConfiguration,
6
+ "RedshiftDestinationConfiguration" : RedshiftDestinationConfiguration,
7
+ "S3DestinationConfiguration" : S3DestinationConfiguration
8
+ }
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "Type" : "AWS::Lambda::Alias",
3
+ "Properties" : {
4
+ "Description" : String,
5
+ "FunctionName" : String,
6
+ "FunctionVersion" : String,
7
+ "Name" : String
8
+ }
9
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "Type" : "AWS::Lambda::EventSourceMapping",
3
+ "Properties" : {
4
+ "BatchSize" : Integer,
5
+ "Enabled" : Boolean,
6
+ "EventSourceArn" : String,
7
+ "FunctionName" : String,
8
+ "StartingPosition" : String
9
+ }
10
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "Type" : "AWS::Lambda::Function",
3
+ "Properties" : {
4
+ "Code" : Code,
5
+ "Description" : String,
6
+ "FunctionName" : String,
7
+ "Handler" : String,
8
+ "MemorySize" : Integer,
9
+ "Role" : String,
10
+ "Runtime" : String,
11
+ "Timeout" : Integer,
12
+ "VpcConfig" : VPCConfig
13
+ }
14
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "Type" : "AWS::Lambda::Permission",
3
+ "Properties" : {
4
+ "Action" : String,
5
+ "FunctionName" : String,
6
+ "Principal" : String,
7
+ "SourceAccount" : String,
8
+ "SourceArn" : String
9
+ }
10
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "Type" : "AWS::Lambda::Version",
3
+ "Properties" : {
4
+ "CodeSha256" : String,
5
+ "Description" : String,
6
+ "FunctionName" : String
7
+ }
8
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "Type" : "AWS::Logs::Destination",
3
+ "Properties" : {
4
+ "DestinationName" : String,
5
+ "DestinationPolicy" : String,
6
+ "RoleArn" : String,
7
+ "TargetArn" : String
8
+ }
9
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "Type" : "AWS::Logs::LogGroup",
3
+ "Properties" : {
4
+ "RetentionInDays" : Integer
5
+ }
6
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "Type" : "AWS::Logs::LogStream",
3
+ "Properties" : {
4
+ "LogGroupName" : String,
5
+ "LogStreamName" : String
6
+ }
7
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "Type": "AWS::Logs::MetricFilter",    
3
+ "Properties": {
4
+ "FilterPattern": [String, ...],
5
+ "LogGroupName": String,
6
+ "MetricTransformations": [ MetricTransformations, ... ]
7
+ }
8
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "Type" : "AWS::Logs::SubscriptionFilter",
3
+ "Properties" : {
4
+ "DestinationArn" : String,
5
+ "FilterPattern" : String,
6
+ "LogGroupName" : String,
7
+ "RoleArn" : String
8
+ }
9
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "Type": "AWS::OpsWorks::App",
3
+ "Properties": {
4
+ "AppSource" : Source,
5
+ "Attributes" : { String:String, ... },
6
+ "Description" : String,
7
+ "Domains" : [ String, ... ],
8
+ "EnableSsl" : Boolean,
9
+ "Environment" : [ Environment, ... ],
10
+ "Name" : String,
11
+ "Shortname" : String,
12
+ "SslConfiguration" : { SslConfiguration },
13
+ "StackId" : String,
14
+ "Type" : String
15
+ }
16
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "Type": "AWS::OpsWorks::ElasticLoadBalancerAttachment",
3
+ "Properties": {
4
+ "ElasticLoadBalancerName" : String,
5
+ "LayerId" : String
6
+ }
7
+ }
@@ -0,0 +1,19 @@
1
+ {
2
+ "Type": "AWS::OpsWorks::Instance",
3
+ "Properties": {
4
+ "AmiId" : String,
5
+ "Architecture" : String,
6
+ "AutoScalingType" : String,
7
+ "AvailabilityZone" : String,
8
+ "EbsOptimized" : Boolean,
9
+ "InstallUpdatesOnBoot" : Boolean,
10
+ "InstanceType" : String,
11
+ "LayerIds" : [ String, ... ],
12
+ "Os" : String,
13
+ "RootDeviceType" : String,
14
+ "SshKeyName" : String,
15
+ "StackId" : String,
16
+ "SubnetId" : String,
17
+ "TimeBasedAutoScaling" : { TimeBasedAutoScaling }
18
+ }
19
+ }
@@ -0,0 +1,21 @@
1
+ {
2
+ "Type": "AWS::OpsWorks::Layer",
3
+ "Properties": {
4
+ "Attributes" : { String:String },
5
+ "AutoAssignElasticIps" : Boolean,
6
+ "AutoAssignPublicIps" : Boolean,
7
+ "CustomInstanceProfileArn" : String,
8
+ "CustomRecipes" : Recipes,
9
+ "CustomSecurityGroupIds" : [ String, ... ],
10
+ "EnableAutoHealing" : Boolean,
11
+ "InstallUpdatesOnBoot" : Boolean,
12
+ "LifecycleEventConfiguration" : LifeCycleEventConfiguration,
13
+ "LoadBasedAutoScaling" : LoadBasedAutoScaling,
14
+ "Name" : String,
15
+ "Packages" : [ String, ... ],
16
+ "Shortname" : String,
17
+ "StackId" : String,
18
+ "Type" : String,
19
+ "VolumeConfigurations" : [ VolumeConfiguration, ... ]
20
+ }
21
+ }
@@ -0,0 +1,23 @@
1
+ {
2
+ "Type" : "AWS::OpsWorks::Stack",
3
+ "Properties" : {
4
+ "AgentVersion" : String,
5
+ "Attributes" : { String:String, ... },
6
+ "ChefConfiguration" : { ChefConfiguration },
7
+ "ConfigurationManager" : { StackConfigurationManager },
8
+ "CustomCookbooksSource" : { Source },
9
+ "CustomJson" : JSON,
10
+ "DefaultAvailabilityZone" : String,
11
+ "DefaultInstanceProfileArn" : String,
12
+ "DefaultOs" : String,
13
+ "DefaultRootDeviceType" : String,
14
+ "DefaultSshKeyName" : String,
15
+ "DefaultSubnetId" : String,
16
+ "HostnameTheme" : String,
17
+ "Name" : String,
18
+ "ServiceRoleArn" : String,
19
+ "UseCustomCookbooks" : Boolean,
20
+ "UseOpsworksSecurityGroups" : Boolean,
21
+ "VpcId" : String
22
+ }
23
+ }