@ -81,6 +81,12 @@ options:
- Location of file containing the template body . The URL must point to a template ( max size 307 , 200 bytes ) located in an S3 bucket in the same region as the stack . This parameter is mutually exclusive with ' template ' . Either one of them is required if " state " parameter is " present "
- Location of file containing the template body . The URL must point to a template ( max size 307 , 200 bytes ) located in an S3 bucket in the same region as the stack . This parameter is mutually exclusive with ' template ' . Either one of them is required if " state " parameter is " present "
required : false
required : false
version_added : " 2.0 "
version_added : " 2.0 "
template_format :
description : For local templates , allows specification of json or yaml format
default : json
choices : [ json , yaml ]
required : false
version_added : " 2.0 "
author : James S . Martin
author : James S . Martin
extends_documentation_fragment : aws
extends_documentation_fragment : aws
@ -127,6 +133,7 @@ EXAMPLES = '''
import json
import json
import time
import time
import yaml
try :
try :
import boto
import boto
@ -224,6 +231,7 @@ def main():
stack_policy = dict ( default = None , required = False ) ,
stack_policy = dict ( default = None , required = False ) ,
disable_rollback = dict ( default = False , type = ' bool ' ) ,
disable_rollback = dict ( default = False , type = ' bool ' ) ,
template_url = dict ( default = None , required = False ) ,
template_url = dict ( default = None , required = False ) ,
template_format = dict ( default = ' json ' , choices = [ ' json ' , ' yaml ' ] , required = False ) ,
tags = dict ( default = None )
tags = dict ( default = None )
)
)
)
)
@ -250,6 +258,12 @@ def main():
else :
else :
template_body = None
template_body = None
if module . params [ ' template_format ' ] == ' yaml ' :
if template_body is None :
module . fail_json ( msg = ' yaml format only supported for local templates ' )
else :
template_body = json . dumps ( yaml . load ( template_body ) , indent = 2 )
if module . params [ ' stack_policy ' ] is not None :
if module . params [ ' stack_policy ' ] is not None :
stack_policy_body = open ( module . params [ ' stack_policy ' ] , ' r ' ) . read ( )
stack_policy_body = open ( module . params [ ' stack_policy ' ] , ' r ' ) . read ( )
else :
else :