Questa pagina descrive come esportare e rivedere i risultati di un'anteprima. Un'anteprima descrive le azioni per attivare una configurazione Terraform specifica. Prima di creare un nuovo deployment o aggiornarne uno esistente, puoi visualizzare in anteprima il deployment per verificare cosa è previsto che cambi.
Se non hai ancora creato l'anteprima che vuoi visualizzare, consulta Visualizzare l'anteprima di un deployment.
Questa pagina presuppone che tu abbia dimestichezza con Terraform. Per maggiori dettagli, vedi Terraform e Infrastructure Manager.
Prima di iniziare
- Abilita Infra Manager.
- Assicurati di disporre delle autorizzazioni IAM necessarie per esportare
le anteprime:
roles/config.admin
. - Crea un deployment di anteprima.
Esportare i risultati dell'anteprima
Per esaminare i risultati di un'anteprima, esportali prima. Poi, visualizza i risultati esportati utilizzando uno strumento appropriato.
Per esportare un'anteprima, il relativo stato deve essere SUCCEEDED
o
STALE
. Puoi visualizzare lo stato attuale di un'anteprima utilizzando i
comandi describe o list.
Esporta i risultati di un'anteprima e salvali localmente utilizzando il seguente comando:
gcloud infra-manager previews export projects/PROJECT_ID/locations/LOCATION/previews/PREVIEW_ID
Sostituisci:
- PROJECT_ID: l'ID progetto in cui viene eseguito Infrastructure Manager.
- LOCATION: la posizione in cui viene eseguito Infra Manager. Consulta le località di Infrastructure Manager per l'elenco delle località valide.
- PREVIEW_ID: l'identificatore dell'anteprima che specifichi. Per informazioni dettagliate sui vincoli dell'identificatore dell'anteprima, vedi Nome anteprima.
Visualizzare i risultati dell'anteprima
I risultati vengono esportati in due formati: il file binario del piano e la rappresentazione JSON. Puoi utilizzare uno dei due formati per esaminare i risultati. Per visualizzare i risultati, utilizza uno strumento appropriato per il formato.
Esaminare il file del piano binario
Per visualizzare il file del piano binario:
Verifica di aver installato la CLI di Terraform.
Verifica che la configurazione Terraform che hai utilizzato per creare l'anteprima sia presente localmente e inizializzata con
terraform init
.Stampa il piano proposto utilizzando
terraform show
.
Esamina la rappresentazione JSON
Per visualizzare la rappresentazione JSON, puoi utilizzare il tuo IDE o strumenti come jq.
Per applicare i vincoli dei criteri, puoi utilizzare la rappresentazione JSON con strumenti come Terraform vet.
Visualizzare i dettagli delle modifiche e della deriva delle risorse
Puoi utilizzare le anteprime per visualizzare la deriva delle risorse per la tua implementazione. La visualizzazione della deriva delle risorse per i deployment è utile per verificare che le modifiche alle configurazioni siano intenzionali e per riepilogare come cambierà il deployment quando viene aggiornato con una determinata anteprima.
Quando crei un'anteprima, utilizzi l'API Infra Manager per visualizzare le modifiche alle risorse man mano che aggiorni i deployment.
Visualizza la deriva delle risorse
Per visualizzare la deriva delle risorse, chiama ListResourceDrifts
:
curl \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
"https://config.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/previews/PREVIEW_ID/resourceDrifts"
Sostituisci:
- PROJECT_ID: L'identificatore del progetto Google Cloud in cui si trova il deployment dell'anteprima.
- LOCATION: La regione o la zona del deployment di anteprima.
- PREVIEW_ID: l'identificatore del deployment di anteprima.
Il risultato sarà simile a questo:
{
"resourceDrifts": [
{
"name": "projects/PROJECT_ID/locations/LOCATION/previews/PREVIEW_ID/resourceDrifts/RESOURCE_DRIFT_ID",
"terraformInfo": {
"address": "google_resource_type.resource_name",
"type": "google_resource_type",
"resourceName": "resource_name",
"provider": "registry.terraform.io/hashicorp/google"
},
"propertyDrifts": [
{
"path": "$.json_path_to_property_field",
"before": "config-defined-state",
"after": "remote-state"
}
]
}
]
}
Visualizzare i dettagli di una deriva
Per visualizzare i dettagli di una deriva, chiama il numero GetResourceDrift
:
curl \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
"https://config.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/previews/PREVIEW_ID/resourceDrifts/RESOURCE_DRIFT_ID"
Sostituisci:
- PROJECT_ID: L'identificatore del progetto Google Cloud in cui si trova la distribuzione dell'anteprima.
- LOCATION: La regione o la zona del deployment di anteprima.
- PREVIEW_ID: l'identificatore del deployment di anteprima.
- RESOURCE_DRIFT_ID: l'identificatore della deriva.
Il risultato sarà simile a questo:
{
"name": "projects/PROJECT_ID/locations/LOCATION/previews/PREVIEW_ID/resourceDrifts/RESOURCE_DRIFT_ID",
"terraformInfo": {
"address": "google_resource_type.resource_name",
"type": "google_resource_type",
"resourceName": "resource_name",
"provider": "registry.terraform.io/hashicorp/google"
},
"propertyDrifts": [
{
"path": "$.json_path_to_property_field",
"before": "config-defined-state",
"after": "remote-state"
}
]
}
Visualizzare l'anteprima delle modifiche alle risorse
Puoi utilizzare le anteprime per verificare in che modo le risorse cambieranno se aggiorni una distribuzione dall'anteprima.
Visualizzare le modifiche alle risorse
Per visualizzare l'impatto del deployment dell'anteprima sulle tue risorse, chiama
ListResourceChanges
:
curl \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
"https://config.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/previews/PREVIEW_ID/resourceChanges"
Sostituisci:
- PROJECT_ID: L'identificatore del progetto Google Cloud in cui si trova la distribuzione dell'anteprima.
- LOCATION: La regione o la zona del deployment di anteprima.
- PREVIEW_ID: l'identificatore del deployment di anteprima.
- RESOURCE_CHANGE_ID: l'identificatore della modifica della risorsa.
Il risultato sarà simile a questo:
{
"resourceChanges": [
{
"name": "projects/PROJECT_ID/locations/LOCATION/previews/PREVIEW_ID/resourceChanges/RESOURCE_CHANGE_ID",
"terraformInfo": {
"address": "google_resource_type.resource_name",
"type": "google_resource_type",
"resourceName": "resource_name",
"provider": "registry.terraform.io/hashicorp/google",
"actions": [
"update"
]
},
"intent": "UPDATE",
"propertyChanges": [
{
"path": "$.json_path_to_property_field1",
"before": "true"
},
{
"path": "$.json_path_to_property_field2",
"before": "old value",
"after": "new value"
}
]
}
]
}
Visualizzare i dettagli di una modifica alla risorsa
Per visualizzare i dettagli di una modifica alla risorsa, chiama GetResourceChange
:
curl \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
"https://config.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/previews/PREVIEW_ID/resourceChanges/RESOURCE_CHANGE_ID"
Sostituisci:
- PROJECT_ID: L'identificatore del progetto Google Cloud in cui si trova la distribuzione dell'anteprima.
- LOCATION: La regione o la zona del deployment di anteprima.
- PREVIEW_ID: l'identificatore del deployment di anteprima.
- RESOURCE_CHANGE_ID: l'identificatore della modifica della risorsa.
Il risultato sarà simile a questo:
{
"name": "projects/PROJECT_ID/locations/LOCATION/previews/PREVIEW_ID/resourceChanges/RESOURCE_CHANGE_ID",
"terraformInfo": {
"address": "google_resource_type.resource_name",
"type": "google_resource_type",
"resourceName": "resource_name",
"provider": "registry.terraform.io/hashicorp/google",
"actions": [
"update"
]
},
"intent": "UPDATE",
"propertyChanges": [
{
"path": "$.json_path_to_property_field1",
"before": "true"
},
{
"path": "$.json_path_to_property_field2",
"before": "old value",
"after": "new value"
}
]
}
Passaggi successivi
- Visualizza le anteprime di visualizzazione e elenco.
- Esegui il deployment delle risorse.
- Scopri di più su Terraform con Google Cloud.
- Aggiorna un deployment.
- Visualizza lo stato di un deployment.
- Visualizza le risorse di cui è stato eseguito il deployment.
- Eliminare un deployment.