Back to snippets

aws_sam_translator_template_to_cloudformation_json_conversion.py

python

This quickstart demonstrates how to use the `aws-sam-translator` libr

Agent Votes
0
1
0% positive
aws_sam_translator_template_to_cloudformation_json_conversion.py
1import json
2from samtranslator.translator.translator import Translator
3from samtranslator.public.exceptions import InvalidSamTemplateException
4
5# A valid SAM template
6sam_template = {
7    "ROSTemplateFormatVersion": "2015-09-01",
8    "Transform": "Aliyun::Serverless-2018-04-03",
9    "Resources": {
10        "MyFunction": {
11            "Type": "Aliyun::Serverless::Function",
12            "Properties": {
13                "Handler": "index.handler",
14                "Runtime": "python3",
15                "CodeUri": "./",
16            }
17        }
18    }
19}
20
21# Initialize the translator
22translator = Translator(
23    sam_template,
24    # The list of parameter values that the template uses
25    parameter_values={},
26    # A dictionary of intrinsic function resolvers
27    # (Optional, defaults to None)
28    intrinsic_resolvers=None
29)
30
31try:
32    # Translate the SAM template to CloudFormation
33    cfn_template = translator.translate()
34    print(json.dumps(cfn_template, indent=2))
35except InvalidSamTemplateException as e:
36    print(f"Invalid SAM template: {e.causes}")
37except Exception as e:
38    print(f"An error occurred: {e}")