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 +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
|