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
    }
}