cfnlego 0.0.3 → 0.0.4
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
+
[![Build Status](https://travis-ci.org/allinwonder/cfnlego.svg)](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
|