Fitur Actions adalah fitur alfa yang memperluas rentang metode API yang dapat dipanggil Deployment Manager. Karena fitur ini tidak didukung, sebaiknya migrasikan penggunaan yang ada Actions ke alternatif yang didukung. Tindakan storage.buckets.setIamPolicy
yang umum digunakan sesuai dengan jenis resource Deployment Manager virtual.buckets.iamMemberBinding
yang ada, yang dapat Anda gunakan untuk menggantikannya.
Memigrasikan deployment dari storage.buckets.setIamPolicy
ke virtual.buckets.iamMemberBinding
Resource virtual.buckets.iamMemberBinding
adalah resource virtual yang
merepresentasikan binding kebijakan Identity and Access Management (IAM). Jenis lengkapnya adalah
gcp-types/storage-v1:virtual.buckets.iamMemberBinding
.
virtual.buckets.iamMemberBinding
memiliki penerapan kustom operasi buat, baca, perbarui, dan hapus (CRUD) dari backend Deployment Manager. Metode ini memanggil metode yang serupa dengan metode yang dipanggil oleh Action
storage.buckets.setIamPolicy
, tetapi dimodelkan sebagai resource normal, bukan
Action, dan mengikuti siklus proses yang sama dengan jenis resource normal.
Untuk memigrasikan deployment, ganti penggunaan Action
storage.buckets.setIamPolicy
dengan resource
virtual.buckets.iamMemberBinding
di semua file konfigurasi
deployment Anda. Jika memiliki beberapa binding, Anda mungkin memerlukan beberapa resource untuk
menerapkan logika yang sama di seluruh binding tersebut. Jenis virtual tidak menggantikan binding yang ada pada resource, tetapi menambal binding baru.
Contoh penggunaan untuk migrasi secara manual
Untuk menyelesaikan migrasi secara manual, lihat contoh penggunaan berikut. Dalam
kasus tertentu, seperti penerapan beberapa binding IAM, Anda mungkin perlu menambahkan metadata.dependsOn
atau referensi ke resource lain ke resource iamMemberBinding
untuk menghindari situasi seperti kondisi persaingan.
YAML + Jinja
Berikut adalah contoh cara penggunaan Tindakan setIamPolicy
dalam
file konfigurasi YAML. Pendekatan ini tidak didukung, dan harus diganti
dengan penggunaan resource virtual iamMemberBinding
:
- name: patch-iam-policy
action: gcp-types/storage-v1:storage.buckets.setIamPolicy
properties:
bucket:
policy: # existing policy, e.g. from a getIamPolicyAction
gcpIamPolicyPatch:
add:
Contoh berikut menunjukkan penggunaan yang direkomendasikan untuk resource virtual
iamMemberBinding
dalam template YAML dan Jinja:
{% set BUCKETNAME = "bucket-" + env["deployment"] %}
resources:
- type: gcp-types/storage-v1:buckets
name: {{ BUCKETNAME }}
properties:
location: US
storageClass: STANDARD
- type: gcp-types/storage-v1:virtual.buckets.iamMemberBinding
name: test-bucket-iam
properties:
bucket: $(ref.{{ BUCKETNAME }}.name)
member: projectEditor:{{ env["project"] }}
role: roles/storage.admin
Python
Berikut adalah contoh cara penggunaan Tindakan setIamPolicy
dalam template Python. Pendekatan ini tidak didukung, dan harus diganti dengan
penggunaan resource virtual iamMemberBinding
:
Contoh berikut menunjukkan penggunaan yang direkomendasikan untuk resource virtual
iamMemberBinding
dalam template Python:
Anda dapat menemukan contoh tambahan terkait template
gcs-bucket.py
di repositori
cloud-foundation-toolkit
di GitHub. Untuk melihat demonstrasi mendetail tentang proses mengonversi template
gcs-bucket.py
dari penggunaan Action setIamPolicy
ke penggunaan
resource virtual iamMemberBinding
, lihat
contoh konversi.
Anda juga dapat menemukan
contoh penggunaan
template yang dikonversi.