Membuat dan mengelola Folder

Folder adalah node di 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. Dengan folder, Anda dapat 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.

Dalam diagram di bawah, resource organisasi, "Company", memiliki folder yang mewakili dua departemen, "Dept X" dan "Dept Y", serta folder, "Shared Infrastructure", untuk item yang mungkin sama untuk kedua departemen. Di bawah "Dept Y", mereka telah disusun menjadi dua tim, dan dalam folder tim, mereka mengatur lebih lanjut berdasarkan produk. Folder untuk "Product 1" selanjutnya berisi tiga project, masing-masing dengan resource yang dibutuhkan untuk project tersebut. Hal ini memberi mereka tingkat fleksibilitas yang tinggi dalam menetapkan kebijakan IAM dan kebijakan Organisasi pada tingkat perincian yang tepat.

Contoh hierarki folder

Anda dapat menggunakan kebijakan IAM level folder untuk mengontrol akses ke resource yang terdapat dalam folder. Misalnya, jika pengguna diberi peran Admin Instance Compute pada folder, pengguna tersebut memiliki peran Admin Instance Compute untuk semua project dalam 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 memperoleh resource organisasi, lihat Membuat dan mengelola organisasi.

Jika Anda mencari tahu cara terbaik menggunakan folder, kami sarankan agar Anda:

  1. Tinjau Kontrol Akses untuk Folder Menggunakan IAM. Topik ini menjelaskan cara mengontrol siapa saja yang memiliki akses ke folder dan resource yang dimilikinya.
  2. Memahami 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 pada tingkat resource organisasi. Untuk membatasi visibilitas ke cabang hierarki folder Anda, berikan peran Folder Viewer pada folder atau folder yang Anda inginkan untuk dilihat pengguna.
  3. Buat folder. Saat merencanakan cara mengatur resource Cloud, sebaiknya mulai dengan satu folder sebagai sandbox tempat Anda dapat bereksperimen dengan hierarki mana yang paling sesuai untuk resource organisasi Anda. Bayangkan folder dalam hal batas isolasi antara resource dan pasang titik untuk kebijakan akses dan konfigurasi. Anda dapat memilih untuk membuat folder agar berisi resource yang termasuk dalam departemen yang berbeda dan menetapkan peran Admin pada folder untuk mendelegasikan hak istimewa administrator. Folder juga dapat digunakan untuk mengelompokkan resource milik aplikasi atau lingkungan lain, seperti pengembangan, produksi, pengujian. Gunakan folder bertingkat untuk membuat model skenario yang berbeda ini.

Situasi yang umum terjadi adalah membuat folder yang kemudian berisi folder atau project tambahan, seperti ditunjukkan dalam gambar di atas. Struktur ini disebut sebagai hierarki folder. Saat membuat hierarki folder, perhatikan hal berikut:

  • Anda dapat membuat folder bertingkat hingga 10 (sepuluh) tingkat.
  • Folder induk tidak boleh berisi lebih dari 300 folder. Ini hanya merujuk ke folder turunan langsung. Pada akhirnya, folder turunan tersebut dapat berisi folder atau project tambahan.
  • Nama tampilan folder harus unik di tingkat hierarki yang sama.

Menetapkan izin untuk mengelola folder

Untuk mengakses dan mengelola folder, Anda perlu menetapkan peran IAM khusus folder ke grup pengguna tertentu. Untuk mempelajari peran ini lebih lanjut, baca artikel Kontrol Akses untuk Folder menggunakan IAM. Sebaiknya tinjau praktik terbaik kami untuk membantu mengidentifikasi konfigurasi yang optimal untuk izin folder Anda.

Awalnya, hanya Organization Admin yang dapat menetapkan peran Folder Admin untuk resource organisasi. Akun berikutnya yang diberi peran ini dapat memberikannya ke akun lain.

Untuk menyiapkan izin folder:

console

  1. Di konsol Google Cloud, buka halaman Manage resources.

    Buka halaman Kelola resource

  2. Klik menu drop-down Organization di kiri atas, lalu pilih Organisasi Anda dari daftar resource.

  3. Di kolom Tambahkan anggota, masukkan alamat email Anda.

  4. Di kotak menu drop-down Pilih peran, buka kategori Resource Manager, lalu pilih peran Folder Admin.

  5. Klik Tambahkan untuk memberikan peran baru.

gcloud

Folder dapat dibuat secara terprogram menggunakan Google Cloud CLI. Untuk melakukannya, 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 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 level organisasi, Anda harus memiliki salah satu peran ini di level 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.
  • Namanya harus berbeda dari semua folder lain yang berbagi induknya.

Untuk membuat folder:

Konsol

Folder dapat dibuat di UI melalui bagian "Kelola Project dan Folder".

  1. Buka halaman Manage resources di Konsol Google Cloud:

    Buka halaman Kelola resource

  2. Pastikan nama resource organisasi Anda dipilih di menu drop-down organisasi di bagian atas halaman.

  3. Klik Create folder.

  4. Dalam kotak Nama folder, masukkan nama folder baru.

  5. Pada bagian Destination, klik Browse, lalu pilih resource atau folder organisasi tempat Anda ingin membuat folder baru.

    1. 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 menggunakan nama tampilan yang sama. 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 Create 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, misalnya organizations/123.

Respons Create 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 Tag User. Untuk 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 key-value pair yang dipisahkan koma adalah 123/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 Folder IAM Administrator atau Folder Admin di tingkat induk.

Konsol

  1. Di konsol Google Cloud, buka halaman Manage Resources.

    Buka halaman Manage Resources

  2. Klik menu drop-down Organization di kiri atas, lalu pilih resource organisasi Anda.

  3. Pilih kotak centang di samping project yang izinnya ingin Anda ubah.

    1. Di sebelah kanan Panel info, di bagian Izin, masukkan alamat email anggota yang ingin ditambahkan.

    2. Di menu drop-down Pilih peran, pilih peran yang ingin diberikan kepada anggota tersebut.

    3. 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 tersebut.

API

Metode setIamPolicy menetapkan kebijakan kontrol akses pada folder, sehingga 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 ditetapkan, misalnya folder/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

  1. Di konsol Google Cloud, buka halaman Manage resources (Kelola resource).

    Buka Konsol Google Cloud

  2. Buka halaman Kelola resource.
  3. Pilih resource organisasi Anda dari drop-down Organization di kiri atas halaman.
  4. Klik Buat Project.
  5. Masukkan Project name.
  6. Di kotak Destination, klik Browse untuk memilih folder tempat Anda ingin membuat project.

  7. 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, seperti folder atau organization.

Jangan sertakan informasi sensitif di nama folder atau nama resource lainnya. Setiap referensi ke folder atau resource terkait akan mengekspos nama folder dan nama resource.

Memindahkan project ke folder

Anda harus mempertimbangkan dengan cermat implikasi kebijakan sebelum memindahkan project ke dalam atau keluar dari folder. Kebijakan Identity and Access Management yang Anda tentukan di level project akan mengikuti project, tetapi kebijakan yang diwarisi dari resource induk tidak akan dipindahkan.

Saat Anda memindahkan project, setiap kebijakan Identity and Access Management atau kebijakan organisasi yang terkait secara langsung akan ikut berpindah bersama project tersebut. Namun, project dalam hierarki resource Anda juga terpengaruh oleh kebijakan yang diwarisinya 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 project tersebut juga akan mewarisi izin di tujuan.

Misalnya, anggaplah akun layanan memiliki peran Storage Object Creator yang terikat dengan pengguna di Folder A. Akun layanan memiliki izin untuk mengupload data ke Cloud Storage di project mana pun di Folder A. Jika Anda memindahkan salah satu project ini ke Folder B, yang tidak memiliki izin yang diwarisi yang sama, akun layanan untuk project tersebut tidak akan dapat mengupload data, sehingga layanan terputus.

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 ada dalam folder, Anda memerlukan peran ini di resource organisasi.

Peran ini memberi Anda izin yang diperlukan berikut ini:

  • resourcemanager.projects.update pada project
  • Jika resource berada dalam 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 lain yang telah ditetapkan.

Konsol

Untuk memindahkan project:

  1. Pada Konsol Google Cloud, buka halaman Kelola resource

    Buka Manage resources

  2. Pilih Organisasi Anda dari drop-down Organization di kiri atas halaman.

  3. Klik baris project untuk memilih project Anda dari daftar resource. Perlu diperhatikan bahwa Anda tidak boleh mengklik nama project, yang akan mengarahkan Anda ke halaman IAM project.

  4. Klik menu opsi (elipsis vertikal) di baris, lalu klik Pindahkan.

  5. Klik Browse untuk memilih folder tempat project ingin dipindahkan.

  6. 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 pindahkan.

  • DESTINATION_TYPE adalah organization atau folder.

  • DESTINATION_ID adalah ID resource atau folder organisasi tempat Anda ingin memindahkan project. Anda hanya dapat menetapkan 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 perbarui. 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 Operation 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.

  1. Di konsol Google Cloud, buka halaman Manage resources (Kelola resource).

    Buka Konsol Google Cloud

  2. Pilih resource organisasi Anda dari drop-down Organization di kiri atas halaman.
  3. Klik baris folder untuk memilih folder Anda dari daftar project dan folder.
  4. Klik menu opsi (elipsis vertikal) di baris, lalu klik Pindahkan.
  5. Klik Browse untuk memilih folder tempat Anda ingin memindahkan folder.
  6. 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 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 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, misalnya 98765.
  • [DISPLAY_NAME] adalah nama tampilan folder yang dipindahkan, misalnya "My Awesome Folder".

Respons Memindahkan 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 membuat daftar folder, Anda harus memiliki peran Organization Viewer dan Folder Viewer.

Untuk melihat atau membuat daftar folder dan project:

console

  1. Di konsol Google Cloud, buka halaman Manage resources (Kelola resource).

    Buka halaman Kelola resource

  2. Dari pemilih project di bagian atas halaman, pilih resource organisasi Anda. Folder harus dibuat agar dapat muncul dalam daftar ini.

  3. Pilih salah satu baris dalam tree untuk menjalankan operasi khusus folder atau project.

  4. 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 menampilkan daftar folder turunan 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 menampilkan daftar 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 menampilkan daftar project dalam organisasi atau resource atau folder folder, gunakan perintah projects list dengan argumen filter.

gcloud projects list \
  --filter=" parent.id: 'RESOURCE_ID' "

Ganti RESOURCE_ID dengan ID organisasi atau resource folder yang daftar project turunannya ingin Anda lihat.

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 Folder 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 tanda 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, dengan meneruskan ID folder dalam flag --folder. Tindakan ini juga dapat mencantumkan folder tingkat teratas 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 datanya diminta dihapus 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 folder induk atau ID resource organisasi dalam tanda --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 di Hierarki Anda.

Untuk menelusuri folder yang cocok dengan kueri yang ditentukan, gunakan gcloud alpha resource-manager folders search, dengan meneruskan kondisi dalam tanda --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>

Pembaruan

Folder dapat diperbarui dengan perintah gcloud resource-manager folders update. Saat ini, hanya kolom display_name dari 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 Folder Admin atau Folder Editor 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 …>

Pemindahan Project

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 pembuatan folder dapat memerlukan waktu lama. Agar lebih mudah melakukan multitasking, beberapa perintah folder memungkinkan Anda melakukannya secara asinkron. Perintah ini menerima flag --async untuk mengaktifkan perilaku asinkron, sehingga menyebabkannya segera menampilkan Operasi yang Berjalan Lama, bukan menunggu operasi selesai. Anda dapat memeriksa sendiri operasi ini 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 …>