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 izinkan atau tolak yang sama. Meskipun folder dapat berisi beberapa folder atau resource, folder atau resource tertentu dapat memiliki tepat satu induk.
Dalam diagram berikut, resource organisasi, "Company", memiliki folder yang mewakili dua departemen, "Dept X" dan "Dept Y", serta folder, "Shared Infrastructure", untuk item yang mungkin umum untuk kedua departemen. Di bagian "Dept Y", mereka telah dikelompokkan menjadi dua tim, dan di dalam folder tim, mereka selanjutnya dikelompokkan berdasarkan produk. Folder untuk "Produk 1" selanjutnya berisi tiga project, yang masing-masing memiliki resource yang diperlukan untuk project. Hal ini memberi mereka fleksibilitas tingkat tinggi dalam menetapkan kebijakan izinkan, tolak, atau organisasi pada tingkat perincian yang tepat.
Anda dapat menggunakan kebijakan izinkan dan tolak level folder untuk mengontrol akses ke resource yang ada di dalam folder. Misalnya, jika pengguna diberi peran Compute Instance Admin di folder, pengguna tersebut akan memiliki peran Compute Instance Admin untuk semua project di folder tersebut.
Sebelum memulai
Fungsi folder hanya tersedia untuk pelanggan Google Workspace dan Cloud Identity yang memiliki resource organisasi. Untuk mengetahui informasi selengkapnya tentang cara mendapatkan resource organisasi, lihat Membuat dan mengelola organisasi.
Jika Anda sedang mempelajari cara terbaik menggunakan folder, sebaiknya Anda:
- Tinjau Kontrol Akses untuk Folder Menggunakan IAM. Topik ini menjelaskan cara mengontrol siapa yang memiliki akses ke folder dan resource yang ada di dalamnya.
- 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 kepada seluruh domain di tingkat resource organisasi. Untuk membatasi visibilitas ke cabang hierarki folder Anda, berikan peran Pelihat Folder pada folder yang ingin Anda izinkan dilihat oleh pengguna.
- Buat folder. Saat Anda merencanakan cara mengatur resource Cloud, sebaiknya mulai dengan satu folder sebagai sandbox tempat Anda dapat bereksperimen dengan hierarki yang paling sesuai untuk resource organisasi Anda. 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 pada 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 memodelkan berbagai skenario ini.
Situasi umum adalah membuat folder yang 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 merujuk pada folder turunan langsung. Folder turunan tersebut 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 lebih lanjut peran ini, lihat Kontrol Akses untuk Folder menggunakan IAM. Sebaiknya Anda juga meninjau praktik terbaik kami untuk membantu Anda mengidentifikasi konfigurasi optimal untuk izin folder Anda.
Untuk mengelola folder bagi seluruh resource organisasi Anda, Anda memerlukan peran Folder Admin. Peran ini memberikan izin kepada pengguna untuk membuat, mengedit, menghapus, memindahkan, dan mengubah izin IAM pada 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 Google Cloud console, 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 Tambahkan akun utama, 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 Folder Admin kepada prinsipal 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:[email protected]", ] }, { role: "roles/folderCreator",
members: [ "user:[email protected]", ] } , { role: "roles/folderMover",
members: [ "user:[email protected]", ] } , ] } }'
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 izinya sedang ditetapkan, misalnya organizations/123
.
Membuat folder
Untuk membuat folder, Anda harus memiliki peran Admin Folder atau Pembuat Folder 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 memberinya nama. 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 berbagi induknya.
Untuk membuat folder:
Konsol
Folder dapat dibuat di UI menggunakan bagian "Kelola Project dan Folder".
Buka halaman Manage resources 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 berdaulat tambahan untuk Google Cloud resource. Jika opsi ini dipilih, Anda akan diarahkan ke Assured Workloads untuk membuat folder.
Di kotak Nama folder, masukkan nama folder baru Anda.
Di bagian Tujuan, klik Jelajahi, lalu pilih folder atau resource organisasi tempat Anda ingin membuat folder baru.
- Klik Buat.
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:
[DISPLAY_NAME]
adalah nama tampilan folder. Tidak ada dua folder dengan induk yang sama yang dapat berbagi nama tampilan. Nama tampilan harus diawali dan diakhiri dengan huruf atau angka, dapat berisi huruf, angka, spasi, tanda hubung, dan garis bawah, serta 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 induknya 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:
[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 Get Operation:
{
"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 Pengguna Tag. Untuk mengetahui informasi selengkapnya tentang izin yang ada dalam peran ini, lihat Mengelola tag pada 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 pasangan nilai kunci 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 folder tersebut.
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 Google Cloud console, buka halaman Manage Resources.
Klik menu drop-down Organisasi di kiri atas, lalu pilih resource organisasi Anda.
Centang kotak di samping project yang izinnya ingin Anda ubah.
Di Panel info di sisi kanan, di 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:[email protected] \
--role=roles/resourcemanager.folderEditor
gcloud resource-manager folders \
add-iam-policy-binding [FOLDER_ID] \
--member=user:[email protected] \
--role=roles/resourcemanager.folderViewer
Sebagai alternatif:
gcloud resource-manager folders \
set-iam-policy [FOLDER_ID] [POLICY_FILE]
Dengan:
[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:[email protected]",
"user:[email protected]",
]
}
]
}
}'
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:
[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 Google Cloud console, buka halaman Manage resources.
- Buka halaman Kelola resource.
- Pilih resource organisasi Anda dari drop-down Organisasi di kiri atas halaman.
- Klik Buat Project.
- Masukkan Nama project.
Di kotak Tujuan, klik Jelajahi untuk memilih folder tempat Anda ingin membuat project.
Klik Buat.
gcloud
gcloud projects create PROJECT_ID --folder FOLDER_ID
Ganti kode berikut:
PROJECT_ID
adalah ID project 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 menyertakan informasi sensitif dalam nama folder atau nama resource lainnya. Setiap referensi ke folder atau resource terkait akan mengekspos nama folder dan nama resource.
Memindahkan project ke dalam folder
Anda harus mempertimbangkan dengan cermat implikasi kebijakan apa pun sebelum memindahkan project ke dalam atau ke luar folder. Kebijakan izin yang Anda tentukan di level project akan berpindah bersama project, tetapi kebijakan yang diwarisi dari resource induk tidak akan berpindah.
Saat Anda memindahkan project, semua kebijakan Identity and Access Management atau kebijakan organisasi yang dilampirkan secara langsung akan dipindahkan bersamanya. Namun, project dalam hierarki resource Anda juga terpengaruh oleh kebijakan yang diwarisinya dari resource induk. Jika project mewarisi peran IAM yang memberikan izin kepada pengguna untuk menggunakan layanan tertentu, pengguna tidak akan memiliki akses ke layanan tersebut di tujuan, kecuali jika project tersebut juga mewarisi izin di tujuan.
Misalnya, pertimbangkan akun layanan yang memiliki peran Storage Object Creator yang terikat ke pengguna di Folder A. Akun layanan memiliki izin untuk mengupload data ke Cloud Storage di project mana pun dalam Folder A. Jika Anda memindahkan salah satu project ini ke Folder B, yang tidak memiliki izin yang sama yang diwariskan, akun layanan untuk project tersebut akan kehilangan kemampuan untuk mengupload data, sehingga menyebabkan gangguan 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 lebih lanjut kebijakan organisasi, 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 ada di folder, Anda memerlukan peran ini di resource organisasi.
Peran ini memberi Anda izin yang diperlukan berikut:
resourcemanager.projects.update
pada project- Jika resource berada di folder:
resourcemanager.projects.move
di folder sumber dan tujuan - Jika resource tidak ada dalam folder:
resourcemanager.projects.move
di resource organisasi
Anda juga bisa mendapatkan izin ini dengan peran khusus, atau peran bawaan lainnya.
Konsol
Untuk memindahkan project:
Di konsol Google Cloud , buka halaman Kelola resource.
Pilih Organisasi Anda dari drop-down Organisasi di kiri atas halaman.
Klik baris project Anda untuk memilih project dari daftar resource. Perhatikan bahwa Anda tidak boleh mengklik nama project, karena akan membuka halaman IAM project.
Klik menu opsi (elipsis vertikal) di baris, lalu klik Pindahkan.
Klik Jelajahi 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:
PROJECT_ID adalah ID atau nomor project yang ingin Anda pindahkan.
DESTINATION_TYPE adalah
organization
ataufolder
.DESTINATION_ID adalah ID resource organisasi atau folder tempat Anda ingin memindahkan project. Anda hanya dapat menentukan satu target.
API
Anda dapat menggunakan metode v3
projects.move
untuk memindahkan project.
Permintaan:
POST https://cloudresourcemanager.googleapis.com/v3/{name=PROJECT_NAME}:move { "destinationParent": DESTINATION_PARENT }
Dengan:
PROJECT_NAME
adalah nama project yang ingin Anda perbarui. Misalnya,projects/415104041262
DESTINATION_PARENT
adalah resource organisasi induk atau folder 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 pemindahan folder ke folder lain di konsol mirip dengan pemindahan project.
- Di Google Cloud console, buka halaman Manage resources.
- Pilih resource organisasi Anda dari drop-down Organisasi di kiri atas halaman.
- Klik baris folder Anda untuk memilih folder dari daftar proyek dan folder.
- Klik menu opsi (elipsis vertikal) di baris, lalu klik Pindahkan.
- Klik Jelajahi untuk memilih folder tujuan Anda ingin memindahkan folder.
- Klik Pindahkan.
gcloud
Untuk memindahkan folder di 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 dari resource atau folder organisasi induk.
API
JSON permintaan:
request_json= '{
destinationParent: "folders/[DESTINATION_FOLDER_ID]"
}'
Permintaan curl Move 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 yang menjadi tujuan pemindahan 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 Get Operation:
{
"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 Google Cloud console, 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 apa pun di pohon 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 bawah resource organisasi atau folder, 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 menggunakan 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 organisasi atau folder tempat
Anda ingin folder tersebut dibuat.
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
, dengan meneruskan ID folder dalam flag --folder
. Perintah ini juga dapat mencantumkan
folder tingkat teratas di resource organisasi, menggunakan tanda --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 penghapusannya diminta dalam daftar, tambahkan tanda --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 ID resource folder atau organisasi induk di 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
, dengan meneruskan kondisi di 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 diurungkan penghapusannya dari command line. Pengguna harus memiliki peran Admin Folder atau Editor Folder untuk memiliki izin menghapus folder. Anda hanya dapat menghapus folder jika folder tersebut 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 yang lama. Untuk mempermudah multitasking, beberapa perintah folder memungkinkan Anda menjalankannya secara asinkron. Perintah ini menerima tanda --async
untuk mengaktifkan perilaku asinkron, sehingga perintah tersebut langsung menampilkan Operasi yang Berjalan Lama, bukan menunggu operasi selesai. Anda dapat melakukan polling pada operasi ini sendiri dengan
perintah gcloud beta resource-manager operations describe
. Saat ini, hanya perintah folders create
dan folders move
yang memungkinkan 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 …>