cfnlego 0.5.1 → 0.6.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +4 -4
- data/lib/cfnlego/resources/AWS/CodeCommit/Repository.yaml +15 -0
- data/lib/cfnlego/resources/AWS/EMR/Cluster.yaml +122 -0
- data/lib/cfnlego/resources/AWS/EMR/InstanceGroupConfig.yaml +40 -0
- data/lib/cfnlego/resources/AWS/EMR/Step.yaml +20 -0
- data/lib/cfnlego/version.rb +1 -1
- metadata +6 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 03de91d80bef8d1bbdf81173f1ba31f700807755
|
4
|
+
data.tar.gz: 190e40bdefe6973ab89863932dcd4443b519798f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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 --
|
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
|
-
--
|
31
|
-
--
|
32
|
-
--
|
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."
|
data/lib/cfnlego/version.rb
CHANGED
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.
|
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:
|
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
|