cfnlego 0.0.3 → 0.0.4
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 +7 -3
- data/lib/cfnlego/resources/ElasticLoadBalancing/LoadBalancer.yaml +128 -0
- data/lib/cfnlego/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 227abb6f9f3d031fa79d0901fb9d99588b024bed
|
|
4
|
+
data.tar.gz: a77c7f575c2a5a64ecbf66d1afeb2967817c5057
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 99583823bdb525af5ce2ca1e35fc8b10c1633768afc1b3d6355f0f95913f356f447960242bba58f18474921a37691b81cfc00d017e918169cbffdbff955433b2
|
|
7
|
+
data.tar.gz: 545368f25dd5e9608ae4b52d497fd17ee0b5eb5fa238cf8987d943e626afcf0ad58e07ee90ed89a5879378cc6193a1c55a07f738f79342038b469c54bae8e734
|
data/README.md
CHANGED
|
@@ -1,18 +1,22 @@
|
|
|
1
1
|
cfnlego
|
|
2
2
|
========
|
|
3
3
|
|
|
4
|
-
|
|
4
|
+
[](https://travis-ci.org/allinwonder/cfnlego)
|
|
5
|
+
|
|
6
|
+
### Description
|
|
5
7
|
|
|
6
8
|
cfnlego is built to quickly bootstrap CloudFormation development with cfndsl.
|
|
7
9
|
|
|
8
|
-
It provides templates for all AWS Resources and
|
|
10
|
+
It provides templates for all AWS Resources and simply bake them into a template
|
|
9
11
|
|
|
10
12
|
### How to use
|
|
11
13
|
|
|
12
14
|
to generate a `cfndsl` template, provide the resource types and their logical names in the command line.
|
|
13
15
|
|
|
14
16
|
```sh
|
|
15
|
-
|
|
17
|
+
$ gem install cfnlego
|
|
18
|
+
|
|
19
|
+
$ cfnlego --help
|
|
16
20
|
Usage: cfnlego --reousrce resource [options]
|
|
17
21
|
-r RESOURCE_TYPE,RESOURCE_LOGICAL_NAME
|
|
18
22
|
--resource Add resource type and logical name
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
AWS::ElasticLoadBalancing::LoadBalancer:
|
|
2
|
+
Properties:
|
|
3
|
+
AccessLoggingPolicy: |
|
|
4
|
+
{
|
|
5
|
+
"EmitInterval" => 15,
|
|
6
|
+
"Enabled" => true,
|
|
7
|
+
"S3BucketName" => "Bucket Name",
|
|
8
|
+
"S3BucketPrefix" => "my-load-balancer-logs/prod"
|
|
9
|
+
}
|
|
10
|
+
AppCookieStickinessPolicy: |
|
|
11
|
+
[
|
|
12
|
+
{
|
|
13
|
+
"CookieName" => "Name of the application cookie used for stickiness",
|
|
14
|
+
"PolicyName" => "The name of the policy being created. The name must be unique within the set of policies for this Load Balancer."
|
|
15
|
+
}
|
|
16
|
+
]
|
|
17
|
+
AvailabilityZones: |
|
|
18
|
+
[
|
|
19
|
+
"The Availability Zones in which to create the load balancer. ",
|
|
20
|
+
"You can specify the AvailabilityZones or Subnets property, but not both."
|
|
21
|
+
]
|
|
22
|
+
ConnectionDrainingPolicy: |
|
|
23
|
+
{
|
|
24
|
+
"Enabled" => true,
|
|
25
|
+
"Timeout" => 60
|
|
26
|
+
}
|
|
27
|
+
ConnectionSettings: |
|
|
28
|
+
{
|
|
29
|
+
"IdleTimeout" => "60"
|
|
30
|
+
}
|
|
31
|
+
CrossZone: true
|
|
32
|
+
HealthCheck: |
|
|
33
|
+
{
|
|
34
|
+
"HealthyThreshold" => 3,
|
|
35
|
+
"Interval" => 10,
|
|
36
|
+
"Target" => "HTTP:80/",
|
|
37
|
+
"Timeout" => "10",
|
|
38
|
+
"UnhealthyThreshold" => "5"
|
|
39
|
+
}
|
|
40
|
+
Instances: |
|
|
41
|
+
["i-xxxxxx"]
|
|
42
|
+
LBCookieStickinessPolicy: |
|
|
43
|
+
[
|
|
44
|
+
{
|
|
45
|
+
"CookieExpirationPeriod" => "36000",
|
|
46
|
+
"PolicyName" => "The name of the policy being created. The name must be unique within the set of policies for this load balancer."
|
|
47
|
+
}
|
|
48
|
+
]
|
|
49
|
+
LoadBalancerName: |
|
|
50
|
+
"A name for the load balancer. If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the load balancer."
|
|
51
|
+
"If you specify a name, you cannot do updates that require this resource to be replaced. You can still do updates that require no or some interruption. If you must replace the resource, specify a new name."
|
|
52
|
+
Listeners: |
|
|
53
|
+
[
|
|
54
|
+
{
|
|
55
|
+
"InstancePort" => 80,
|
|
56
|
+
"InstanceProtocol" => "HTTP|HTTPS|TCP|SSL",
|
|
57
|
+
"LoadBalancerPort" => 80,
|
|
58
|
+
"PolicyNames" => ["policy-name"],
|
|
59
|
+
"Protocol" => "HTTP|HTTPS|TCP|SSL",
|
|
60
|
+
"SSLCertificateId" => "arn:xxxx"
|
|
61
|
+
}
|
|
62
|
+
]
|
|
63
|
+
Policies: |
|
|
64
|
+
[
|
|
65
|
+
{
|
|
66
|
+
"PolicyName" => "MySSLNegotiationPolicy",
|
|
67
|
+
"PolicyType" => "SSLNegotiationPolicyType",
|
|
68
|
+
"Attributes" => [
|
|
69
|
+
{ "Name" => "Protocol-TLSv1", "Value" => "true" },
|
|
70
|
+
{ "Name" => "Protocol-SSLv2", "Value" => "true" },
|
|
71
|
+
{ "Name" => "Protocol-SSLv3", "Value" => "false" },
|
|
72
|
+
{ "Name" => "DHE-RSA-AES256-SHA", "Value" => "true" } ]
|
|
73
|
+
}, {
|
|
74
|
+
"PolicyName" => "MyAppCookieStickinessPolicy",
|
|
75
|
+
"PolicyType" => "AppCookieStickinessPolicyType",
|
|
76
|
+
"Attributes" => [
|
|
77
|
+
{ "Name" => "CookieName", "Value" => "MyCookie"} ]
|
|
78
|
+
}, {
|
|
79
|
+
"PolicyName" => "MyPublicKeyPolicy",
|
|
80
|
+
"PolicyType" => "PublicKeyPolicyType",
|
|
81
|
+
"Attributes" => [ {
|
|
82
|
+
"Name" => "PublicKey",
|
|
83
|
+
"Value" => { "Fn::Join" => [
|
|
84
|
+
"\n", [
|
|
85
|
+
"MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDh/51Aohx5VrpmlfGHZCzciMBa",
|
|
86
|
+
"fkHve+MQYYJcxmNUKMdsWnz9WtVfKxxWUU7Cfor4lorYmENGCG8FWqCoLDMFs7pN",
|
|
87
|
+
"yGEtpsrlKhzZWtgY1d7eGrUrBil03bI90E2KW0j4qAwGYAC8xixOkNClicojeEz4",
|
|
88
|
+
"f4rr3sUf+ZBSsuMEuwIDAQAB" ]
|
|
89
|
+
] }
|
|
90
|
+
} ]
|
|
91
|
+
}, {
|
|
92
|
+
"PolicyName" => "MyBackendServerAuthenticationPolicy",
|
|
93
|
+
"PolicyType" => "BackendServerAuthenticationPolicyType",
|
|
94
|
+
"Attributes" => [
|
|
95
|
+
{ "Name" => "PublicKeyPolicyName", "Value" => "MyPublicKeyPolicy" } ],
|
|
96
|
+
"InstancePorts" => [ "8443" ]
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
"PolicyName" => "EnableProxyProtocol",
|
|
100
|
+
"PolicyType" => "ProxyProtocolPolicyType",
|
|
101
|
+
"Attributes" => [{
|
|
102
|
+
"Name" => "ProxyProtocol",
|
|
103
|
+
"Value" => "true"
|
|
104
|
+
}],
|
|
105
|
+
"InstancePorts" => [ "80" ]
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
"PolicyName" => "ELBSecurityPolicyName",
|
|
109
|
+
"PolicyType" => "SSLNegotiationPolicyType",
|
|
110
|
+
"Attributes" => [{
|
|
111
|
+
"Name" => "Reference-Security-Policy",
|
|
112
|
+
"Value" => "ELBSecurityPolicy-2014-10"
|
|
113
|
+
}]
|
|
114
|
+
}
|
|
115
|
+
]
|
|
116
|
+
Scheme: |
|
|
117
|
+
"internal|internet-facing, If you specify internal, you must specify subnets to associate with the load balancer, not Availability Zones."
|
|
118
|
+
SecurityGroups: |
|
|
119
|
+
["sg-xxxx"]
|
|
120
|
+
Subnets: |
|
|
121
|
+
["subnet-xxxx"]
|
|
122
|
+
Tags: |
|
|
123
|
+
[
|
|
124
|
+
{
|
|
125
|
+
"Key" => "Application",
|
|
126
|
+
"Value" => "my-app"
|
|
127
|
+
}
|
|
128
|
+
]
|
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.0.
|
|
4
|
+
version: 0.0.4
|
|
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-08-
|
|
11
|
+
date: 2015-08-25 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: bundler
|
|
@@ -78,6 +78,7 @@ files:
|
|
|
78
78
|
- lib/cfnlego/resources/AutoScaling/LaunchConfiguration.yaml
|
|
79
79
|
- lib/cfnlego/resources/AutoScaling/LifecycleHook.yaml
|
|
80
80
|
- lib/cfnlego/resources/CloudWatch/Alarm.yaml
|
|
81
|
+
- lib/cfnlego/resources/ElasticLoadBalancing/LoadBalancer.yaml
|
|
81
82
|
- lib/cfnlego/resources/IAM/InstanceProfile.yaml
|
|
82
83
|
- lib/cfnlego/resources/IAM/Role.yaml
|
|
83
84
|
- lib/cfnlego/resources/Lambda/Function.yaml
|