Abonnement des configurations Terraform aux images Marketplace
Créez une instance et un contrat pour abonner les configurations Terraform aux images Marketplace.
Pour abonner des configurations Terraform aux images Marketplace, procédez comme suit :
-
Créez une instance à partir d'une image Marketplace publiée.
Pour terminer cette étape, vous devez ajouter les ressources suivantes dans votre configuration Terraform :
oci_core_app_catalog_listing_resource_version_agreementoci_core_app_catalog_subscription
-
Créez un abonnement et un contrat de version de ressource.
Pour effectuer cette étape, vous devez fournir les informations suivantes :
Listing OCID (mp_listing_id)Package Version Reference (mp_listing_resource_version)Marketplace Image OCID (mp_listing_resource_id)
-
Obtenez des valeurs pour
Listing OCID, Package Version Reference, and Marketplace Image OCID, comme suit :Pour obtenir les valeurs suivantes :- Connexion au portail Partenaires.
- Cliquez sur Répertorier.
- Sur la page Liste, cliquez sur l'onglet Publié.
- Sélectionnez la liste d'images à laquelle vous êtes abonné, cliquez sur l'icône de menu (icône de quatre lignes) dans le coin droit de cette ligne et sélectionnez Afficher la liste.
- Sur la page Modifier la liste, cliquez sur l'onglet Package d'installation d'application.
- Dans la liste Versions de package, cliquez sur la version de la liste d'images à laquelle vous êtes abonné.
- Dans la section Définir les informations de package, copiez les valeurs suivantes :
Listing OCID (mp_listing_id)Package Version Reference (mp_listing_resource_version)
- Dans la section Configurer l'image OCI Compute, copiez la valeur de
Marketplace image ocid (mp_listing_resource_id).
-
L'exemple suivant crée un abonnement à une image Marketplace. Pour un exemple complet, reportez-vous à :
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" } }