Skip to content

Commit

Permalink
Allow to pass --capability argument to stack creation
Browse files Browse the repository at this point in the history
  • Loading branch information
jeanphix committed Nov 16, 2015
1 parent 28aa2a9 commit 3aad426
Showing 1 changed file with 26 additions and 5 deletions.
31 changes: 26 additions & 5 deletions scripts/cfn
Original file line number Diff line number Diff line change
Expand Up @@ -26,11 +26,19 @@ def upload_template_to_s3(conn, region, bucket_name, key_name, template):
return cfn_template_url


def create_stack(conn, stackname, template=None, url=None, params=None):
def create_stack(
conn,
stackname,
template=None,
url=None,
params=None,
capabilities=None,
):
kwargs = dict(
template_body=template,
template_url=url,
parameters=params,
capabilities=capabilities,
)

try:
Expand Down Expand Up @@ -81,6 +89,13 @@ if __name__ == "__main__":
"all stacks if no stack is specified")
parser.add_argument("-t", "--tail", action='store_true',
help="tail event log")
parser.add_argument(
"-C",
"--capability",
dest="capabilities",
action='append',
help="Capability to allow in the stack",
)
parser.add_argument("stack", nargs='?')
values = parser.parse_args()

Expand All @@ -103,15 +118,21 @@ if __name__ == "__main__":
if values.s3bucket and not values.s3name:
values.s3name = build_s3_name(values.create)

kwargs = dict(
template=template,
params=values.params,
capabilities=values.capabilities,
)

if values.s3bucket:
# Upload to S3 and create the stack
s3conn = boto.s3.connect_to_region(values.region)
url = upload_template_to_s3(
s3conn, values.region, values.s3bucket, values.s3name, template)
create_stack(conn, values.stack, None, url, values.params)
else:
# Upload file as part of the stack creation
create_stack(conn, values.stack, template, None, values.params)
kwargs['url'] = url
del kwargs['template']

create_stack(conn, values.stack, **kwargs)

if values.resources:
describe_resources(conn, values.stack)
Expand Down

0 comments on commit 3aad426

Please sign in to comment.