Skip to content

GetTemplate API does not support non-ASCII characters #1220

@idm-ryou

Description

@idm-ryou

Name of the resource

Other

Resource Name

CloudFormation GetTemplate API

Issue Description

When the GetTemplate API is executed against a stack of templates containing non-ASCII characters, such as Japanese characters, the non-ASCII characters in the template are converted to question marks.

This makes it impossible to properly understand the contents of the template after deployment, and also makes it impossible for tools such as AWS CDK to properly display the diff of the template.
aws/aws-cdk#10523

This is a big problem for non-English speakers, who often include native language descriptions and logs in their templates. This is also expected to be a problem for English speakers when specifying emojis.

Expected Behavior

Given

Deployed as SampleStack

Resources:
  MySNS:
    Type: AWS::SNS::Topic
    Properties: 
      DisplayName: Helloこんにちは☺

When

$  aws cloudformation get-template --stack-name SampleStack

Expected

{
    "TemplateBody": "Resources:\r\n  MySNS:\r\n    Type: AWS::SNS::Topic\r\n    Properties: \r\n      DisplayName: Helloこんにちは☺\r\n",
    "StagesAvailable": [
        "Original",
        "Processed"
    ]
}

Observed Behavior

Actual

{
    "TemplateBody": "Resources:\r\n  MySNS:\r\n    Type: AWS::SNS::Topic\r\n    Properties: \r\n      DisplayName: Hello??????\r\n",
    "StagesAvailable": [
        "Original",
        "Processed"
    ]
}

Test Cases

Deploy a CloudFormation template that contains non-ASCII characters and call the GetTemplate API to see if the same content is returned as the template.

Other Details

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions