Crea script e file di stato con Ricerca automatica risorse
Generare file Terraform per le risorse esistenti nel compartimento.
Utilizzare la funzione di ricerca automatica delle risorse OCI per:
- Creare file di stato per le risorse esistenti nella console, quindi aggiungere tali risorse a un'impostazione Terraform.
- Duplica l'infrastruttura esistente in una nuova tenancy o area.
- Rileva la deviazione dello stato per le risorse aggiornate.
In questa esercitazione è possibile creare script e file di stato per le risorse nel proprio account mediante la funzione di ricerca automatica delle risorse. Successivamente, utilizzi Terraform per gestire le risorse.
I task chiave includono come:
- Creare una risorsa mediante la console.
- Creare script e un file di stato per la risorsa tramite la funzione di ricerca automatica delle risorse.
- Aggiornare la risorsa con Terraform.
- Verificare che la risorsa sia stata aggiornata nella console.

Per ulteriori informazioni, fare riferimento agli argomenti sotto riportati.
Informazioni preliminari
Per eseguire correttamente questa esercitazione, è necessario disporre dei seguenti elementi:
- Un account Oracle Cloud Infrastructure. Vedi Richiedi e gestisci le promozioni gratuite su Oracle Cloud.
- Un computer MacOS, Linux o Windows.
- Risorse dell'esercitazione su Terraform:
- Passare a tutti i passi di Impostazione della ricerca automatica delle risorse.
- Prendere nota del comando del provider Terraform OCI:
- Cloud Shell:
terraform-provider-oci_<version>
da/usr/bin
- Istanza di computazione o ambiente locale: utilizzare il comando
<shorter-alias>
creato nell'esercitazione precedente anzichéterraform-provider-oci_<version>
.- Esempio:
tf-oci
- Esempio:
- Cloud Shell:
- Terraform v1.1.3+:
- Se si utilizza Cloud Shell, non è necessario installare Terraform. Terraform è già installato.
- Se si utilizza un'istanza di computazione o un ambiente locale, attenersi alla procedura descritta in Installa Terraform.
1. Crea una risorsa
Creare un bucket nella tenancy mediante la console. Questo bucket non dispone di uno script Terraform. In seguito, utilizza la ricerca automatica delle risorse per creare uno script Terraform e un file di stato per il bucket.
Se il nome utente si trova nel gruppo Administrators
, saltare questa sezione. In caso contrario, chiedere all'amministratore di aggiungere il criterio seguente alla tenancy:
allow group <a-group-your-username-belongs-to> to manage compartments in tenancy
Questo privilegio consente di creare un compartimento per tutte le risorse dell'esercitazione.
- Accedi alla console di Oracle Cloud.
- Nel menu di navigazione selezionare il menu Profilo
e quindi selezionare Impostazioni utente o Profilo personale, a seconda dell'opzione visualizzata.
- Selezionare Gruppi o Gruppi personali, a seconda dell'opzione visualizzata.
- In un blocco note, copia il nome di un gruppo a cui appartiene il tuo nome utente.
- Aprire il menu di navigazione e selezionare Identità e sicurezza. In Identità, selezionare Criteri.
- Selezionare il compartimento:
<your-tenancy>(root)
- Selezionare Crea criterio.
- Nella pagina Crea criterio, immettere i valori riportati di seguito.
- Nome:
manage-compartments
- Descrizione:
Allow the group <a-group-your-username-belongs-to> to list, create, update, delete and recover compartments in the tenancy.
- Compartimento:
<your-tenancy>(root)
- Nome:
- Per Costruzione guidata criteri, selezionare Mostra editor manuale.
- Incolla nel seguente criterio:
allow group <a-group-your-username-belongs-to> to manage compartments in tenancy
- Selezionare Crea.
Riferimento: Dettagli per le combinazioni Verbi + Tipo di risorsa (vedere il tipo di risorsa compartments
)
Creare un compartimento per le risorse create in questa esercitazione.
- Nella console: aprire il menu di navigazione , selezionare Identità e sicurezza. In Identità, selezionare Compartimenti.
- Selezionare Crea compartimento.
- Immettere i valori seguenti:
- Nome:
<your-compartment-name>
- Descrizione:
Compartment for <your-description>.
- Compartimento padre:
<your-tenancy>(root)
- Nome:
- Selezionare Crea compartimento.
Riferimento: creazione di un compartimento
Se il nome utente si trova nel gruppo Administrators
, saltare questa sezione. In caso contrario, chiedere all'amministratore di aggiungere il criterio seguente alla tenancy:
allow group <a-group-your-username-belongs-to> to manage all-resources in compartment <your-compartment-name>
Con questo privilegio, puoi gestire tutte le risorse nel tuo compartimento, concedendoti i diritti amministrativi in tale compartimento.
- Nella console: aprire il menu di navigazione e selezionare Identità e sicurezza. In Identità, selezionare Criteri.
- Selezionare il compartimento.
- Selezionare Crea criterio.
- Nella pagina Crea criterio, immettere i valori riportati di seguito.
- Nome:
manage-<your-compartment-name>-resources
- Descrizione:
Allow users to list, create, update, and delete resources in <your-compartment-name>.
- Compartimento:
<your-tenancy>(root)
- Nome:
- In Costruzione guidata criteri, immettere i valori riportati di seguito.
- Casi d'uso dei criteri:
Compartment Management
- Modelli di criteri comuni:
Let compartment admins manage the compartment
- Dominio di Identity: <identity-domain>
- Gruppi:
<a-group-your-username-belongs-to>
- Posizione:
<your-compartment-name>
- Casi d'uso dei criteri:
- Selezionare Crea.
Riferimento: criteri comuni
Creare un bucket nel compartimento.
Assicurarsi di creare il bucket in
<your-compartment-name>
.2. Scopri la risorsa
Individuare il bucket creato nel compartimento.
- Andare a Utilizzo (individuazione risorse).
Vengono elencate due opzioni di comando.
- Selezionare l'opzione di comando che utilizza
compartment_name
come comando base:terraform-provider-oci -command=export -compartment_name=<xxx> -output_path=<xxx>
- Aggiornare il comando di base:
- Al posto di
terraform-provider-oci
, utilizzare il comando di collegamento simbolico:tf-oci
- Rivedere la sezione Descrizione parametro per aggiungere i valori appropriati ai parametri nel comando base.
- Utilizzare il comando di esportazione per eseguire la ricerca automatica delle risorse:
-command=export
- Immettere il nome del compartimento che si stanno scoprendo le relative risorse:
-compartment_name=<your-compartment-name>
- Creare e quindi specificare una directory per le risorse trovate:
Esempio:
-output_path=$HOME/resource-discovery
- Utilizzare il comando di esportazione per eseguire la ricerca automatica delle risorse:
- Al posto di
- Aggiungere il parametro seguente dalla sezione Descrizione parametro al comando base:
services
- Dai nomi dei servizi elencati per
services
, utilizzare:object_storage
- Esempio:
-services=object_storage
- Per individuare più servizi, separarli con una virgola.
- Esempio:
-services=object_storage,core
- Non sono necessarie virgolette intorno ai nomi dei servizi.
- Costruisci il comando:
Ad esempio:
tf-oci -command=export -compartment_name=<your-compartment-name> -services=object_storage -output_path=$HOME/resource-discovery
Nota
Risoluzione dei problemi[ERROR] output_path does not exist: stat /$HOME/resource-discovery: no such file or directory
Il comando di ricerca automatica delle risorse non crea una directory per le risorse trovate. Creare una directory e specificare il percorso nel comando.
[ERROR] no output directory specified
Il parser si ferma al parametro a cui manca un trattino. Assicurarsi di aggiungere un trattino all'inizio di ogni parametro. Ad esempio, se si utilizza
services
anziché-services
, il parser non raggiunge la directory di output.
Complimenti. È stato creato un file di stato per la risorsa bucket.
Riferimenti:
3. Aggiorna la risorsa
Aggiornare il nome del bucket nel file object_storage.tf
, quindi eseguire gli script Terraform. L'account esegue l'autenticazione degli script, quindi Terraform aggiorna il nome del bucket. Confermare il nome del nuovo bucket tramite la console.
Aggiorna il bucket
- Eseguire gli script Terraform:
terraform apply
- Quando viene richiesta la conferma, immettere
yes
per sostituire il nome del bucket.Output di esempio:
Apply complete! Resources: 1 added, 0 changed, 0 destroyed.
Trova nome nuovo bucket nella console
- Aprire il menu di navigazione e selezionare Memorizzazione. In Storage degli oggetti e storage di archivio selezionare Bucket.
- Selezionare il compartimento:
<your-compartment-name>
. - Nella lista dei bucket, controllare il nome del bucket.
Il nome del bucket è
<your-bucket-name>-2
.
Pagina successiva
Esplora altre esercitazioni su Terraform:
Per ulteriori informazioni sullo sviluppo con i prodotti Oracle, visitare i seguenti siti: