Question

I m using boto and cloudformation to orchestrate few resource

For creating templates for cloud formation. I m reading a json-file from my local disk and creating json-string to pass as a parameter for template_body

try:
  fileObj = open(filename,'r')
  json_data = json.loads(fileObj.read())
  return json_data
except IOError as e:
  print e
  exit()

And my cloud formation connection string and stack creation goes like this

 cfnConnectObj = cfn.connection.CloudFormationConnection(aws_access_key_id=aKey, aws_secret_access_key=sKey, is_secure=True,debug=2,path='/',validate_certs=True,region=region[3]) #created connection object for cloudformation service

stackID = cfnConnectObj.create_stack('demodrupal',template_body=templateJson, template_url=None,parameters=[],notification_arns=[],disable_rollback=False,timeout_in_minutes=None,capabilities=['CAPABILITY_IAM'],tags=None)

I m getting Boto Error [ERROR]:{"Error":{"Code":"ValidationError","Message":"Template format error: JSON not well-formed. (line 1, column 3)","Type":"Sender"}

Why is this error ? I have used json.loads but still it shows Json not well formed. Is there anything i m missing ?

Please en-light me

**I m new to python and boto

Was it helpful?

Solution

json.loads takes json and converts it into a python object. If you have a JSON file already you can just pass that file directly to the service. Alternately you can load the JSON into python make any adjustments in python and then use json.dumps to get your well formed JSON.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top