cloudformation-ruby-dsl 1.4.0 → 1.4.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1fc27537e778d1d9bf9b8886047e87f578e93f3a
4
- data.tar.gz: ba288ca3b0e250854b5f7c45485d963a4cd27a37
3
+ metadata.gz: 689a6e23672cf1be2ca2acaad415484f9c79fab5
4
+ data.tar.gz: 280c4250cb0a541faaac7c7ced39a67fcdac6474
5
5
  SHA512:
6
- metadata.gz: 7179312a3f4a3462c7de36b9e0ec77f42d1c2bca68e8d52e0cfe9cb3a19d9c97abcf3d04aaa92a3e844aa0a5dc27d67757e0777d5d6e9ac6cd55d6c597ff09ab
7
- data.tar.gz: b6f097b17b653d267a0f07a946fbeab1996b82604bf9386b749c3bc88337f82de741adc3fe02bc697c0f260f1f2ffef975c1e7d26319351e55268218ed331e5e
6
+ metadata.gz: 85e1e94afbaf7fdcd320c748fc91de02b8cbaedf974dd66ee4f8d0d30d255c749892d1af1c188c3e73f8c9f54cc2c32ee3811d4f46590c4c8224f4dd74ce5fed
7
+ data.tar.gz: 92ed9f50c46fbc82cd01aef262dc330fa6914bcd93df806bdfe5b927db4a3ea76cd09ae4c9b57d165ef8b0e359e9ea69dcd2845e499e7f8ab3b39ce9bd30e530
data/README.md CHANGED
@@ -57,6 +57,20 @@ Make the resulting file executable (`chmod +x [NEW_NAME.rb]`). It can respond to
57
57
  - `describe-resource`: given two arguments: stack-name and logical-resource-id, get output from a stack concerning the specific resource (takes optional `--nopretty` to minimize output)
58
58
  - `get-template`: get entire template output of an existing stack
59
59
 
60
+ Command line options similar to cloudformation commands, but parsed by the dsl.
61
+ - `--profile`
62
+ - `--stack-name`
63
+ - `--region`
64
+ - `--parameters`
65
+ - `--tag `
66
+
67
+ Any other parameters are passed directly onto cloudformation. (--disable-rollback for instance)
68
+
69
+ Using the ruby scripts:
70
+ ```
71
+ template.rb create --stack-name my_stack --parameters "BucketName=bucket-s3-static;SnsQueue=mysnsqueue"
72
+ ```
73
+
60
74
  Below are the various functions currently available in the DSL. See [the example script](examples/cloudformation-ruby-script.rb) for more usage information.
61
75
 
62
76
  ### DSL Statements
@@ -109,6 +109,7 @@ end
109
109
 
110
110
  def validate_action(action)
111
111
  valid = %w[
112
+ help
112
113
  expand
113
114
  diff
114
115
  validate
@@ -188,6 +189,52 @@ def cfn(template)
188
189
  end
189
190
 
190
191
  case action
192
+ when 'help'
193
+ begin
194
+ # Give some basic usage.
195
+ help_string=%q(
196
+ ## Usage
197
+
198
+ To convert existing JSON templates to use the DSL, run
199
+
200
+ cfntemplate-to-ruby [EXISTING_CFN] > [NEW_NAME.rb]
201
+
202
+ You may need to preface this with `bundle exec` if you installed via Bundler.
203
+
204
+ Make the resulting file executable (`chmod +x [NEW_NAME.rb]`). It can respond to the following subcommands (which are listed if you run without parameters):
205
+ - `expand`: output the JSON template to the command line (takes optional `--nopretty` to minimize the output)
206
+ - `diff`: compare an existing stack with your template. Produces following exit codes:
207
+ ```
208
+ 0 - no differences, nothing to update
209
+ 1 - stack does not exist, template Validation error
210
+ 2 - there are differences between an existing stack and your template
211
+ ```
212
+ - `validate`: run validation against the stack definition
213
+ - `create`: create a new stack from the output
214
+ - `update`: update an existing stack from the output. Produces following exit codes:
215
+ ```
216
+ 0 - update finished successfully
217
+ 1 - no updates to perform, stack doesn't exist, unable to update immutable parameter or tag, AWS ServiceError exception
218
+ ```
219
+ - `cancel-update`: cancel updating a stack
220
+ - `delete`: delete a stack (with prompt)
221
+ - `describe`: get output of an existing stack and output it (takes optional `--nopretty` to minimize output)
222
+ - `describe-resource`: given two arguments: stack-name and logical-resource-id, get output from a stack concerning the specific resource (takes optional `--nopretty` to minimize output)
223
+ - `get-template`: get entire template output of an existing stack
224
+
225
+ Command line options similar to cloudformation commands, but parsed by the dsl.
226
+ --profile --stack-name --region --parameters --tag
227
+
228
+ Any other parameters are passed directly onto cloudformation. (--disable-rollback for instance)
229
+
230
+ Using the ruby scripts:
231
+ template.rb create --stack-name my_stack --parameters "BucketName=bucket-s3-static;SnsQueue=mysnsqueue"
232
+
233
+ )
234
+ puts help_string
235
+ exit(true)
236
+ end
237
+
191
238
  when 'expand'
192
239
  # Write the pretty-printed JSON template to stdout and exit. [--nopretty] option writes output with minimal whitespace
193
240
  # example: <template.rb> expand --parameters "Env=prod" --region eu-west-1 --nopretty
@@ -15,7 +15,7 @@
15
15
  module Cfn
16
16
  module Ruby
17
17
  module Dsl
18
- VERSION = "1.4.0"
18
+ VERSION = "1.4.1"
19
19
  end
20
20
  end
21
21
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cloudformation-ruby-dsl
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.0
4
+ version: 1.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shawn Smith