我有 2 個模板,如下所示。我想問的是如何Sub在Transform中使用和其他變數?
添加 UserData 時,出現以下錯誤。這是關于Sub。如何根據轉換進行更改?
轉換 AWS::Include 失敗:指定的 S3 物件的內容應該是有效的 Yaml/JSON。用戶請求回滾。
主要.yaml
Parameters:
VpcId:
Type: 'AWS::EC2::VPC::Id'
Subnets:
Type: 'List<AWS::EC2::Subnet::Id>'
InstanceType:
Type: String
Default: c5.large
AllowedValues:
- c5.large
- c5.xlarge
Resources:
Instance:
Fn::Transform:
Name: AWS::Include
Parameters:
Location:
Fn::Sub: s3://test-bucket/instance.yaml
實體.yaml
Type: 'AWS::EC2::Instance'
Properties:
KeyName: test
ImageId: ami-0015a39e4b7c0966f
InstanceType:
Ref: InstanceType
SubnetId:
Fn::Select: [ 0, Ref: Subnets ]
SecurityGroupIds:
- Fn::GetAtt: [ Sec, GroupId ]
UserData:
Fn::Base64:
!Sub |
#!/bin/bash -xe
yum update -y aws-cfn-bootstrap
/opt/aws/bin/cfn-init -v --stack ${AWS::StackName} --resource LaunchConfig --configsets wordpress_install --region ${AWS::Region}
/opt/aws/bin/cfn-signal -e $? --stack ${AWS::StackName} --resource WebServerGroup --region ${AWS::Region}
uj5u.com熱心網友回復:
你不能使用!Sub. 它應該是Fn::Sub::
Type: 'AWS::EC2::Instance'
Properties:
KeyName: test
ImageId: ami-0015a39e4b7c0966f
InstanceType:
Ref: InstanceType
SubnetId:
Fn::Select: [ 0, Ref: Subnets ]
SecurityGroupIds:
- Fn::GetAtt: [ Sec, GroupId ]
UserData:
Fn::Base64:
Fn::Sub: |
#!/bin/bash -xe
yum update -y aws-cfn-bootstrap
/opt/aws/bin/cfn-init -v --stack ${AWS::StackName} --resource LaunchConfig --configsets wordpress_install --region ${AWS::Region}
/opt/aws/bin/cfn-signal -e $? --stack ${AWS::StackName} --resource WebServerGroup --region ${AWS::Region}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/406399.html
標籤:
