cfnlego 0.1.1 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (44) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +7 -5
  3. data/bin/cfnlego +6 -0
  4. data/lib/cfnlego/cloudformation.erb +1 -1
  5. data/lib/cfnlego/resource.rb +2 -2
  6. data/lib/cfnlego/resources/AWS/AutoScaling/ScalingPolicy.yaml +19 -0
  7. data/lib/cfnlego/resources/AWS/EC2/DHCPOptions.yaml +26 -0
  8. data/lib/cfnlego/resources/AWS/EC2/EIP.yaml +6 -0
  9. data/lib/cfnlego/resources/AWS/EC2/InternetGateway.yaml +9 -0
  10. data/lib/cfnlego/resources/{EC2 → AWS/EC2}/SpotFleet.yaml +4 -2
  11. data/lib/cfnlego/resources/AWS/EC2/Subnet.yaml +16 -0
  12. data/lib/cfnlego/resources/AWS/EC2/VPC.yaml +20 -0
  13. data/lib/cfnlego/resources/AWS/EC2/VPCDHCPOptionsAssociation.yaml +4 -0
  14. data/lib/cfnlego/resources/AWS/EC2/VPCEndpoint.yaml +27 -0
  15. data/lib/cfnlego/resources/AWS/EC2/VPCGatewayAttachment.yaml +8 -0
  16. data/lib/cfnlego/resources/{IAM → AWS/IAM}/Role.yaml +6 -2
  17. data/lib/cfnlego/resources/AWS/KMS/Key.yaml +45 -0
  18. data/lib/cfnlego/resources/AWS/Kinesis/Stream.yaml +3 -0
  19. data/lib/cfnlego/resources/AWS/Lambda/EventSourceMapping.yaml +12 -0
  20. data/lib/cfnlego/resources/AWS/Lambda/Permission.yaml +12 -0
  21. data/lib/cfnlego/resources/AWS/Route53/HostedZone.yaml +22 -0
  22. data/lib/cfnlego/resources/{Route53 → AWS/Route53}/RecordSetGroup.yaml +0 -1
  23. data/lib/cfnlego/version.rb +1 -1
  24. data/lib/cfnlego.rb +12 -0
  25. data/utils/list-supported-resources.sh +3 -0
  26. metadata +38 -23
  27. /data/lib/cfnlego/resources/{AutoScaling → AWS/AutoScaling}/AutoScalingGroup.yaml +0 -0
  28. /data/lib/cfnlego/resources/{AutoScaling → AWS/AutoScaling}/LaunchConfiguration.yaml +0 -0
  29. /data/lib/cfnlego/resources/{AutoScaling → AWS/AutoScaling}/LifecycleHook.yaml +0 -0
  30. /data/lib/cfnlego/resources/{CloudFront → AWS/CloudFront}/Distribution.yaml +0 -0
  31. /data/lib/cfnlego/resources/{CloudWatch → AWS/CloudWatch}/Alarm.yaml +0 -0
  32. /data/lib/cfnlego/resources/{EC2 → AWS/EC2}/Instance.yaml +0 -0
  33. /data/lib/cfnlego/resources/{EC2 → AWS/EC2}/SecurityGroup.yaml +0 -0
  34. /data/lib/cfnlego/resources/{ECS → AWS/ECS}/Cluster.yaml +0 -0
  35. /data/lib/cfnlego/resources/{ECS → AWS/ECS}/Service.yaml +0 -0
  36. /data/lib/cfnlego/resources/{ECS → AWS/ECS}/TaskDefinition.yaml +0 -0
  37. /data/lib/cfnlego/resources/{ElasticLoadBalancing → AWS/ElasticLoadBalancing}/LoadBalancer.yaml +0 -0
  38. /data/lib/cfnlego/resources/{IAM → AWS/IAM}/InstanceProfile.yaml +0 -0
  39. /data/lib/cfnlego/resources/{IAM → AWS/IAM}/ManagedPolicy.yaml +0 -0
  40. /data/lib/cfnlego/resources/{Lambda → AWS/Lambda}/Function.yaml +0 -0
  41. /data/lib/cfnlego/resources/{Route53 → AWS/Route53}/HealthCheck.yaml +0 -0
  42. /data/lib/cfnlego/resources/{Route53 → AWS/Route53}/RecordSet.yaml +0 -0
  43. /data/lib/cfnlego/resources/{SNS → AWS/SNS}/Topic.yaml +0 -0
  44. /data/lib/cfnlego/resources/{SNS → AWS/SNS}/TopicPolicy.yaml +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 865950f21a1c0c7c0134fd4f92b676c874534dbd
4
- data.tar.gz: 58895618ffc334b449ae7d745a6d71aa561fa45a
3
+ metadata.gz: 05cf3ec8a02affe9da8016e8990cfbe33efbf227
4
+ data.tar.gz: 02ab748f1db4af13150ca9bbe6c85b30417cec66
5
5
  SHA512:
6
- metadata.gz: 1d8158f9f91b57ef7b8159c42ec1da58ae1ae29da28a11ab45a6e874f932e0c2975a6b86364d9449fbda2a7d57307bcc5117baff8625f3683d79d9eef0aad68e
7
- data.tar.gz: e899b93a75c3982cc975b9c068b7823f4267a2fa350342035b3b77427c3db004b96dfe8601beabadd7670a1ef595c8acc1869656837ae3e56f210bd2ec9eb074
6
+ metadata.gz: cc15c55bffc504c274ed2dffd8a92106eda0b5305ce639e480fe9f0a75ce1fc70c5343e998eddc9af975598c04ae9dff4b37c9107ab5cfc7db2040c4751bfe6b
7
+ data.tar.gz: c432664886496925e1373593249d1c5dda519375c4f4662bd98bfe72569b6956c248f37a01125cee558db91efa70d748c1243379cd0a2d7d2a54b5921ce2f7b3
data/README.md CHANGED
@@ -35,24 +35,26 @@ Example:
35
35
  - AWS::AutoScaling::AutoScalingGroup
36
36
  - AWS::AutoScaling::LaunchConfiguration
37
37
  - AWS::AutoScaling::LifecycleHook
38
+ - AWS::AutoScaling::ScalingPolicy
38
39
  - AWS::CloudFront::Distribution
39
40
  - AWS::CloudWatch::Alarm
40
41
  - AWS::EC2::Instance
41
42
  - AWS::EC2::SecurityGroup
42
43
  - AWS::EC2::SpotFleet
44
+ - AWS::ECS::Cluster
45
+ - AWS::ECS::Service
46
+ - AWS::ECS::TaskDefinition
43
47
  - AWS::ElasticLoadBalancing::LoadBalancer
44
48
  - AWS::IAM::InstanceProfile
45
49
  - AWS::IAM::ManagedPolicy
46
50
  - AWS::IAM::Role
51
+ - AWS::Kinesis::Stream
52
+ - AWS::KMS::Key
47
53
  - AWS::Lambda::Function
54
+ - AWS::Route53::HealthCheck
48
55
  - AWS::Route53::RecordSet
49
56
  - AWS::Route53::RecordSetGroup
50
- - AWS::Route53::HealthCheck
51
57
  - AWS::SNS::Topic
52
- - AWS::SNS::TopicPolicy
53
- - AWS::ECS::Cluster
54
- - AWS::ECS::Service
55
- - AWS::ECS::TaskDefinition
56
58
 
57
59
  ### License
58
60
 
data/bin/cfnlego CHANGED
@@ -16,6 +16,12 @@ OptionParser.new do |opts|
16
16
  options[:indent_token] = i
17
17
  end
18
18
 
19
+ opts.on("-l", "--list", "List supported resources") do
20
+ options[:list_resources] = true
21
+ puts Cfnlego.Resources
22
+ exit
23
+ end
24
+
19
25
  opts.on("-c",
20
26
  "--indent-count [COUNT]",
21
27
  Integer,
@@ -2,7 +2,7 @@ CloudFormation do
2
2
  Description "<%= @description %>"
3
3
  <%- @resources.each do |r| -%>
4
4
  <%="Resource \"#{r.name}\" do" %>
5
- <%="Type \"AWS::#{r.type}\"" %>
5
+ <%="Type \"#{r.type}\"" %>
6
6
  <%- attrs = r.attributes -%>
7
7
  <%- if attrs
8
8
  attrs.keys.each do |attr| -%>
@@ -10,11 +10,11 @@ module Cfnlego
10
10
  end
11
11
 
12
12
  def attributes
13
- definition["AWS::#{@type}"]["Attributes"]
13
+ definition["#{@type}"]["Attributes"]
14
14
  end
15
15
 
16
16
  def properties
17
- definition["AWS::#{@type}"]['Properties']
17
+ definition["#{@type}"]['Properties']
18
18
  end
19
19
 
20
20
  private
@@ -0,0 +1,19 @@
1
+ AWS::AutoScaling::ScalingPolicy:
2
+ Properties:
3
+ AdjustmentType: "\"ChangeInCapacity|ExactCapacity|PercentChangeInCapacity\""
4
+ AutoScalingGroupName: "\"The name or Amazon Resource Name (ARN) of the Auto Scaling Group\""
5
+ Cooldown: "600"
6
+ EstimatedInstanceWarmup: "\"The estimated time, in seconds, until a newly launched instance can send metrics to CloudWatch. By default, Auto Scaling uses the cooldown period, as specified in the Cooldown property.\""
7
+ MetricAggregationType: "\"Minimum|Maximum|Average(Default)\""
8
+ MinAdjustmentMagnitude: "\"For the PercentChangeInCapacity adjustment type, the minimum number of instances to scale. The scaling policy changes the desired capacity of the Auto Scaling group by a minimum of this many instances. This property replaces the MinAdjustmentStep property.\""
9
+ PolicyType: "\"SimpleScaling|StepScaling\""
10
+ ScalingAdjustment: "\"The number of instances by which to scale. The AdjustmentType property determines whether AWS CloudFormation interprets this number as an absolute number (when the ExactCapacityvalue is specified) or as a percentage of the existing Auto Scaling group size (when the PercentChangeInCapacity value is specified). \""
11
+ StepAdjustments: |
12
+ [ # A set of adjustments that enable you to scale based on the size of the alarm breach.
13
+
14
+ {
15
+ "MetricIntervalLowerBound" => "Number. The lower bound for the difference between the breach threshold and the CloudWatch metric. If the metric value exceeds the breach threshold, the lower bound is inclusive (the metric must be greater than or equal to the threshold plus the lower bound). Otherwise, it is exclusive (the metric must be greater than the threshold plus the lower bound). A null value indicates negative infinity.",
16
+ "MetricIntervalUpperBound" => "Number. The upper bound for the difference between the breach threshold and the CloudWatch metric. If the metric value exceeds the breach threshold, the upper bound is exclusive (the metric must be less than the threshold plus the upper bound). Otherwise, it is inclusive (the metric must be less than or equal to the threshold plus the upper bound). A null value indicates positive infinity.",
17
+ "ScalingAdjustment" => "The amount by which to scale, based on the value that you specified in the AdjustmentType property. A positive value adds to the current capacity and a negative number subtracts from the current capacity."
18
+ }
19
+ ]
@@ -0,0 +1,26 @@
1
+ AWS::EC2::DHCPOptions:
2
+ Properties:
3
+ DomainName: |
4
+ "A domain name of your choice."
5
+ DomainNameServers: |
6
+ [
7
+ "AmazonProvidedDNS",
8
+ "domain-name-for-your-region"
9
+ ]
10
+ NetbiosNameServers: |
11
+ [
12
+ "The IP address (IPv4) of a NetBIOS name server. You can specify up to four addresses."
13
+ ]
14
+ NetbiosNodeType: |
15
+ "An integer value indicating the NetBIOS node type: 1: Broadcast (B) 2: Point-to-point (P) 4: Mixed mode (M) 8: Hybrid (H). We recommend that you use only the value 2 at this time (broadcast and multicast are not currently supported)."
16
+ NtpServers: |
17
+ [
18
+ "The IP address (IPv4) of a Network Time Protocol (NTP) server. You can specify up to four addresses."
19
+ ]
20
+ Tags: |
21
+ [
22
+ {
23
+ "Key" => "Name",
24
+ "Value" => "VPC Name"
25
+ }
26
+ ]
@@ -0,0 +1,6 @@
1
+ AWS::EC2::EIP:
2
+ Properties:
3
+ InstanceId: |
4
+ "The Instance ID of the Amazon EC2 instance that you want to associate with this Elastic IP address."
5
+ Domain: |
6
+ "Set to vpc to allocate the address to your Virtual Private Cloud (VPC). If you define an Elastic IP address and associate it with a VPC that is defined in the same template, you must declare a dependency on the VPC-gateway attachment by using the DependsOn attribute on this resource."
@@ -0,0 +1,9 @@
1
+ AWS::EC2::InternetGateway:
2
+ Properties:
3
+ Tags: |
4
+ [
5
+ {
6
+ "Key" => "Name",
7
+ "Value" => "IGW"
8
+ }
9
+ ]
@@ -2,6 +2,8 @@ AWS::EC2::SpotFleet:
2
2
  Properties:
3
3
  SpotFleetRequestConfigData: |
4
4
  {
5
+ "AllocationStrategy" => "String", #lowestPrice | diversified
6
+ "ExcessCapacityTerminationPolicy" => "String", # NoTermination | Default
5
7
  "IamFleetRole" => "The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM) role that grants the Spot fleet the ability to bid on",
6
8
  "LaunchSpecifications" => [
7
9
  {
@@ -14,7 +16,7 @@ AWS::EC2::SpotFleet:
14
16
  }
15
17
  ],
16
18
  "EbsOptimized" => "Boolean",
17
- "IamInstanceProfile" => "IamInstanceProfile",
19
+ "IamInstanceProfile" => {"Arn" => "IamInstanceProfile" },
18
20
  "ImageId" => "String",
19
21
  "InstanceType" => "String",
20
22
  "KernelId" => "String",
@@ -38,7 +40,7 @@ AWS::EC2::SpotFleet:
38
40
  "GroupName" => "The name of the placement group (for cluster instances)."
39
41
  },
40
42
  "RamdiskId" => "String",
41
- "SecurityGroups" => ["One or more security group IDs to associate with the instances."],
43
+ "SecurityGroups" => [{"GroupId" => "sg-xxxx"}],
42
44
  "SubnetId" => "String",
43
45
  "UserData" => "Base64-encoded MIME user data that instances use when starting up.", # FnBase64(data)
44
46
  "WeightedCapacity" => "Number"
@@ -0,0 +1,16 @@
1
+ AWS::EC2::Subnet:
2
+ Properties:
3
+ AvailabilityZone: |
4
+ "ap-southeast-2a"
5
+ CidrBlock: |
6
+ "192.168.1.0/26"
7
+ MapPublicIpOnLaunch: "true"
8
+ Tags: |
9
+ [
10
+ {
11
+ "Key" => "Name",
12
+ "Value" => "Subnet Name"
13
+ }
14
+ ]
15
+ VpcId: |
16
+ "vpc-xxxxx"
@@ -0,0 +1,20 @@
1
+ AWS::EC2::VPC:
2
+ Properties:
3
+ CidrBlock: |
4
+ "The CIDR block you want the VPC to cover. For example: 10.0.0.0/16."
5
+ EnableDnsSupport: |
6
+ "Specifies whether DNS resolution is supported for the VPC. If this attribute is true, the Amazon DNS server resolves DNS hostnames for your instances to their corresponding IP addresses; otherwise, it does not. By default the value is set to true."
7
+ EnableDnsHostnames: |
8
+ "Specifies whether the instances launched in the VPC get DNS hostnames. If this attribute is true, instances in the VPC get DNS hostnames; otherwise, they do not. You can only set EnableDnsHostnames to true if you also set the EnableDnsSupport attribute to true. By default, the value is set to false."
9
+ InstanceTenancy: |
10
+ "The allowed tenancy of instances launched into the VPC.
11
+ default - Instances can be launched with any tenancy.
12
+ dedicated - Any instance launched into the VPC will automatically be dedicated, regardless of the tenancy option you specify when you launch the instance."
13
+ Tags: |
14
+ [
15
+ {
16
+ "Key" => "Name",
17
+ "Value" => "VPC"
18
+ }
19
+ ]
20
+
@@ -0,0 +1,4 @@
1
+ AWS::EC2::VPCDHCPOptionsAssociation:
2
+ Properties:
3
+ DhcpOptionsId: "\"dhcp_option_id\""
4
+ VpcId: "\"vpc_id\""
@@ -0,0 +1,27 @@
1
+ AWS::EC2::VPCEndpoint:
2
+ Properties:
3
+ PolicyDocument: |
4
+ {
5
+ "Statement" => [
6
+ {
7
+ "Sid" => "Access-to-specific-bucket-only",
8
+ "Principal" => "*",
9
+ "Action" => [
10
+ "s3:GetObject",
11
+ "s3:PutObject"
12
+ ],
13
+ "Resource" => [
14
+ "arn:aws:s3:::my_secure_bucket",
15
+ "arn:aws:s3:::my_secure_bucket/*"
16
+ ]
17
+ }
18
+ ]
19
+ }
20
+ RouteTableIds: |
21
+ [
22
+ "rt-xxxxx"
23
+ ]
24
+ ServiceName: |
25
+ "The AWS service to which you want to establish a connection. Specify the service name in the form of com.amazonaws.region.service."
26
+ VpcId: |
27
+ "vpc-xxxx"
@@ -0,0 +1,8 @@
1
+ AWS::EC2::VPCGatewayAttachment:
2
+ Properties:
3
+ InternetGatewayId: |
4
+ "igw-xxxxx"
5
+ VpcId: |
6
+ "vpc-xxxx"
7
+ VpnGatewayId: |
8
+ "vpn-xxxx"
@@ -6,12 +6,16 @@ AWS::IAM::Role:
6
6
  "Statement" => [ {
7
7
  "Effect" => "Allow",
8
8
  "Principal" => {
9
- "Service" => [ "ec2.amazonaws.com" ]
9
+ "Service" => [ "ec2.amazonaws.com|spotfleet.amazonaws.com" ]
10
10
  },
11
11
  "Action" => [ "sts:AssumeRole" ]
12
12
  } ]
13
13
  }
14
- ManagedPolicyArns: []
14
+ ManagedPolicyArns: |
15
+ [
16
+ "arn:aws:iam::aws:policy/service-role/AmazonEC2SpotFleetRole",
17
+ "arn:aws:iam::aws:policy/service-role/AmazonEC2ContainerServiceforEC2Role"
18
+ ]
15
19
  Path: "\"/Application/\""
16
20
  Policies: |
17
21
  [{
@@ -0,0 +1,45 @@
1
+ AWS::KMS::Key:
2
+ Properties:
3
+ Description: "\"Key Description\""
4
+ Enabled: true
5
+ EnableKeyRotation: true
6
+ KeyPolicy: |
7
+ {
8
+ "Id" => "SharedKeyPolicy",
9
+ "Version" => "2012-10-17",
10
+ "Statement" => [
11
+ {
12
+ "Sid" => "Allow access for Admin",
13
+ "Effect" => "Allow",
14
+ "Principal" => {
15
+ "AWS" => "arn:aws:iam::ACCOUNT_ID:role/Administrator"
16
+ },
17
+ "Action" => [
18
+ "kms:*"
19
+ ],
20
+ "Resource" => "*"
21
+ },
22
+ {
23
+ "Sid" => "Allow access for Developers/Operators",
24
+ "Effect" => "Allow",
25
+ "Principal" => {
26
+ "AWS" => "arn:aws:iam::ACCOUNT_ID:role/Developers"
27
+ },
28
+ "Action" => [
29
+ "kms:Decrypt",
30
+ "kms:DescribeKey",
31
+ "kms:Encrypt",
32
+ "kms:GenerateRandom",
33
+ "kms:GenerateDataKey",
34
+ "kms:GenerateDataKeyWithoutPlaintext",
35
+ "kms:GetKeyPolicy",
36
+ "kms:GetKeyRotationStatus",
37
+ "kms:ReEncrypt*",
38
+ "kms:RetireGrant",
39
+ "kms:RevokeGrant",
40
+ "kms:CreateGrant"
41
+ ],
42
+ "Resource" => "*"
43
+ }
44
+ ]
45
+ }
@@ -0,0 +1,3 @@
1
+ AWS::Kinesis::Stream:
2
+ Properties:
3
+ ShardCount: 1
@@ -0,0 +1,12 @@
1
+ AWS::Lambda::EventSourceMapping:
2
+ Properties:
3
+ BatchSize: |
4
+ The largest number of records that Lambda retrieves from your event source when invoking your function. Your function receives an event with all the retrieved records. Valid range: Minimum value of 1. Maximum value of 10000.
5
+ Enabled: |
6
+ Indicates whether Lambda begins polling the event source.
7
+ EventSourceArn: |
8
+ The Amazon Resource Name (ARN) of the Amazon Kinesis or DynamoDB stream that is the source of events. Any record added to this stream can invoke the Lambda function.
9
+ FunctionName: |
10
+ The name or ARN of a Lambda function to invoke when Lambda detects an event on the stream.
11
+ StartingPosition: |
12
+ The position in the stream where Lambda starts reading. Valid Values: TRIM_HORIZON | LATEST
@@ -0,0 +1,12 @@
1
+ AWS::Lambda::Permission:
2
+ Properties:
3
+ Action: |
4
+ The Lambda actions that you want to allow in this statement. For example, you can specify lambda:CreateFunction to specify a certain action, or use a wildcard (lambda:*) to grant permission to all Lambda actions.
5
+ FunctionName: |
6
+ The name (physical ID) or Amazon Resource Name (ARN) of the Lambda function that you want to associate with this statement.
7
+ Principal: |
8
+ The entity for which you are granting permission to invoke the Lambda function. This entity can be any valid AWS service principal, such as s3.amazonaws.com or sns.amazonaws.com, or, if you are granting cross-account permission, an AWS account ID.
9
+ SourceAccount: |
10
+ The AWS account ID (without hyphens) of the source owner. For example, if you specify an S3 bucket in the SourceArn property, this value is the bucket owner's account ID. You can use this property to ensure that all source principals are owned by a specific account.
11
+ SourceArn: |
12
+ The ARN of a resource that is invoking your function. When granting Amazon Simple Storage Service (Amazon S3) permission to invoke your function, specify this property with the bucket ARN as its value.
@@ -0,0 +1,22 @@
1
+ AWS::Route53::HostedZone:
2
+ Properties:
3
+ HostedZoneConfig: |
4
+ {
5
+ "Comment" => "About the hosted Zone"
6
+ }
7
+ HostedZoneTags: |
8
+ [
9
+ {
10
+ "Key" => "Name",
11
+ "Value" => "Zone Name"
12
+ }
13
+ ]
14
+ Name: |
15
+ "The name of the domain. For resource record types that include a domain name, specify a fully qualified domain name."
16
+ VPCs: |
17
+ [
18
+ {
19
+ "VPCId" => "vpc-xxxxx",
20
+ "VPCRegion" => "ap-southeast-2"
21
+ }
22
+ ]
@@ -7,7 +7,6 @@ AWS::Route53::RecordSetGroup:
7
7
  [
8
8
  {
9
9
  "AliasTarget" => "AliasTarget",
10
- "Comment" => "String",
11
10
  "Failover" => "String",
12
11
  "GeoLocation" => {
13
12
  "ContinentCode" => "see http://docs.aws.amazon.com/Route53/latest/APIReference/API_ChangeResourceRecordSets_Requests.html#change-rrsets-request-continent-code",
@@ -1,3 +1,3 @@
1
1
  module Cfnlego
2
- VERSION='0.1.1'
2
+ VERSION='0.2.0'
3
3
  end
data/lib/cfnlego.rb CHANGED
@@ -5,3 +5,15 @@ require 'erb'
5
5
  require 'cfnlego/cloudformation'
6
6
  require 'cfnlego/resource'
7
7
  require 'cfnlego/version'
8
+
9
+ module Cfnlego
10
+ def self.Resources
11
+ basedir = File.join("#{File.realpath(File.dirname(__FILE__))}", "cfnlego","resources", File::SEPARATOR)
12
+ resource_yaml_files = File.join(basedir, "**", "*.yaml")
13
+ resources = []
14
+ Dir.glob(resource_yaml_files) do |filename|
15
+ resources << filename.sub(/#{basedir}/, '').gsub(/#{File::SEPARATOR}/, '::').sub(/\.yaml/, '')
16
+ end
17
+ return resources
18
+ end
19
+ end
@@ -0,0 +1,3 @@
1
+ #!/bin/bash
2
+
3
+ find . ./lib/cfnlego/resources/ | grep yaml |cut -f5,6,7 -d/ | sed 's/.yaml//' | sed "s/\//::/g"| sort | uniq
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cfnlego
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kevin Yung
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-12-03 00:00:00.000000000 Z
11
+ date: 2016-01-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ruby-beautify
@@ -89,28 +89,43 @@ files:
89
89
  - lib/cfnlego/cloudformation.erb
90
90
  - lib/cfnlego/cloudformation.rb
91
91
  - lib/cfnlego/resource.rb
92
- - lib/cfnlego/resources/AutoScaling/AutoScalingGroup.yaml
93
- - lib/cfnlego/resources/AutoScaling/LaunchConfiguration.yaml
94
- - lib/cfnlego/resources/AutoScaling/LifecycleHook.yaml
95
- - lib/cfnlego/resources/CloudFront/Distribution.yaml
96
- - lib/cfnlego/resources/CloudWatch/Alarm.yaml
97
- - lib/cfnlego/resources/EC2/Instance.yaml
98
- - lib/cfnlego/resources/EC2/SecurityGroup.yaml
99
- - lib/cfnlego/resources/EC2/SpotFleet.yaml
100
- - lib/cfnlego/resources/ECS/Cluster.yaml
101
- - lib/cfnlego/resources/ECS/Service.yaml
102
- - lib/cfnlego/resources/ECS/TaskDefinition.yaml
103
- - lib/cfnlego/resources/ElasticLoadBalancing/LoadBalancer.yaml
104
- - lib/cfnlego/resources/IAM/InstanceProfile.yaml
105
- - lib/cfnlego/resources/IAM/ManagedPolicy.yaml
106
- - lib/cfnlego/resources/IAM/Role.yaml
107
- - lib/cfnlego/resources/Lambda/Function.yaml
108
- - lib/cfnlego/resources/Route53/HealthCheck.yaml
109
- - lib/cfnlego/resources/Route53/RecordSet.yaml
110
- - lib/cfnlego/resources/Route53/RecordSetGroup.yaml
111
- - lib/cfnlego/resources/SNS/Topic.yaml
112
- - lib/cfnlego/resources/SNS/TopicPolicy.yaml
92
+ - lib/cfnlego/resources/AWS/AutoScaling/AutoScalingGroup.yaml
93
+ - lib/cfnlego/resources/AWS/AutoScaling/LaunchConfiguration.yaml
94
+ - lib/cfnlego/resources/AWS/AutoScaling/LifecycleHook.yaml
95
+ - lib/cfnlego/resources/AWS/AutoScaling/ScalingPolicy.yaml
96
+ - lib/cfnlego/resources/AWS/CloudFront/Distribution.yaml
97
+ - lib/cfnlego/resources/AWS/CloudWatch/Alarm.yaml
98
+ - lib/cfnlego/resources/AWS/EC2/DHCPOptions.yaml
99
+ - lib/cfnlego/resources/AWS/EC2/EIP.yaml
100
+ - lib/cfnlego/resources/AWS/EC2/Instance.yaml
101
+ - lib/cfnlego/resources/AWS/EC2/InternetGateway.yaml
102
+ - lib/cfnlego/resources/AWS/EC2/SecurityGroup.yaml
103
+ - lib/cfnlego/resources/AWS/EC2/SpotFleet.yaml
104
+ - lib/cfnlego/resources/AWS/EC2/Subnet.yaml
105
+ - lib/cfnlego/resources/AWS/EC2/VPC.yaml
106
+ - lib/cfnlego/resources/AWS/EC2/VPCDHCPOptionsAssociation.yaml
107
+ - lib/cfnlego/resources/AWS/EC2/VPCEndpoint.yaml
108
+ - lib/cfnlego/resources/AWS/EC2/VPCGatewayAttachment.yaml
109
+ - lib/cfnlego/resources/AWS/ECS/Cluster.yaml
110
+ - lib/cfnlego/resources/AWS/ECS/Service.yaml
111
+ - lib/cfnlego/resources/AWS/ECS/TaskDefinition.yaml
112
+ - lib/cfnlego/resources/AWS/ElasticLoadBalancing/LoadBalancer.yaml
113
+ - lib/cfnlego/resources/AWS/IAM/InstanceProfile.yaml
114
+ - lib/cfnlego/resources/AWS/IAM/ManagedPolicy.yaml
115
+ - lib/cfnlego/resources/AWS/IAM/Role.yaml
116
+ - lib/cfnlego/resources/AWS/KMS/Key.yaml
117
+ - lib/cfnlego/resources/AWS/Kinesis/Stream.yaml
118
+ - lib/cfnlego/resources/AWS/Lambda/EventSourceMapping.yaml
119
+ - lib/cfnlego/resources/AWS/Lambda/Function.yaml
120
+ - lib/cfnlego/resources/AWS/Lambda/Permission.yaml
121
+ - lib/cfnlego/resources/AWS/Route53/HealthCheck.yaml
122
+ - lib/cfnlego/resources/AWS/Route53/HostedZone.yaml
123
+ - lib/cfnlego/resources/AWS/Route53/RecordSet.yaml
124
+ - lib/cfnlego/resources/AWS/Route53/RecordSetGroup.yaml
125
+ - lib/cfnlego/resources/AWS/SNS/Topic.yaml
126
+ - lib/cfnlego/resources/AWS/SNS/TopicPolicy.yaml
113
127
  - lib/cfnlego/version.rb
128
+ - utils/list-supported-resources.sh
114
129
  homepage: https://github.com/allinwonder/cfnlego
115
130
  licenses:
116
131
  - MIT
File without changes