Sottoscrizione delle configurazioni Terraform alle immagini del Marketplace

Crea un'istanza e accetta di sottoscrivere le configurazioni Terraform alle immagini del Marketplace.

Per sottoscrivere le configurazioni Terraform alle immagini del Marketplace, attenersi alla procedura riportata di seguito.

  1. Creare un'istanza da un'immagine del Marketplace pubblicata.
    Per completare questo passo, è necessario aggiungere le seguenti risorse nella configurazione Terraform:
    • oci_core_app_catalog_listing_resource_version_agreement
    • oci_core_app_catalog_subscription
  2. Creare una sottoscrizione e un accordo sulla versione della risorsa.
    Per eseguire questa operazione, è necessario fornire le informazioni riportate di seguito.
    • Listing OCID (mp_listing_id)
    • Package Version Reference (mp_listing_resource_version)
    • Marketplace Image OCID (mp_listing_resource_id)
  3. Recupera i valori per Listing OCID, Package Version Reference, and Marketplace Image OCID, come indicato di seguito.
    Per ottenere i seguenti valori:
    1. Accedi al portale partner.
    2. Fare clic su Listings.
    3. Nella pagina Elenchi fare clic sulla scheda Pubblicato.
    4. Selezionare l'elenco di immagini a cui si sta effettuando la sottoscrizione, fare clic sull'icona del menu (l'icona a quattro righe) nell'angolo destro della riga e selezionare Visualizza elenco.
    5. Nella pagina Modifica elenco, fare clic sulla scheda Pacchetto di installazione applicazione.
    6. Nell'elenco Versioni package, fare clic sulla versione dell'elenco di immagini a cui si sta effettuando la sottoscrizione.
    7. Nella sezione Definisci informazioni sul package copiare i valori riportati di seguito.
      • Listing OCID (mp_listing_id)
      • Package Version Reference (mp_listing_resource_version)
    8. Nella sezione Configura immagine di OCI Compute copiare il valore di Marketplace image ocid (mp_listing_resource_id).
  4. L'esempio seguente crea una sottoscrizione all'immagine del Marketplace. Per un esempio completo, fare riferimento a:
    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"
      }
    }