Halaman ini menjelaskan cara mengekspor dan meninjau hasil pratinjau. Pratinjau mendeskripsikan tindakan untuk menggerakkan konfigurasi Terraform tertentu. Sebelum membuat deployment baru atau mengupdate deployment, Anda dapat melihat pratinjau deployment untuk memverifikasi apa yang direncanakan untuk diubah.
Jika Anda belum membuat pratinjau yang ingin dilihat, lihat Melihat pratinjau deployment.
Halaman ini mengasumsikan bahwa Anda sudah memahami Terraform. Untuk mengetahui detailnya, lihat Terraform dan Infrastructure Manager.
Sebelum memulai
- Aktifkan Infra Manager.
- Pastikan Anda memiliki izin IAM yang diperlukan untuk mengekspor pratinjau:
roles/config.admin
. - Buat deployment pratinjau.
Mengekspor hasil pratinjau
Untuk meninjau hasil pratinjau, ekspor terlebih dahulu hasilnya. Kemudian, lihat hasil yang diekspor menggunakan alat yang sesuai.
Untuk mengekspor pratinjau, statusnya harus SUCCEEDED
atau
STALE
. Anda dapat melihat status pratinjau saat ini menggunakan
perintah describe atau list.
Ekspor hasil pratinjau dan simpan secara lokal menggunakan perintah berikut:
gcloud infra-manager previews export projects/PROJECT_ID/locations/LOCATION/previews/PREVIEW_ID
Ganti:
- PROJECT_ID: project ID tempat Infrastructure Manager berjalan.
- LOCATION: lokasi tempat Infra Manager berjalan. Lihat Lokasi Infrastructure Manager untuk mengetahui daftar lokasi yang valid.
- PREVIEW_ID: ID pratinjau yang Anda tentukan. Lihat Nama pratinjau untuk mengetahui detail tentang batasan pada ID pratinjau.
Melihat hasil pratinjau
Hasil diekspor dalam dua format: file rencana biner, dan representasi JSON. Anda dapat menggunakan salah satu format untuk meninjau hasilnya. Untuk melihat hasilnya, gunakan alat yang sesuai untuk format tersebut.
Meninjau file rencana biner
Untuk melihat file rencana biner:
Pastikan Anda telah menginstal Terraform CLI.
Pastikan konfigurasi Terraform yang Anda gunakan untuk membuat pratinjau ada secara lokal dan diinisialisasi dengan
terraform init
.Cetak rencana yang diusulkan menggunakan
terraform show
.
Meninjau representasi JSON
Untuk melihat representasi JSON, Anda dapat menggunakan IDE atau alat seperti jq.
Untuk menerapkan batasan kebijakan, Anda dapat menggunakan representasi JSON dengan alat seperti Terraform vet.
Melihat detail perubahan dan penyimpangan resource
Anda dapat menggunakan pratinjau untuk melihat penyimpangan resource untuk deployment Anda. Melihat penyimpangan resource untuk deployment Anda berguna untuk memverifikasi bahwa perubahan pada konfigurasi Anda memang diinginkan, dan untuk merangkum bagaimana deployment Anda akan berubah saat deployment Anda diupdate dengan pratinjau tertentu.
Saat membuat pratinjau, Anda menggunakan Infra Manager API untuk melihat perubahan pada resource saat memperbarui deployment.
Melihat penyimpangan resource
Untuk melihat penyimpangan resource, panggil 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"
Ganti:
- PROJECT_ID: ID project Google Cloud tempat deployment pratinjau Anda berada.
- LOCATION: Region atau zona deployment pratinjau Anda.
- PREVIEW_ID: ID deployment pratinjau Anda.
Hasilnya akan terlihat seperti:
{
"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"
}
]
}
]
}
Melihat detail penyimpangan
Untuk melihat detail penyimpangan, panggil 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"
Ganti:
- PROJECT_ID: ID project Google Cloud tempat deployment pratinjau Anda berada.
- LOCATION: Region atau zona deployment pratinjau Anda.
- PREVIEW_ID: ID deployment pratinjau Anda.
- RESOURCE_DRIFT_ID: ID penyimpangan Anda.
Hasilnya akan terlihat seperti:
{
"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"
}
]
}
Melihat pratinjau perubahan referensi
Anda dapat menggunakan pratinjau untuk memeriksa perubahan resource jika Anda memperbarui deployment dari pratinjau.
Melihat perubahan resource
Untuk melihat pengaruh deployment pratinjau terhadap resource Anda, panggil
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"
Ganti:
- PROJECT_ID: ID project Google Cloud tempat deployment pratinjau Anda berada.
- LOCATION: Region atau zona deployment pratinjau Anda.
- PREVIEW_ID: ID deployment pratinjau Anda.
- RESOURCE_CHANGE_ID: ID perubahan resource Anda.
Hasilnya akan terlihat seperti:
{
"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"
}
]
}
]
}
Melihat detail perubahan resource
Untuk melihat detail perubahan resource, panggil 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"
Ganti:
- PROJECT_ID: ID project Google Cloud tempat deployment pratinjau Anda berada.
- LOCATION: Region atau zona deployment pratinjau Anda.
- PREVIEW_ID: ID deployment pratinjau Anda.
- RESOURCE_CHANGE_ID: ID perubahan resource Anda.
Hasilnya akan terlihat seperti:
{
"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"
}
]
}
Langkah berikutnya
- Melihat dan mencantumkan pratinjau.
- Deploy resource.
- Pelajari lebih lanjut Terraform dengan Google Cloud.
- Perbarui deployment.
- Melihat status deployment.
- Lihat resource yang di-deploy.
- Menghapus deployment.