🚀 New! Kestra raises $3 million to grow Learn more

CreateBucket CreateBucket

yaml
type: "io.kestra.plugin.gcp.gcs.CreateBucket"

Create a bucket or update if it already exists.

Examples

Create a new bucket with some options

yaml
id: "create_bucket"
type: "io.kestra.plugin.gcp.gcs.CreateBucket"
name: "my-bucket"
versioningEnabled: true
labels: 
  my-label: my-value

Properties

name

  • Type: string
  • Dynamic: ✔️
  • Required: ✔️

Bucket's unique name

acl

The bucket's access control configuration See About Access Control Lists

cors

The bucket's Cross-Origin Resource Sharing (CORS) configuration See Cross-Origin ResourceSharing (CORS)

defaultAcl

The default access control configuration The access control configuration to apply to bucket's blobs when no other configuration is specified. See About Access Control Lists

defaultEventBasedHold

  • Type: boolean
  • Dynamic:
  • Required:

The default event-based hold for this bucket

defaultKmsKeyName

  • Type: string
  • Dynamic:
  • Required:

The default Cloud KMS key name for this bucket

iamConfiguration

The Bucket's IAM Configuration See uniform bucket-level access

ifExists

  • Type: string
  • Dynamic:
  • Required:
  • Default: ERROR
  • Possible Values:
    • ERROR
    • UPDATE
    • SKIP

Policy to apply if a bucket already exists.

indexPage

  • Type: string
  • Dynamic:
  • Required:

The bucket's website index page Behaves as the bucket's directory index where missing blobs are treated as potential directories.

labels

  • Type: object
  • SubType: string
  • Dynamic: ✔️
  • Required:

The labels of this bucket

lifecycleRules

The bucket's lifecycle configuration This configuration is expressed as a number of lifecycle rules, consisting of an action and a condition. See Object Lifecycle Management Only the age condition is supported. Only the delete and SetStorageClass actions are supported

location

  • Type: string
  • Dynamic: ✔️
  • Required:

The bucket's location Data for blobs in the bucket resides in physical storage within this region. A list of supported values is available here.

logging

The bucket's logging configuration This configuration defines the destination bucket and optional name prefix for the current bucket's logs.

notFoundPage

  • Type: string
  • Dynamic:
  • Required:

The custom object to return when a requested resource is not found

projectId

  • Type: string
  • Dynamic: ✔️
  • Required:

The GCP project ID.

requesterPays

  • Type: boolean
  • Dynamic:
  • Required:

Whether the requester pays or not. Whether a user accessing the bucket or an object it contains should assume the transit costs related to the access.

retentionPeriod

  • Type: integer
  • Dynamic:
  • Required:

Retention period If policy is not locked this value can be cleared, increased, and decreased. If policy is locked the retention period can only be increased.

scopes

  • Type: array
  • SubType: string
  • Dynamic: ✔️
  • Required:
  • Default: [https://www.googleapis.com/auth/cloud-platform]

The GCP scopes to used.

serviceAccount

  • Type: string
  • Dynamic: ✔️
  • Required:

The GCP service account key.

storageClass

  • Type: string
  • Dynamic:
  • Required:
  • Possible Values:
    • REGIONAL
    • MULTI_REGIONAL
    • NEARLINE
    • COLDLINE
    • STANDARD
    • ARCHIVE
    • DURABLE_REDUCED_AVAILABILITY

The bucket's storage class This defines how blobs in the bucket are stored and determines the SLA and the cost of storage. A list of supported values is available here.

versioningEnabled

  • Type: boolean
  • Dynamic:
  • Required:

Whether versioning should be enabled for this bucket When set to true, versioning is fully enabled.

Outputs

bucket

The bucket's info

created

  • Type: boolean
  • Dynamic:
  • Required:
  • Default: false

If the bucket was created.

updated

  • Type: boolean
  • Dynamic:
  • Required:
  • Default: false

If the bucket was updated.

Definitions

io.kestra.plugin.gcp.gcs.models.BucketLifecycleRule-Condition

Properties

age
  • Type: integer
  • Dynamic: ✔️
  • Required: ✔️

The Age condition is satisfied when an object reaches the specified age (in days). Age is measured from the object's creation time.

io.kestra.plugin.gcp.gcs.models.IamConfiguration

Properties

publicAccessPrevention
  • Type: string
  • Dynamic:
  • Required:
  • Possible Values:
    • ENFORCED
    • UNSPECIFIED
    • UNKNOWN
    • INHERITED
uniformBucketLevelAccessEnabled
  • Type: boolean
  • Dynamic:
  • Required:

io.kestra.plugin.gcp.gcs.models.Entity

Properties

value
  • Type: string
  • Dynamic: ✔️
  • Required: ✔️

The value for the entity (ex : user email if the type is USER ...)

com.google.cloud.storage.Cors-Origin

Properties

value
  • Type: string
  • Dynamic:
  • Required:

io.kestra.plugin.gcp.gcs.models.Cors

Properties

maxAgeSeconds
  • Type: integer
  • Dynamic:
  • Required:
methods
  • Type: array
  • SubType: string
  • Dynamic:
  • Required:
origins
responseHeaders
  • Type: array
  • SubType: string
  • Dynamic:
  • Required:

io.kestra.plugin.gcp.gcs.models.AccessControl

Properties

entity

The entity

role
  • Type: string
  • Dynamic: ✔️
  • Required: ✔️
  • Possible Values:
    • READER
    • WRITER
    • OWNER

The role to assign to the entity

io.kestra.plugin.gcp.gcs.models.BucketLifecycleRule

Properties

action

The action to take when a lifecycle condition is met

condition

The condition

io.kestra.plugin.gcp.gcs.models.BucketLifecycleRule-Action

Properties

value
  • Type: string
  • Dynamic: ✔️
  • Required:

The value for the action (if any)

io.kestra.plugin.gcp.gcs.models.Logging

Properties

logBucket
  • Type: string
  • Dynamic:
  • Required:
logObjectPrefix
  • Type: string
  • Dynamic:
  • Required:

io.kestra.plugin.gcp.gcs.models.Bucket

Properties

indexPage
  • Type: string
  • Dynamic:
  • Required:

The bucket's website index page.

location
  • Type: string
  • Dynamic:
  • Required:

The bucket's location

name
  • Type: string
  • Dynamic:
  • Required:

The bucket's unique name

notFoundPage
  • Type: string
  • Dynamic:
  • Required:

The custom object to return when a requested resource is not found.

uri
  • Type: string
  • Dynamic:
  • Required:
  • Format: uri

The bucket's URI.