日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

Fn::Sub

調用內部函數Fn::Sub,將字符串中的變量(key)的值替換為您指定的值。

函數聲明

  • JSON

    {
      "Fn::Sub": [
        "String",
        {
          "Var1Name": "Var1Value",
          "Var2Name": "Var2Value",
          ...
        }
      ]
     }
  • YAML

    • 完整函數名的語法。

      Fn::Sub:
        - String
        - Var1Name: Var1Value
          Var2Name: Var2Value
          ...
    • 縮寫形式語法。

      !Sub [String, {"Var1Name": "Var1Value", "Var2Name": "Var2Value"}]

參數信息

  • String:一個能進行變量替換的字符串。

    如果您以${VarName}的形式編寫變量,變量可以為模板參數、偽參數、資源名稱、資源屬性或鍵值對映射中的變量名稱等。如果您僅指定模板參數、偽參數、資源名稱和資源屬性,則不需要指定鍵值對映射,請參見特殊示例

    當您指定模板參數、偽參數或資源名稱時(例如${MyParameter}),ROS返回的值與您使用Ref內部函數返回的值相同。當您指定資源屬性(例如${MyInstance.InstanceId}),ROS返回的值與使用Fn::GetAtt內部函數返回的值相同。

    說明

    如果您想要保留變量不被替換,請在左大括號后添加英文感嘆號(!)。例如${!Literal},ROS會將該文本解析為${Literal}。

  • VarName:字符串中包含的變量名稱。

  • VarValue:字符串中對應變量名稱待替換的新值。

返回值

返回替換變量后的字符串。

特殊示例

如果您只需要引用模板參數、偽參數(Pseudo parameters)、資源名稱以及資源屬性,則不需要指定變量字典,您可以結合${}一起使用。

  • 返回引用參數的對應值。

    Fn::Sub: ${String}
    {"Fn::Sub": "${String}"}
  • 返回引用的字符串。

    Fn::Sub: String
    {"Fn::Sub": "String"}

示例:

ROSTemplateFormatVersion: '2015-09-01'
Outputs:
  StackId1:
    Value:
      Fn::Sub: ${ALIYUN::StackId}
  StackId2:
    Value:
      Fn::Sub: ALIYUN::StackId
{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Outputs": {
    "StackId1": {
      "Value": {
        "Fn::Sub": "${ALIYUN::StackId}"
      }
    },
    "StackId2": {
      "Value": {
        "Fn::Sub": "ALIYUN::StackId"
      }
    }
  }
}

返回值:

StackId1:0f848ecd-c6fb-47aa-add5-910799c2****
StackId2:ALIYUN::StackId

完整使用示例

ROSTemplateFormatVersion: '2015-09-01'
Parameters:
  VpcName:
    Type: String
    Default: vpc
Resources:
  Vpc:
    Type: ALIYUN::ECS::VPC
    Properties:
      VpcName:
        Ref: VpcName
      CidrBlock: 10.0.XX.XX
Outputs:
  Pseudo:
    Value:
      !Sub  
        - 'Var1: ${Var1}, Var2: ${Var2}, StackName: ${ALIYUN::StackName}, Region: ${ALIYUN::Region}'
        - Var1: Var1Value
          Var2: Var2Value       
  VpcId:
    Value:
      !Sub '資源的返回值:${Vpc.VpcId}, 資源ID: ${Vpc}'
{
 "ROSTemplateFormatVersion": "2015-09-01",
 "Parameters": {
 "VpcName": {
 "Type": "String",
 "Default": "vpc"
 }
 },
 "Resources": {
 "Vpc": {
 "Type": "ALIYUN::ECS::VPC",
 "Properties": {
 "VpcName": {
 "Ref": "VpcName"
 },
 "CidrBlock": "10.0.XX.XX"
 }
 }
 },
 "Outputs": {
 "Pseudo": {
 "Value": {
 "Fn::Sub": [
 "Var1: ${Var1}, Var2: ${Var2}, StackName: ${ALIYUN::StackName}, Region: ${ALIYUN::Region}",
 {
 "Var1": "Var1Value",
 "Var2": "Var2Value"
 }
 ]
 }
 },
 "VpcId": {
 "Value": {
 "Fn::Sub": "資源的返回值:${Vpc.VpcId}, 資源ID: ${Vpc}"
 }
 }
 }
}

返回值:

Var1: Var1Value, Var2: Var2Value, StackName: SubTest, Region: cn-hangzhou
資源的返回值:vpc-bp11eu7avmtvr37hl****, 資源ID: vpc-bp11eu7avmtvr37hl****

支持的函數

Fn::Indent