get_attr
get_attr 関数では、インスタンス化したリソースのattributeの値を参照できます。
リソースタイプに定義されているattributeの名前を指定します。
get_attr:
- <resource ID>
- <attribute name>
- <key/index 1>
- <key/index 2>
- ...
Element | Required | Description |
---|---|---|
<resource ID> | Yes | Resources Sectionで定義したリソースのIDを指定します。 |
<attribute name> | Yes | 値を参照したいattributeの名前を指定します。リソースタイプに定義されているattributeの名前を使用できます。 |
<key/index 1,2,..> | No | attributeがリストまたはハッシュの場合にデータを取得するためのキーまたはインデックスを指定します。 |
get_attr 関数の指定例
resources:
my_instance:
type: OS::Nova::Server
outputs:
instance_ip:
description: IP address of the deployed compute instance
value: { get_attr: [my_instance, first_address] }
instance_private_ip:
description: Private IP address of the deployed compute instance
value: { get_attr: [my_instance, networks, private, 0] }
この例では、'networks' attribute は以下のようなデータを保持しています。
{"public": ["2001:0db8:0000:0000:0000:ff00:0042:8329", "1.2.3.4"],
"private": ["10.0.0.1"]}
上記の例では、outputsセクションのinstance_private_ipの値は"10.0.0.1"になります。