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

文檔

內(nèi)置函數(shù)(Builtin-Functions)

OOS提供了多個內(nèi)置函數(shù),使您更加方便的處理模板的參數(shù)及輸出。

函數(shù)說明

  • Fn::Base64Encode:返回輸入字符串的Base64編碼結(jié)果。

  • Fn::Base64Decode:返回輸入字符串的Base64解碼結(jié)果。

  • Fn::MergeMapToList:將多個Map合并成一個以Map為元素的列表。

  • Fn::MergeMap:將列表中多個Map合并成一個Map。

  • Fn::Join:將一組值連接起來,用特定分隔符隔開。

  • Fn::Select:數(shù)據(jù)元容器通過查詢索引返回的單個數(shù)據(jù)元。

  • Fn::Split:通過指定分隔符對字符串進(jìn)行切片,并返回所有切片組成的列表。

  • Fn::Replace:將字符串中指定子字符串用新字符串替換。

  • Fn::Min:返回列表中最小元素。

  • Fn::Max:返回列表中最大元素。

  • Fn::First:返回列表中第一個元素。

  • Fn::Last:返回列表中最后一個元素。

  • Fn::ListJoin:將多個參數(shù)轉(zhuǎn)換成列表。

  • Fn::Equals:比較兩個值是否相等。

  • Fn::If:根據(jù)判斷條件真假返回不同的值。

  • Fn::Not:對值取否操作。

  • Fn::AddHour:對一個UTC時間向后推移N小時。

  • Fn::FormatUTCTime:按不同單位精度進(jìn)行格式化UTC時間。

  • Fn::Eval:執(zhí)行字符串中的單行表達(dá)式,并返回執(zhí)行結(jié)果。

  • Fn::CalculateTimeByOpsWindow:當(dāng)指定一個時間窗口后,該函數(shù)會根據(jù)函數(shù)的執(zhí)行時間點(diǎn),產(chǎn)生下一個在窗口區(qū)間的時間點(diǎn)。

  • Fn::And:邏輯與。

  • Fn::Or: 邏輯或。

  • Fn::Intersection:取多個數(shù)組的交集。

  • Fn::Union:取多個數(shù)組的并集。

  • Fn::Difference:取多個數(shù)組的并集與交集的差集。

  • Fn::Jq:對JSON對象進(jìn)行篩選,獲取目標(biāo)屬性值。

  • Fn::MapJoin:將兩個List組合成一個Map,組合時,會把第一個List內(nèi)的所有值,作為Map中每個鍵值對的鍵,會把第二個List內(nèi)的值,作為Map中每個鍵值對。

  • Fn::IsIpInCIDR:判斷指定的IP是否在指定的CIDR網(wǎng)段內(nèi)。

  • Fn::Sub:將輸入字符串中的變量替換為指定的值。

  • Fn::DurationBetween:返回兩個時間點(diǎn)之間的時長。

  • Fn::Escape:轉(zhuǎn)義字符串。

  • Fn::ConvertMapToList:轉(zhuǎn)化JSON對象為Key、Value格式的列表。

使用函數(shù)

內(nèi)建函數(shù)的使用主要由內(nèi)置函數(shù)名和待處理參數(shù)組成。調(diào)用函數(shù)的聲明表達(dá)式即表示函數(shù)處理參數(shù)后返回的結(jié)果,且表達(dá)式作為函數(shù)返回的結(jié)果可以像其他參數(shù)一樣被引用。

Fn::Base64Encode

返回輸入字符串的Base64編碼結(jié)果。

聲明

{"Fn::Base64Encode": "StringToBeBase64"}        

參數(shù)

StringToBeBase64:要進(jìn)行Base64編碼的String。

返回值

Base64方式表示的原始字符串。

示例

{"Fn::Base64Encode": "hello"}        

示例返回

"aGVsbG8="

Fn::Base64Decode

返回Base64字符串的解碼結(jié)果。

聲明

{"Fn::Base64Decode": "Base64ToBeString"}

參數(shù)

Base64ToBeString:Base64編碼方式表示的String。

返回值

Base64解碼后的原始String。

示例

{"Fn::Base64Decode": "aGVsbG8="}        

示例返回

"hello"

Fn::MergeMapToList

將多個Map合并成一個以Map為元素的列表。

聲明

{"Fn::MergeMapToList": "aListConatinsDicts"}

參數(shù)

aListConatinsDicts:含有多個映射的List。

返回值

一個以Map為元素的List。

示例1

{
  "Fn::MergeMapToList": [
    {
      "key_1": [
        "key_1_item_1",
        "key_1_item_2"
      ]
    },
    {
      "key_2": [
        "key_2_item_1",
        "key_2_item_2"
      ]
    },
    {
      "key_3": [
        "key_3_item_1",
        "key_3_item_2"
      ]
    }
  ]
}

示例1返回

[
  {
    "key_1": "key_1_item_1",
    "key_2": "key_2_item_1",
    "key_3": "key_3_item_1"
  },
  {
    "key_1": "key_1_item_2",
    "key_2": "key_2_item_2",
    "key_3": "key_3_item_2"
  }
]

示例2

{
  "Fn::MergeMapToList": [
    {
      "key_1": [
        "key_1_item_1",
        "key_1_item_2"
      ]
    },
    {
      "key_2": [
        "key_2_item_1",
        "key_2_item_2",
        "key_2_item_3"
      ]
    },
    {
      "key_3": [
        "key_3_item_1",
        "key_3_item_2"
      ]
    }
  ]
}

示例2返回

[  
   {
      "key_1": "key_1_item_1", 
      "key_2": "key_2_item_1",
      "key_3": "key_3_item_1"
    },
    {
      "key_1": "key_1_item_2", 
      "key_2": "key_2_item_2",
      "key_3": "key_3_item_2"
    },
    {
      "key_1": "key_1_item_2", 
      "key_2": "key_2_item_3",
      "key_3": "key_3_item_2"
    }
]  

Fn::MergeMap

將列表中多個Map合并成一個Map。

聲明

{  "Fn::MergeMap": "aListConatinsDicts"}

參數(shù)

aListConatinsDicts:含有多個映射的List。

返回值

List中多個Map合并成的一個Map。

示例

{
  "Fn::MergeMap": [
    {
      "key_1": "value_1"
    },
    {
      "key_2": "value_2"
    }
  ]
}

示例返回

{"key_1": "value_1","key_2": "value_2"}

Fn::Join

將一組值連接起來,用特定分隔符隔開。

聲明

{"Fn::Join": ["Connector","aListContainsString"]}                

參數(shù)

Connector:作為連接符String。

aListContainsString:包含字符串的List。

返回值

List內(nèi)多個元素連接后的字符串。

示例

{
  "Fn::Join": [
    ",",
    [
      "a",
      "b",
      "c"
    ]
  ]
}

示例返回

"a,b,c"

Fn::Select

數(shù)據(jù)元容器通過查詢索引返回的單個數(shù)據(jù)元。

聲明

{"Fn::Select": ["Index","Container"]}

參數(shù)

Index:被查詢Container的索引String或Number。

Container:被查詢的List或Map。

返回值

查詢指定索引返回的結(jié)果。

示例1

{
  "Fn::Select": [
    "IpAddress",
    {
      "IpAddress": [
        "192.168.1.123",
        "192.168.1.234"
      ]
    }
  ]
}

示例1返回

["192.168.1.123","192.168.1.234"]

示例2

{
  "Fn::Select": [
    "1",
    [
      "192.168.1.123",
      "192.168.1.234"
    ]
  ]
}

示例2返回

"192.168.1.234"

Fn::Split

通過指定分隔符對字符串進(jìn)行切片,并返回所有切片組成的列表。

聲明

{"Fn::Split": ["Separator","StringToSeprate"]}

參數(shù)

Separator:作為分隔符的String。

StringToSeparate:將被按分隔符分成一個List的String。

返回值

StringToSeparate按分隔符分成的一個List。

示例

{
  "Fn:: Split": [",","a,b,c"]
}

示例返回

[
  "a",
  "b",
  "c"
]

Fn::Replace

將字符串中指定子字符串用新字符串替換。

聲明

{  "Fn::Replace": [{"$varName": "StringToReplaceWith"}, "StringToReplace"]}

參數(shù)

$varName:占位符,以$開始后面連接普通參數(shù)名即可,其中$后面參數(shù)名命名要求同模板參數(shù)名。

StringToReplaceWith:占位符將被替換成的值。

StringToReplace:將被替換的值(含占位符),如"$varName is foo"。

返回值

若參數(shù)StringToReplaceWith是"baz",則返回為"baz is foo"。

示例

{  "Fn::Replace": [{"$varName": "baz"},    "$varName is foo"  ]}

示例返回

"baz is foo"

Fn::Min

返回列表中最小元素。

聲明

{"Fn::Min": "aList"}

參數(shù)

aList:一個含有元素的List;List中元素類型可以為string,int,datetime,None,各元素必須為同一類型。

返回值

忽略值為None的元素,返回List中最小的元素,若集合元素全部為None則返回None。

示例

{
  "Fn::Min": ["123","234"]
}

示例返回

"123"

Fn::Max

返回列表中最大元素。

聲明

{"Fn::Max": "aList"}

參數(shù)

aList:一個含有元素的List;List中元素類型可以為string、int、datetime、None,各元素必須為同一類型。

返回值

忽略值為None的元素,返回List中最大的元素,若集合元素全部為None則返回None。

示例

{
  "Fn::Max": ["123","234"]
}

示例返回

"234"

Fn::First

返回列表中第一個元素。

聲明

{  "Fn::First": "aList"}

參數(shù)

aList:一個含有元素的List;List中元素類型不限。

返回值

輸出為集合中迭代返回的第一個元素;對loop來說,按照Items中迭代返回的Item生成的task execution id進(jìn)行排序。

示例

{
  "Fn::First": ["123","234"]
}

示例返回

"123"

Fn::Last

返回列表中最后一個元素。

聲明

{"Fn::Last": "aList"}

參數(shù)

aList:一個含有元素的List;List中元素類型不限。

返回值

輸出為集合中迭代返回的最后一個元素;對loop來說,按照Items中迭代返回的Item生成的task execution id進(jìn)行排序。

示例

{
  "Fn::Last": ["123","234"]
}

示例返回

"234"

Fn::ListJoin

將多個參數(shù)轉(zhuǎn)換成列表。

聲明

{"Fn::ListJoin": "IterableContainer"}

參數(shù)

IterableContainer是一個可迭代的集合,集合中元素類型不限。

返回值

將集合轉(zhuǎn)換成List輸出。

示例

{"Fn::ListJoin": ["a",2, 3]}

示例返回

["a",2,3]

Fn::Equals

比較兩個值是否相等。如果兩個值相等,則返回true;如果不相等,則返回false。

聲明

{  "Fn::Equals": ["parameter1", "parameter2"]}

參數(shù)

parameter1,parameter2為兩個任意類型值。

返回值

如果兩個值相等,則返回true;如果不相等,則返回false。

示例

{  "Fn::Equals": ["Running","Stopped"]}

示例返回

false

Fn::If

如果指定的條件計(jì)算為true,則返回一個值;如果指定的條件計(jì)算為false,則返回另一個值。

聲明

{
  "Fn::If": [
    "condition",
    "value_if_true",
    "value_if_false"
  ]
}

參數(shù)

condition_name:待判斷的條件參數(shù)。

value_if_true:當(dāng)指定的條件計(jì)算為true時,返回此值。

value_if_false:當(dāng)指定的條件計(jì)算為false時,返回此值。

返回值

當(dāng)條件計(jì)算為true時,返回value_if_true。

當(dāng)條件計(jì)算為false時,返回value_if_false。

示例

{"Fn::If": [false,"Stopped","Running"]}

示例返回

"Running"

Fn::Or

邏輯或操作。

聲明

{"Fn::Or": ["condition1","condition2"]}

參數(shù)

condition1、condition2:將進(jìn)行邏輯或的條件。

返回值

當(dāng)condition1和condition2均為false時,返回false;否則,返回true。

示例

{"Fn::Or": [true,false]}

示例返回

true

Fn::And

邏輯或操作。

聲明

{"Fn::And": [ "condition1", "condition2"]}

參數(shù)

condition1、condition2:將要進(jìn)行邏輯與的條件。

返回值

當(dāng)condition1和condition2均為true時,返回true;否則,返回false。

示例

{"Fn::And": [true,false]}

示例返回

false

Fn::Not

對值取否操作。

聲明

{"Fn::Not": "condition"}

參數(shù)

condition:將要取否的條件。

返回值

當(dāng)condition為true時,返回false;當(dāng)condition為false時,返回true。

示例

{"Fn::Not": true}

示例返回

false

Fn::AddHour

表示對一個UTCT時間向后推移N小時,使其成為一個新的UTC時間。

聲明

{"Fn::AddHour": ["utc_time", "hours_count"  ]}

參數(shù)

utc_time:一個要向后推移的UTC時間。

hours_count:要向后推移的小時數(shù),限取整數(shù)。

返回值

utc_time被推移hours_count小時后的新UTC時間。

示例

{  "Fn::AddHour": ["2019-06-01T02:12:45Z", 6]}

示例返回

"2019-06-01T08:12:45Z"

Fn::FormatUTCTime

表示對一個UTC時間按不同單位精度進(jìn)行格式化,生成的新時間其精度只保留到需要的時間單位。

聲明

Fn::FormatUTCTime: ["utc_time", "to_be_utc_time_format"]        

參數(shù)

utc_time:待被格式化的UTC時間。

to_be_utc_time_format:將要把utc_time格式化成的新時間格式。

返回值

新格式的時間。

示例

{  "Fn::FormatUTCTime": ["2019-06-01T02:12:45Z","%Y-%m-%dT%H:%MZ"]}

示例返回

"2019-06-01T02:12Z"

Fn::Eval

表示執(zhí)行一個字符串中的表達(dá)式(不支持表達(dá)式中含換行),并返回執(zhí)行結(jié)果。 聲明

{
  "Fn::Eval": [
    "expression"
  ]
}

參數(shù)

expression:被執(zhí)行的表達(dá)式(如運(yùn)算式)。

返回值

表達(dá)式執(zhí)行結(jié)果。

示例

{  "Fn::Eval": ["1+3*2+3%2+1"]}

示例返回

9

Fn::CalculateTimeByOpsWindow

表示您指定了24h中的一個時間段后,F(xiàn)n::CalculateTimeByOpsWindow會根據(jù)函數(shù)的執(zhí)行時間點(diǎn),產(chǎn)生下一個在該時間段中的時間點(diǎn)。具體時間點(diǎn)產(chǎn)生規(guī)則為,當(dāng)函數(shù)執(zhí)行的時間點(diǎn)恰好在當(dāng)天的時間段中時,產(chǎn)生的時間點(diǎn)將是函數(shù)執(zhí)行時間+1min對應(yīng)的時間點(diǎn);當(dāng)函數(shù)執(zhí)行的時間點(diǎn)不在當(dāng)天時間段中,且早于當(dāng)天時間段的開始時間,則產(chǎn)生的時間點(diǎn)將是函數(shù)執(zhí)行的當(dāng)天時間段中的某個隨機(jī)時間點(diǎn);當(dāng)函數(shù)執(zhí)行的時間點(diǎn)不在當(dāng)天時間段中,且晚于當(dāng)天時間段的結(jié)束時間,則產(chǎn)生的時間點(diǎn)將是函數(shù)執(zhí)行當(dāng)天的下一天對應(yīng)時間段中的某個隨機(jī)時間點(diǎn)。

聲明

Fn::CalculateTimeByOpsWindow: [ "startTime", "endTime" ]

參數(shù)

startTime:24h中某時間段的開始時間(如01:00:00Z)。

endTime:24h中某時間段的結(jié)束時間(如03:00:00Z)。

返回值

下一個在指定時間段中的UTC時間點(diǎn)字符串。

示例

{  "Fn::CalculateTimeByOpsWindow": ["01:00:00Z", "03:00:00Z"]}

示例返回

"2019-09-24T01:01:00Z"

Fn::Jq

對JSON對象進(jìn)行篩選,返回其中的某部分。

聲明

{  "Fn::Jq": [ "type", "jqSelector", "jsonObject" ]}                

參數(shù)

type:可選"First"或"All",其中First表示只返回第一個結(jié)果,All表示返回所有結(jié)果。

jqSelector:jq篩選語句,詳細(xì)可參考https://yq.aliyun.com/articles/714479

jsonObject:被篩選的JSON對象。

返回值

JSON對象經(jīng)jq表達(dá)式篩選后返回的結(jié)果。

示例1

{
  "Fn::Jq": [
    "First",".PrivateIpAddress.IpAddress",
{
  "PrivateIpAddress": {
    "IpAddress": [
      "192.168.1.123", "192.168.1.234"
    ]
  },
  "VpcId": "vpc-xzxbamns",
  "VSwitchId": "vsw-zxcdsa"
}
}

示例1返回

"192.168.1.123"

示例2

{
  "Fn::Jq": [
    "All",".PrivateIpAddress.IpAddress",
{
  "PrivateIpAddress": {
    "IpAddress": [
      "192.168.1.123", "192.168.1.234"
    ]
  },
  "VpcId": "vpc-xzxbamns",
  "VSwitchId": "vsw-zxcdsa"
}
}

示例2返回

["192.168.1.123", "192.168.1.234"]

Fn::Intersection

對多個數(shù)組取交集,返回共同包含的值。

聲明

{  "Fn::Intersection": [ list1, list2]}                

參數(shù)

list1、list2:要取交集的數(shù)組。

返回值

一個數(shù)組,其中的元素是多個數(shù)組共同包含的值。

示例

{  "Fn::Intersection": [["i-1","i-2"],["i-1","i-3"]]}

示例返回

["i-1"]

Fn::Union

對多個數(shù)組中的元素去重后合并為一個數(shù)組,返回合并后的新數(shù)組。

聲明

{  "Fn::Union": [ list1, list2]}                

參數(shù)

list1、list2:要合并的數(shù)組。

返回值

一個數(shù)組,其中的元素是多個數(shù)組的并集。

示例

{
  "Fn::Union": [
    [
      "i-1",
      "i-2"
    ],
    [
      "i-1",
      "i-3"
    ]
  ]
}

示例返回

["i-1","i-2","i-3"]

Fn::Difference

查看多個數(shù)組的并集與交集的差集,返回包含差集結(jié)果的新數(shù)組。

聲明

{  "Fn::Difference": [ list1, list2]}                

參數(shù)

list1、list2:要篩選存在不同元素的數(shù)組。

返回值

一個數(shù)組,其元素是多個數(shù)組的并集與交集的差集。

示例

{
  "Fn::Difference": [
    ["i-1","i-2"],
    ["i-1"]]
}

示例返回

["i-2"]

Fn::MapJoin

將兩個List組合成一個Map,組合時,會把第一個List內(nèi)的所有值,作為Map中每個鍵值對的鍵,會把第二個List內(nèi)的值,作為Map中每個鍵值對的值。

聲明

{'Fn::MapJoin': [List1, List2] } 

參數(shù)

aListConatinsDicts:含有多個映射的List。

返回值

一個Map,其中每個鍵值對的鍵是List1的對應(yīng)元素,每個鍵值對的值是List2的對應(yīng)元素。

示例

{'Fn::MapJoin': [['i-1', 'i-2', 'i-3'], [1, 2, 3]] } 

示例返回

{'i-1': 1, 'i-2': 2, 'i-3': 3}

Fn::IsIpInCIDR

判斷指定的IP是否在指定的CIDR網(wǎng)段內(nèi)。

聲明

{'Fn::IsIpInCIDR': [Ip, CIDR] } 

參數(shù)

Ip、CIDR

返回值

true or false

示例1

{'Fn::IsIpInCIDR': ["10.0.1.159", "192.168.0.0/16"] } 

示例1返回

false

示例2

{'Fn::IsIpInCIDR': ["192.168.255.0", "192.168.0.0/16"] } 

示例2返回

true

Fn::Sub

將輸入字符串中的變量替換為指定的值。

聲明

{'Fn::Sub': [TargetString, JSON]} 

參數(shù)

TargetString、JSON

返回值

String

示例

{
    "Fn::Sub": [
        "Var1: ${Var1}, Var2: ${Var2}",
        {
            "Var1": "Var1Value",
            "Var2": "Var2Value"
        }
    ]
}

示例返回

"Var1: Var1Value, Var2: Var2Value"

Fn::DurationBetween

返回兩個時間點(diǎn)之間的時長。

聲明

{'Fn::DurationBetween': [DateTime_1, DateTime_2]} 

參數(shù)

DateTime_1、DateTime_2

返回值

String

示例

{
    "Fn::DurationBetween": [
        "12:00:00",
        "13:00:00"
    ]
}

示例返回

PT3600S

Fn::Escape

轉(zhuǎn)義字符串。

聲明

{'Fn::Escape': [String, ShellType] } 

參數(shù)

String、ShellType

說明

ShellType目前僅支持PowerShell

返回值

String

示例

{
    "Fn::Sub": [
        '{"ACS:File":{"Collection":"Enabled","Filters":"[{\\"Path\\": \\"/home/admin/test\\",\\"Pattern\\":[\\"*\\"],\\"Recursive\\":false}]"},"ACS:Application":{"Collection":"Enabled"}, "ACS:Network":{"Collection":"Enabled"}}',
        'PowerShell'
    ]
}

示例返回

'{\\"ACS:File\\":{\\"Collection\\":\\"Enabled\\",\\"Filters\\":\\"[{\\\\\\"Path\\\\\\": \\\\\\"/home/admin/test\\\\\\",\\\\\\"Pattern\\\\\\":[\\\\\\"*\\\\\\"],\\\\\\"Recursive\\\\\\":false}]\\"},\\"ACS:Application\\":{\\"Collection\\":\\"Enabled\\"}, \\"ACS:Network\\":{\\"Collection\\":\\"Enabled\\"}}'

Fn::ConvertMapToList

轉(zhuǎn)化JSON對象為Key、Value格式的列表。

聲明

{'Fn::ConvertMapToList': [JSON/JSONString] } 

參數(shù)

JSON

返回值

List

示例1

{
    "Fn::ConvertMapToList": [
        {
            "key1": "value1",
            "key2": "value2"
        }
    ]
}

示例1返回

[
  {
    "Key": "key1",
    "Value": "value1"
  },
  {
    "Key": "key2",
    "Value": "value2"
  }
]

示例2

{
    "Fn::ConvertMapToList": [
        "{\"key1\": \"value1\", \"key2\": \"value2\"}"
    ]
}

示例2返回

[
  {
    "Key": "key1",
    "Value": "value1"
  },
  {
    "Key": "key2",
    "Value": "value2"
  }
]