cfnlego 0.5.1 → 0.6.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: ca468766925395e6f9e03cdefb7506a34dd7e93f
4
- data.tar.gz: 982ce51647793d4d4b7faf2200dfae53e5898f9a
3
+ metadata.gz: 03de91d80bef8d1bbdf81173f1ba31f700807755
4
+ data.tar.gz: 190e40bdefe6973ab89863932dcd4443b519798f
5
5
  SHA512:
6
- metadata.gz: 2cf1747a38336fce8bfc40470fa5e13100b9ea15975e6a27e8b2678e7c1699c3dde3bca9e81ba60a09487d52356ec9012c9e27b82bc34b3c6f776cd4857ebc20
7
- data.tar.gz: 1c7b7d7c8446c5573d8b7287b9700163cc1423072cddb703a3f13adf0de07e1e35ab9ef9d1f81eb2b19605b2f6ffe8db2acf6c36dd5d135bcadcbcea51534c9f
6
+ metadata.gz: ec4cc0a98ee1dafbb6c30571eea5e35deb704581308645c5bfce1828c53aee90b1b8008e44d217094601ee009844bc7b77f5bbf2f79d3e21c5bee7ce673df592
7
+ data.tar.gz: b2210d8b4fbb75b72cbf6790611a9c702a5accbba7087775a5a910473cd7efa3992f393ceb28388f0c9252562d34c9ed63988df6a6936b8b720e34804a429605
data/README.md CHANGED
@@ -17,7 +17,7 @@ to generate a `cfndsl` template, provide the resource types and their logical na
17
17
  $ gem install cfnlego
18
18
 
19
19
  $ cfnlego --help
20
- Usage: cfnlego --reousrce resource [options]
20
+ Usage: cfnlego --resource resource [options]
21
21
  -r RESOURCE_TYPE,RESOURCE_LOGICAL_NAME,
22
22
  --resource Add resource type and logical name
23
23
  -i, --indent TOKEN Use TOKEN for indent character (default space)
@@ -27,9 +27,9 @@ Usage: cfnlego --reousrce resource [options]
27
27
  -v, --version Show version
28
28
  Example:
29
29
  cfnlego \
30
- --reousrce AWS::AutoScaling::AutoScalingGroup,ASG \
31
- --reousrce AWS::IAM::Role,Role \
32
- --reousrce AWS::IAM::InstanceProfile,InstanceProfile \
30
+ --resource AWS::AutoScaling::AutoScalingGroup,ASG \
31
+ --resource AWS::IAM::Role,Role \
32
+ --resource AWS::IAM::InstanceProfile,InstanceProfile \
33
33
  ```
34
34
 
35
35
  ### Current Supported Resources
@@ -0,0 +1,15 @@
1
+ AWS::CodeCommit::Repository:
2
+ Properties:
3
+ RepositoryDescription: "\"String\""
4
+ RepositoryName: "\"String\""
5
+ Triggers: |
6
+ [
7
+ {
8
+ "Branches" => [ "String" ],
9
+ "CustomData" => "When an event is triggered, additional information that AWS CodeCommit includes when it sends information to the target.",
10
+ "DestinationArn" => "The Amazon Resource Name (ARN) of the resource that is the target for this trigger.",
11
+ "Events" => ["all", "updateReference", "createReference", "deleteReference"],
12
+ "Name" => "The name of the trigger."
13
+ }
14
+ ]
15
+
@@ -0,0 +1,122 @@
1
+ AWS::EMR::Cluster:
2
+ Properties:
3
+ AdditionalInfo: |
4
+ {
5
+ "string" => "string"
6
+ }
7
+ Applications: |
8
+ [
9
+ {
10
+ "AdditionalInfo" => { "string" => "String"},
11
+ "Args" => [],
12
+ "Name" => "Zookeeper",
13
+ "Version" => "4.3"
14
+ }
15
+ ]
16
+ BootstrapActions: |
17
+ [
18
+ {
19
+ "Name" => "The name of the bootstrap action to add to your cluster.",
20
+ "ScriptBootstrapAction" => {"Path" => "/path/to/s3"}
21
+ }
22
+ ]
23
+ Configurations: |
24
+ [
25
+ {
26
+ "Classification" => "The name of an application-specific configuration file.",
27
+ "ConfigurationProperties" => { "The settings that you want to change in the application-specific configuration file." => "http://docs.aws.amazon.com//ElasticMapReduce/latest/ReleaseGuide/emr-configure-apps.html" },
28
+ "Configurations" => [
29
+ "A list of configurations to apply to this configuration. " => "http://docs.aws.amazon.com//ElasticMapReduce/latest/ReleaseGuide/emr-configure-apps.html"
30
+ ]
31
+ }
32
+ ]
33
+ Instances: |
34
+ {
35
+ "AdditionalMasterSecurityGroups" => [ "A list of additional EC2 security group IDs to assign to the master instance" ],
36
+ "AdditionalSlaveSecurityGroups" => [ "A list of additional EC2 security group IDs to assign to the slave instances (slave nodes) in your Amazon EMR cluster." ],
37
+ "CoreInstanceGroup" => {
38
+ "BidPrice" => "in USD",
39
+ "Configurations" => [
40
+ {
41
+ "Classification" => "The name of an application-specific configuration file.",
42
+ "ConfigurationProperties" => {"The settings that you want to change in the application-specific configuration file." => "http://docs.aws.amazon.com//ElasticMapReduce/latest/ReleaseGuide/emr-configure-apps.html"},
43
+ "Configurations" => [
44
+ "A list of configurations to apply to this configuration. " => "http://docs.aws.amazon.com//ElasticMapReduce/latest/ReleaseGuide/emr-configure-apps.html"
45
+ ]
46
+ }
47
+ ],
48
+ "EbsConfiguration" => {
49
+ "EbsBlockDeviceConfigs" => [
50
+ {
51
+ "VolumeSpecification" => {
52
+ "Iops" => 1000,
53
+ "SizeInGB" => 1000,
54
+ "VolumeType" => "standard | io1 | gp2 | sc1 | st1"
55
+ },
56
+ "VolumesPerInstance" => "The number of Amazon EBS volumes that you want to create for each instance in the EMR cluster or instance group."
57
+ }
58
+ ],
59
+ "EbsOptimized" => true
60
+ },
61
+ "InstanceCount" => "The number of instances to launch in the instance group.",
62
+ "InstanceType" => "The EC2 instance type for all instances in the instance group.",
63
+ "Market" => "ON_DEMAND or SPOT",
64
+ "Name" => "A name for the instance group."
65
+ },
66
+ "Ec2KeyName" => "The name of an Amazon Elastic Compute Cloud (Amazon EC2) key pair, ",
67
+ "Ec2SubnetId" => "The ID of a subnet where you want to launch your instances.",
68
+ "EmrManagedMasterSecurityGroup" => "The ID of an EC2 security group (managed by Amazon EMR) that is assigned to the master instance (master node) in your Amazon EMR cluster.",
69
+ "EmrManagedSlaveSecurityGroup" => "The ID of an EC2 security group (managed by Amazon EMR) that is assigned to the slave instances (slave nodes) in your Amazon EMR cluster.",
70
+ "HadoopVersion" => "1.0.3, 2.2.0, or 2.4.0",
71
+ "MasterInstanceGroup" => {
72
+ "BidPrice" => "in USD",
73
+ "Configurations" => [
74
+ {
75
+ "Classification" => "The name of an application-specific configuration file.",
76
+ "ConfigurationProperties" => {"The settings that you want to change in the application-specific configuration file." => "http://docs.aws.amazon.com//ElasticMapReduce/latest/ReleaseGuide/emr-configure-apps.html"},
77
+ "Configurations" => [
78
+ "A list of configurations to apply to this configuration. " => "http://docs.aws.amazon.com//ElasticMapReduce/latest/ReleaseGuide/emr-configure-apps.html"
79
+ ]
80
+ }
81
+ ],
82
+ "EbsConfiguration" => {
83
+ "EbsBlockDeviceConfigs" => [
84
+ {
85
+ "VolumeSpecification" => {
86
+ "Iops" => 1000,
87
+ "SizeInGB" => 1000,
88
+ "VolumeType" => "standard | io1 | gp2 | sc1 | st1"
89
+ },
90
+ "VolumesPerInstance" => "The number of Amazon EBS volumes that you want to create for each instance in the EMR cluster or instance group."
91
+ }
92
+ ],
93
+ "EbsOptimized" => true
94
+ },
95
+ "InstanceCount" => "The number of instances to launch in the instance group.",
96
+ "InstanceType" => "The EC2 instance type for all instances in the instance group.",
97
+ "Market" => "ON_DEMAND or SPOT",
98
+ "Name" => "A name for the instance group."
99
+ },
100
+ "Placement" => "The Availability Zone (AZ) in which the job flow runs. not required",
101
+ "ServiceAccessSecurityGroup" => "The ID of an EC2 security group (managed by Amazon EMR) that services use to access clusters in private subnets.",
102
+ "TerminationProtected" => true
103
+ }
104
+ JobFlowRole: |
105
+ "Also called instance profile and EC2 role. "
106
+ LogUri: |
107
+ "An S3 bucket location to which Amazon EMR writes logs files from a job flow."
108
+ Name: |
109
+ "A name for the Amazon EMR cluster."
110
+ ReleaseLabel: |
111
+ "The Amazon EMR software release label. A release is a set of software applications and components that you can install and configure on an Amazon EMR cluster. If you specify the Applications property, you must specify this property."
112
+ ServiceRole: |
113
+ "The IAM role that Amazon EMR assumes to access AWS resources on your behalf. "
114
+ Tags: |
115
+ [
116
+ {
117
+ "Key" => "Name",
118
+ "Value" => "a cluster"
119
+ }
120
+ ]
121
+ VisibleToAllUsers: |
122
+ "Indicates whether the instances in the cluster are visible to all IAM users in the AWS account. default false"
@@ -0,0 +1,40 @@
1
+ AWS::EMR::InstanceGroupConfig:
2
+ Properties:
3
+ BidPrice: |
4
+ "in USD"
5
+ Configurations: |
6
+ [
7
+ {
8
+ "Classification" => "The name of an application-specific configuration file.",
9
+ "ConfigurationProperties" => {"The settings that you want to change in the application-specific configuration file." => "http://docs.aws.amazon.com//ElasticMapReduce/latest/ReleaseGuide/emr-configure-apps.html"},
10
+ "Configurations" => [
11
+ "A list of configurations to apply to this configuration. " => "http://docs.aws.amazon.com//ElasticMapReduce/latest/ReleaseGuide/emr-configure-apps.html"
12
+ ]
13
+ }
14
+ ]
15
+ EbsConfiguration: |
16
+ {
17
+ "EbsBlockDeviceConfigs" => [
18
+ {
19
+ "VolumeSpecification" => {
20
+ "Iops" => 1000,
21
+ "SizeInGB" => 1000,
22
+ "VolumeType" => "standard | io1 | gp2 | sc1 | st1"
23
+ },
24
+ "VolumesPerInstance" => "The number of Amazon EBS volumes that you want to create for each instance in the EMR cluster or instance group."
25
+ }
26
+ ],
27
+ "EbsOptimized" => true
28
+ }
29
+ InstanceRole: |
30
+ "Currently, the only valid value is TASK."
31
+ InstanceCount: |
32
+ "The number of instances to launch in the instance group."
33
+ InstanceType: |
34
+ "The EC2 instance type for all instances in the instance group."
35
+ JobFlowId: |
36
+ "The ID of an Amazon EMR cluster that you want to associate this instance group with."
37
+ Market: |
38
+ "ON_DEMAND or SPOT"
39
+ Name: |
40
+ "A name for the instance group."
@@ -0,0 +1,20 @@
1
+ AWS::EMR::Step:
2
+ Properties:
3
+ ActionOnFailure: |
4
+ "AWS CloudFormation supports CONTINUE and CANCEL_AND_WAIT."
5
+ HadoopJarStep: |
6
+ {
7
+ "Args" => ["A list of command line arguments passed to the JAR file's main function when the function is executed."],
8
+ "Jar" => "A path to the JAR file that Amazon EMR runs for the job flow step.",
9
+ "MainClass" => "The name of the main class in the specified JAR file. If you don't specify a value, you must specify a main class in the JAR file's manifest file.",
10
+ "StepProperties" => [
11
+ {
12
+ "Key" => "A list of Java properties that are set when the job flow step runs.",
13
+ "Value" => "1024"
14
+ }
15
+ ]
16
+ }
17
+ JobFlowId: |
18
+ "lib/cfnlego/resources/AWS/EMR/Cluster.yaml"
19
+ Name: |
20
+ "A name for the job flow step."
@@ -1,3 +1,3 @@
1
1
  module Cfnlego
2
- VERSION='0.5.1'
2
+ VERSION='0.6.0'
3
3
  end
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.5.1
4
+ version: 0.6.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: 2016-12-02 00:00:00.000000000 Z
11
+ date: 2017-01-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ruby-beautify
@@ -97,6 +97,7 @@ files:
97
97
  - lib/cfnlego/resources/AWS/AutoScaling/ScalingPolicy.yaml
98
98
  - lib/cfnlego/resources/AWS/CloudFront/Distribution.yaml
99
99
  - lib/cfnlego/resources/AWS/CloudWatch/Alarm.yaml
100
+ - lib/cfnlego/resources/AWS/CodeCommit/Repository.yaml
100
101
  - lib/cfnlego/resources/AWS/EC2/DHCPOptions.yaml
101
102
  - lib/cfnlego/resources/AWS/EC2/EIP.yaml
102
103
  - lib/cfnlego/resources/AWS/EC2/Instance.yaml
@@ -118,6 +119,9 @@ files:
118
119
  - lib/cfnlego/resources/AWS/ECS/Cluster.yaml
119
120
  - lib/cfnlego/resources/AWS/ECS/Service.yaml
120
121
  - lib/cfnlego/resources/AWS/ECS/TaskDefinition.yaml
122
+ - lib/cfnlego/resources/AWS/EMR/Cluster.yaml
123
+ - lib/cfnlego/resources/AWS/EMR/InstanceGroupConfig.yaml
124
+ - lib/cfnlego/resources/AWS/EMR/Step.yaml
121
125
  - lib/cfnlego/resources/AWS/ElastiCache/CacheCluster.yaml
122
126
  - lib/cfnlego/resources/AWS/ElastiCache/ParameterGroup.yaml
123
127
  - lib/cfnlego/resources/AWS/ElastiCache/ReplicationGroup.yaml