Panduan ini menjelaskan cara mengelola setelan resource. Anda dapat menggunakan Setelan Resource untuk mengonfigurasi setelan secara terpusat untuk project, folder, dan organisasi Google Cloud Anda. Setiap setelan resource memungkinkan Anda mengontrol aspek layanan yang didukung.
Sebelum memulai
Untuk mengetahui informasi selengkapnya tentang setelan resource dan cara kerjanya, lihat Ringkasan Setelan Resource.
Mengaktifkan API
Resource Settings API dapat diaktifkan untuk setiap project.
Konsol Google Cloud
Untuk mengaktifkan Resource Settings API, lakukan hal berikut:
- Pilih project yang akan Anda gunakan untuk mengakses API.
- Klik tombol Enable APIs and Service.
- Telusuri "Setelan Resource".
- Di hasil penelusuran, klik "Resource Settings API".
- Jika "API enabled" ditampilkan, berarti API sudah diaktifkan. Jika belum, klik tombol Enable.
gcloud
Untuk mengaktifkan Resource Settings API, gunakan perintah gcloud services enable
:
gcloud services enable resourcesettings.googleapis.com
Izin yang diperlukan
Izin yang Anda perlukan bergantung pada tindakan yang harus dilakukan.
Untuk mendapatkan izin ini, minta administrator untuk memberikan peran yang disarankan pada level hierarki resource yang sesuai.
Melihat setelan resource
Untuk melihat setelan resource yang tersedia untuk digunakan pada resource, serta nilai setelan lokal yang efektif pada resource, Anda memerlukan peran Resource Settings Viewer (roles/resourcesettings.viewer
), atau peran lain yang menyertakan izin berikut:
resourcesettings.settings.get
resourcesettings.settings.list
Mengelola setelan resource
Untuk membuat, memperbarui, dan menghapus nilai setelan resource pada resource, Anda memerlukan peran Resource Settings Administrator (roles/resourcesettings.admin
), atau peran lain yang menyertakan izin berikut:
resourcesettings.settings.get
resourcesettings.settings.list
resourcesettings.settings.update
Mencantumkan setelan yang tersedia
Anda bisa mendapatkan daftar semua setelan resource yang tersedia untuk resource tertentu. Daftar ini menampilkan semua setelan resource yang dapat diterapkan ke resource. Setelan resource dalam status pratinjau hanya tersedia bagi pengguna yang telah diberi izin eksplisit untuk menggunakannya.
gcloud
Untuk mendapatkan daftar semua setelan yang tersedia untuk digunakan pada resource, gunakan perintah gcloud resource-settings list
berikut:
gcloud resource-settings list --RESOURCE_ID
Dengan RESOURCE_ID
sebagai ID folder, project, atau organisasi tempat Anda ingin menemukan setelan resource yang tersedia.
Contoh: --project=7890123456
API
Untuk mendapatkan daftar semua setelan yang tersedia untuk digunakan pada resource, gunakan salah satu metode settings.list
berikut. Gunakan metode yang sesuai dengan
jenis resource yang setelan-setelannya ingin Anda cantumkan:
curl -X GET -H "Content-Type: application/json" -H \ "Authorization: Bearer $ACCESS_TOKEN" \ https://resourcesettings.googleapis.com/v1/RESOURCE_ID/settings
Ganti kode berikut:
ACCESS_TOKEN
: token akses OAuth 2.0 Anda.RESOURCE_ID
: ID folder, project, atau organisasi yang setelan resource-nya ingin Anda temukan. Contoh:projects/7890123456
Contoh respons
Respons terhadap permintaan daftar di folders/4567890123
terlihat mirip dengan
berikut:
{ "settings" : [ { "name": "folders/4567890123/settings/net-preferredDnsServers", "metadata": { "displayName": "Preferred DNS Servers", "description": "The DNS servers to be used by VMs associated with this resource.", "read_only": false, "data_type" : "STRING_SET", "default_value" : { "string_set_value" : { "values" : [ "8.8.8.8" ], } } } }, { "name": "folders/4567890123/settings/text-defaultTextColor", "metadata": { "displayName": "Default Text Color", "description": "The default text color for this resource.", "read_only": false, "data_type" : "STRING", "default_value" : { "string_value" : "black" } } }, ... ] }
Kolom name
adalah nama singkat setelan resource, yang harus digunakan
dalam permintaan API dan gcloud CLI yang terkait dengan setelan tersebut.
Mengubah nilai setelan lokal
Anda dapat mengubah nilai setelan lokal dari setelan resource tertentu. Jika Anda menetapkan nilai setelan lokal, tindakan ini akan mengganti setelan nilai efektif yang diwariskan. Jika Anda menghapus penetapan nilai setelan lokal, setiap nilai setelan lokal yang diterapkan ke resource asal akan diwariskan, sehingga menjadi nilai yang efektif.
gcloud
Untuk mengubah nilai setelan lokal untuk setelan resource pada resource,
gunakan perintah
gcloud resource-settings set-value
berikut:
gcloud resource-settings set-value --value-file=FILE_PATH
Ganti FILE_PATH
dengan jalur ke file YAML atau JSON yang berisi setelan resource.
Contoh file JSON:
{ "localValue" : { "stringSetValue": { "values": [ "8.8.8.8", "8.8.4.4", ] } }, "name": "RESOURCE_ID/settings/SETTING_NAME" }
Ganti kode berikut:
RESOURCE_ID
: ID folder, project, atau organisasi yang setelan resource lokalnya ingin Anda perbarui. Contoh:projects/7890123456
SETTING_NAME
: nama singkat setelan resource yang ingin Anda perbarui.
Untuk menghapus nilai setelan lokal pada resource, gunakan perintah
gcloud resource-settings unset-value
:
gcloud resource-settings unset-value SETTING_NAME \ --RESOURCE_ID
Ganti kode berikut:
SETTING_NAME
: nama singkat setelan resource yang nilai lokalnya ingin Anda batalkan penetapannya.RESOURCE_ID
: ID folder, project, atau organisasi yang setelan resource-nya ingin Anda temukan. Contoh:projects/7890123456
API
Untuk mengubah nilai setelan lokal untuk setelan resource pada resource,
gunakan metode settings.patch
. Gunakan metode yang sesuai dengan jenis resource yang setelan-setelannya ingin Anda perbarui:
curl -X PATCH -H "Content-Type: application/json" \ -H "Authorization: Bearer $ACCESS_TOKEN" -d \ '{ "localValue": { "stringSetValue": { "values": [ "8.8.8.8", "8.8.4.4" ] } } } ' https://resourcesettings.googleapis.com/v1/RESOURCE_ID/settings/net-preferredDnsServers
Ganti kode berikut:
ACCESS_TOKEN
: token akses OAuth 2.0 Anda.RESOURCE_ID
: ID folder, project, atau organisasi yang setelan resource-nya ingin Anda temukan. Contoh:projects/7890123456
Jika Anda membuat permintaan ini tanpa menyertakan nilai lokal dalam file JSON, Anda akan menghapus setelan nilai lokal, dan resource akan mewarisi setelan nilai induk, atau menggunakan setelan default yang dikelola Google.
Setelah membuat permintaan yang berhasil, Anda akan mendapatkan respons yang menyertakan
nilai lokal yang dibuat untuk setelan ini dan kolom etag
yang harus Anda sertakan pada permintaan pembaruan berikutnya.
{ "name": "folders/4567890123/settings/net-preferredDnsServers", "localValue": { "stringSetValue": { "values": [ "8.8.8.8", "8.8.4.4" ] } } "etag": "O2VWGxZU01VnAfRU4Mu97w==", }
Melihat setelan nilai lokal atau efektif
Anda dapat melihat nilai lokal atau efektif dari setelan resource di resource tertentu.
gcloud
Untuk melihat nilai lokal setelan resource di resource tertentu, gunakan perintah gcloud resource-settings describe
, sebagai berikut:
gcloud resource-settings describe SETTING_NAME \ --RESOURCE_ID
Ganti kode berikut:
SETTING_NAME
: nama singkat setelan resource yang ingin Anda temukan nilai lokal atau efektifnya.RESOURCE_ID
: ID folder, project, atau organisasi yang setelan resource-nya ingin Anda temukan. Contoh:--project=7890123456
Jika menambahkan flag --effective
, Anda akan mendapatkan nilai efektif karena
dievaluasi untuk resource ini.
API
Untuk melihat nilai lokal atau efektif dari setelan resource di resource
tertentu, gunakan metode settings.get
. Gunakan metode yang sesuai dengan
jenis resource yang setelan-setelannya ingin Anda cantumkan:
curl -X GET -H "Content-Type: application/json" -H \ "Authorization: Bearer $ACCESS_TOKEN" \ https://resourcesettings.googleapis.com/v1/RESOURCE_ID \ /settings/SETTING_NAME?view=VIEW_PARAMETER
Ganti kode berikut:
ACCESS_TOKEN
: token akses OAuth 2.0 Anda.RESOURCE_ID
: ID folder, project, atau organisasi yang setelan resource-nya ingin Anda temukan. Contoh:projects/7890123456
SETTING_NAME
: nama singkat setelan resource yang ingin Anda tampilkan nilainya.VIEW_PARAMETER
:SETTING_VIEW_LOCAL_VALUE
untuk menampilkan nilai setelan lokal, atauSETTING_VIEW_EFFECTIVE_VALUE
untuk menampilkan nilai efektif di resource ini.
Contoh respons
Respons terhadap permintaan get di folders/4567890123
terlihat mirip dengan
berikut:
{ "name": "folders/4567890123/settings/net-preferredDnsServers", "value": { "stringSetValue": { "values": [ "8.8.8.8", "8.8.4.4" ] } } "etag": "O2VWGxZU01VnAfRU4Mu97w==" }
Pewarisan
Setelan resource yang berlaku pada resource tertentu dievaluasi berdasarkan pewarisan. Anda dapat mengganti nilai yang diwarisi pada resource dengan menetapkan nilai lokal, yang juga memengaruhi nilai setelan yang diwarisi oleh turunan resource tersebut. Untuk informasi selengkapnya tentang pewarisan setelan resource, lihat Nilai setelan yang efektif.
Mengambil nilai efektif
Anda dapat mengambil nilai efektif setelan pada resource tertentu menggunakan API atau gcloud CLI. Untuk petunjuk mendetail, lihat Melihat setelan nilai lokal atau efektif. Pertimbangkan contoh berikut, dengan nilai yang ditetapkan untuk setelan resource Server DNS Pilihan di organisasi, folder dalam organisasi tersebut, dan subfolder dalam folder tersebut:
Nilai efektif pada setiap resource ini dievaluasi sebagai berikut:
organizations/111
tidak memiliki nilai lokal, dan tidak memiliki resource induk untuk diwarisi, sehingga akan menggunakan8.8.8.8
default yang dikelola Google.- Jika Anda menggunakan metode
describe
untuk mendapatkan nilai efektif pada resource, dan menggunakan default yang dikelola Google, informasi tersebut akan disertakan dalam respons. Contoh:
{ "name": "organizations/111/settings/net-preferredDnsServers", "effectiveValue": { "stringSetValue": { "values": [ "8.8.8.8" ] # Google-managed default } } }
- Jika Anda menggunakan metode
folders/222
memiliki setelan nilai lokal8.8.4.4
, sehingga tidak mewarisi dari resource induknya.- Jika Anda menggunakan metode
describe
untuk mendapatkan nilai efektif pada resource, dan nilai tersebut ditetapkan secara lokal, informasi tersebut akan disertakan dalam respons. Contoh:
{ "name": "folders/222/settings/net-preferredDnsServers", "effectiveValue": { "stringSetValue": { "values": [ "8.8.4.4" ] # set on folders/222 } } }
- Jika Anda menggunakan metode
folders/333
tidak memiliki nilai lokal, tetapi resource induknya memiliki nilai. Kode ini mewarisi nilai setelan lokal darifolders/222
, sehingga dievaluasi menjadi8.8.4.4
.- Jika Anda menggunakan metode
describe
untuk mendapatkan nilai efektif pada resource, dan metode tersebut mewarisi nilai tersebut dari resource induk, informasi tersebut akan disertakan dalam respons. Contoh:
{ "name": "folders/333/settings/net-preferredDnsServers", "effectiveValue": { "stringSetValue": { "values": [ "8.8.4.4" ] # inherited from folders/222 } } }
- Jika Anda menggunakan metode
Mengganti nilai turunan
Jika Anda mengubah nilai setelan lokal folders/333
untuk setelan Server DNS
Pilihan, nilai yang efektif akan berubah. Misalnya, Anda menggunakan
metode patch
untuk memperbarui nilai setelan lokal folders/333
menjadi
192.168.1.1
. Untuk petunjuk mendetail, lihat
Mengubah nilai setelan lokal.
Jika menggunakan metode describe
pada resource folders/333
yang diperbarui, Anda
akan melihat bahwa nilai efektifnya sekarang adalah 192.168.1.1
:
{ "name": "folders/333/settings/net-preferredDnsServers", "effectiveValue": { "stringSetValue": { "values": [ "192.168.1.1" ] # set on folders/333 } } }
Kembali ke nilai yang diwarisi
Untuk mengembalikan perilaku ini sehingga resource mewarisi nilai lokal dari
induk, gunakan metode patch
API tanpa nilai lokal yang ditetapkan dalam kueri, atau dengan
menggunakan perintah unset-value
gcloud CLI. Untuk petunjuk
mendetail, lihat
Mengubah nilai setelan lokal.
Misalnya, jika Anda menghapus penetapan nilai lokal di folders/333
, nilai tersebut akan kembali
mewarisi nilai efektif dari resource induk terdekatnya, folders/222
. Jika
menggunakan metode describe
pada resource folders/333
yang diperbarui, Anda
akan melihat bahwa nilai efektifnya sekarang adalah 8.8.4.4
:
{ "name": "folders/333/settings/net-preferredDnsServers", "effectiveValue": { "stringSetValue": { "values": [ "8.8.4.4" ] # inherited from folders/222 } } }