マーケットプレイス・イメージへのTerraform構成のサブスクライブ
Terraform構成をMarketplaceイメージにサブスクライブするインスタンスと契約を作成します。
Terraform構成をMarketplaceイメージにサブスクライブするには、次のステップに従います:
-
公開されたマーケットプレイス・イメージからインスタンスを作成します。
このステップを完了するには、Terraform構成に次のリソースを追加する必要があります:
oci_core_app_catalog_listing_resource_version_agreement
oci_core_app_catalog_subscription
-
サブスクリプションおよびリソース・バージョン契約を作成します。
このステップを完了するには、次の情報を指定する必要があります。
Listing OCID (mp_listing_id)
Package Version Reference (mp_listing_resource_version)
Marketplace Image OCID (mp_listing_resource_id)
-
Listing OCID, Package Version Reference, and Marketplace Image OCID
の値を次のように取得します。これらの値を取得するには:- パートナ・ポータルにサイン・イン
- 「リスト」をクリックします。
- 「リスト」ページで、「公開済」タブをクリックします。
- サブスクライブするイメージ・リストを選択し、その行の右隅にあるメニュー・アイコン(4行アイコン)をクリックして、「リストの表示」を選択します。
- 「リストの編集」ページで、「アプリケーション・インストール・パッケージ」タブをクリックします。
- 「パッケージ・バージョン」リストから、サブスクライブするイメージ・リストのバージョンをクリックします。
- 「パッケージ情報の定義」セクションから、次の値をコピーします。
Listing OCID (mp_listing_id)
Package Version Reference (mp_listing_resource_version)
- 「OCIコンピュート・イメージの構成」セクションから、
Marketplace image ocid (mp_listing_resource_id)
の値をコピーします。
-
次のサンプルは、Marketplaceイメージ・サブスクリプションを作成します。完全な例は、を参照してください。
https://github.com/oracle-quickstart/oci-quickstart-template/blob/master/image_subscription.tf
# Local variables pointing to the Marketplace catalog resource # Eg. Modify accordingly to your Application/Listing locals { mp_listing_id = "${var.mp_listing_id}" mp_listing_resource_id = "${var.mp_listing_resource_id}" mp_listing_resource_version = "${var.mp_listing_resource_version}" } # Get Image Agreement resource "oci_core_app_catalog_listing_resource_version_agreement" "mp_image_agreement" { count = "${var.use_marketplace_image ? 1 : 0}" listing_id = "${local.mp_listing_id}" listing_resource_version = "${local.mp_listing_resource_version}" } # Accept Terms and Subscribe to the image, placing the image in a particular compartment resource "oci_core_app_catalog_subscription" "mp_image_subscription" { count = "${var.use_marketplace_image ? 1 : 0}" compartment_id = "${var.compartment_ocid}" eula_link = "${oci_core_app_catalog_listing_resource_version_agreement.mp_image_agreement.eula_link}" listing_id = "${oci_core_app_catalog_listing_resource_version_agreement.mp_image_agreement.listing_id}" listing_resource_version = "${oci_core_app_catalog_listing_resource_version_agreement.mp_image_agreement.listing_resource_version}" oracle_terms_of_use_link = "${oci_core_app_catalog_listing_resource_version_agreement.mp_image_agreement.oracle_terms_of_use_link}" signature = "${oci_core_app_catalog_listing_resource_version_agreement.mp_image_agreement.signature}" time_retrieved = "${oci_core_app_catalog_listing_resource_version_agreement.mp_image_agreement.time_retrieved}" timeouts { create = "20m" } } # Gets the partner image subscription data "oci_core_app_catalog_subscriptions" "mp_image_subscription" { #Required compartment_id = "${var.compartment_ocid}" #Optional listing_id = "${local.mp_listing_id}" filter { name = "listing_resource_version" values = ["${local.mp_listing_resource_version}"] } # Reference the Marketplace Image resource "oci_core_instance" "instance" { // availability_domain = "${data.oci_identity_availability_domain.ad.name}" //... source_details { source_type = "image" source_id = "${var.use_marketplace_image ? local.mp_listing_resource_id : var.custom_image_id}" } timeouts { create = "60m" } }