機械翻訳について

関数一覧

Oracle Cloud Stackには、テンプレートの作成時に使用できる組込み関数がいくつか用意されています。 これらの関数は、スタックが作成される際にOracle Cloud Stackによって実行時に実行されます。

関数 説明と構文
And

式のシーケンスがすべてtrueに評価される場合は、trueを返します。それ以外の場合はfalseを返します。

Fn::And: [exp1, exp2, expN]
"Fn::And": [{"Fn::Equals": [{"Fn::GetParam": stage}, "dev"]}, {"Fn::Equals": [{"Fn::GetParam": container}, ""]}] 
Base64

指定された文字列をbase64エンコードで変換します。

Fn::Base64: string
publicKeyText: { "Fn::Base64": {"Fn::GetParam": "key"} }
Contains

最初の文字列が2番目の文字列で見つかった場合、または指定された値が一連の値で見つかった場合はtrueを返します。それ以外の場合はfalseを返します。

Fn::Contains: [valueToSearchFor, stringOrSequence]
"Fn::Contains": ["us", {"Fn::GetParam": region}]

提供された文字列が空の場合はtrueを返します。それ以外の場合はfalseを返します。

Fn::Empty: string
"Fn::Empty": {"Fn::GetParam": region}
Equals

2つの式を含むシーケンスを比較し、式が同じ値を評価する場合はtrueを返します。それ以外の場合はfalseを返します。

Fn::Equals: [exp1, exp2]
"Fn::Equals": [{"Fn::GetParam": appType}, "Java"]
FindInMap

このテンプレートで定義されているマップから、指定されたキーの値を取得します。

Fn::FindInMap: [mapName, submapName, keyName]
usableStorage: "Fn::FindInMap": ["dbMap", "size", {"Fn::GetParam": projectType}]
GetAtt

特定のリソースからランタイム属性の値を取得します。 属性名ではドット表記法がサポートされるため、ドット表記法でJSONペイロード内のネストされた属性にアクセスできます。

Fn::GetAtt: [resourceName, attributeName]
dbServiceName: { "Fn::GetAtt": [HRDatabase, serviceName] }
shape: { "Fn::GetAtt": [HRWeb, options.clusters.shape] }
GetParam

テンプレート・パラメータの値を取得します。

Fn::GetParam: parameterName
network: { "Fn::GetParam": networkName }
description: { "Fn::GetParam": serviceName }
container: { "Fn::GetParam": backupStorage.cloudStorageContainer }
GetRandom

ランダムな文字列を生成します。

Fn::GetRandom: [size, characterSet]

生成された文字列で許可される文字を制限するには、characterSetを使用します:

  • ALPHANUMERIC - 文字A-Z,a-z,0-9

  • ALPHABET - 文字A-Z,a-z

  • NUMERIC - 文字0-9

  • カスタム文字列。 例えば: [$,!,#,&]

password: { "Fn::GetRandom": [10, "ALPHANUMERIC"] }
dbServiceName: { "Fn::Join": ["", ["DB",{"Fn::GetRandom" : [8, "ALPHABET"] }]] }
GetResource

リソースの定義を取得します。

Fn::GetResource: resourceName
configs:
  - name: DB1-dbScripts
    config: { "Fn::GetResource": dbScripts }
GetTimestamp

現在の時間を指定された形式で返します。

Fn::GetTimestamp: format

format文字列の使用可能な日付と時間のオプションについては、SimpleDateFormatを参照してください。

serviceName: { "Fn::GetTimestamp": "'DB'yyMMdd" }

例えば: DB180521

description: { "Fn::GetTimestamp": "'Created on' EEE, MMM dd" }

例えば: Created on Wed, May 21

GreaterThan

2つの式を含むシーケンスを比較し、最初の式が2番目の式の値よりも大きい値に評価される場合はtrueを返します。それ以外の場合はfalseを返します。

Fn::GreaterThan: [exp1, exp2]
"Fn::GreaterThan": [{"Fn::GetParam": clusterSize}, 1]
If

このテンプレートで定義されているグローバル条件を評価します。 指定した条件がtrueと評価された場合は、シーケンスの2番目のアイテムを返します。それ以外の場合は、シーケンスの3番目のアイテムを返します。

Fn::If: [conditionName, trueValue, falseValue]
shape: { "Fn::If": ["prodEnv","oc4","oc3"] }
Join

値のシーケンスを1つの文字列に結合します。値の間に指定されたデリミタを使用します。

この関数は引数としてシーケンス(デリミタ、値)を受け取り、値自体がシーケンスです。 デリミタを使用せずに値を単に結合するには、最初の引数に空の文字列を指定します。

Fn::Join: [delimiterChar, [value1, value2, valueN]]
serviceName: { "Fn::Join": ["_", [HRApp, "Fn::GetParam": userName]] }

userNameパラメータの値がbill5の場合、serviceNameパラメータはHRApp_bill5になります。

LessThan

2つの式を含むシーケンスを比較し、最初の式が2番目の式の値より小さい値に評価される場合はtrueを返します。それ以外の場合はfalseを返します。

Fn::LessThan: [exp1, exp2]
"Fn::LessThan": [{"Fn::GetParam": clusterSize}, 2]
Match

文字列が正規表現に一致する場合はtrueを返します。それ以外の場合はfalseを返します。

Fn::Match: [regularExpression, string]

この式は、regionパラメータがtext usで始まる場合、trueを返します:

"Fn::Match": ["^us", {"Fn::GetParam": region}]

この式は、schemaNameパラメータに文字のみが含まれ、数字が0-3の場合はtrueを返します:

"Fn::Match": ["^(?=.*?[A-Z])(?=.*?[a-z])(?=.*[0-3])[a-zA-Z]([a-zA-Z0-3_#])+$", {"Fn::GetParam": schemaName}]
Not

式のブール値を否定します。 式がtrueと評価された場合は、falseを返します。

Fn::Not: booleanExpression
"Fn::Not": {"Fn::Equals": [{"Fn::GetParam":"userName"}, ""]}}
Or

シーケンス内の少なくとも1つの式がtrueと評価された場合は、trueを返します。それ以外の場合はfalseを返します。

Fn::Or: [exp1, exp2, expN]
"Fn::Or": [{"Fn::Equals": [{"Fn::GetParam": shape}, "oc3"]}, {"Fn::Equals": [{"Fn::GetParam": shape}, "oc4"]}] 
Replace

文字列内の1つ以上の値を動的に検索して置き換えます(body)。

置換(substitutions)オブジェクトには、1つ以上の名前/値属性を含めることができます。また、それらの値は静的または動的にできます。

Fn::Replace: {"body" : string, "substitutions" : {find:replace, find:replace, ...}
appURL: { "Fn::Replace": {"body" : "host:port/myapp", "substitutions" : {"host" : "Fn:GetParam": publicIP, "port" : "7002"}} }

publicIPパラメータの値が192.0.2.10の場合、appURLパラメータは192.0.2.10:7002/myappになります。

Select

目的のオブジェクトの索引を渡すことにより、索引付きのオブジェクトのリストからオブジェクトを選択します。

Fn::Select: [indexToFetch, objectList]
serverHost: { "Fn::Select": [0, "Fn::Split": [":", "host123:9001"]] }

The serverHostパラメータに、値host123が割り当てられます。

Size

指定された文字列内の文字数、または指定されたシーケンス内の要素数を返します。

Fn::Size: stringOrSequence
"Fn::Size": {"Fn::GetParam": dbName}

dbNameパラメータが文字列"mydb"の場合、返される値は4です。 パラメータがシーケンス["db1","db2"]の場合、返される値は2です。

Split

指定されたデリミタ文字を使用して、1つの文字列を文字列のシーケンスに分割します。

この関数は引数としてシーケンス(デリミタ、値)を受け取り、シーケンスを返します。

Splitの結果に対してSelect関数を使用して、シーケンス内の特定の項目を取得することもできます。

Fn::Split: [delimiterChar, string]
databases: { "Fn::Split": ["_", "mydb1_mydb2"] }

databasesパラメータに、シーケンス[mydb1, mydb2]が割り当てられます。