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

Fn::Select

調用內部函數Fn::Select,通過索引返回列表或字典中的數據。

函數聲明

獲取列表(數組)中的數據

根據索引獲取單個數據

  • JSON

    {
      "Fn::Select": [
        "index",
        [
          "value1",
          "value2",
          ...
        ],
        "default_value"
      ]
    }
  • YAML

    • 完整函數名的語法。

      Fn::Select:
        - index
        - - value1
          - value2
          - ...
        - default_value
    • 縮寫形式語法。

      !Select [index, [value1, value2, ...], default_value]

根據索引獲取多個數據

  • JSON

    {
      "Fn::Select": [
        "start:stop:step",
        [
          "value1",
          "value2",
          ...
        ]
      ]
    }
  • YAML

    • 完整函數名的語法。

      Fn::Select:
        - start:stop:step
        - - value1
          - value2
          - ...
    • 縮寫形式語法。

      !Select [start:stop:step, [value1, value2, ...]]

獲取字典(映射表)某個鍵對應的值

  • JSON

    {
      "Fn::Select": [
        "key",
        {
          "key1": "value1",
          "key2": "value2",
          ...
        },
        "default_value"
      ]
    }
  • YAML

    • 完整函數名的語法。

      Fn::Select:
        - key
        - key1: value1
          key2: value2
          ...
        - default_value
    • 縮寫形式語法。

      !Select [key, {key1:value1, key2:value2}, default_value]

參數信息

  • index:待檢索數據的索引。索引是0到N-1之間或者-N到-1之間的某個值(其中N表示列表中元素的數量),負數表示從右往左第幾個元素。當索引不在取值范圍內,如果指定了默認值則返回默認值,如果未指定則返回空字符串。

  • startstopstep:根據指定的起始位置和終止位置獲取列表中的元素,可以指定步長,即每隔step-1個元素取一個元素,最后返回一個列表。

    • start:stop:start、stop與index的取值要求相同,start不填時默認為0,stop不填時默認為N。返回列表中第start+1到第stop個元素組成的列表,如果二者取值不在取值范圍內則返回空列表。

    • start:stop:step:step不填時默認為1,如果step為負數時,則start表示的元素索引應大于stop表示的元素索引,從第start個元素到第stop+1元素,每隔-step-1個元素取一個元素,返回一個列表。

  • key:字典中的某個鍵,返回鍵對應的值。當字典中不存在該鍵,如果指定了默認值則返回默認值,如果未指定默認值則返回空字符串。

  • default_value:index或key未命中時返回的默認值。如果未指定,則返回空字符串。

返回值

選定的數據。

使用示例

獲取列表或數組中的值

  • !Select ['1', [apples, grapes, oranges, mangoes]] 
    {
      "Fn::Select": [
        "1",
        ["apples", "grapes", "oranges", "mangoes"]
      ]
    }

    返回值:grapes。

  • !Select ['1:3', [1,2,3,4,5]]
    {
      "Fn::Select": [
        "1:3",
        [1,2,3,4,5]
      ]
    }

    返回值:[2, 3]。

  • !Select ['::2', [1,2,3,4,5]]
    {
      "Fn::Select": [
        "::2",
        [1,2,3,4,5]
      ]
    }

    返回值:[1, 3, 5]。

  • !Select ['5:0:-2', [1,2,3,4,5]]
    {
      "Fn::Select": [
        "5:0:-2",
        [1,2,3,4,5]
      ]
    }

    返回值:[5, 3]。

獲取字典某個鍵對應的值

!Select [key1, {key1: grapes, key2: mangoes}]
{
  "Fn:Select": [
    "key1",
    {
      "key1": "grapes",
      "key2": "mangoes"
    }
  ]
}

返回值:grapes。

如果數據元列表是一個CommaDelimitedList

Parameters:
  userParam:
    Type: CommaDelimitedList
    Default: 10.0.0.1, 10.0.0.2, 10.0.0.3
Resources:
  resourceID:
    Properties:
      CidrBlock:
        !Select:
          - '0'
          - !Ref userParam

返回值:10.0.0.1。

支持的函數

對于Fn::Select索引值,您可以使用Ref函數。

對于對象的Fn::Select列表,您可以使用以下函數。