Preview stack#
スタックをプレビューします。
APIエンドポイント#
リージョン | APIエンドポイント |
---|---|
西日本リージョン3の場合 | https://orchestration.jp-west-3.cloud.global.fujitsu.com |
東日本リージョン3の場合 | https://orchestration.jp-east-3.cloud.global.fujitsu.com |
HTTPメソッドとURI#
POST
/v1/{tenant_id}/stacks/preview
HTTPステータスコード#
正常時:200
エラー時:400, 401, 409, 500
リクエストパラメータの説明#
名前 | In | Type | デフォルト値 /必須指定 |
Description |
---|---|---|---|---|
tenant_id | path | string | 必須 | プロジェクトID |
disable_rollback | body | boolean | 任意 | スタック作成に失敗したときに、スタックに含まれる作成済みのリソースを削除する場合に「false」を指定します。 省略したときの値は 「true」です。 |
environment | body | object | 任意 | スタックの環境情報(JSON形式) |
environment_files | body | object | 任意 | filesに含まれている環境ファイルの名前のリスト |
files | body | object | 任意 | ファイル名とファイル内容のマップ テンプレートで組み込み関数 get_fileを使用する場合に指定します。 リクエストボディのJSON形式が正しくなるように、必要に応じてファイル内容に含まれる文字をエスケープして指定します。 例えば、ダブルクォーテーション (")を「\"」に、改行を「\n」に置換して指定します。 |
parameters | body | object | 任意 | テンプレートに渡す入力パラメータ 各キーと値のペアはパラメータとその引数です。 |
stack_name | body | string | 必須 | 作成するスタックの名前 半角英数字、アンダースコア(_)、ハイフン(-)、ピリオド(.)で構成される先頭英字の文字列を指定します。最大長は255文字です。256文字目以降は無視されます。 |
tags | body | string | 任意 | スタックに関連付けるタグ コンマで区切られます。 |
template | body | object | 任意 | テンプレートの文字列 リクエストボディのJSON形式が正しくなるように、必要に応じてテンプレートに含まれる文字をエスケープして指定します。 例えば、ダブルクォーテーション (")を「\"」に、改行を「\n」に置換して指定します。 |
timeout_mins | body | integer | 60 任意 |
タイムアウト値(分単位) |
レスポンスボディ(正常系)の説明#
名前 | Type | Description |
---|---|---|
capabilities | array | スタックに許可された機能 |
creation_time | string | リソースの作成日時 日時の入力形式は以下のISO 8601形式です。 CCYY-MM-DDThh:mm:ss±hh:mm 例:2015-08-27T09:49:58-05:00 「±hh:mm」の部分は、タイムゾーンにUTCからのオフセットがある場合にだけ表示されます。 |
deletion_time | string | リソースの削除日時 日時の入力形式は以下のISO 8601形式です。 CCYY-MM-DDThh:mm:ss±hh:mm 例:2015-08-27T09:49:58-05:00 「±hh:mm」の部分は、タイムゾーンにUTCからのオフセットがある場合にだけ表示されます。 |
description | string | スタックの説明 |
disable_rollback | boolean | スタック作成に失敗したときに、スタックに含まれる作成済みのリソースを削除する場合に「false」を指定します。 省略したときの値は 「true」です。 |
id | string | スタックのUUID |
links | array | スタックのURLのリスト 各URLはhrefとrelのキーペアを含めるJSONのオブジェクトです。relは対象のスタックとの関係を表示します。selfの場合は、対象スタック自身です。 |
notification_topics | array | スタックの通知トピックのリスト |
outputs | array | スタックの出力のリスト |
parameters | object | キーと値のペアのリスト 各キーに、利用者またはAPIに作成されたパラメータ名が含まれています。 |
parent | string | 親スタックの名前 (当該スタックが子スタックである場合だけ表示されます。) |
resources | array | スタックのリスト |
stack | object | スタックのオブジェクト |
stack_name | string | 作成するスタックの名前 半角英数字、アンダースコア(_)、ハイフン(-)、ピリオド(.)で構成される先頭英字の文字列を指定します。最大長は255文字です。256文字目以降は無視されます。 |
stack_owner | string | スタックの所有者 |
stack_user_project_id | string | スタックの所有者のプロジェクトUUID |
tags | array | スタックのタグのリスト |
template_description | string | スタックテンプレートの説明 |
timeout_mins | integer | タイムアウト値(分単位) 省略した場合は60です。 |
updated_time | string | リソースの更新日時 日時の入力形式は以下のISO 8601形式です。 CCYY-MM-DDThh:mm:ss±hh:mm 例:2015-08-27T09:49:58-05:00 「±hh:mm」の部分は、タイムゾーンにUTCからのオフセットがある場合にだけ表示されます。 |
リクエスト例#
{ "files": {}, "disable_rollback": true, "parameters": { "flavor": "m1.heat" }, "stack_name": "teststack", "template": { "heat_template_version": "2013-05-23", "description": "Simple template to test heat commands", "parameters": { "flavor": { "default": "m1.tiny", "type": "string" } }, "resources": { "hello_world": { "type": "OS::Nova::Server", "properties": { "key_name": "heat_key", "flavor": { "get_param": "flavor" }, "image": "40be8d1a-3eb9-40de-8abd-43237517384f", "user_data": "#!/bin/bash -xv\necho \"hello world\" > /root/hello-world.txt\n" } } } }, "timeout_mins": 60 }
レスポンス例#
{ "stack": { "capabilities": [], "creation_time": "2015-01-31T15:12:36Z", "deletion_time": null, "description": "HOT template for Nova Server resource.\n", "disable_rollback": true, "id": "None", "links": [ { "href": "http://192.168.122.102:8004/v1/6e18cc2bdbeb48a5basad2dc499f6804/stacks/test_stack/None", "rel": "self" } ], "notification_topics": [], "outputs": [], "parameters": { "OS::project_id": "6e18cc2bdbeb48a5basad2dc499f6804", "OS::stack_id": "None", "OS::stack_name": "teststack", "admin_user": "cloud-user", "flavor": "m1.small", "image": "F20-cfg", "key_name": "heat_key", "server_name": "MyServer" }, "parent": null, "resources": [ { "attributes": {}, "description": "", "metadata": {}, "physical_resource_id": "", "properties": { "description": "Ping and SSH", "name": "the_sg", "rules": [ { "direction": "ingress", "ethertype": "IPv4", "port_range_max": null, "port_range_min": null, "protocol": "icmp", "remote_group_id": null, "remote_ip_prefix": null, "remote_mode": "remote_ip_prefix" }, { "direction": "ingress", "ethertype": "IPv4", "port_range_max": 65535, "port_range_min": 1, "protocol": "tcp", "remote_group_id": null, "remote_ip_prefix": null, "remote_mode": "remote_ip_prefix" }, { "direction": "ingress", "ethertype": "IPv4", "port_range_max": 65535, "port_range_min": 1, "protocol": "udp", "remote_group_id": null, "remote_ip_prefix": null, "remote_mode": "remote_ip_prefix" } ] }, "required_by": [ "server1" ], "resource_action": "INIT", "resource_identity": { "path": "/resources/the_sg_res", "stack_id": "None", "stack_name": "teststack", "tenant": "6e18cc2bdbeb48a5b3cad2dc499f6804" }, "resource_name": "the_sg_res", "resource_status": "COMPLETE", "resource_status_reason": "", "resource_type": "OS::Neutron::SecurityGroup", "stack_identity": { "path": "", "stack_id": "None", "stack_name": "teststack", "tenant": "6e18cc2bdbeb48a5b3cad2dc499f6804" }, "stack_name": "teststack", "updated_time": "2015-01-31T15:12:36Z" }, { "attributes": { "accessIPv4": "", "accessIPv6": "", "addresses": "", "console_urls": "", "first_address": "", "instance_name": "", "name": "MyServer", "networks": "", "show": "" }, "description": "", "metadata": {}, "physical_resource_id": "", "properties": { "admin_pass": null, "admin_user": "cloud-user", "availability_zone": null, "block_device_mapping": null, "config_drive": null, "diskConfig": null, "flavor": "m1.small", "flavor_update_policy": "RESIZE", "image": "F20-cfg", "image_update_policy": "REPLACE", "key_name": "heat_key", "metadata": { "ha_stack": "None" }, "name": "MyServer", "networks": [ { "fixed_ip": null, "network": "private", "port": null, "uuid": null } ], "personality": {}, "reservation_id": null, "scheduler_hints": null, "security_groups": [ "None" ], "software_config_transport": "POLL_SERVER_CFN", "user_data": "", "user_data_format": "HEAT_CFNTOOLS" }, "required_by": [], "resource_action": "INIT", "resource_identity": { "path": "/resources/hello_world", "stack_id": "None", "stack_name": "teststack", "tenant": "6e18cc2bdbeb48a3433cad2dc499sdf32234" }, "resource_name": "hello_world", "resource_status": "COMPLETE", "resource_status_reason": "", "resource_type": "OS::Nova::Server", "stack_identity": { "path": "", "stack_id": "None", "stack_name": "teststack", "tenant": "6e18cc2bdbeb48a3433cad2dc499sdf32234" }, "stack_name": "teststack", "updated_time": "2015-01-31T15:12:36Z" } ], "stack_name": "test_stack", "stack_owner": null, "tags": null, "template_description": "HOT template for Nova Server resource.\n", "timeout_mins": null, "updated_time": null } }