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

如何查看模板中的Map值

Map合集是一種以鍵值對形式存儲數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu),本文為您介紹如何查看模板中的Map值。

查看單層映射值

您可以通過調(diào)用下列函數(shù)獲取單層映射中的值。

說明

不建議您在模板中的Mappings部分定義單層Map,ROS無法獲取Mappings中單層Map的值。更多信息,請參見映射(Mappings)

Fn::Select

說明

推薦您使用該函數(shù)獲取單層Map的值。

  • 當(dāng)輸入為一個JSON對象時,調(diào)用Fn::Select函數(shù)獲取key_a對應(yīng)的value_a。更多信息,請參見Fn::Select

    ROSTemplateFormatVersion: '2015-09-01'
    Parameters:
    	InputMap:
      	Type: Json  
    Outputs:
    	value_a:
      	Value:
        	Fn::Select:
        	- key_a
        	- InputMap
  • 您也可以直接在模板中構(gòu)造字典獲取值。

    ROSTemplateFormatVersion: '2015-09-01'
    Resources:
      Mock:
        Type: MockResource
        Properties:
          Prop1:
            Fn::Select:
            - key
            - key1: value1
              key2: value2

Fn::GetJsonValue

當(dāng)輸入為一個JSON字符串時,您可以調(diào)用Fn::GetJsonValue獲取第一層的key所對應(yīng)的value。更多信息,請參見Fn::GetJsonValue

ROSTemplateFormatVersion: '2015-09-01'
Parameters:
	InputMapJsonString:
  	Type: Json
Outputs:
	value_a:
  	Value:
    	Fn::GetJsonValue:
    	- key_a
    	- InputMapJsonString

查看雙層映射

您可以通過調(diào)用下列函數(shù)獲取雙層映射中的值。

Fn::FindInMap

說明

該函數(shù)只適用于查看在Mappings中定義的雙層映射值。

您可以調(diào)用Fn::FindInMap函數(shù)獲取模板中Mappings部分定義的雙層映射值。更多信息,請參見映射(Mappings)Fn::FindInMap

ROSTemplateFormatVersion: '2015-09-01'
Parameters:
  regionParam:
    Description: 選擇創(chuàng)建ECS的地域
    Type: String
    AllowedValues:
      - hangzhou
      - beijing
Mappings:
  RegionMap:
    hangzhou:
      '32': m-25l0rcfjo
      '64': m-25l0rcfj1
    beijing:
      '32': m-25l0rcfj2
      '64': m-25l0rcfj3
Resources:
  WebServer:
    Type: ALIYUN::ECS::Instance
    Properties:
      ImageId:
        Fn::FindInMap:
          - RegionMap
          - Ref: regionParam
          - '32'

Fn::Select

說明

該函數(shù)適用于查看非Mappings中定義的雙層映射值。

您可以通過嵌套Fn::Select函數(shù)的方法獲取雙層映射中的值。更多信息,請參見Fn::Select

Fn::Select:
- key_1_1:
- Fn::Select:
	- key_1
	- key_1:
    	key_1_1: value_1_1
    	key_1_2: value_1_2
    key_2:
      key_2_1: value_2_1
      key_2_2: value_2_2

返回值:value_1_1。

查看多層映射

您可以通過調(diào)用下列函數(shù)獲取多層映射中的值。

Fn::Select

  • 您可以通過嵌套Fn::Select和Fn::FindInMap函數(shù)獲取Mappings中的多層映射值,ROS只支持通過Fn::FindInMap函數(shù)獲取Mappings中的value。當(dāng)您想獲取Mappings中的多層映射值時,您可以先通過Fn::FindInMap獲取雙層映射的值,此時返回一個Map合集,然后再通過Fn::Select函數(shù)去獲取想要的值。

     Fn::Select:
       - key 
       - Fn::FindInMap:
            - MapName
            - TopLevelKey
            - SecondLevelKey
  • 您也可以通過多次嵌套Fn::Select函數(shù)的方法獲取非Mappings中多層映射中的值。更多信息,請參見Fn::Select

Fn::Jq

您可以通過設(shè)置多個篩選器來滿足多層查找的需求。更多信息,請參見Fn::Jq

Fn::Jq:
  - All
  - '.parameters[] | {"param_name": .name, "param_type":.type}'
  - changeSet:
      items: []
      kind: git
    id: 2013-12-27_00-09-37
    parameters:
      - name: PKG_TAG_NAME
        value: trunk
      - name: GIT_COMMIT
        value: master
      - name: TRIGGERED_JOB
        value: trunk-buildall

返回值:

- param_name: PKG_TAG_NAME
- param_name: GIT_COMMIT
- param_name: TRIGGERED_JOB