Folder adalah node dalam Hierarki Resource Cloud Platform. Folder dapat berisi beberapa project, folder lain, atau kombinasi keduanya. Resource organisasi dapat menggunakan folder untuk mengelompokkan project di bawah node resource organisasi dalam hierarki. Misalnya, resource organisasi Anda mungkin berisi beberapa departemen, yang masing-masing memiliki kumpulan resource Google Cloud-nya sendiri. Folder memungkinkan Anda mengelompokkan resource ini berdasarkan per departemen. Folder digunakan untuk mengelompokkan resource yang memiliki kebijakan IAM yang sama. Meskipun folder dapat berisi beberapa folder atau resource, folder atau resource tertentu dapat memiliki tepat satu induk.
Pada diagram di bawah, resource organisasi, "Perusahaan", memiliki folder yang mewakili dua departemen, "Dept X" dan "Dept Y", serta folder, "Infrastruktur Bersama", untuk item yang mungkin sama untuk kedua departemen. Di bagian "Dept Y", mereka telah mengaturnya menjadi dua tim, dan dalam folder tim, mereka mengaturnya lebih lanjut berdasarkan produk. Folder untuk "Produk 1" selanjutnya berisi tiga project, masing-masing dengan resource yang diperlukan untuk project tersebut. Hal ini memberi mereka tingkat fleksibilitas yang tinggi dalam menetapkan kebijakan IAM dan kebijakan Organisasi pada tingkat perincian yang tepat.
Anda dapat menggunakan kebijakan IAM tingkat folder untuk mengontrol akses ke resource yang berisi folder. Misalnya, jika pengguna diberi peran Compute Instance Admin di folder, pengguna tersebut memiliki peran Compute Instance Admin untuk semua project dalam folder.
Sebelum memulai
Fungsi folder hanya tersedia untuk pelanggan Google Workspace dan Cloud Identity yang memiliki resource organisasi. Untuk informasi selengkapnya tentang cara memperoleh resource organisasi, lihat Membuat dan mengelola organisasi.
Jika Anda ingin mempelajari cara terbaik menggunakan folder, sebaiknya:
- Tinjau Kontrol Akses untuk Folder yang Menggunakan IAM. Topik ini menjelaskan cara mengontrol siapa yang memiliki akses ke folder dan resource yang dikandungnya.
- Pahami cara menetapkan izin folder. Folder mendukung sejumlah peran IAM yang berbeda. Jika Anda ingin menyiapkan izin secara luas agar pengguna dapat melihat struktur project mereka, berikan peran Organization Viewer dan Folder Viewer ke seluruh domain di tingkat resource organisasi. Untuk membatasi visibilitas ke cabang hierarki folder, berikan peran Folder Viewer pada folder atau folder yang ingin Anda tampilkan kepada pengguna.
- Buat folder. Saat merencanakan cara mengatur resource Cloud, sebaiknya mulai dengan satu folder sebagai sandbox tempat Anda dapat bereksperimen dengan hierarki yang paling sesuai untuk resource organisasi. Pikirkan folder dalam hal batas isolasi antara resource dan titik lampiran untuk kebijakan akses dan konfigurasi. Anda dapat memilih untuk membuat folder yang berisi resource milik berbagai departemen dan menetapkan peran Admin di folder untuk mendelegasikan hak istimewa administrator. Folder juga dapat digunakan untuk mengelompokkan resource yang termasuk dalam aplikasi atau lingkungan yang berbeda, seperti pengembangan, produksi, pengujian. Gunakan folder bertingkat untuk membuat model berbagai skenario ini.
Situasi yang umum adalah membuat folder yang pada akhirnya berisi folder atau project tambahan, seperti yang ditunjukkan pada gambar di atas. Struktur ini disebut sebagai hierarki folder. Saat membuat hierarki folder, perhatikan hal-hal berikut:
- Anda dapat membuat folder bertingkat hingga 10 (sepuluh) tingkat.
- Folder induk tidak boleh berisi lebih dari 300 folder. Hal ini hanya mengacu pada folder turunan langsung. Folder turunan tersebut, pada gilirannya, dapat berisi folder atau project tambahan.
- Nama tampilan folder harus unik dalam tingkat hierarki yang sama.
Menyiapkan izin untuk mengelola folder
Untuk mengakses dan mengelola folder, Anda menetapkan peran IAM khusus folder kepada grup pengguna tertentu. Untuk mempelajari peran ini lebih lanjut, lihat Kontrol Akses untuk Folder yang menggunakan IAM. Sebaiknya Anda juga meninjau praktik terbaik kami untuk membantu mengidentifikasi konfigurasi yang optimal untuk izin folder Anda.
Untuk mengelola folder untuk seluruh resource organisasi, Anda memerlukan peran Folder Admin. Peran ini memberi pengguna izin untuk membuat, mengedit, menghapus, memindahkan, dan mengubah izin IAM di folder, serta izin untuk memindahkan project antar-folder.
Awalnya, hanya Admin Organisasi yang dapat menetapkan peran Admin Folder untuk resource organisasi. Akun berikutnya yang diberi peran ini dapat memberikannya ke akun lain.
Untuk menyiapkan izin folder, ikuti langkah-langkah berikut:
console
- Di konsol Google Cloud, buka halaman Manage resources.
- Jika panel info tidak terbuka, klik Tampilkan panel info.
- Di tabel Resources, luaskan Organisasi yang berisi folder.
- Dari daftar resource di bagian Organisasi, pilih folder yang ingin Anda kelola.
- Di panel info, klik Tambah akun utama.
- Di kolom Add principals, masukkan alamat email yang ingin Anda beri izin.
- Di menu Pilih peran, pilih kategori Resource Manager, lalu pilih peran yang ingin Anda berikan, seperti Folder Admin.
- Klik Simpan untuk memberikan peran baru.
gcloud
Untuk memberikan peran Admin Folder kepada akun utama menggunakan Google Cloud CLI, jalankan perintah berikut:
gcloud organizations add-iam-policy-binding ORGANIZATION_ID \
--member=user:USER_ID \
--role=roles/resourcemanager.folderAdmin
API
JSON permintaan:
request_json= '{ policy: { version: "1", bindings: [ { role: "roles/folderAdmin",
members: [ "user:admin@myorganization.com", ] }, { role: "roles/folderCreator",
members: [ "user:admin@myorganization.com", ] } , { role: "roles/folderMover",
members: [ "user:admin@myorganization.com", ] } , ] } }'
Permintaan curl:
curl -X POST -H "Content-Type: application/json" \
-H "Authorization: Bearer ${bearer_token}" \
-d "$request_json" \
https://cloudresourcemanager.googleapis.com/v3/ORGANIZATION_NAME:setIamPolicy
Ganti ORGANIZATION_NAME
dengan nama organisasi yang kebijakan IAM-nya sedang ditetapkan, misalnya organizations/123
.
Membuat folder
Untuk membuat folder, Anda harus memiliki peran Folder Admin atau Folder Creator di tingkat induk. Misalnya, untuk membuat folder di tingkat organisasi, Anda harus memiliki salah satu peran ini di tingkat organisasi.
Sebagai bagian dari pembuatan folder, Anda harus menetapkan nama untuk folder tersebut. Nama folder harus memenuhi persyaratan berikut:
- Nama dapat berisi huruf, angka, spasi, tanda hubung, dan garis bawah.
- Nama tampilan folder harus diawali dan diakhiri dengan huruf atau angka.
- Panjang nama harus antara 3 hingga 30 karakter.
- Nama harus berbeda dari semua folder lain yang memiliki induk yang sama.
Untuk membuat folder:
Konsol
Folder dapat dibuat di UI menggunakan bagian "Kelola Project dan Folder".
Buka halaman Mengelola resource di konsol Google Cloud:
Pastikan nama resource organisasi Anda dipilih di menu drop-down organisasi di bagian atas halaman.
Klik Buat folder, lalu pilih salah satu opsi berikut:
- Folder standar: Resource folder standar.
- Folder yang mematuhi kebijakan: Folder Assured Workloads, yang menyediakan kontrol peraturan, regional, atau kedaulatan tambahan untuk resource Google Cloud. Memilih opsi ini akan mengarahkan Anda ke Assured Workloads untuk membuat folder.
Di kotak Nama folder, masukkan nama folder baru Anda.
Di bagian Destination, klik Browse, lalu pilih resource organisasi atau folder tempat Anda ingin membuat folder baru.
- Klik Create.
gcloud
Folder dapat dibuat secara terprogram menggunakan Google Cloud CLI.
Untuk membuat folder di resource organisasi menggunakan alat command line gcloud
, jalankan perintah berikut.
gcloud resource-manager folders create \
--display-name=[DISPLAY_NAME] \
--organization=[ORGANIZATION_ID]
Untuk membuat folder yang induknya adalah folder lain:
gcloud resource-manager folders create \
--display-name=[DISPLAY_NAME] \
--folder=[FOLDER_ID]
Dengan keterangan:
[DISPLAY_NAME]
adalah nama tampilan folder. Tidak ada dua folder dengan induk yang sama yang dapat memiliki nama tampilan yang sama. Nama tampilan harus diawali dan diakhiri dengan huruf atau angka, dapat berisi huruf, angka, spasi, tanda hubung, dan garis bawah, dan tidak boleh lebih dari 30 karakter.[ORGANIZATION_ID]
adalah ID resource organisasi induk jika induk adalah resource organisasi.[FOLDER_ID]
adalah ID folder induk, jika induk adalah folder.
API
Folder dapat dibuat dengan permintaan API.
JSON permintaan:
request_json= '{
display_name: DISPLAY_NAME,
parent: ORGANIZATION_NAME
}'
Permintaan curl Buat Folder:
curl -X POST -H "Content-Type: application/json" \
-H "Authorization: Bearer ${bearer_token}" \
-d "$request_json" \
https://cloudresourcemanager.googleapis.com/v3/folders
Dengan keterangan:
[DISPLAY_NAME]
adalah nama tampilan folder baru, misalnya "My Awesome Folder".[ORGANIZATION_NAME]
adalah nama resource organisasi tempat Anda membuat folder, misalnyaorganizations/123
.
Respons Buat Folder:
{
"name": "operations/fc.123456789",
"metadata": {
"@type": "type.googleapis.com/google.cloud.resourcemanager.v3.FolderOperation",
"displayName": "[DISPLAY_NAME]",
"operationType": "CREATE"
}
}
Permintaan curl Get Operation:
curl -H "Authorization: Bearer ${bearer_token}" \
https://cloudresourcemanager.googleapis.com/v3/operations/fc.123456789
Respons Operasi Get:
{
"name": "operations/fc.123456789",
"metadata": {
"@type": "type.googleapis.com/google.cloud.resourcemanager.v3.FolderOperation",
"displayName": "[DISPLAY_NAME]",
"operationType": "CREATE"
},
"done": true,
"response": {
"@type": "type.googleapis.com/google.cloud.resourcemanager.v3.Folder",
"name": "folders/12345",
"parent": "organizations/123",
"displayName": "[DISPLAY_NAME]",
"lifecycleState": "ACTIVE",
"createTime": "2017-07-19T23:29:26.018Z",
"updateTime": "2017-07-19T23:29:26.046Z"
}
}
Menambahkan tag selama pembuatan folder
Tag menyediakan cara untuk membuat anotasi untuk resource. Anda dapat menambahkan tag saat membuat folder. Untuk melakukannya, Anda harus memberikan peran Tag User. Untuk mengetahui informasi selengkapnya tentang izin yang terdapat dalam peran ini, lihat Mengelola tag di resource. Anda hanya dapat menambahkan namespace untuk pasangan nilai kunci tag dengan salah satu cara berikut:
gcloud
Untuk menambahkan tag selama pembuatan folder, jalankan perintah berikut:
gcloud resource-manager folders create \
--display-name=DISPLAY_NAME \
--organization=ORGANIZATION_ID
--tags=KEY_VALUE_PAIRS
Ganti kode berikut:
DISPLAY_NAME
adalah nama tampilan folder.ORGANIZATION_ID
adalah ID unik resource organisasi induk.KEY_VALUE_PAIRS
adalah daftar key-value pair yang dipisahkan koma yang dapat Anda tetapkan ke resource. Contoh pasangan nilai kunci yang dipisahkan koma adalah123/environment=production, 456/create=testresource
.
API
Cuplikan berikut adalah permintaan JSON yang membuat folder dan menambahkan tag ke dalamnya.
POST https://cloudresourcemanager.googleapis.com/v3/projects/
Authorization: *************
Content-Type: application/json
{
"display_name": "our-folder-456",
"parent": "organizations/123",
"tags": {
"key": "123/environment"
"value": "production"
},
"tags": {
"key": "123/costCenter"
"value": "marketing"
}
}
Mengonfigurasi akses ke folder
Untuk mengonfigurasi akses ke folder, Anda harus memiliki peran Administrator IAM Folder atau Admin Folder di tingkat induk.
Konsol
Di konsol Google Cloud, buka halaman Manage Resources.
Klik menu drop-down Organization di kiri atas, lalu pilih resource organisasi Anda.
Pilih kotak centang di samping project yang izinnya ingin Anda ubah.
Di sebelah kanan Panel info, pada bagian Izin, masukkan alamat email anggota yang ingin Anda tambahkan.
Di menu drop-down Select a role, pilih peran yang ingin Anda berikan kepada anggota tersebut.
Klik Tambahkan. Notifikasi akan muncul untuk mengonfirmasi penambahan atau pembaruan peran baru anggota.
gcloud
Anda dapat mengonfigurasi akses ke Folder secara terprogram menggunakan Google Cloud CLI atau API.
gcloud resource-manager folders \
add-iam-policy-binding [FOLDER_ID] \
--member=user:email1@example.com \
--role=roles/resourcemanager.folderEditor
gcloud resource-manager folders \
add-iam-policy-binding [FOLDER_ID] \
--member=user:email1@example.com \
--role=roles/resourcemanager.folderViewer
Sebagai alternatif:
gcloud resource-manager folders \
set-iam-policy [FOLDER_ID] [POLICY_FILE]
Dengan keterangan:
[FOLDER_ID]
adalah ID folder baru.[POLICY_FILE]
adalah jalur ke file kebijakan untuk folder.
API
Metode setIamPolicy
menetapkan kebijakan kontrol akses pada folder,
menggantikan kebijakan yang ada. Kolom resource
harus berupa nama resource
folder, misalnya, folders/1234
.
request_json= '{
policy: {
version: "1",
bindings: [
{
role: "roles/resourcemanager.folderEditor",
members: [
"user:email1@example.com",
"user:email2@example.com",
]
}
]
}
}'
Permintaan curl:
curl -X POST -H "Content-Type: application/json" \
-H "Authorization: Bearer ${bearer_token}" \
-d "$request_json" \
https://cloudresourcemanager.googleapis.com/v3/[FOLDER_NAME]:setIamPolicy
Dengan keterangan:
[FOLDER_NAME]
adalah nama folder yang kebijakan IAM-nya sedang ditetapkan, misalnya folders/123.
Membuat project dalam folder
Untuk membuat project di folder, Anda harus memiliki peran Project Creator
(roles/resourcemanager.projectCreator
) di folder tersebut. Peran ini dapat
diwarisi dari folder induk.
console
- Di konsol Google Cloud, buka halaman Manage resources.
- Buka halaman Kelola resource.
- Pilih resource organisasi Anda dari drop-down Organization di kiri atas halaman.
- Klik Buat Project.
- Masukkan Nama project.
Di kotak Destination, klik Browse untuk memilih folder tempat Anda ingin membuat project.
Klik Create.
gcloud
gcloud projects create PROJECT_ID --folder FOLDER_ID
Ganti kode berikut:
PROJECT_ID
adalah ID project ID yang akan dibuat.FOLDER_ID
adalah ID folder tempat project harus dibuat.
API
JSON permintaan:
request_json= '{
name: DISPLAY_NAME, projectId: PROJECT_ID, parent: {id: PARENT_ID, type: PARENT_TYPE}
}'
Permintaan curl:
curl -X POST -H "Content-Type: application/json" \
-H "Authorization: Bearer ${bearer_token}" \
-d "$request_json" \
https://cloudresourcemanager.googleapis.com/v3/projects
Ganti kode berikut:
PROJECT_ID
adalah ID unik project yang sedang dibuat. Contoh,my-awesome-proj-123
.DISPLAY_NAME
adalah nama tampilan project yang sedang dibuat.PARENT_ID
adalah ID unik induk yang dibuat. Contoh,123
.PARENT_TYPE
adalah jenis induk, sepertifolder
atauorganization
.
Jangan sertakan informasi sensitif dalam nama folder atau nama resource lainnya. Setiap referensi ke folder atau resource terkait akan menampilkan nama folder dan nama resource.
Memindahkan project ke folder
Anda harus mempertimbangkan dengan cermat implikasi kebijakan apa pun sebelum memindahkan project ke dalam atau ke luar folder. Kebijakan Identity and Access Management yang Anda tentukan di level project akan dipindahkan bersama project, tetapi kebijakan yang diwariskan dari resource induk tidak akan dipindahkan.
Saat Anda memindahkan project, kebijakan Identity and Access Management atau kebijakan organisasi yang disertakan secara langsung akan dipindahkan bersama project tersebut. Namun, project dalam hierarki resource Anda juga terpengaruh oleh kebijakan yang diwarisi dari resource induk. Jika project mewarisi peran IAM yang memberi pengguna izin untuk menggunakan layanan tertentu, pengguna tidak akan memiliki akses ke layanan tersebut di tujuan, kecuali jika peran tersebut juga mewarisi izin di tujuan.
Misalnya, pertimbangkan akun layanan yang memiliki peran Storage Object Creator yang terikat dengan pengguna di Folder A. Akun layanan memiliki izin untuk mengupload data ke Cloud Storage di project apa pun di Folder A. Jika Anda memindahkan salah satu project ini ke Folder B, yang tidak memiliki izin turunan yang sama, akun layanan untuk project tersebut akan kehilangan kemampuan untuk mengupload data, sehingga menyebabkan pemadaman layanan.
Pertimbangan yang sama ini berlaku jika kebijakan organisasi ditentukan di folder sumber dan tujuan. Seperti kebijakan IAM, kebijakan organisasi diwariskan. Oleh karena itu, Anda harus memastikan bahwa kebijakan organisasi Anda konsisten antara folder sumber dan tujuan.
Untuk mempelajari kebijakan organisasi lebih lanjut, lihat Pengantar Layanan Kebijakan Organisasi.
Untuk memindahkan project, Anda memerlukan peran IAM Project Mover
(roles/resourcemanager.projectMover
) di folder sumber dan
folder tujuan. Jika resource tidak berada dalam folder, Anda memerlukan peran ini di
resource organisasi.
Peran ini memberi Anda izin yang diperlukan berikut:
resourcemanager.projects.update
pada project- Jika resource berada dalam folder:
resourcemanager.projects.move
di folder sumber dan tujuan - Jika resource tidak berada dalam folder:
resourcemanager.projects.move
di resource organisasi
Anda juga bisa mendapatkan izin ini dengan peran khusus, atau peran standar lainnya.
Konsol
Untuk memindahkan project:
Di Konsol Google Cloud, buka halaman Manage resources.
Pilih Organisasi Anda dari drop-down Organization di kiri atas halaman.
Klik baris project untuk memilih project dari daftar resource. Perhatikan bahwa Anda tidak boleh mengklik nama project, yang akan mengarahkan Anda ke halaman IAM project.
Klik menu opsi (elips vertikal) di baris, lalu klik Pindahkan.
Klik Browse untuk memilih folder tempat Anda ingin memindahkan project.
Klik Pindahkan.
gcloud
Untuk memindahkan project, jalankan perintah gcloud beta projects move
:
gcloud beta projects move PROJECT_ID \ --DESTINATION_TYPE DESTINATION_ID
Dengan keterangan:
PROJECT_ID adalah ID atau nomor project yang ingin Anda pindah.
DESTINATION_TYPE adalah
organization
ataufolder
.DESTINATION_ID adalah ID resource atau folder organisasi tempat Anda ingin memindahkan project. Anda hanya dapat menentukan satu target.
API
Anda dapat menggunakan metode projects.move
v3 untuk memindahkan project.
Permintaan:
POST https://cloudresourcemanager.googleapis.com/v3/{name=PROJECT_NAME}:move { "destinationParent": DESTINATION_PARENT }
Dengan keterangan:
PROJECT_NAME
adalah nama project yang ingin Anda update. Misalnya,projects/415104041262
DESTINATION_PARENT
adalah resource atau folder organisasi induk baru tempat Anda ingin memindahkan project. Contoh:organizations/12345678901
Jika berhasil, permintaan akan menampilkan Operasi yang dapat digunakan untuk melacak pemindahan project.
Memindahkan folder ke folder lain
Untuk memindahkan folder ke folder lain, Anda harus memiliki izin resourcemanager.folders.move untuk folder sumber dan tujuan.
console
Proses memindahkan folder ke folder lain di konsol mirip dengan memindahkan project.
- Di konsol Google Cloud, buka halaman Manage resources.
- Pilih resource organisasi Anda dari drop-down Organization di kiri atas halaman.
- Klik baris folder untuk memilih folder dari daftar project dan folder.
- Klik menu opsi (elips vertikal) di baris, lalu klik Pindahkan.
- Klik Jelajahi untuk memilih folder tempat Anda ingin memindahkan folder.
- Klik Pindahkan.
gcloud
Untuk memindahkan folder di bagian resource Organisasi, jalankan perintah berikut di Google Cloud CLI:
gcloud resource-manager folders move [FOLDER_ID] \
--organization=[PARENT_ID]
Untuk memindahkan folder ke dalam folder lain:
gcloud resource-manager folders move [FOLDER_ID] \
--folder=[PARENT_ID]
Ganti kode berikut:
[FOLDER_ID]
adalah ID folder yang akan dipindahkan.[PARENT_ID]
adalah ID resource Organisasi atau ID folder resource atau folder organisasi induk.
API
JSON permintaan:
request_json= '{
destinationParent: "folders/[DESTINATION_FOLDER_ID]"
}'
Permintaan curl Pindahkan Folder:
curl -X POST -H "Content-Type: application/json" \
-H "Authorization: Bearer ${bearer_token} \
-d "$request_json" \
https://cloudresourcemanager.googleapis.com/v3/folders/[DISPLAY_NAME]:move
Ganti kode berikut:
[DESTINATION_FOLDER_ID]
adalah ID folder tempat Anda memindahkan folder lain, misalnya98765
.[DISPLAY_NAME]
adalah nama tampilan folder yang dipindahkan, misalnya "My Awesome Folder".
Respons Pindahkan Folder:
{
"name": "operations/fm.1234567890",
"metadata": {
"@type": "type.googleapis.com/google.cloud.resourcemanager.v3.FolderOperation",
"displayName": "[DISPLAY_NAME]",
"operationType": "MOVE"
}
}
Permintaan curl Get Operation:
curl -H "Authorization: Bearer ${bearer_token}" \
https://cloudresourcemanager.googleapis.com/v3/operations/fm.1234567890
Respons Operasi Get:
{
"name": "operations/fm.1234567890",
"metadata": {
"@type": "type.googleapis.com/google.cloud.resourcemanager.v3.FolderOperation",
"displayName": "[DISPLAY_NAME]",
"operationType": "MOVE"
},
"done": true,
"response": {
"@type": "type.googleapis.com/google.cloud.resourcemanager.v3.Folder",
"name": "folders/12345",
"parent": "folders/98765",
"displayName": "[DISPLAY_NAME]",
"lifecycleState": "ACTIVE",
"createTime": "2017-07-19T23:29:26.018Z",
"updateTime": "2017-07-20T00:54:44.295Z"
}
}
Melihat atau mencantumkan folder dan project
Untuk melihat atau mencantumkan folder, Anda harus memiliki peran Organization Viewer dan Folder Viewer.
Untuk melihat atau mencantumkan folder dan project:
console
Di konsol Google Cloud, buka halaman Manage resources.
Dari pemilih project di bagian atas halaman, pilih resource organisasi Anda. Folder harus dibuat sebelum muncul dalam daftar ini.
Pilih baris di hierarki untuk melakukan operasi khusus folder atau project.
Masukkan nama/ID project atau folder dalam penelusuran untuk memfilter daftar.
gcloud
Untuk mendapatkan detail satu folder, gunakan perintah resource-manager folders describe
.
gcloud resource-manager folders describe FOLDER_ID
Ganti FOLDER_ID
dengan ID folder yang ingin Anda lihat.
Untuk mencantumkan folder turunan dari resource organisasi, gunakan perintah resource-manager folders list
.
gcloud resource-manager folders list \
--organization ORGANIZATION_ID
Ganti ORGANIZATION_ID
dengan ID
resource organisasi yang ingin Anda lihat daftar folder turunannya.
Untuk mencantumkan folder turunan dari resource folder, gunakan
perintah resource-manager folders list
.
gcloud resource-manager folders list \
--folder FOLDER_ID
Ganti FOLDER_ID
dengan ID resource folder yang ingin Anda lihat daftar folder turunannya.
Untuk mencantumkan project di folder atau resource folder atau organisasi, gunakan
perintah projects list
dengan argumen filter
.
gcloud projects list \
--filter=" parent.id: 'RESOURCE_ID' "
Ganti RESOURCE_ID
dengan ID resource organisasi atau folder yang ingin Anda lihat daftar project turunannya.
API
Permintaan curl untuk mendapatkan folder:
curl -X GET -H "Content-Type: application/json" \
-H "Authorization: Bearer ${bearer_token}" \
https://cloudresourcemanager.googleapis.com/v3/[FOLDER_NAME]
Ganti FOLDER_NAME
dengan nama folder, seperti folders/123
.
Permintaan curl untuk mencantumkan folder:
curl -X GET -H "Content-Type: application/json" \
-H "Authorization: Bearer ${bearer_token}" \
https://cloudresourcemanager.googleapis.com/v3/folders?parent=[PARENT_NAME]
Ganti PARENT_NAME
dengan nama resource induk
tempat Anda membuat folder, seperti organizations/123
atau folders/123
.
Menggunakan Google Cloud CLI
Perintah untuk berinteraksi dengan Folders API dengan alat command line gcloud
tersedia di grup perintah gcloud resource-manager folders
.
Buat
Untuk membuat folder baru, gunakan gcloud resource-manager folders create
dengan
flag yang menetapkan nama folder dan ID resource atau folder organisasi tempat
Anda ingin membuatnya.
gcloud resource-manager folders create \
--display-name="Super Fantastic Folder" \
--organization=2518
Created Folder 245321.
Lihat
Untuk melihat folder, gunakan gcloud resource-manager folders describe
dengan
ID folder yang ingin Anda lihat.
gcloud resource-manager folders describe 245321
name: folders/245321
parent: organizations/2518
display_name: Super Fantastic Folder
lifecycle_state: ACTIVE
create_time: <timestamp info …>
update_time: <timestamp info …>
Daftar
Untuk mencantumkan folder di bawah folder, gunakan gcloud resource-manager
folders list
, yang meneruskan ID folder dalam flag --folder
. Tindakan ini juga dapat mencantumkan
folder tingkat atas di bawah resource organisasi, menggunakan flag --organization
.
gcloud resource-manager folders list --folder 245321
<table output showing the folders underneath the folder with the specified ID>
gcloud resource-manager folders list --organization 2518
<table output showing folders in this Organization but not in any folder>
Untuk menyertakan folder yang permintaan penghapusannya ada dalam daftar, tambahkan flag --show-deleted
gcloud beta resource-manager folders list --folder 245321 --show-deleted
<table output showing all the folders including the delete requested ones underneath the folder with the specified ID>
Anda dapat mencantumkan project menggunakan perintah gcloud projects list
, dengan meneruskan folder induk atau ID resource organisasi dalam flag --filter
.
gcloud projects list --filter=" parent.id: '245321' "
<table output showing the projects underneath the resource with the specified ID>
Untuk mengetahui informasi selengkapnya tentang cara izin dan filter berinteraksi dengan perintah daftar, lihat Mencantumkan semua Resource dalam Hierarki Anda.
Telusuri
Untuk menelusuri folder yang cocok dengan kueri yang ditentukan, gunakan gcloud alpha resource-manager
folders search
, yang meneruskan kondisi dalam flag --query
. Cakupan penelusuran
adalah semua folder yang izin lihatnya dimiliki pengguna.
gcloud alpha resource-manager folders search --query="name:vij*"
<table output showing the folders with names starting from vij eg. vijeta, vijay-folder>
gcloud alpha resource-manager folders search --query="state:DELETE_REQUESTED"
<table output showing folders for which delete has been requested>
Semua folder yang izin lihatnya dimiliki pengguna dapat ditampilkan menggunakan
perintah gcloud folders search
.
gcloud folders search
<table output showing all viewable folders>
Perbarui
Folder dapat diperbarui dengan perintah gcloud resource-manager folders update
. Saat ini, hanya kolom display_name
folder yang dapat diperbarui.
gcloud resource-manager folders update \
--display-name="Mega Incredible Folder" 245321
name: folders/245321
parent: organizations/2518
display_name: Mega Incredible Folder
lifecycle_state: ACTIVE
create_time: <timestamp info …>
update_time: <recent timestamp info …>
Hapus
Folder dapat dihapus dan dibatalkan penghapusannya dari command line. Pengguna harus memiliki peran Admin Folder atau Editor Folder agar memiliki izin untuk menghapus folder. Anda hanya dapat menghapus folder jika kosong.
gcloud resource-manager folders delete 245321
name: folders/245321
parent: organizations/2518
display_name: Mega Incredible Folder
lifecycle_state: DELETE_REQUESTED
create_time: <timestamp info …>
update_time: <recent timestamp info …>
gcloud resource-manager folders undelete 245321
name: folders/245321
parent: organizations/2518
display_name: Mega Incredible Folder
lifecycle_state: ACTIVE
create_time: <timestamp info …>
update_time: <recent timestamp info …>
Project Move
Project dapat dibuat di folder dan dipindahkan ke folder menggunakan perintah gcloud projects create
dan gcloud projects move
yang ada. Folder juga
dapat dipindahkan, menggunakan gcloud resource-manager folders move.
gcloud projects create --folder=245321 fancy-folder-project
project_id: fancy-folder-project
project_number: 905283
parent:
type: "folder"
id: 245321
other fields …
gcloud projects move --folder=245321 soon-to-be-fancy-project
project_id: soon-to-be-fancy-project
project_number: 428714
parent:
type: "folder"
id: 245321
other fields …
Operasi yang Berjalan Lama
Beberapa operasi folder seperti membuat folder dapat memerlukan waktu lama. Untuk memudahkan
multitasking, beberapa perintah folder memungkinkan Anda melakukannya
secara asinkron. Perintah ini menerima flag --async
untuk mengaktifkan perilaku asinkron, sehingga perintah tersebut langsung menampilkan Operasi yang Berjalan Lama, bukan menunggu operasi selesai. Anda dapat melakukan polling operasi ini sendiri dengan
perintah gcloud beta resource-manager operations describe
. Saat ini, hanya perintah folders create
dan folders move
yang mengizinkan penggunaan asinkron.
gcloud resource-manager folders create \
--display-name="Awe-Inspiring Async Folder" \
--organization=2518 \
--async
name: operations/fc.8572
metadata:
operation_type: CREATE
display_name: Awe-Inspiring Async Folder
destination_parent: organizations/2518
done: false
[wait for some time …]
gcloud beta resource-manager operations describe fc.8572
name: operations/fc.8572
metadata:
operation_type: CREATE
display_name: Awe-Inspiring Async Folder
destination_parent: organizations/2518
done: true
response:
name: folders/6428
parent: organizations/2518
display_name: Awe-Inspiring Async Folder
lifecycle_state: ACTIVE
create_time: <recent timestamp info …>
update_time: <recent timestamp info …>