機械翻訳について

属性の使用

Oracle Cloud Stackテンプレートを編集し、リソースのランタイム属性を使用して、同じテンプレート内の他のリソースを構成します。

はじめには、「属性とは」を参照してください。

GetAtt関数

スタックをプロビジョニングする際、Oracle Cloud StackはRESTエンドポイントを使用して、指定されたリソース属性を収集します。 たとえば、エンドポイント「サービス・インスタンスの表示」のレスポンス・ペイロードは、Oracle Database Cloud Serviceリソースの使用可能な属性を記述します。

その属性リストを識別するには、特定のリソース・タイプについてRESTの資料を参照してください。 リソース・タイプのリストを参照してください。

テンプレート内のGetAtt関数を使用して、リソースから属性を取得します:

Fn::GetAtt: [resourceName, attributeName]

例:

parameters:
  dbURL: { "Fn::GetAtt": [mydb, connect_descriptor] }
  clusterSize: { "Fn::GetAtt": [mydb, num_nodes] }

ネストされた属性

RESTエンドポイントからのJSONレスポンス・ペイロードには、属性の階層が含まれる場合があります。 例:

{
  "keyComponentInstance": "mysql",
  "adminHostName": "mytestinstance-mysql-1",
  "components": {
    "mysql": {
      "attributes": {
        "CONNECT_STRING": {
          "displayName": "Connect Descriptor",
          "type": "STRING",
          "value": "142.114.43.1:3306\/mytestinstance"
        }
      }
    }
  }
}

GetAtt関数の属性名入力は、JSONペイロード内のネストされた属性にアクセスするためにドット表記をサポートしています。 たとえば、以前のJSONレスポンスで強調表示された属性にアクセスするには、次のようにします:

parameters:
  dbURL: { "Fn::GetAtt": [mydb, components.mysql.attributes.CONNECT_STRING.value] }

スタック属性

実行中のスタックをCLIまたはREST APIから監視する場合、Oracle Cloud Stackはスタックの作成者など、各スタックの標準実行時属性のセットを返します。 ただし、テンプレートでカスタム・スタック属性を定義することもできます。

テンプレート・ファイルのattributesノード内の属性を定義します。 各属性に名前とオプションの説明を付けます。 例:

attributes:
  OraConnectString:
    description: Connection string for Oracle database

各属性に値を割り当てます。 GetAtt関数を使用して、リソースの属性の値を取得します。 例:

attributes:
  OraConnectString:
    value: { "Fn::GetAtt": [mydb, components.mysql.attributes.CONNECT_STRING.value] }
    description: Connection string for Oracle database