tencent cloud

Marketplace

製品アップデート
プロダクト概要
プロダクト概要
アプリケーションダッシュボードの紹介
購入ガイド
ユーザーガイド
初心者ガイド
アプリストアのアプリ利用ガイド
アプリケーションダッシュボード使用ガイド
サービスプロバイダーガイド
リリースプロセスの概要
インストールパッケージの作成と管理
よくある質問
ユーザー関連の問題
Marketplace Policy
プライバシーポリシー
データ処理とセキュリティ契約
Tencent Cloud Marketplace User Agreement
Tencent Cloud Marketplace Products Cooperation Agreement
Tencent Cloud Marketplace End User License Agreement(Standard Version)
Marketplace Product Cancellation and Refund Rules
お問い合わせ
用語一覧

インストールパラメータ、変数とアウトプットの使用

PDF
フォーカスモード
フォントサイズ
最終更新日: 2026-02-04 14:24:01

インストールのパラメータ

インストールパラメータは、お客様がソフトウェアを適切な方法でインストールすることを可能にします。一般的なシナリオには以下があります:
指定されたプライベートネットワーク(VPC)およびサブネット(Subnet)内にインストールを選択することで、ネットワーク設計を実施します。
顧客のセキュリティグループ(Security Group)を選択し、ネットワークアクセスポリシーを実施します。
使用するマシンタイプを選択することで、ユーザーの実際の容量ニーズにより適切に合致させます。
最終デプロイ対象のドメインと証明書を選択することで、証明書の自動デプロイを実現します。

package.yamlでインストールパラメータを宣言する

インストールパッケージはpackage.yamlでインストールパラメータを宣言することができ、Marketplaceはこれらの宣言されたインストールパラメータに対応するインストール画面を生成します。以下の例はMarketplaceテンプレートCT_001_cvm-ipからのものです。
# <package.yaml>
# カスタムインストールパラメータで、widgetによるインストールフォーム宣言を取得します。
args:
- name: app_target
label: ターゲットネットワーク
widget: subnet-select
- name: cvm_type
lable: クラウドサーバータイプ
widget: cvm-instance-type-select
region: ${app_target.region}
zone: ${app_target.subnet.zone}
- name: sg
label: セキュリティグループ
widget: security-group-select
regions:
- ${app_target.region}




インストールパラメータを宣言する際に、package.yamlで使用されるフィールドは、以下の通りです:
フィールド
説明
args
argsを使用してパラメータリストを宣言し、各項目はパラメータです。インストール画面は宣言された順序に従ってインストールコンポーネントを表示します。
args[i].name
パラメータ識別子は、Terraformで使用する変数名として後で宣言するものです。
args[i].label
パラメータ名です。インストール画面にそのパラメータ名が表示されます。
args[i].widget
パラメータで使用するインストールコンポーネントです。対応するコンポーネントの詳細はインストールパラメータマニュアルをご参照ください。
args[i].region
args[i].zone
...
パラメータのインストールコンポーネント設定では、コンポーネントタイプごとに異なる設定フィールドがあります。詳細はインストールパラメータマニュアルをご参照ください。
コンポーネントの設定は、通常、ユーザー入力時に、より詳細な選択範囲を提供します。例えば、ユーザーがターゲットネットワークを選択した後、サーバータイプは、ターゲットサブネットがサポートするインスタンスタイプの範囲に限定でき、無効な選択を避けることができます。
args[i].when
(高度な使用方法)パラメータの表示条件です。パラメータはデフォルトではインストール画面に表示されず、whenの条件を満たした場合にのみ表示されます。インストールコンポーネントのフォーム連動に使用できます。
args[i].hidden
(高度な使用方法)パラメータの非表示条件です。デフォルトのパラメータはインストール画面に表示されますが、whenの条件を満たす場合に非表示になります。インストールコンポーネントのフォーム連動に使用できます。
args[i].validator
(高度な使用方法)パラメータの検証ルールは、ユーザーの設定ミスを減らすのに役立ちます。

tfファイルでのインストールパラメータの使用

package.yamlファイルでインストールパラメータを定義した後、tfファイルで使用を宣言できます。以下の例はCT_001_cvm-ipからのものです。
# <variable.tf>
#CVMインスタンスタイプ選択の変数
variable "cvm_type" {
type = object({
region        = string
region_id     = string
zone          = string
instance_type = string
})
}
異なるタイプのインストールパラメータでは、変数値のtypeが異なります。詳細はインストールパラメータマニュアルをご参照ください。
宣言後は、通常のTerraform変数として使用できます。
# <deployment.tf>
resource "tencentcloud_instance" "demo_cvm" {
# CVMインスタンスタイプ
instance_type = var.cvm_type.instance_type
}

変数

変数宣言

インストールパッケージでは、使用されるすべての変数を宣言する必要があります:
# <variable.tf>
# CVMモデルタイプ選択変数
variable "cvm_type" {
type = object({
region        = string
region_id     = string
zone          = string
instance_type = string
})
}
リソースブロックと同様に、変数ブロックvariableを使用して変数を宣言します。上記の宣言ではcvm_typeが変数名となり、リソースブロック内でvar.cvm_typeと記述することで参照できます。

変数分離実践

変数を使用することで、リソースオーケストレーションのパラメータを効果的に管理できます。例えば、サービスプロバイダーがオーケストレーションアーキテクチャが基本的に同一の2つのコンポーネントを持ち、サーバーイメージのみが異なる場合、イメージIDを変数として抽出することが可能です。
実践では、インストールパッケージのinfrastructureディレクトリでvariable.tfとdeployment.tfを使用して変数とオーケストレーション部分を分離することを推奨します。Marketplaceのテンプレートライブラリから、より多くの実践的な参考情報を入手できます。

変数タイプ

インストールパッケージにおいて、使用可能な変数は二種類に分けられます:システム変数とアプリ変数です。
システム変数:デプロイに必要な情報を提供するために使用されます。例えば、イメージリポジトリのアドレスとクレデンシャル、CAMロール情報などです。プレフィックスとしてcloudapp_を使用し、すべてのインストールパッケージで利用可能です。
パラメータ変数package.yamlで定義されたアプリケーションパラメータは、対応するアプリケーション変数を生成し、変数名はパラメータ名となります。
普通変数:アプリケーション自身が宣言する使用変数です。例えば、クラウドサーバーイメージ ID、データベース基本設定などです。
システム変数のリストと詳細については、システム変数マニュアルを参照してください。アプリケーションパラメータの設定方法については、インストールパラメータマニュアルを参照してください。
変数の使用は必ず宣言する必要があります。
システム変数とアプリケーション変数の値はいずれも自動注入されますが、TFファイルで使用する際には宣言が必須です。宣言せずに直接使用した変数は、インストールパッケージのパッケージング失敗につながります。

出力

アプリケーションのインストール結果は、お客様にご提供する必要があります。例えば、アプリのアクセスアドレス、管理システムのアドレス、または管理システムの初期パスワードなどです。tfファイルでoutputを宣言することで実現できます。
output "main" {
value = "https://my.${var.selected_domain}"
# value = "http://${tencentcloud_instance.cloudapp_cvm.public_ip}:8080"
description = "アクセス入口"
}
output "a_admin_url" {
value = "https://admin.${var.selected_domain}"
description = "運営システム"
}
output "b_admin_default_user" {
value = "admin"
description = "デフォルト管理者ユーザー"
}
output "c_admin_default_password" {
value = random_password.default_admin.result
description = "デフォルト管理者パスワード"
sensitive = true
}
注意:
変数名がmainである出力を追加し、valueをURLに設定することをお勧めします。この値は顧客アプリケーションのデフォルト起動URLとして使用されます。
sensitive = trueが宣言されている場合、機密情報を表します(顧客は機密情報インターフェースに対してCAMまたはMFAのセキュリティ制限を設定できます)。
最終結果項目の表示順序は、tfファイルでの宣言順序に必ずしも従うわけではなく、output変数名をアルファベット順でソートした結果に基づきます。
宣言の出力として、顧客は看板アプリケーション詳細で対応するインストール結果を見ることができます。


ヘルプとサポート

この記事はお役に立ちましたか?

フィードバック