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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 4205572a33012b1934a7027bcc2e86ed58b345d2
4
- data.tar.gz: 84ef0f208d48164826db41e1bbf665eab73efb64
3
+ metadata.gz: 227abb6f9f3d031fa79d0901fb9d99588b024bed
4
+ data.tar.gz: a77c7f575c2a5a64ecbf66d1afeb2967817c5057
5
5
  SHA512:
6
- metadata.gz: da77177635125e5e4aaf7aa9898e4ec632cc49add2ff9fc0813d8752e91e81e32987b886b3dbc569216df31d48585c04f7cf98248ce5d672e8064c2d30fd6c4f
7
- data.tar.gz: 51d5c7403e11054cce869ebaf79c48053985be89d5bed1020ef1a565db9bfd747f27435da3c29cb95443a1ed4ba97d5dead75b5f179b46555001633ee897ac94
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
- ### description
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 simpliy bake them into a template
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
- bundle exec cfnlego --help
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
+ ]
@@ -1,3 +1,3 @@
1
1
  module Cfnlego
2
- VERSION='0.0.3'
2
+ VERSION='0.0.4'
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.0.3
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-23 00:00:00.000000000 Z
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