La funzionalità Azioni è una funzionalità alpha
che amplia la gamma di metodi API utilizzabili da Deployment Manager
chiamata. Poiché questa funzionalità non è supportata, ti consigliamo di eseguire la migrazione dell'utilizzo esistente di Azioni ad alternative supportate. L'azione di uso comune
storage.buckets.setIamPolicy
corrisponde a un Deployment Manager esistente
tipo di risorsa virtual.buckets.iamMemberBinding
, che puoi usare per sostituire
li annotino.
Migrazione del deployment da storage.buckets.setIamPolicy
a virtual.buckets.iamMemberBinding
in corso...
La risorsa virtual.buckets.iamMemberBinding
è una risorsa virtuale che
rappresenta un'associazione di criteri IAM (Identity and Access Management). Il tipo completo è
gcp-types/storage-v1:virtual.buckets.iamMemberBinding
.
virtual.buckets.iamMemberBinding
ha un'implementazione personalizzata della creazione,
le operazioni di lettura, aggiornamento ed eliminazione (CRUD) di Deployment Manager
di un backend cloud. Chiama un metodo simile a quello richiamato dall'Azione
storage.buckets.setIamPolicy
, ma è invece modellata come risorsa normale
di un'azione e segue lo stesso ciclo di vita di un normale tipo di risorsa.
Per eseguire la migrazione del deployment, sostituisci l'uso dell'azione
storage.buckets.setIamPolicy
con la risorsa
virtual.buckets.iamMemberBinding
in tutta la configurazione del deployment
. Se hai più associazioni, potrebbero essere necessarie più risorse
e implementare la stessa logica tra di loro. Il tipo virtuale non sostituisce nessuna
le associazioni esistenti su una risorsa, ma corregge quelle nuove.
Esempi di utilizzo per la migrazione manuale
Per completare la migrazione manualmente, fai riferimento ai seguenti esempi di utilizzo. Nel
in alcuni casi, come l'applicazione di più associazioni IAM,
potresti dover aggiungere metadata.dependsOn
o riferimenti ad altre risorse
la risorsa iamMemberBinding
per evitare situazioni come le condizioni di gara.
YAML + Jinja
Di seguito è riportato un esempio di come viene utilizzata l'azione setIamPolicy
in una
di configurazione YAML. Questo approccio non è supportato e deve essere sostituito con l'utilizzo della risorsa virtuale 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:
L'esempio seguente mostra l'utilizzo consigliato delle
iamMemberBinding
risorsa virtuale in un modello YAML e 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
Di seguito è riportato un esempio di come viene utilizzata l'azione setIamPolicy
in una
modello Python. Questo approccio non è supportato e deve essere sostituito con
utilizzo della risorsa virtuale iamMemberBinding
:
L'esempio seguente mostra l'utilizzo consigliato delle
iamMemberBinding
risorsa virtuale in un modello Python:
Puoi trovare altri esempi relativi al
modello gcs-bucket.py
nel
repository cloud-foundation-toolkit
su GitHub. Per una dimostrazione dettagliata del processo di conversione
gcs-bucket.py
dall'uso dell'azione setIamPolicy
all'uso
risorsa virtuale iamMemberBinding
, consulta le
esempio di conversione:
Puoi anche trovare:
esempi di utilizzo
del modello convertito.