cfndk 0.0.1
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 +7 -0
- data/.gitignore +14 -0
- data/.rubocop.yml +23 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +13 -0
- data/README-ja.md +282 -0
- data/README.md +288 -0
- data/Rakefile +1 -0
- data/bin/cfndk +120 -0
- data/cfndk.gemspec +28 -0
- data/lib/cfndk/aws/credential_provider_chain.rb +115 -0
- data/lib/cfndk/parameter_string.rb +22 -0
- data/lib/cfndk/stack.rb +44 -0
- data/lib/cfndk/stacks.rb +308 -0
- data/lib/cfndk/version.rb +3 -0
- data/lib/cfndk.rb +8 -0
- data/sample/cfndk.yml +39 -0
- data/skel/cfndk.yml +23 -0
- metadata +146 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: ab06c175fb5cdccfc94b9687d885d18b1876d6fd
|
4
|
+
data.tar.gz: a29b07a06036df653836de1b16f310e8d02c5c88
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 5e73ca3a44aeaf1d912c0fe06bc7a3c9c7b072ff1c8d6cda247f6ebd83db38ed149fb0bc3f4df7fffad9f6528c8d0a984cb5dbcf50281c7add88607c19cd6326
|
7
|
+
data.tar.gz: 4d22614faac17bfb1fce63b406d8da6b87c64ac5d2e011b4434aa7881f28eb6cbdc89610ec1f026fabee2fc6267956f642001f420e59da576a42429a3314ff38
|
data/.gitignore
ADDED
data/.rubocop.yml
ADDED
@@ -0,0 +1,23 @@
|
|
1
|
+
AsciiComments:
|
2
|
+
Enabled: false
|
3
|
+
|
4
|
+
Metrics/LineLength:
|
5
|
+
Max: 160
|
6
|
+
|
7
|
+
Metrics/AbcSize:
|
8
|
+
Max: 30
|
9
|
+
|
10
|
+
Metrics/ClassLength:
|
11
|
+
Max: 102
|
12
|
+
|
13
|
+
Style/MethodLength:
|
14
|
+
Max: 30
|
15
|
+
|
16
|
+
Style/Documentation:
|
17
|
+
Enabled: false
|
18
|
+
|
19
|
+
AllCops:
|
20
|
+
Exclude:
|
21
|
+
- 'cookbooks/**'
|
22
|
+
- '.chef/**'
|
23
|
+
- '.bundle/**'
|
data/Gemfile
ADDED
data/LICENSE.txt
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
Copyright 2019 Yoshihisa AMAKATA all rights reserved.
|
2
|
+
|
3
|
+
licensed under the apache license, version 2.0 (the "license");
|
4
|
+
you may not use this file except in compliance with the license.
|
5
|
+
you may obtain a copy of the license at
|
6
|
+
|
7
|
+
http://www.apache.org/licenses/license-2.0
|
8
|
+
|
9
|
+
unless required by applicable law or agreed to in writing, software
|
10
|
+
distributed under the license is distributed on an "as is" basis,
|
11
|
+
without warranties or conditions of any kind, either express or implied.
|
12
|
+
see the license for the specific language governing permissions and
|
13
|
+
limitations under the license.
|
data/README-ja.md
ADDED
@@ -0,0 +1,282 @@
|
|
1
|
+
# AWS CloudFormation Development Kit
|
2
|
+
|
3
|
+
このツールは、AWS CloudFromationのための簡単な運用/構築サポートツールです。
|
4
|
+
|
5
|
+
## インストール
|
6
|
+
|
7
|
+
```
|
8
|
+
$ gem install cfndk
|
9
|
+
```
|
10
|
+
|
11
|
+
## Credentials設定
|
12
|
+
|
13
|
+
次の順番でCredentialsを評価して最初に有効なCredentialsを使用します。
|
14
|
+
|
15
|
+
1. access key、secret access key、session token環境変数よるCredentials
|
16
|
+
* ACCESS_KEYで利用される環境変数名: AWS_ACCESS_KEY_ID AMAZON_ACCESS_KEY_ID AWS_ACCESS_KEY
|
17
|
+
* SECRET_ACCESS_KEYで利用される環境変数名: AWS_SECRET_ACCESS_KEY AMAZON_SECRET_ACCESS_KEY AWS_SECRET_KEY
|
18
|
+
* SESSION_TOKEで利用される環境変数名: AWS_SESSION_TOKEN AMAZON_SESSION_TOKEN
|
19
|
+
2. AWS_PROFILE環境変数によるProfileのaccess key、secret access key、session tokenによるCredentials
|
20
|
+
* 環境変数が指定されない場合は、defaultが利用されます。
|
21
|
+
3. AWS_PROFILE環境変数によるProfileのcredential_processによるCredentials
|
22
|
+
* 環境変数が指定されない場合は、defaultが利用されます。
|
23
|
+
4. EC2/ECS Instance ProfileによるCredentials
|
24
|
+
* AWS_CONTAINER_CREDENTIALS_RELATIVE_URI環境変数が設定された場合のみECSが使われます。
|
25
|
+
|
26
|
+
## コマンド
|
27
|
+
|
28
|
+
```
|
29
|
+
cfndk [cmd] [options]
|
30
|
+
```
|
31
|
+
|
32
|
+
### [cmd]
|
33
|
+
|
34
|
+
#### 初期化
|
35
|
+
|
36
|
+
カレントディレクトリにcfndk.yamlのひな形を作成します。
|
37
|
+
|
38
|
+
```
|
39
|
+
cfndk init [option]
|
40
|
+
```
|
41
|
+
|
42
|
+
#### スタックの作成
|
43
|
+
|
44
|
+
cfndk.yamlで定義されているスタックを作成します。
|
45
|
+
|
46
|
+
```
|
47
|
+
cfndk create [option]
|
48
|
+
```
|
49
|
+
|
50
|
+
#### スタック更新
|
51
|
+
|
52
|
+
cfndk.yamlで定義されているスタックを更新します。
|
53
|
+
|
54
|
+
```
|
55
|
+
cfndk update [option]
|
56
|
+
```
|
57
|
+
|
58
|
+
#### スタックの作成、changeset作成
|
59
|
+
|
60
|
+
cfndk.yamlで定義されているスタックが存在しない場合は作成を、存在する場合はチェンジセットを作成します。
|
61
|
+
チェンジセットの実行は行いません。
|
62
|
+
コマンドを実行後に手動で実行する必要があります。
|
63
|
+
|
64
|
+
```
|
65
|
+
cfndk create-or-changeset [option]
|
66
|
+
```
|
67
|
+
|
68
|
+
#### スタックの破壊
|
69
|
+
|
70
|
+
cfndk.yamlで定義されているスタックを削除します。
|
71
|
+
|
72
|
+
```
|
73
|
+
cfndk destroy [option]
|
74
|
+
```
|
75
|
+
|
76
|
+
#### UUIDの生成
|
77
|
+
|
78
|
+
UUIDを生成して標準出力に出力します。
|
79
|
+
|
80
|
+
```
|
81
|
+
cfndk generate-uuid
|
82
|
+
```
|
83
|
+
|
84
|
+
例えば次のような使い方をします。
|
85
|
+
|
86
|
+
```
|
87
|
+
export CFNDK_UUID=`cfndk generate-uuid`
|
88
|
+
cfndk create
|
89
|
+
cfndk destroy
|
90
|
+
```
|
91
|
+
|
92
|
+
#### スタックのイベントのレポート
|
93
|
+
|
94
|
+
cfndk.yamlで定義されているスタックのイベント情報をレポートします。
|
95
|
+
|
96
|
+
```
|
97
|
+
cfndk report-event [option]
|
98
|
+
```
|
99
|
+
|
100
|
+
#### スタックのスタックのレポート
|
101
|
+
|
102
|
+
cfndk.yamlで定義されているスタックの情報をレポートします。
|
103
|
+
|
104
|
+
```
|
105
|
+
cfndk report-stack [option]
|
106
|
+
```
|
107
|
+
|
108
|
+
#### スタックのスタックリソースのレポート
|
109
|
+
|
110
|
+
cfndk.yamlで定義されているスタックのリソース情報をレポートします。
|
111
|
+
|
112
|
+
```
|
113
|
+
cfndk report-stack-resource [option]
|
114
|
+
```
|
115
|
+
|
116
|
+
### [option]
|
117
|
+
|
118
|
+
#### -v --verbose
|
119
|
+
|
120
|
+
実行時に詳細な情報を表示します。
|
121
|
+
|
122
|
+
#### -c, --config_path <cfndi.yml>
|
123
|
+
|
124
|
+
カレントディレクトリのcfndi.ymlの代わりに、ファイルを指定します。
|
125
|
+
|
126
|
+
#### -p, --properties <name>=<value>
|
127
|
+
|
128
|
+
プロパティを追加します。
|
129
|
+
cfndi.ymlのparametersの値で参照することができます。
|
130
|
+
|
131
|
+
#### -a, --auto-uuid
|
132
|
+
|
133
|
+
UUIDを自動生成し使用します。
|
134
|
+
UUIDが指定されるとスタック名に付加されます。
|
135
|
+
またcfndi.ymlのparametersの値で参照することができます。
|
136
|
+
```-a```と```-u```は最後に指定されたものが有効になります。
|
137
|
+
|
138
|
+
#### -u, --uuid <uuid>
|
139
|
+
|
140
|
+
指定されたUUIDを使用します。
|
141
|
+
UUIDが指定されるとスタック名に付加されます。
|
142
|
+
またcfndi.ymlのparametersの値で参照することができます。
|
143
|
+
```-a```と```-u```は最後に指定されたものが有効になります。
|
144
|
+
|
145
|
+
|
146
|
+
## 環境変数
|
147
|
+
|
148
|
+
### CFNDK_UUID
|
149
|
+
|
150
|
+
この環境変数が指定されている場合、```--uuid $CFNDK_UUID```が指定されたものとして動作します。
|
151
|
+
```-a```や```-u```のほうが優先されます。
|
152
|
+
|
153
|
+
|
154
|
+
## cfndk.yaml
|
155
|
+
|
156
|
+
* example
|
157
|
+
|
158
|
+
```
|
159
|
+
stacks:
|
160
|
+
Stack2:
|
161
|
+
template_file: stack2/stack2.yaml
|
162
|
+
parameter_input: stacn2/env.json
|
163
|
+
parameters:
|
164
|
+
VpcName: Prod<%= append_uuid %>
|
165
|
+
capabilities:
|
166
|
+
- CAPABILITY_IAM
|
167
|
+
- CAPABILITY_NAMED_IAM
|
168
|
+
depends:
|
169
|
+
- Stack1
|
170
|
+
timeout_in_minutes: 10
|
171
|
+
```
|
172
|
+
|
173
|
+
```
|
174
|
+
stacks:
|
175
|
+
[String]:
|
176
|
+
template_file: [String]
|
177
|
+
parameter_input: [String]
|
178
|
+
parameters:
|
179
|
+
[String]: [String]
|
180
|
+
[String]: [String]
|
181
|
+
capabilities:
|
182
|
+
- [String]
|
183
|
+
- [String]
|
184
|
+
timeout_in_minutes: [Integer]
|
185
|
+
depends:
|
186
|
+
- [String]
|
187
|
+
- [String]
|
188
|
+
```
|
189
|
+
|
190
|
+
### ```stacks:```
|
191
|
+
|
192
|
+
```
|
193
|
+
stacks:
|
194
|
+
[Stack Original Name]:
|
195
|
+
```
|
196
|
+
|
197
|
+
cfndkで管理するスタックを定義します。
|
198
|
+
stacksの配下には、管理するスタックのオリジナル名を定義します。
|
199
|
+
通常は、stackを作成するとこの名称が利用されます。
|
200
|
+
UUIDを利用すると、```[Stack Original Name]-[UUID]```のような形式のスタック名が利用されます。
|
201
|
+
|
202
|
+
#### template_file
|
203
|
+
|
204
|
+
必須。CloudFormationテンプレートファイルのパスをcfndk.yamlからの相対パスで指定します。
|
205
|
+
|
206
|
+
#### parameter_input
|
207
|
+
|
208
|
+
必須。CloudFormationのパラメータJSONをcfndk.yamlからの相対パスで指定します。
|
209
|
+
|
210
|
+
#### parameters
|
211
|
+
|
212
|
+
parameter_inputのJSONの値を上書きした場合に指定します。
|
213
|
+
複数指定することができます。
|
214
|
+
|
215
|
+
```
|
216
|
+
parameters:
|
217
|
+
[Parameter Key1]: [Parameter Value1]
|
218
|
+
[Parameter Key2]: [Parameter Value2]
|
219
|
+
```
|
220
|
+
|
221
|
+
Parameter Valueではerbの記法が利用できます。
|
222
|
+
|
223
|
+
```
|
224
|
+
parameters:
|
225
|
+
VpcName: Prod<%= append_uuid %>
|
226
|
+
```
|
227
|
+
|
228
|
+
##### parametrsのerbで使用できるメソッド
|
229
|
+
|
230
|
+
* ```append_uuid(glue='-')```
|
231
|
+
|
232
|
+
UUIDガ指定されている場合、```[glueの文字列] + [UUID]```を返します。
|
233
|
+
UUIDが指定されてい無い場合は空文字が返ります。
|
234
|
+
glueで接続文字を置き換えることができます。
|
235
|
+
|
236
|
+
* ```uuid```
|
237
|
+
|
238
|
+
UUIDを返します。
|
239
|
+
UUIDが指定されてい無い場合は空文字が返ります。
|
240
|
+
|
241
|
+
* ```properties(key)```
|
242
|
+
|
243
|
+
オプション```--properties```で指定したキーに対応する値を参照することができます。
|
244
|
+
|
245
|
+
#### capabilities
|
246
|
+
|
247
|
+
スタックを操作するcapabilitiesを指定します。
|
248
|
+
複数指定することができます。
|
249
|
+
|
250
|
+
```
|
251
|
+
capabilities:
|
252
|
+
- CAPABILITY_IAM
|
253
|
+
- CAPABILITY_NAMED_IAM
|
254
|
+
```
|
255
|
+
|
256
|
+
以下の値を指定することができます。
|
257
|
+
|
258
|
+
* CAPABILITY_IAM
|
259
|
+
* CAPABILITY_NAMED_IAM
|
260
|
+
* CAPABILITY_AUTO_EXPAND
|
261
|
+
|
262
|
+
|
263
|
+
#### depends
|
264
|
+
|
265
|
+
スタックに依存している別のスタックを指定します。
|
266
|
+
複数指定することができます。
|
267
|
+
dependsを指定すると、create,update,create-or-changeset,destoryのコマンドを実行する際に、依存関係に従ってスタックを処理します。
|
268
|
+
dependsが循環するような指定をすることはできません。
|
269
|
+
|
270
|
+
```
|
271
|
+
depends:
|
272
|
+
- Stack1
|
273
|
+
- Stack2
|
274
|
+
```
|
275
|
+
|
276
|
+
#### timeout_in_minutes (デフォルト: 1)
|
277
|
+
|
278
|
+
スタックを作成する際などのタイムアウト時間を分で指定します。
|
279
|
+
|
280
|
+
```
|
281
|
+
timeout_in_minutes: 5
|
282
|
+
```
|
data/README.md
ADDED
@@ -0,0 +1,288 @@
|
|
1
|
+
# AWS CloudFormation Development Kit
|
2
|
+
|
3
|
+
This is easy operation/integration support tool for AWS CloudFormation.
|
4
|
+
このツールは、AWS CloudFromationのための簡単な運用/構築サポートツールです。
|
5
|
+
|
6
|
+
## インストール
|
7
|
+
|
8
|
+
```
|
9
|
+
$ gem install cfndk
|
10
|
+
```
|
11
|
+
|
12
|
+
## Credentials設定
|
13
|
+
|
14
|
+
次の順番でCredentialsを評価して最初に有効なCredentialsを使用します。
|
15
|
+
|
16
|
+
1. access key、secret access key、session token環境変数よるCredentials
|
17
|
+
* ACCESS_KEYで利用される環境変数名: AWS_ACCESS_KEY_ID AMAZON_ACCESS_KEY_ID AWS_ACCESS_KEY
|
18
|
+
* SECRET_ACCESS_KEYで利用される環境変数名: AWS_SECRET_ACCESS_KEY AMAZON_SECRET_ACCESS_KEY AWS_SECRET_KEY
|
19
|
+
* SESSION_TOKEで利用される環境変数名: AWS_SESSION_TOKEN AMAZON_SESSION_TOKEN
|
20
|
+
2. AWS_PROFILE環境変数によるProfileのaccess key、secret access key、session tokenによるCredentials
|
21
|
+
* 環境変数が指定されない場合は、defaultが利用されます。
|
22
|
+
3. AWS_PROFILE環境変数によるProfileのcredential_processによるCredentials
|
23
|
+
* 環境変数が指定されない場合は、defaultが利用されます。
|
24
|
+
4. EC2/ECS Instance ProfileによるCredentials
|
25
|
+
* AWS_CONTAINER_CREDENTIALS_RELATIVE_URI環境変数が設定された場合のみECSが使われます。
|
26
|
+
|
27
|
+
## コマンド
|
28
|
+
|
29
|
+
```
|
30
|
+
cfndk [cmd] [options]
|
31
|
+
```
|
32
|
+
|
33
|
+
### [cmd]
|
34
|
+
|
35
|
+
#### 初期化
|
36
|
+
|
37
|
+
カレントディレクトリにcfndk.yamlのひな形を作成します。
|
38
|
+
|
39
|
+
```
|
40
|
+
cfndk init [option]
|
41
|
+
```
|
42
|
+
|
43
|
+
#### スタックの作成
|
44
|
+
|
45
|
+
cfndk.yamlで定義されているスタックを作成します。
|
46
|
+
|
47
|
+
```
|
48
|
+
cfndk create [option]
|
49
|
+
```
|
50
|
+
|
51
|
+
#### スタック更新
|
52
|
+
|
53
|
+
cfndk.yamlで定義されているスタックを更新します。
|
54
|
+
|
55
|
+
```
|
56
|
+
cfndk update [option]
|
57
|
+
```
|
58
|
+
|
59
|
+
#### スタックの作成、changeset作成
|
60
|
+
|
61
|
+
cfndk.yamlで定義されているスタックが存在しない場合は作成を、存在する場合はチェンジセットを作成します。
|
62
|
+
チェンジセットの実行は行いません。
|
63
|
+
コマンドを実行後に手動で実行する必要があります。
|
64
|
+
|
65
|
+
```
|
66
|
+
cfndk create-or-changeset [option]
|
67
|
+
```
|
68
|
+
|
69
|
+
#### スタックの破壊
|
70
|
+
|
71
|
+
cfndk.yamlで定義されているスタックを削除します。
|
72
|
+
|
73
|
+
```
|
74
|
+
cfndk destroy [option]
|
75
|
+
```
|
76
|
+
|
77
|
+
#### UUIDの生成
|
78
|
+
|
79
|
+
UUIDを生成して標準出力に出力します。
|
80
|
+
|
81
|
+
```
|
82
|
+
cfndk generate-uuid
|
83
|
+
```
|
84
|
+
|
85
|
+
例えば次のような使い方をします。
|
86
|
+
|
87
|
+
```
|
88
|
+
export CFNDK_UUID=`cfndk generate-uuid`
|
89
|
+
cfndk create
|
90
|
+
cfndk destroy
|
91
|
+
```
|
92
|
+
|
93
|
+
#### スタックのイベントのレポート
|
94
|
+
|
95
|
+
cfndk.yamlで定義されているスタックのイベント情報をレポートします。
|
96
|
+
|
97
|
+
```
|
98
|
+
cfndk report-event [option]
|
99
|
+
```
|
100
|
+
|
101
|
+
#### スタックのスタックのレポート
|
102
|
+
|
103
|
+
cfndk.yamlで定義されているスタックの情報をレポートします。
|
104
|
+
|
105
|
+
```
|
106
|
+
cfndk report-stack [option]
|
107
|
+
```
|
108
|
+
|
109
|
+
#### スタックのスタックリソースのレポート
|
110
|
+
|
111
|
+
cfndk.yamlで定義されているスタックのリソース情報をレポートします。
|
112
|
+
|
113
|
+
```
|
114
|
+
cfndk report-stack-resource [option]
|
115
|
+
```
|
116
|
+
|
117
|
+
### [option]
|
118
|
+
|
119
|
+
#### -v --verbose
|
120
|
+
|
121
|
+
実行時に詳細な情報を表示します。
|
122
|
+
|
123
|
+
#### -c, --config_path <cfndi.yml>
|
124
|
+
|
125
|
+
カレントディレクトリのcfndi.ymlの代わりに、ファイルを指定します。
|
126
|
+
|
127
|
+
#### -p, --properties <name>=<value>
|
128
|
+
|
129
|
+
プロパティを追加します。
|
130
|
+
cfndi.ymlのparametersの値で参照することができます。
|
131
|
+
|
132
|
+
#### -a, --auto-uuid
|
133
|
+
|
134
|
+
UUIDを自動生成し使用します。
|
135
|
+
UUIDが指定されるとスタック名に付加されます。
|
136
|
+
またcfndi.ymlのparametersの値で参照することができます。
|
137
|
+
```-a```と```-u```は最後に指定されたものが有効になります。
|
138
|
+
|
139
|
+
#### -u, --uuid <uuid>
|
140
|
+
|
141
|
+
指定されたUUIDを使用します。
|
142
|
+
UUIDが指定されるとスタック名に付加されます。
|
143
|
+
またcfndi.ymlのparametersの値で参照することができます。
|
144
|
+
```-a```と```-u```は最後に指定されたものが有効になります。
|
145
|
+
|
146
|
+
|
147
|
+
## 環境変数
|
148
|
+
|
149
|
+
### CFNDK_UUID
|
150
|
+
|
151
|
+
この環境変数が指定されている場合、```--uuid $CFNDK_UUID```が指定されたものとして動作します。
|
152
|
+
```-a```や```-u```のほうが優先されます。
|
153
|
+
|
154
|
+
|
155
|
+
## cfndk.yaml
|
156
|
+
|
157
|
+
* example
|
158
|
+
|
159
|
+
```
|
160
|
+
stacks:
|
161
|
+
Stack2:
|
162
|
+
template_file: stack2/stack2.yaml
|
163
|
+
parameter_input: stacn2/env.json
|
164
|
+
parameters:
|
165
|
+
VpcName: Prod<%= append_uuid %>
|
166
|
+
capabilities:
|
167
|
+
- CAPABILITY_IAM
|
168
|
+
- CAPABILITY_NAMED_IAM
|
169
|
+
depends:
|
170
|
+
- Stack1
|
171
|
+
timeout_in_minutes: 10
|
172
|
+
```
|
173
|
+
|
174
|
+
```
|
175
|
+
stacks:
|
176
|
+
[String]:
|
177
|
+
template_file: [String]
|
178
|
+
parameter_input: [String]
|
179
|
+
parameters:
|
180
|
+
[String]: [String]
|
181
|
+
[String]: [String]
|
182
|
+
capabilities:
|
183
|
+
- [String]
|
184
|
+
- [String]
|
185
|
+
timeout_in_minutes: [Integer]
|
186
|
+
depends:
|
187
|
+
- [String]
|
188
|
+
- [String]
|
189
|
+
```
|
190
|
+
|
191
|
+
### ```stacks:```
|
192
|
+
|
193
|
+
```
|
194
|
+
stacks:
|
195
|
+
[Stack Original Name]:
|
196
|
+
```
|
197
|
+
|
198
|
+
cfndkで管理するスタックを定義します。
|
199
|
+
stacksの配下には、管理するスタックのオリジナル名を定義します。
|
200
|
+
通常は、stackを作成するとこの名称が利用されます。
|
201
|
+
UUIDを利用すると、```[Stack Original Name]-[UUID]```のような形式のスタック名が利用されます。
|
202
|
+
|
203
|
+
#### template_file
|
204
|
+
|
205
|
+
必須。CloudFormationテンプレートファイルのパスをcfndk.yamlからの相対パスで指定します。
|
206
|
+
|
207
|
+
#### parameter_input
|
208
|
+
|
209
|
+
必須。CloudFormationのパラメータJSONをcfndk.yamlからの相対パスで指定します。
|
210
|
+
|
211
|
+
#### parameters
|
212
|
+
|
213
|
+
parameter_inputのJSONの値を上書きした場合に指定します。
|
214
|
+
複数指定することができます。
|
215
|
+
|
216
|
+
```
|
217
|
+
parameters:
|
218
|
+
[Parameter Key1]: [Parameter Value1]
|
219
|
+
[Parameter Key2]: [Parameter Value2]
|
220
|
+
```
|
221
|
+
|
222
|
+
Parameter Valueではerbの記法が利用できます。
|
223
|
+
|
224
|
+
```
|
225
|
+
parameters:
|
226
|
+
VpcName: Prod<%= append_uuid %>
|
227
|
+
```
|
228
|
+
|
229
|
+
##### parametrsのerbで使用できるメソッド
|
230
|
+
|
231
|
+
* ```append_uuid(glue='-')```
|
232
|
+
|
233
|
+
UUIDガ指定されている場合、```[glueの文字列] + [UUID]```を返します。
|
234
|
+
UUIDが指定されてい無い場合は空文字が返ります。
|
235
|
+
glueで接続文字を置き換えることができます。
|
236
|
+
|
237
|
+
* ```uuid```
|
238
|
+
|
239
|
+
UUIDを返します。
|
240
|
+
UUIDが指定されてい無い場合は空文字が返ります。
|
241
|
+
|
242
|
+
* ```properties(key)```
|
243
|
+
|
244
|
+
オプション```--properties```で指定したキーに対応する値を参照することができます。
|
245
|
+
|
246
|
+
#### capabilities
|
247
|
+
|
248
|
+
スタックを操作するcapabilitiesを指定します。
|
249
|
+
複数指定することができます。
|
250
|
+
|
251
|
+
```
|
252
|
+
capabilities:
|
253
|
+
- CAPABILITY_IAM
|
254
|
+
- CAPABILITY_NAMED_IAM
|
255
|
+
```
|
256
|
+
|
257
|
+
以下の値を指定することができます。
|
258
|
+
|
259
|
+
* CAPABILITY_IAM
|
260
|
+
* CAPABILITY_NAMED_IAM
|
261
|
+
* CAPABILITY_AUTO_EXPAND
|
262
|
+
|
263
|
+
|
264
|
+
#### depends
|
265
|
+
|
266
|
+
スタックに依存している別のスタックを指定します。
|
267
|
+
複数指定することができます。
|
268
|
+
dependsを指定すると、create,update,create-or-changeset,destoryのコマンドを実行する際に、依存関係に従ってスタックを処理します。
|
269
|
+
dependsが循環するような指定をすることはできません。
|
270
|
+
|
271
|
+
```
|
272
|
+
depends:
|
273
|
+
- Stack1
|
274
|
+
- Stack2
|
275
|
+
```
|
276
|
+
|
277
|
+
#### timeout_in_minutes (デフォルト: 1)
|
278
|
+
|
279
|
+
スタックを作成する際などのタイムアウト時間を分で指定します。
|
280
|
+
|
281
|
+
```
|
282
|
+
timeout_in_minutes: 5
|
283
|
+
```
|
284
|
+
|
285
|
+
|
286
|
+
|
287
|
+
|
288
|
+
|
data/Rakefile
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
require 'bundler/gem_tasks'
|