Google Cloud CreateBucketIamPolicy

Google Cloud CreateBucketIamPolicy

Certified

Add IAM binding to a GCS bucket

Adds a role/member binding to a bucket policy. Can error or skip when the binding already exists.

yaml
type: io.kestra.plugin.gcp.gcs.CreateBucketIamPolicy

Add role to a service account on a bucket

yaml
id: gcp_gcs_create_bucket_iam_policy
namespace: company.team

tasks:
  - id: create_bucket_iam_policy
    type: io.kestra.plugin.gcp.gcs.CreateBucketIamPolicy
    name: "my-bucket"
    member: "serviceAccount:sa@project.iam.gserviceaccount.com"
    role: "roles/storage.admin"
Properties

Member

IAM member string, e.g., user: alice@example.com or serviceAccount: sa@project.iam.gserviceaccount.com

Bucket name

Role

IAM role to grant (e.g., roles/storage.objectViewer)

Assets this task consumes as inputs or produces as outputs, for lineage tracking and the asset graph (Enterprise Edition). A flow declaring this property on a task is rejected in the open-source edition.

Definitions
assetFailureBehaviorstring
Possible Values
IGNOREFAILWARN

Asset failure behavior

Behavior applied to the task state when a declared asset fails to render, emit, or be persisted (e.g. a lock conflict): FAIL escalates it to FAILED, WARN (default) warns it if it would otherwise succeed, IGNORE leaves the state untouched.

enableAutobooleanstring

Whether to auto-register assets referenced dynamically at runtime that are not statically declared in inputs or outputs.

inputsarray

The assets consumed as inputs.

id*string
Min length1
typestring
outputs

The assets produced as outputs.

id*string
Min length1
Max length150
type*object
descriptionstring
displayNamestring
metadataobject
Default{}
namespacestring
Min length1
Max length150
id*string
Min length1
Max length150
type*object
descriptionstring
displayNamestring
metadataobject
Default{}
namespacestring
Min length1
Max length150
id*string
Min length1
Max length150
type*object
descriptionstring
displayNamestring
metadataobject
Default{}
namespacestring
Min length1
Max length150
id*string
Min length1
Max length150
type*object
descriptionstring
displayNamestring
metadataobject
Default{}
namespacestring
Min length1
Max length150
id*string
Min length1
Max length150
type*object
descriptionstring
displayNamestring
metadataobject
Default{}
namespacestring
Min length1
Max length150
id*string
Min length1
Max length150
type*string
Min length1

Custom asset type

descriptionstring
displayNamestring
metadataobject
Default{}
namespacestring
Min length1
Max length150
DefaultSKIP
Possible Values
ERRORSKIP

Existing binding policy

ERROR or SKIP when the role/member already exists; default SKIP

The GCP service account to impersonate

The GCP project ID

SubTypestring
Default["https://www.googleapis.com/auth/cloud-platform"]

The GCP scopes to be used

The GCP service account

Bucket name

Created

True if the binding was added; false if it already existed

Member

Role