ファイルまたはスクリプトタイプのデプロイメントパッケージを作成する場合、対応する実行コマンドまたはスクリプトコンテンツを [コマンド内容] フィールドに入力する必要があります。実行コマンドまたはスクリプトコンテンツでサービスインスタンスの特定のパラメーターを呼び出す場合は、コマンドを使用してデプロイメントパッケージ内のパラメーターを呼び出すことができます。このトピックでは、コマンドを使用してデプロイメントパッケージ内のパラメーターを呼び出す方法について説明します。
背景情報
顧客がサービスインスタンスをデプロイすると、Compute Nest はサービスインスタンスの入力パラメーターと出力パラメーターを CloudOps Orchestration Service (OOS) のパラメーターウェアハウスに保存します。これにより、顧客はパラメーターを表示および管理でき、サービスプロバイダーはパラメーターを簡単に呼び出すことができます。パラメーターウェアハウスの詳細については、「パラメーター」をご参照ください。
パラメーター呼び出しのコマンド
サービスプロバイダーとしてファイルまたはスクリプトタイプのデプロイメントパッケージを作成するときに、サービスインスタンスの特定のパラメーターを呼び出す場合は、{{ xxx }} コマンドを [デプロイメントパッケージの作成] ページの [コマンド内容] フィールドに入力して、サービスインスタンスの特定のパラメーターを呼び出すことができます。Compute Nest は、{{ xxx }} コマンド内のコンテンツを自動的に認識し、そのコンテンツを対応するパラメーターに置き換えます。
サービスインスタンスの入力パラメーターを呼び出す場合は、
{{ parameters_xxx }}フォーマットでコマンドを入力します。このコマンドフォーマットでは、xxx はテンプレートで定義された入力パラメーターを示します。サービスインスタンスの出力パラメーターを呼び出す場合は、
{{ outputs_xxx }}フォーマットでコマンドを入力します。このコマンドフォーマットでは、xxx はテンプレートで定義された出力パラメーターを示します。
パラメーターの呼び出し
次の例は、パラメーターを呼び出す方法を示しています。
ROS テンプレート
次のサンプルコードは、サービスを作成するときに定義される Resource Orchestration Service (ROS) テンプレートの例です。
{
"ROSTemplateFormatVersion": "2015-09-01",
"Description": {
"en": "このテンプレートは、カスタムイメージを使用した単一インスタンスをサポートしており、既存の ECS を使用するシナリオや、プリペイドまたはポストペイドモデルで ECS を作成するシナリオが含まれます"
},
"Parameters": {
"VpcId": {
"Default": null,
"AssociationProperty": "ALIYUN::ECS::VPC::VPCId",
"Type": "String",
"Description": {
</font></b>",
"en": "既存の VPC を選択してください。
コマンドを入力してパラメーターを呼び出す
デプロイメントパッケージを作成するときに、パラメーターを呼び出すコマンドを入力します。この例では、サービスインスタンスの VpcId パラメーターと InstanceIds パラメーターの値が呼び出されます。
Compute Nest は、コマンド内の VpcId パラメーターと InstanceIds パラメーターの値を、サービスインスタンスでこれら 2 つのパラメーターに設定された値に自動的に置き換えます。たとえば、サービスインスタンスの VpcId パラメーターの値が vpc-bp19b73artdf07gmkxxxx で、サービスインスタンスの InstanceIds パラメーターの値が i-bp1b7gbbybdnvafuxxx であるとします。パラメーターを呼び出すコマンドを実行すると、Compute Nest はコマンド内の {{parameters_VpcId}} を vpc-bp19b73artdf07gmkxxxx に、{{outputs_InstanceIds}} を i-bp1b7gbbybdnvafuxxx に置き換えます。
このプロセスは、次のコマンドを実行することと同じです。
echo vpc-bp19b73artdf07gmkxxxx
echo [ "i-bp1b7gbbybdnvafuxxx"]