storage

package
v5.26.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 1, 2021 License: Apache-2.0 Imports: 7 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Bucket

type Bucket struct {
	pulumi.CustomResourceState

	// Enables [Bucket Policy Only](https://cloud.google.com/storage/docs/bucket-policy-only) access to a bucket. This field will be removed in the next major release of the provider.
	//
	// Deprecated: Please use the uniform_bucket_level_access as this field has been renamed by Google.
	BucketPolicyOnly pulumi.BoolOutput `pulumi:"bucketPolicyOnly"`
	// The bucket's [Cross-Origin Resource Sharing (CORS)](https://www.w3.org/TR/cors/) configuration. Multiple blocks of this type are permitted. Structure is documented below.
	Cors                  BucketCorArrayOutput `pulumi:"cors"`
	DefaultEventBasedHold pulumi.BoolPtrOutput `pulumi:"defaultEventBasedHold"`
	// The bucket's encryption configuration. Structure is documented below.
	Encryption BucketEncryptionPtrOutput `pulumi:"encryption"`
	// When deleting a bucket, this
	// boolean option will delete all contained objects. If you try to delete a
	// bucket that contains objects, the provider will fail that run.
	ForceDestroy pulumi.BoolPtrOutput `pulumi:"forceDestroy"`
	// A map of key/value label pairs to assign to the bucket.
	Labels pulumi.StringMapOutput `pulumi:"labels"`
	// The bucket's [Lifecycle Rules](https://cloud.google.com/storage/docs/lifecycle#configuration) configuration. Multiple blocks of this type are permitted. Structure is documented below.
	LifecycleRules BucketLifecycleRuleArrayOutput `pulumi:"lifecycleRules"`
	// The [GCS location](https://cloud.google.com/storage/docs/bucket-locations)
	Location pulumi.StringPtrOutput `pulumi:"location"`
	// The bucket's [Access & Storage Logs](https://cloud.google.com/storage/docs/access-logs) configuration. Structure is documented below.
	Logging BucketLoggingPtrOutput `pulumi:"logging"`
	// The name of the bucket.
	Name pulumi.StringOutput `pulumi:"name"`
	// The ID of the project in which the resource belongs. If it
	// is not provided, the provider project is used.
	Project pulumi.StringOutput `pulumi:"project"`
	// Enables [Requester Pays](https://cloud.google.com/storage/docs/requester-pays) on a storage bucket.
	RequesterPays pulumi.BoolPtrOutput `pulumi:"requesterPays"`
	// Configuration of the bucket's data retention policy for how long objects in the bucket should be retained. Structure is documented below.
	RetentionPolicy BucketRetentionPolicyPtrOutput `pulumi:"retentionPolicy"`
	// The URI of the created resource.
	SelfLink pulumi.StringOutput `pulumi:"selfLink"`
	// The target [Storage Class](https://cloud.google.com/storage/docs/storage-classes) of objects affected by this Lifecycle Rule. Supported values include: `STANDARD`, `MULTI_REGIONAL`, `REGIONAL`, `NEARLINE`, `COLDLINE`, `ARCHIVE`.
	StorageClass pulumi.StringPtrOutput `pulumi:"storageClass"`
	// Enables [Uniform bucket-level access](https://cloud.google.com/storage/docs/uniform-bucket-level-access) access to a bucket.
	UniformBucketLevelAccess pulumi.BoolOutput `pulumi:"uniformBucketLevelAccess"`
	// The base URL of the bucket, in the format `gs://<bucket-name>`.
	Url pulumi.StringOutput `pulumi:"url"`
	// The bucket's [Versioning](https://cloud.google.com/storage/docs/object-versioning) configuration.  Structure is documented below.
	Versioning BucketVersioningPtrOutput `pulumi:"versioning"`
	// Configuration if the bucket acts as a website. Structure is documented below.
	Website BucketWebsitePtrOutput `pulumi:"website"`
}

Creates a new bucket in Google cloud storage service (GCS). Once a bucket has been created, its location can't be changed.

For more information see [the official documentation](https://cloud.google.com/storage/docs/overview) and [API](https://cloud.google.com/storage/docs/json_api/v1/buckets).

**Note**: If the project id is not set on the resource or in the provider block it will be dynamically determined which will require enabling the compute api.

## Example Usage ### Creating A Private Bucket In Standard Storage, In The EU Region. Bucket Configured As Static Website And CORS Configurations

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/storage"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := storage.NewBucket(ctx, "static_site", &storage.BucketArgs{
			Cors: storage.BucketCorArray{
				&storage.BucketCorArgs{
					MaxAgeSeconds: pulumi.Int(3600),
					Methods: pulumi.StringArray{
						pulumi.String("GET"),
						pulumi.String("HEAD"),
						pulumi.String("PUT"),
						pulumi.String("POST"),
						pulumi.String("DELETE"),
					},
					Origins: pulumi.StringArray{
						pulumi.String("http://image-store.com"),
					},
					ResponseHeaders: pulumi.StringArray{
						pulumi.String("*"),
					},
				},
			},
			ForceDestroy:             pulumi.Bool(true),
			Location:                 pulumi.String("EU"),
			UniformBucketLevelAccess: pulumi.Bool(true),
			Website: &storage.BucketWebsiteArgs{
				MainPageSuffix: pulumi.String("index.html"),
				NotFoundPage:   pulumi.String("404.html"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Life Cycle Settings For Storage Bucket Objects

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/storage"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := storage.NewBucket(ctx, "auto_expire", &storage.BucketArgs{
			ForceDestroy: pulumi.Bool(true),
			LifecycleRules: storage.BucketLifecycleRuleArray{
				&storage.BucketLifecycleRuleArgs{
					Action: &storage.BucketLifecycleRuleActionArgs{
						Type: pulumi.String("Delete"),
					},
					Condition: &storage.BucketLifecycleRuleConditionArgs{
						Age: pulumi.Int(3),
					},
				},
			},
			Location: pulumi.String("US"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Storage buckets can be imported using the `name` or

`project/name`. If the project is not passed to the import command it will be inferred from the provider block or environment variables. If it cannot be inferred it will be queried from the Compute API (this will fail if the API is not enabled). e.g.

```sh

$ pulumi import gcp:storage/bucket:Bucket image-store image-store-bucket

```

```sh

$ pulumi import gcp:storage/bucket:Bucket image-store tf-test-project/image-store-bucket

```

`false` in state. If you've set it to `true` in config, run `terraform apply` to update the value set in state. If you delete this resource before updating the value, objects in the bucket will not be destroyed.

func GetBucket

func GetBucket(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *BucketState, opts ...pulumi.ResourceOption) (*Bucket, error)

GetBucket gets an existing Bucket resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewBucket

func NewBucket(ctx *pulumi.Context,
	name string, args *BucketArgs, opts ...pulumi.ResourceOption) (*Bucket, error)

NewBucket registers a new resource with the given unique name, arguments, and options.

func (*Bucket) ElementType

func (*Bucket) ElementType() reflect.Type

func (*Bucket) ToBucketOutput

func (i *Bucket) ToBucketOutput() BucketOutput

func (*Bucket) ToBucketOutputWithContext

func (i *Bucket) ToBucketOutputWithContext(ctx context.Context) BucketOutput

func (*Bucket) ToBucketPtrOutput

func (i *Bucket) ToBucketPtrOutput() BucketPtrOutput

func (*Bucket) ToBucketPtrOutputWithContext

func (i *Bucket) ToBucketPtrOutputWithContext(ctx context.Context) BucketPtrOutput

type BucketACL

type BucketACL struct {
	pulumi.CustomResourceState

	// The name of the bucket it applies to.
	Bucket pulumi.StringOutput `pulumi:"bucket"`
	// Configure this ACL to be the default ACL.
	DefaultAcl pulumi.StringPtrOutput `pulumi:"defaultAcl"`
	// The [canned GCS ACL](https://cloud.google.com/storage/docs/access-control/lists#predefined-acl) to apply. Must be set if `roleEntity` is not.
	PredefinedAcl pulumi.StringPtrOutput `pulumi:"predefinedAcl"`
	// List of role/entity pairs in the form `ROLE:entity`. See [GCS Bucket ACL documentation](https://cloud.google.com/storage/docs/json_api/v1/bucketAccessControls)  for more details. Must be set if `predefinedAcl` is not.
	RoleEntities pulumi.StringArrayOutput `pulumi:"roleEntities"`
}

Authoritatively manages a bucket's ACLs in Google cloud storage service (GCS). For more information see [the official documentation](https://cloud.google.com/storage/docs/access-control/lists) and [API](https://cloud.google.com/storage/docs/json_api/v1/bucketAccessControls).

Bucket ACLs can be managed non authoritatively using the `storageBucketAccessControl` resource. Do not use these two resources in conjunction to manage the same bucket.

Permissions can be granted either by ACLs or Cloud IAM policies. In general, permissions granted by Cloud IAM policies do not appear in ACLs, and permissions granted by ACLs do not appear in Cloud IAM policies. The only exception is for ACLs applied directly on a bucket and certain bucket-level Cloud IAM policies, as described in [Cloud IAM relation to ACLs](https://cloud.google.com/storage/docs/access-control/iam#acls).

**NOTE** This resource will not remove the `project-owners-<project_id>` entity from the `OWNER` role.

## Example Usage

Example creating an ACL on a bucket with one owner, and one reader.

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/storage"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := storage.NewBucket(ctx, "image_store", &storage.BucketArgs{
			Location: pulumi.String("EU"),
		})
		if err != nil {
			return err
		}
		_, err = storage.NewBucketACL(ctx, "image_store_acl", &storage.BucketACLArgs{
			Bucket: image_store.Name,
			RoleEntities: pulumi.StringArray{
				pulumi.String("OWNER:user-my.email@gmail.com"),
				pulumi.String("READER:group-mygroup"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

This resource does not support import.

func GetBucketACL

func GetBucketACL(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *BucketACLState, opts ...pulumi.ResourceOption) (*BucketACL, error)

GetBucketACL gets an existing BucketACL resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewBucketACL

func NewBucketACL(ctx *pulumi.Context,
	name string, args *BucketACLArgs, opts ...pulumi.ResourceOption) (*BucketACL, error)

NewBucketACL registers a new resource with the given unique name, arguments, and options.

func (*BucketACL) ElementType

func (*BucketACL) ElementType() reflect.Type

func (*BucketACL) ToBucketACLOutput

func (i *BucketACL) ToBucketACLOutput() BucketACLOutput

func (*BucketACL) ToBucketACLOutputWithContext

func (i *BucketACL) ToBucketACLOutputWithContext(ctx context.Context) BucketACLOutput

func (*BucketACL) ToBucketACLPtrOutput

func (i *BucketACL) ToBucketACLPtrOutput() BucketACLPtrOutput

func (*BucketACL) ToBucketACLPtrOutputWithContext

func (i *BucketACL) ToBucketACLPtrOutputWithContext(ctx context.Context) BucketACLPtrOutput

type BucketACLArgs

type BucketACLArgs struct {
	// The name of the bucket it applies to.
	Bucket pulumi.StringInput
	// Configure this ACL to be the default ACL.
	DefaultAcl pulumi.StringPtrInput
	// The [canned GCS ACL](https://cloud.google.com/storage/docs/access-control/lists#predefined-acl) to apply. Must be set if `roleEntity` is not.
	PredefinedAcl pulumi.StringPtrInput
	// List of role/entity pairs in the form `ROLE:entity`. See [GCS Bucket ACL documentation](https://cloud.google.com/storage/docs/json_api/v1/bucketAccessControls)  for more details. Must be set if `predefinedAcl` is not.
	RoleEntities pulumi.StringArrayInput
}

The set of arguments for constructing a BucketACL resource.

func (BucketACLArgs) ElementType

func (BucketACLArgs) ElementType() reflect.Type

type BucketACLArray

type BucketACLArray []BucketACLInput

func (BucketACLArray) ElementType

func (BucketACLArray) ElementType() reflect.Type

func (BucketACLArray) ToBucketACLArrayOutput

func (i BucketACLArray) ToBucketACLArrayOutput() BucketACLArrayOutput

func (BucketACLArray) ToBucketACLArrayOutputWithContext

func (i BucketACLArray) ToBucketACLArrayOutputWithContext(ctx context.Context) BucketACLArrayOutput

type BucketACLArrayInput

type BucketACLArrayInput interface {
	pulumi.Input

	ToBucketACLArrayOutput() BucketACLArrayOutput
	ToBucketACLArrayOutputWithContext(context.Context) BucketACLArrayOutput
}

BucketACLArrayInput is an input type that accepts BucketACLArray and BucketACLArrayOutput values. You can construct a concrete instance of `BucketACLArrayInput` via:

BucketACLArray{ BucketACLArgs{...} }

type BucketACLArrayOutput

type BucketACLArrayOutput struct{ *pulumi.OutputState }

func (BucketACLArrayOutput) ElementType

func (BucketACLArrayOutput) ElementType() reflect.Type

func (BucketACLArrayOutput) Index

func (BucketACLArrayOutput) ToBucketACLArrayOutput

func (o BucketACLArrayOutput) ToBucketACLArrayOutput() BucketACLArrayOutput

func (BucketACLArrayOutput) ToBucketACLArrayOutputWithContext

func (o BucketACLArrayOutput) ToBucketACLArrayOutputWithContext(ctx context.Context) BucketACLArrayOutput

type BucketACLInput

type BucketACLInput interface {
	pulumi.Input

	ToBucketACLOutput() BucketACLOutput
	ToBucketACLOutputWithContext(ctx context.Context) BucketACLOutput
}

type BucketACLMap

type BucketACLMap map[string]BucketACLInput

func (BucketACLMap) ElementType

func (BucketACLMap) ElementType() reflect.Type

func (BucketACLMap) ToBucketACLMapOutput

func (i BucketACLMap) ToBucketACLMapOutput() BucketACLMapOutput

func (BucketACLMap) ToBucketACLMapOutputWithContext

func (i BucketACLMap) ToBucketACLMapOutputWithContext(ctx context.Context) BucketACLMapOutput

type BucketACLMapInput

type BucketACLMapInput interface {
	pulumi.Input

	ToBucketACLMapOutput() BucketACLMapOutput
	ToBucketACLMapOutputWithContext(context.Context) BucketACLMapOutput
}

BucketACLMapInput is an input type that accepts BucketACLMap and BucketACLMapOutput values. You can construct a concrete instance of `BucketACLMapInput` via:

BucketACLMap{ "key": BucketACLArgs{...} }

type BucketACLMapOutput

type BucketACLMapOutput struct{ *pulumi.OutputState }

func (BucketACLMapOutput) ElementType

func (BucketACLMapOutput) ElementType() reflect.Type

func (BucketACLMapOutput) MapIndex

func (BucketACLMapOutput) ToBucketACLMapOutput

func (o BucketACLMapOutput) ToBucketACLMapOutput() BucketACLMapOutput

func (BucketACLMapOutput) ToBucketACLMapOutputWithContext

func (o BucketACLMapOutput) ToBucketACLMapOutputWithContext(ctx context.Context) BucketACLMapOutput

type BucketACLOutput

type BucketACLOutput struct{ *pulumi.OutputState }

func (BucketACLOutput) ElementType

func (BucketACLOutput) ElementType() reflect.Type

func (BucketACLOutput) ToBucketACLOutput

func (o BucketACLOutput) ToBucketACLOutput() BucketACLOutput

func (BucketACLOutput) ToBucketACLOutputWithContext

func (o BucketACLOutput) ToBucketACLOutputWithContext(ctx context.Context) BucketACLOutput

func (BucketACLOutput) ToBucketACLPtrOutput

func (o BucketACLOutput) ToBucketACLPtrOutput() BucketACLPtrOutput

func (BucketACLOutput) ToBucketACLPtrOutputWithContext

func (o BucketACLOutput) ToBucketACLPtrOutputWithContext(ctx context.Context) BucketACLPtrOutput

type BucketACLPtrInput

type BucketACLPtrInput interface {
	pulumi.Input

	ToBucketACLPtrOutput() BucketACLPtrOutput
	ToBucketACLPtrOutputWithContext(ctx context.Context) BucketACLPtrOutput
}

type BucketACLPtrOutput

type BucketACLPtrOutput struct{ *pulumi.OutputState }

func (BucketACLPtrOutput) Elem added in v5.21.0

func (BucketACLPtrOutput) ElementType

func (BucketACLPtrOutput) ElementType() reflect.Type

func (BucketACLPtrOutput) ToBucketACLPtrOutput

func (o BucketACLPtrOutput) ToBucketACLPtrOutput() BucketACLPtrOutput

func (BucketACLPtrOutput) ToBucketACLPtrOutputWithContext

func (o BucketACLPtrOutput) ToBucketACLPtrOutputWithContext(ctx context.Context) BucketACLPtrOutput

type BucketACLState

type BucketACLState struct {
	// The name of the bucket it applies to.
	Bucket pulumi.StringPtrInput
	// Configure this ACL to be the default ACL.
	DefaultAcl pulumi.StringPtrInput
	// The [canned GCS ACL](https://cloud.google.com/storage/docs/access-control/lists#predefined-acl) to apply. Must be set if `roleEntity` is not.
	PredefinedAcl pulumi.StringPtrInput
	// List of role/entity pairs in the form `ROLE:entity`. See [GCS Bucket ACL documentation](https://cloud.google.com/storage/docs/json_api/v1/bucketAccessControls)  for more details. Must be set if `predefinedAcl` is not.
	RoleEntities pulumi.StringArrayInput
}

func (BucketACLState) ElementType

func (BucketACLState) ElementType() reflect.Type

type BucketAccessControl

type BucketAccessControl struct {
	pulumi.CustomResourceState

	// The name of the bucket.
	Bucket pulumi.StringOutput `pulumi:"bucket"`
	// The domain associated with the entity.
	Domain pulumi.StringOutput `pulumi:"domain"`
	// The email address associated with the entity.
	Email pulumi.StringOutput `pulumi:"email"`
	// The entity holding the permission, in one of the following forms:
	// user-userId
	// user-email
	// group-groupId
	// group-email
	// domain-domain
	// project-team-projectId
	// allUsers
	// allAuthenticatedUsers
	// Examples:
	// The user liz@example.com would be user-liz@example.com.
	// The group example@googlegroups.com would be
	// group-example@googlegroups.com.
	// To refer to all members of the Google Apps for Business domain
	// example.com, the entity would be domain-example.com.
	Entity pulumi.StringOutput `pulumi:"entity"`
	// The access permission for the entity.
	// Possible values are `OWNER`, `READER`, and `WRITER`.
	Role pulumi.StringPtrOutput `pulumi:"role"`
}

Bucket ACLs can be managed authoritatively using the `storageBucketAcl` resource. Do not use these two resources in conjunction to manage the same bucket.

The BucketAccessControls resource manages the Access Control List (ACLs) for a single entity/role pairing on a bucket. ACLs let you specify who has access to your data and to what extent.

There are three roles that can be assigned to an entity:

READERs can get the bucket, though no acl property will be returned, and list the bucket's objects. WRITERs are READERs, and they can insert objects into the bucket and delete the bucket's objects. OWNERs are WRITERs, and they can get the acl property of a bucket, update a bucket, and call all BucketAccessControls methods on the bucket. For more information, see Access Control, with the caveat that this API uses READER, WRITER, and OWNER instead of READ, WRITE, and FULL_CONTROL.

To get more information about BucketAccessControl, see:

* [API documentation](https://cloud.google.com/storage/docs/json_api/v1/bucketAccessControls) * How-to Guides

## Example Usage ### Storage Bucket Access Control Public Bucket

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/storage"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		bucket, err := storage.NewBucket(ctx, "bucket", nil)
		if err != nil {
			return err
		}
		_, err = storage.NewBucketAccessControl(ctx, "publicRule", &storage.BucketAccessControlArgs{
			Bucket: bucket.Name,
			Role:   pulumi.String("READER"),
			Entity: pulumi.String("allUsers"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

BucketAccessControl can be imported using any of these accepted formats

```sh

$ pulumi import gcp:storage/bucketAccessControl:BucketAccessControl default {{bucket}}/{{entity}}

```

func GetBucketAccessControl

func GetBucketAccessControl(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *BucketAccessControlState, opts ...pulumi.ResourceOption) (*BucketAccessControl, error)

GetBucketAccessControl gets an existing BucketAccessControl resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewBucketAccessControl

func NewBucketAccessControl(ctx *pulumi.Context,
	name string, args *BucketAccessControlArgs, opts ...pulumi.ResourceOption) (*BucketAccessControl, error)

NewBucketAccessControl registers a new resource with the given unique name, arguments, and options.

func (*BucketAccessControl) ElementType

func (*BucketAccessControl) ElementType() reflect.Type

func (*BucketAccessControl) ToBucketAccessControlOutput

func (i *BucketAccessControl) ToBucketAccessControlOutput() BucketAccessControlOutput

func (*BucketAccessControl) ToBucketAccessControlOutputWithContext

func (i *BucketAccessControl) ToBucketAccessControlOutputWithContext(ctx context.Context) BucketAccessControlOutput

func (*BucketAccessControl) ToBucketAccessControlPtrOutput

func (i *BucketAccessControl) ToBucketAccessControlPtrOutput() BucketAccessControlPtrOutput

func (*BucketAccessControl) ToBucketAccessControlPtrOutputWithContext

func (i *BucketAccessControl) ToBucketAccessControlPtrOutputWithContext(ctx context.Context) BucketAccessControlPtrOutput

type BucketAccessControlArgs

type BucketAccessControlArgs struct {
	// The name of the bucket.
	Bucket pulumi.StringInput
	// The entity holding the permission, in one of the following forms:
	// user-userId
	// user-email
	// group-groupId
	// group-email
	// domain-domain
	// project-team-projectId
	// allUsers
	// allAuthenticatedUsers
	// Examples:
	// The user liz@example.com would be user-liz@example.com.
	// The group example@googlegroups.com would be
	// group-example@googlegroups.com.
	// To refer to all members of the Google Apps for Business domain
	// example.com, the entity would be domain-example.com.
	Entity pulumi.StringInput
	// The access permission for the entity.
	// Possible values are `OWNER`, `READER`, and `WRITER`.
	Role pulumi.StringPtrInput
}

The set of arguments for constructing a BucketAccessControl resource.

func (BucketAccessControlArgs) ElementType

func (BucketAccessControlArgs) ElementType() reflect.Type

type BucketAccessControlArray

type BucketAccessControlArray []BucketAccessControlInput

func (BucketAccessControlArray) ElementType

func (BucketAccessControlArray) ElementType() reflect.Type

func (BucketAccessControlArray) ToBucketAccessControlArrayOutput

func (i BucketAccessControlArray) ToBucketAccessControlArrayOutput() BucketAccessControlArrayOutput

func (BucketAccessControlArray) ToBucketAccessControlArrayOutputWithContext

func (i BucketAccessControlArray) ToBucketAccessControlArrayOutputWithContext(ctx context.Context) BucketAccessControlArrayOutput

type BucketAccessControlArrayInput

type BucketAccessControlArrayInput interface {
	pulumi.Input

	ToBucketAccessControlArrayOutput() BucketAccessControlArrayOutput
	ToBucketAccessControlArrayOutputWithContext(context.Context) BucketAccessControlArrayOutput
}

BucketAccessControlArrayInput is an input type that accepts BucketAccessControlArray and BucketAccessControlArrayOutput values. You can construct a concrete instance of `BucketAccessControlArrayInput` via:

BucketAccessControlArray{ BucketAccessControlArgs{...} }

type BucketAccessControlArrayOutput

type BucketAccessControlArrayOutput struct{ *pulumi.OutputState }

func (BucketAccessControlArrayOutput) ElementType

func (BucketAccessControlArrayOutput) Index

func (BucketAccessControlArrayOutput) ToBucketAccessControlArrayOutput

func (o BucketAccessControlArrayOutput) ToBucketAccessControlArrayOutput() BucketAccessControlArrayOutput

func (BucketAccessControlArrayOutput) ToBucketAccessControlArrayOutputWithContext

func (o BucketAccessControlArrayOutput) ToBucketAccessControlArrayOutputWithContext(ctx context.Context) BucketAccessControlArrayOutput

type BucketAccessControlInput

type BucketAccessControlInput interface {
	pulumi.Input

	ToBucketAccessControlOutput() BucketAccessControlOutput
	ToBucketAccessControlOutputWithContext(ctx context.Context) BucketAccessControlOutput
}

type BucketAccessControlMap

type BucketAccessControlMap map[string]BucketAccessControlInput

func (BucketAccessControlMap) ElementType

func (BucketAccessControlMap) ElementType() reflect.Type

func (BucketAccessControlMap) ToBucketAccessControlMapOutput

func (i BucketAccessControlMap) ToBucketAccessControlMapOutput() BucketAccessControlMapOutput

func (BucketAccessControlMap) ToBucketAccessControlMapOutputWithContext

func (i BucketAccessControlMap) ToBucketAccessControlMapOutputWithContext(ctx context.Context) BucketAccessControlMapOutput

type BucketAccessControlMapInput

type BucketAccessControlMapInput interface {
	pulumi.Input

	ToBucketAccessControlMapOutput() BucketAccessControlMapOutput
	ToBucketAccessControlMapOutputWithContext(context.Context) BucketAccessControlMapOutput
}

BucketAccessControlMapInput is an input type that accepts BucketAccessControlMap and BucketAccessControlMapOutput values. You can construct a concrete instance of `BucketAccessControlMapInput` via:

BucketAccessControlMap{ "key": BucketAccessControlArgs{...} }

type BucketAccessControlMapOutput

type BucketAccessControlMapOutput struct{ *pulumi.OutputState }

func (BucketAccessControlMapOutput) ElementType

func (BucketAccessControlMapOutput) MapIndex

func (BucketAccessControlMapOutput) ToBucketAccessControlMapOutput

func (o BucketAccessControlMapOutput) ToBucketAccessControlMapOutput() BucketAccessControlMapOutput

func (BucketAccessControlMapOutput) ToBucketAccessControlMapOutputWithContext

func (o BucketAccessControlMapOutput) ToBucketAccessControlMapOutputWithContext(ctx context.Context) BucketAccessControlMapOutput

type BucketAccessControlOutput

type BucketAccessControlOutput struct{ *pulumi.OutputState }

func (BucketAccessControlOutput) ElementType

func (BucketAccessControlOutput) ElementType() reflect.Type

func (BucketAccessControlOutput) ToBucketAccessControlOutput

func (o BucketAccessControlOutput) ToBucketAccessControlOutput() BucketAccessControlOutput

func (BucketAccessControlOutput) ToBucketAccessControlOutputWithContext

func (o BucketAccessControlOutput) ToBucketAccessControlOutputWithContext(ctx context.Context) BucketAccessControlOutput

func (BucketAccessControlOutput) ToBucketAccessControlPtrOutput

func (o BucketAccessControlOutput) ToBucketAccessControlPtrOutput() BucketAccessControlPtrOutput

func (BucketAccessControlOutput) ToBucketAccessControlPtrOutputWithContext

func (o BucketAccessControlOutput) ToBucketAccessControlPtrOutputWithContext(ctx context.Context) BucketAccessControlPtrOutput

type BucketAccessControlPtrInput

type BucketAccessControlPtrInput interface {
	pulumi.Input

	ToBucketAccessControlPtrOutput() BucketAccessControlPtrOutput
	ToBucketAccessControlPtrOutputWithContext(ctx context.Context) BucketAccessControlPtrOutput
}

type BucketAccessControlPtrOutput

type BucketAccessControlPtrOutput struct{ *pulumi.OutputState }

func (BucketAccessControlPtrOutput) Elem added in v5.21.0

func (BucketAccessControlPtrOutput) ElementType

func (BucketAccessControlPtrOutput) ToBucketAccessControlPtrOutput

func (o BucketAccessControlPtrOutput) ToBucketAccessControlPtrOutput() BucketAccessControlPtrOutput

func (BucketAccessControlPtrOutput) ToBucketAccessControlPtrOutputWithContext

func (o BucketAccessControlPtrOutput) ToBucketAccessControlPtrOutputWithContext(ctx context.Context) BucketAccessControlPtrOutput

type BucketAccessControlState

type BucketAccessControlState struct {
	// The name of the bucket.
	Bucket pulumi.StringPtrInput
	// The domain associated with the entity.
	Domain pulumi.StringPtrInput
	// The email address associated with the entity.
	Email pulumi.StringPtrInput
	// The entity holding the permission, in one of the following forms:
	// user-userId
	// user-email
	// group-groupId
	// group-email
	// domain-domain
	// project-team-projectId
	// allUsers
	// allAuthenticatedUsers
	// Examples:
	// The user liz@example.com would be user-liz@example.com.
	// The group example@googlegroups.com would be
	// group-example@googlegroups.com.
	// To refer to all members of the Google Apps for Business domain
	// example.com, the entity would be domain-example.com.
	Entity pulumi.StringPtrInput
	// The access permission for the entity.
	// Possible values are `OWNER`, `READER`, and `WRITER`.
	Role pulumi.StringPtrInput
}

func (BucketAccessControlState) ElementType

func (BucketAccessControlState) ElementType() reflect.Type

type BucketArgs

type BucketArgs struct {
	// Enables [Bucket Policy Only](https://cloud.google.com/storage/docs/bucket-policy-only) access to a bucket. This field will be removed in the next major release of the provider.
	//
	// Deprecated: Please use the uniform_bucket_level_access as this field has been renamed by Google.
	BucketPolicyOnly pulumi.BoolPtrInput
	// The bucket's [Cross-Origin Resource Sharing (CORS)](https://www.w3.org/TR/cors/) configuration. Multiple blocks of this type are permitted. Structure is documented below.
	Cors                  BucketCorArrayInput
	DefaultEventBasedHold pulumi.BoolPtrInput
	// The bucket's encryption configuration. Structure is documented below.
	Encryption BucketEncryptionPtrInput
	// When deleting a bucket, this
	// boolean option will delete all contained objects. If you try to delete a
	// bucket that contains objects, the provider will fail that run.
	ForceDestroy pulumi.BoolPtrInput
	// A map of key/value label pairs to assign to the bucket.
	Labels pulumi.StringMapInput
	// The bucket's [Lifecycle Rules](https://cloud.google.com/storage/docs/lifecycle#configuration) configuration. Multiple blocks of this type are permitted. Structure is documented below.
	LifecycleRules BucketLifecycleRuleArrayInput
	// The [GCS location](https://cloud.google.com/storage/docs/bucket-locations)
	Location pulumi.StringPtrInput
	// The bucket's [Access & Storage Logs](https://cloud.google.com/storage/docs/access-logs) configuration. Structure is documented below.
	Logging BucketLoggingPtrInput
	// The name of the bucket.
	Name pulumi.StringPtrInput
	// The ID of the project in which the resource belongs. If it
	// is not provided, the provider project is used.
	Project pulumi.StringPtrInput
	// Enables [Requester Pays](https://cloud.google.com/storage/docs/requester-pays) on a storage bucket.
	RequesterPays pulumi.BoolPtrInput
	// Configuration of the bucket's data retention policy for how long objects in the bucket should be retained. Structure is documented below.
	RetentionPolicy BucketRetentionPolicyPtrInput
	// The target [Storage Class](https://cloud.google.com/storage/docs/storage-classes) of objects affected by this Lifecycle Rule. Supported values include: `STANDARD`, `MULTI_REGIONAL`, `REGIONAL`, `NEARLINE`, `COLDLINE`, `ARCHIVE`.
	StorageClass pulumi.StringPtrInput
	// Enables [Uniform bucket-level access](https://cloud.google.com/storage/docs/uniform-bucket-level-access) access to a bucket.
	UniformBucketLevelAccess pulumi.BoolPtrInput
	// The bucket's [Versioning](https://cloud.google.com/storage/docs/object-versioning) configuration.  Structure is documented below.
	Versioning BucketVersioningPtrInput
	// Configuration if the bucket acts as a website. Structure is documented below.
	Website BucketWebsitePtrInput
}

The set of arguments for constructing a Bucket resource.

func (BucketArgs) ElementType

func (BucketArgs) ElementType() reflect.Type

type BucketArray

type BucketArray []BucketInput

func (BucketArray) ElementType

func (BucketArray) ElementType() reflect.Type

func (BucketArray) ToBucketArrayOutput

func (i BucketArray) ToBucketArrayOutput() BucketArrayOutput

func (BucketArray) ToBucketArrayOutputWithContext

func (i BucketArray) ToBucketArrayOutputWithContext(ctx context.Context) BucketArrayOutput

type BucketArrayInput

type BucketArrayInput interface {
	pulumi.Input

	ToBucketArrayOutput() BucketArrayOutput
	ToBucketArrayOutputWithContext(context.Context) BucketArrayOutput
}

BucketArrayInput is an input type that accepts BucketArray and BucketArrayOutput values. You can construct a concrete instance of `BucketArrayInput` via:

BucketArray{ BucketArgs{...} }

type BucketArrayOutput

type BucketArrayOutput struct{ *pulumi.OutputState }

func (BucketArrayOutput) ElementType

func (BucketArrayOutput) ElementType() reflect.Type

func (BucketArrayOutput) Index

func (BucketArrayOutput) ToBucketArrayOutput

func (o BucketArrayOutput) ToBucketArrayOutput() BucketArrayOutput

func (BucketArrayOutput) ToBucketArrayOutputWithContext

func (o BucketArrayOutput) ToBucketArrayOutputWithContext(ctx context.Context) BucketArrayOutput

type BucketCor

type BucketCor struct {
	// The value, in seconds, to return in the [Access-Control-Max-Age header](https://www.w3.org/TR/cors/#access-control-max-age-response-header) used in preflight responses.
	MaxAgeSeconds *int `pulumi:"maxAgeSeconds"`
	// The list of HTTP methods on which to include CORS response headers, (GET, OPTIONS, POST, etc) Note: "*" is permitted in the list of methods, and means "any method".
	Methods []string `pulumi:"methods"`
	// The list of [Origins](https://tools.ietf.org/html/rfc6454) eligible to receive CORS response headers. Note: "*" is permitted in the list of origins, and means "any Origin".
	Origins []string `pulumi:"origins"`
	// The list of HTTP headers other than the [simple response headers](https://www.w3.org/TR/cors/#simple-response-header) to give permission for the user-agent to share across domains.
	ResponseHeaders []string `pulumi:"responseHeaders"`
}

type BucketCorArgs

type BucketCorArgs struct {
	// The value, in seconds, to return in the [Access-Control-Max-Age header](https://www.w3.org/TR/cors/#access-control-max-age-response-header) used in preflight responses.
	MaxAgeSeconds pulumi.IntPtrInput `pulumi:"maxAgeSeconds"`
	// The list of HTTP methods on which to include CORS response headers, (GET, OPTIONS, POST, etc) Note: "*" is permitted in the list of methods, and means "any method".
	Methods pulumi.StringArrayInput `pulumi:"methods"`
	// The list of [Origins](https://tools.ietf.org/html/rfc6454) eligible to receive CORS response headers. Note: "*" is permitted in the list of origins, and means "any Origin".
	Origins pulumi.StringArrayInput `pulumi:"origins"`
	// The list of HTTP headers other than the [simple response headers](https://www.w3.org/TR/cors/#simple-response-header) to give permission for the user-agent to share across domains.
	ResponseHeaders pulumi.StringArrayInput `pulumi:"responseHeaders"`
}

func (BucketCorArgs) ElementType

func (BucketCorArgs) ElementType() reflect.Type

func (BucketCorArgs) ToBucketCorOutput

func (i BucketCorArgs) ToBucketCorOutput() BucketCorOutput

func (BucketCorArgs) ToBucketCorOutputWithContext

func (i BucketCorArgs) ToBucketCorOutputWithContext(ctx context.Context) BucketCorOutput

type BucketCorArray

type BucketCorArray []BucketCorInput

func (BucketCorArray) ElementType

func (BucketCorArray) ElementType() reflect.Type

func (BucketCorArray) ToBucketCorArrayOutput

func (i BucketCorArray) ToBucketCorArrayOutput() BucketCorArrayOutput

func (BucketCorArray) ToBucketCorArrayOutputWithContext

func (i BucketCorArray) ToBucketCorArrayOutputWithContext(ctx context.Context) BucketCorArrayOutput

type BucketCorArrayInput

type BucketCorArrayInput interface {
	pulumi.Input

	ToBucketCorArrayOutput() BucketCorArrayOutput
	ToBucketCorArrayOutputWithContext(context.Context) BucketCorArrayOutput
}

BucketCorArrayInput is an input type that accepts BucketCorArray and BucketCorArrayOutput values. You can construct a concrete instance of `BucketCorArrayInput` via:

BucketCorArray{ BucketCorArgs{...} }

type BucketCorArrayOutput

type BucketCorArrayOutput struct{ *pulumi.OutputState }

func (BucketCorArrayOutput) ElementType

func (BucketCorArrayOutput) ElementType() reflect.Type

func (BucketCorArrayOutput) Index

func (BucketCorArrayOutput) ToBucketCorArrayOutput

func (o BucketCorArrayOutput) ToBucketCorArrayOutput() BucketCorArrayOutput

func (BucketCorArrayOutput) ToBucketCorArrayOutputWithContext

func (o BucketCorArrayOutput) ToBucketCorArrayOutputWithContext(ctx context.Context) BucketCorArrayOutput

type BucketCorInput

type BucketCorInput interface {
	pulumi.Input

	ToBucketCorOutput() BucketCorOutput
	ToBucketCorOutputWithContext(context.Context) BucketCorOutput
}

BucketCorInput is an input type that accepts BucketCorArgs and BucketCorOutput values. You can construct a concrete instance of `BucketCorInput` via:

BucketCorArgs{...}

type BucketCorOutput

type BucketCorOutput struct{ *pulumi.OutputState }

func (BucketCorOutput) ElementType

func (BucketCorOutput) ElementType() reflect.Type

func (BucketCorOutput) MaxAgeSeconds

func (o BucketCorOutput) MaxAgeSeconds() pulumi.IntPtrOutput

The value, in seconds, to return in the [Access-Control-Max-Age header](https://www.w3.org/TR/cors/#access-control-max-age-response-header) used in preflight responses.

func (BucketCorOutput) Methods

The list of HTTP methods on which to include CORS response headers, (GET, OPTIONS, POST, etc) Note: "*" is permitted in the list of methods, and means "any method".

func (BucketCorOutput) Origins

The list of [Origins](https://tools.ietf.org/html/rfc6454) eligible to receive CORS response headers. Note: "*" is permitted in the list of origins, and means "any Origin".

func (BucketCorOutput) ResponseHeaders

func (o BucketCorOutput) ResponseHeaders() pulumi.StringArrayOutput

The list of HTTP headers other than the [simple response headers](https://www.w3.org/TR/cors/#simple-response-header) to give permission for the user-agent to share across domains.

func (BucketCorOutput) ToBucketCorOutput

func (o BucketCorOutput) ToBucketCorOutput() BucketCorOutput

func (BucketCorOutput) ToBucketCorOutputWithContext

func (o BucketCorOutput) ToBucketCorOutputWithContext(ctx context.Context) BucketCorOutput

type BucketEncryption

type BucketEncryption struct {
	DefaultKmsKeyName string `pulumi:"defaultKmsKeyName"`
}

type BucketEncryptionArgs

type BucketEncryptionArgs struct {
	DefaultKmsKeyName pulumi.StringInput `pulumi:"defaultKmsKeyName"`
}

func (BucketEncryptionArgs) ElementType

func (BucketEncryptionArgs) ElementType() reflect.Type

func (BucketEncryptionArgs) ToBucketEncryptionOutput

func (i BucketEncryptionArgs) ToBucketEncryptionOutput() BucketEncryptionOutput

func (BucketEncryptionArgs) ToBucketEncryptionOutputWithContext

func (i BucketEncryptionArgs) ToBucketEncryptionOutputWithContext(ctx context.Context) BucketEncryptionOutput

func (BucketEncryptionArgs) ToBucketEncryptionPtrOutput

func (i BucketEncryptionArgs) ToBucketEncryptionPtrOutput() BucketEncryptionPtrOutput

func (BucketEncryptionArgs) ToBucketEncryptionPtrOutputWithContext

func (i BucketEncryptionArgs) ToBucketEncryptionPtrOutputWithContext(ctx context.Context) BucketEncryptionPtrOutput

type BucketEncryptionInput

type BucketEncryptionInput interface {
	pulumi.Input

	ToBucketEncryptionOutput() BucketEncryptionOutput
	ToBucketEncryptionOutputWithContext(context.Context) BucketEncryptionOutput
}

BucketEncryptionInput is an input type that accepts BucketEncryptionArgs and BucketEncryptionOutput values. You can construct a concrete instance of `BucketEncryptionInput` via:

BucketEncryptionArgs{...}

type BucketEncryptionOutput

type BucketEncryptionOutput struct{ *pulumi.OutputState }

func (BucketEncryptionOutput) DefaultKmsKeyName

func (o BucketEncryptionOutput) DefaultKmsKeyName() pulumi.StringOutput

func (BucketEncryptionOutput) ElementType

func (BucketEncryptionOutput) ElementType() reflect.Type

func (BucketEncryptionOutput) ToBucketEncryptionOutput

func (o BucketEncryptionOutput) ToBucketEncryptionOutput() BucketEncryptionOutput

func (BucketEncryptionOutput) ToBucketEncryptionOutputWithContext

func (o BucketEncryptionOutput) ToBucketEncryptionOutputWithContext(ctx context.Context) BucketEncryptionOutput

func (BucketEncryptionOutput) ToBucketEncryptionPtrOutput

func (o BucketEncryptionOutput) ToBucketEncryptionPtrOutput() BucketEncryptionPtrOutput

func (BucketEncryptionOutput) ToBucketEncryptionPtrOutputWithContext

func (o BucketEncryptionOutput) ToBucketEncryptionPtrOutputWithContext(ctx context.Context) BucketEncryptionPtrOutput

type BucketEncryptionPtrInput

type BucketEncryptionPtrInput interface {
	pulumi.Input

	ToBucketEncryptionPtrOutput() BucketEncryptionPtrOutput
	ToBucketEncryptionPtrOutputWithContext(context.Context) BucketEncryptionPtrOutput
}

BucketEncryptionPtrInput is an input type that accepts BucketEncryptionArgs, BucketEncryptionPtr and BucketEncryptionPtrOutput values. You can construct a concrete instance of `BucketEncryptionPtrInput` via:

        BucketEncryptionArgs{...}

or:

        nil

type BucketEncryptionPtrOutput

type BucketEncryptionPtrOutput struct{ *pulumi.OutputState }

func (BucketEncryptionPtrOutput) DefaultKmsKeyName

func (o BucketEncryptionPtrOutput) DefaultKmsKeyName() pulumi.StringPtrOutput

func (BucketEncryptionPtrOutput) Elem

func (BucketEncryptionPtrOutput) ElementType

func (BucketEncryptionPtrOutput) ElementType() reflect.Type

func (BucketEncryptionPtrOutput) ToBucketEncryptionPtrOutput

func (o BucketEncryptionPtrOutput) ToBucketEncryptionPtrOutput() BucketEncryptionPtrOutput

func (BucketEncryptionPtrOutput) ToBucketEncryptionPtrOutputWithContext

func (o BucketEncryptionPtrOutput) ToBucketEncryptionPtrOutputWithContext(ctx context.Context) BucketEncryptionPtrOutput

type BucketIAMBinding

type BucketIAMBinding struct {
	pulumi.CustomResourceState

	// Used to find the parent resource to bind the IAM policy to
	Bucket pulumi.StringOutput `pulumi:"bucket"`
	// ) An [IAM Condition](https://cloud.google.com/iam/docs/conditions-overview) for a given binding.
	// Structure is documented below.
	Condition BucketIAMBindingConditionPtrOutput `pulumi:"condition"`
	// (Computed) The etag of the IAM policy.
	Etag pulumi.StringOutput `pulumi:"etag"`
	// Identities that will be granted the privilege in `role`.
	// Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	// * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
	// * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
	// * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
	Members pulumi.StringArrayOutput `pulumi:"members"`
	// The role that should be applied. Only one
	// `storage.BucketIAMBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringOutput `pulumi:"role"`
}

Three different resources help you manage your IAM policy for Cloud Storage Bucket. Each of these resources serves a different use case:

* `storage.BucketIAMPolicy`: Authoritative. Sets the IAM policy for the bucket and replaces any existing policy already attached. * `storage.BucketIAMBinding`: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the bucket are preserved. * `storage.BucketIAMMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the bucket are preserved.

> **Note:** `storage.BucketIAMPolicy` **cannot** be used in conjunction with `storage.BucketIAMBinding` and `storage.BucketIAMMember` or they will fight over what your policy should be.

> **Note:** `storage.BucketIAMBinding` resources **can be** used in conjunction with `storage.BucketIAMMember` resources **only if** they do not grant privilege to the same role.

## google\_storage\_bucket\_iam\_policy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/organizations"
"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/storage"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				organizations.GetIAMPolicyBinding{
					Role: "roles/storage.admin",
					Members: []string{
						"user:jane@example.com",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = storage.NewBucketIAMPolicy(ctx, "policy", &storage.BucketIAMPolicyArgs{
			Bucket:     pulumi.Any(google_storage_bucket.Default.Name),
			PolicyData: pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

With IAM Conditions:

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/organizations"
"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/storage"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				organizations.GetIAMPolicyBinding{
					Role: "roles/storage.admin",
					Members: []string{
						"user:jane@example.com",
					},
					Condition: organizations.GetIAMPolicyBindingCondition{
						Title:       "expires_after_2019_12_31",
						Description: "Expiring at midnight of 2019-12-31",
						Expression:  "request.time < timestamp(\"2020-01-01T00:00:00Z\")",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = storage.NewBucketIAMPolicy(ctx, "policy", &storage.BucketIAMPolicyArgs{
			Bucket:     pulumi.Any(google_storage_bucket.Default.Name),
			PolicyData: pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ## google\_storage\_bucket\_iam\_binding

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/storage"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := storage.NewBucketIAMBinding(ctx, "binding", &storage.BucketIAMBindingArgs{
			Bucket: pulumi.Any(google_storage_bucket.Default.Name),
			Role:   pulumi.String("roles/storage.admin"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

With IAM Conditions:

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/storage"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := storage.NewBucketIAMBinding(ctx, "binding", &storage.BucketIAMBindingArgs{
			Bucket: pulumi.Any(google_storage_bucket.Default.Name),
			Role:   pulumi.String("roles/storage.admin"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
			Condition: &storage.BucketIAMBindingConditionArgs{
				Title:       pulumi.String("expires_after_2019_12_31"),
				Description: pulumi.String("Expiring at midnight of 2019-12-31"),
				Expression:  pulumi.String("request.time < timestamp(\"2020-01-01T00:00:00Z\")"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ## google\_storage\_bucket\_iam\_member

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/storage"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := storage.NewBucketIAMMember(ctx, "member", &storage.BucketIAMMemberArgs{
			Bucket: pulumi.Any(google_storage_bucket.Default.Name),
			Role:   pulumi.String("roles/storage.admin"),
			Member: pulumi.String("user:jane@example.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

With IAM Conditions:

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/storage"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := storage.NewBucketIAMMember(ctx, "member", &storage.BucketIAMMemberArgs{
			Bucket: pulumi.Any(google_storage_bucket.Default.Name),
			Role:   pulumi.String("roles/storage.admin"),
			Member: pulumi.String("user:jane@example.com"),
			Condition: &storage.BucketIAMMemberConditionArgs{
				Title:       pulumi.String("expires_after_2019_12_31"),
				Description: pulumi.String("Expiring at midnight of 2019-12-31"),
				Expression:  pulumi.String("request.time < timestamp(\"2020-01-01T00:00:00Z\")"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

For all import syntaxes, the "resource in question" can take any of the following forms* b/{{name}} * {{name}} Any variables not passed in the import command will be taken from the provider configuration. Cloud Storage bucket IAM resources can be imported using the resource identifiers, role, and member. IAM member imports use space-delimited identifiersthe resource in question, the role, and the member identity, e.g.

```sh

$ pulumi import gcp:storage/bucketIAMBinding:BucketIAMBinding editor "b/{{bucket}} roles/storage.objectViewer user:jane@example.com"

```

IAM binding imports use space-delimited identifiersthe resource in question and the role, e.g.

```sh

$ pulumi import gcp:storage/bucketIAMBinding:BucketIAMBinding editor "b/{{bucket}} roles/storage.objectViewer"

```

IAM policy imports use the identifier of the resource in question, e.g.

```sh

$ pulumi import gcp:storage/bucketIAMBinding:BucketIAMBinding editor b/{{bucket}}

```

-> **Custom Roles**If you're importing a IAM resource with a custom role, make sure to use the

full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.

func GetBucketIAMBinding

func GetBucketIAMBinding(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *BucketIAMBindingState, opts ...pulumi.ResourceOption) (*BucketIAMBinding, error)

GetBucketIAMBinding gets an existing BucketIAMBinding resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewBucketIAMBinding

func NewBucketIAMBinding(ctx *pulumi.Context,
	name string, args *BucketIAMBindingArgs, opts ...pulumi.ResourceOption) (*BucketIAMBinding, error)

NewBucketIAMBinding registers a new resource with the given unique name, arguments, and options.

func (*BucketIAMBinding) ElementType

func (*BucketIAMBinding) ElementType() reflect.Type

func (*BucketIAMBinding) ToBucketIAMBindingOutput

func (i *BucketIAMBinding) ToBucketIAMBindingOutput() BucketIAMBindingOutput

func (*BucketIAMBinding) ToBucketIAMBindingOutputWithContext

func (i *BucketIAMBinding) ToBucketIAMBindingOutputWithContext(ctx context.Context) BucketIAMBindingOutput

func (*BucketIAMBinding) ToBucketIAMBindingPtrOutput

func (i *BucketIAMBinding) ToBucketIAMBindingPtrOutput() BucketIAMBindingPtrOutput

func (*BucketIAMBinding) ToBucketIAMBindingPtrOutputWithContext

func (i *BucketIAMBinding) ToBucketIAMBindingPtrOutputWithContext(ctx context.Context) BucketIAMBindingPtrOutput

type BucketIAMBindingArgs

type BucketIAMBindingArgs struct {
	// Used to find the parent resource to bind the IAM policy to
	Bucket pulumi.StringInput
	// ) An [IAM Condition](https://cloud.google.com/iam/docs/conditions-overview) for a given binding.
	// Structure is documented below.
	Condition BucketIAMBindingConditionPtrInput
	// Identities that will be granted the privilege in `role`.
	// Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	// * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
	// * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
	// * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
	Members pulumi.StringArrayInput
	// The role that should be applied. Only one
	// `storage.BucketIAMBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringInput
}

The set of arguments for constructing a BucketIAMBinding resource.

func (BucketIAMBindingArgs) ElementType

func (BucketIAMBindingArgs) ElementType() reflect.Type

type BucketIAMBindingArray

type BucketIAMBindingArray []BucketIAMBindingInput

func (BucketIAMBindingArray) ElementType

func (BucketIAMBindingArray) ElementType() reflect.Type

func (BucketIAMBindingArray) ToBucketIAMBindingArrayOutput

func (i BucketIAMBindingArray) ToBucketIAMBindingArrayOutput() BucketIAMBindingArrayOutput

func (BucketIAMBindingArray) ToBucketIAMBindingArrayOutputWithContext

func (i BucketIAMBindingArray) ToBucketIAMBindingArrayOutputWithContext(ctx context.Context) BucketIAMBindingArrayOutput

type BucketIAMBindingArrayInput

type BucketIAMBindingArrayInput interface {
	pulumi.Input

	ToBucketIAMBindingArrayOutput() BucketIAMBindingArrayOutput
	ToBucketIAMBindingArrayOutputWithContext(context.Context) BucketIAMBindingArrayOutput
}

BucketIAMBindingArrayInput is an input type that accepts BucketIAMBindingArray and BucketIAMBindingArrayOutput values. You can construct a concrete instance of `BucketIAMBindingArrayInput` via:

BucketIAMBindingArray{ BucketIAMBindingArgs{...} }

type BucketIAMBindingArrayOutput

type BucketIAMBindingArrayOutput struct{ *pulumi.OutputState }

func (BucketIAMBindingArrayOutput) ElementType

func (BucketIAMBindingArrayOutput) Index

func (BucketIAMBindingArrayOutput) ToBucketIAMBindingArrayOutput

func (o BucketIAMBindingArrayOutput) ToBucketIAMBindingArrayOutput() BucketIAMBindingArrayOutput

func (BucketIAMBindingArrayOutput) ToBucketIAMBindingArrayOutputWithContext

func (o BucketIAMBindingArrayOutput) ToBucketIAMBindingArrayOutputWithContext(ctx context.Context) BucketIAMBindingArrayOutput

type BucketIAMBindingCondition

type BucketIAMBindingCondition struct {
	// An optional description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.
	Description *string `pulumi:"description"`
	// Textual representation of an expression in Common Expression Language syntax.
	Expression string `pulumi:"expression"`
	// A title for the expression, i.e. a short string describing its purpose.
	Title string `pulumi:"title"`
}

type BucketIAMBindingConditionArgs

type BucketIAMBindingConditionArgs struct {
	// An optional description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.
	Description pulumi.StringPtrInput `pulumi:"description"`
	// Textual representation of an expression in Common Expression Language syntax.
	Expression pulumi.StringInput `pulumi:"expression"`
	// A title for the expression, i.e. a short string describing its purpose.
	Title pulumi.StringInput `pulumi:"title"`
}

func (BucketIAMBindingConditionArgs) ElementType

func (BucketIAMBindingConditionArgs) ToBucketIAMBindingConditionOutput

func (i BucketIAMBindingConditionArgs) ToBucketIAMBindingConditionOutput() BucketIAMBindingConditionOutput

func (BucketIAMBindingConditionArgs) ToBucketIAMBindingConditionOutputWithContext

func (i BucketIAMBindingConditionArgs) ToBucketIAMBindingConditionOutputWithContext(ctx context.Context) BucketIAMBindingConditionOutput

func (BucketIAMBindingConditionArgs) ToBucketIAMBindingConditionPtrOutput

func (i BucketIAMBindingConditionArgs) ToBucketIAMBindingConditionPtrOutput() BucketIAMBindingConditionPtrOutput

func (BucketIAMBindingConditionArgs) ToBucketIAMBindingConditionPtrOutputWithContext

func (i BucketIAMBindingConditionArgs) ToBucketIAMBindingConditionPtrOutputWithContext(ctx context.Context) BucketIAMBindingConditionPtrOutput

type BucketIAMBindingConditionInput

type BucketIAMBindingConditionInput interface {
	pulumi.Input

	ToBucketIAMBindingConditionOutput() BucketIAMBindingConditionOutput
	ToBucketIAMBindingConditionOutputWithContext(context.Context) BucketIAMBindingConditionOutput
}

BucketIAMBindingConditionInput is an input type that accepts BucketIAMBindingConditionArgs and BucketIAMBindingConditionOutput values. You can construct a concrete instance of `BucketIAMBindingConditionInput` via:

BucketIAMBindingConditionArgs{...}

type BucketIAMBindingConditionOutput

type BucketIAMBindingConditionOutput struct{ *pulumi.OutputState }

func (BucketIAMBindingConditionOutput) Description

An optional description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.

func (BucketIAMBindingConditionOutput) ElementType

func (BucketIAMBindingConditionOutput) Expression

Textual representation of an expression in Common Expression Language syntax.

func (BucketIAMBindingConditionOutput) Title

A title for the expression, i.e. a short string describing its purpose.

func (BucketIAMBindingConditionOutput) ToBucketIAMBindingConditionOutput

func (o BucketIAMBindingConditionOutput) ToBucketIAMBindingConditionOutput() BucketIAMBindingConditionOutput

func (BucketIAMBindingConditionOutput) ToBucketIAMBindingConditionOutputWithContext

func (o BucketIAMBindingConditionOutput) ToBucketIAMBindingConditionOutputWithContext(ctx context.Context) BucketIAMBindingConditionOutput

func (BucketIAMBindingConditionOutput) ToBucketIAMBindingConditionPtrOutput

func (o BucketIAMBindingConditionOutput) ToBucketIAMBindingConditionPtrOutput() BucketIAMBindingConditionPtrOutput

func (BucketIAMBindingConditionOutput) ToBucketIAMBindingConditionPtrOutputWithContext

func (o BucketIAMBindingConditionOutput) ToBucketIAMBindingConditionPtrOutputWithContext(ctx context.Context) BucketIAMBindingConditionPtrOutput

type BucketIAMBindingConditionPtrInput

type BucketIAMBindingConditionPtrInput interface {
	pulumi.Input

	ToBucketIAMBindingConditionPtrOutput() BucketIAMBindingConditionPtrOutput
	ToBucketIAMBindingConditionPtrOutputWithContext(context.Context) BucketIAMBindingConditionPtrOutput
}

BucketIAMBindingConditionPtrInput is an input type that accepts BucketIAMBindingConditionArgs, BucketIAMBindingConditionPtr and BucketIAMBindingConditionPtrOutput values. You can construct a concrete instance of `BucketIAMBindingConditionPtrInput` via:

        BucketIAMBindingConditionArgs{...}

or:

        nil

type BucketIAMBindingConditionPtrOutput

type BucketIAMBindingConditionPtrOutput struct{ *pulumi.OutputState }

func (BucketIAMBindingConditionPtrOutput) Description

An optional description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.

func (BucketIAMBindingConditionPtrOutput) Elem

func (BucketIAMBindingConditionPtrOutput) ElementType

func (BucketIAMBindingConditionPtrOutput) Expression

Textual representation of an expression in Common Expression Language syntax.

func (BucketIAMBindingConditionPtrOutput) Title

A title for the expression, i.e. a short string describing its purpose.

func (BucketIAMBindingConditionPtrOutput) ToBucketIAMBindingConditionPtrOutput

func (o BucketIAMBindingConditionPtrOutput) ToBucketIAMBindingConditionPtrOutput() BucketIAMBindingConditionPtrOutput

func (BucketIAMBindingConditionPtrOutput) ToBucketIAMBindingConditionPtrOutputWithContext

func (o BucketIAMBindingConditionPtrOutput) ToBucketIAMBindingConditionPtrOutputWithContext(ctx context.Context) BucketIAMBindingConditionPtrOutput

type BucketIAMBindingInput

type BucketIAMBindingInput interface {
	pulumi.Input

	ToBucketIAMBindingOutput() BucketIAMBindingOutput
	ToBucketIAMBindingOutputWithContext(ctx context.Context) BucketIAMBindingOutput
}

type BucketIAMBindingMap

type BucketIAMBindingMap map[string]BucketIAMBindingInput

func (BucketIAMBindingMap) ElementType

func (BucketIAMBindingMap) ElementType() reflect.Type

func (BucketIAMBindingMap) ToBucketIAMBindingMapOutput

func (i BucketIAMBindingMap) ToBucketIAMBindingMapOutput() BucketIAMBindingMapOutput

func (BucketIAMBindingMap) ToBucketIAMBindingMapOutputWithContext

func (i BucketIAMBindingMap) ToBucketIAMBindingMapOutputWithContext(ctx context.Context) BucketIAMBindingMapOutput

type BucketIAMBindingMapInput

type BucketIAMBindingMapInput interface {
	pulumi.Input

	ToBucketIAMBindingMapOutput() BucketIAMBindingMapOutput
	ToBucketIAMBindingMapOutputWithContext(context.Context) BucketIAMBindingMapOutput
}

BucketIAMBindingMapInput is an input type that accepts BucketIAMBindingMap and BucketIAMBindingMapOutput values. You can construct a concrete instance of `BucketIAMBindingMapInput` via:

BucketIAMBindingMap{ "key": BucketIAMBindingArgs{...} }

type BucketIAMBindingMapOutput

type BucketIAMBindingMapOutput struct{ *pulumi.OutputState }

func (BucketIAMBindingMapOutput) ElementType

func (BucketIAMBindingMapOutput) ElementType() reflect.Type

func (BucketIAMBindingMapOutput) MapIndex

func (BucketIAMBindingMapOutput) ToBucketIAMBindingMapOutput

func (o BucketIAMBindingMapOutput) ToBucketIAMBindingMapOutput() BucketIAMBindingMapOutput

func (BucketIAMBindingMapOutput) ToBucketIAMBindingMapOutputWithContext

func (o BucketIAMBindingMapOutput) ToBucketIAMBindingMapOutputWithContext(ctx context.Context) BucketIAMBindingMapOutput

type BucketIAMBindingOutput

type BucketIAMBindingOutput struct{ *pulumi.OutputState }

func (BucketIAMBindingOutput) ElementType

func (BucketIAMBindingOutput) ElementType() reflect.Type

func (BucketIAMBindingOutput) ToBucketIAMBindingOutput

func (o BucketIAMBindingOutput) ToBucketIAMBindingOutput() BucketIAMBindingOutput

func (BucketIAMBindingOutput) ToBucketIAMBindingOutputWithContext

func (o BucketIAMBindingOutput) ToBucketIAMBindingOutputWithContext(ctx context.Context) BucketIAMBindingOutput

func (BucketIAMBindingOutput) ToBucketIAMBindingPtrOutput

func (o BucketIAMBindingOutput) ToBucketIAMBindingPtrOutput() BucketIAMBindingPtrOutput

func (BucketIAMBindingOutput) ToBucketIAMBindingPtrOutputWithContext

func (o BucketIAMBindingOutput) ToBucketIAMBindingPtrOutputWithContext(ctx context.Context) BucketIAMBindingPtrOutput

type BucketIAMBindingPtrInput

type BucketIAMBindingPtrInput interface {
	pulumi.Input

	ToBucketIAMBindingPtrOutput() BucketIAMBindingPtrOutput
	ToBucketIAMBindingPtrOutputWithContext(ctx context.Context) BucketIAMBindingPtrOutput
}

type BucketIAMBindingPtrOutput

type BucketIAMBindingPtrOutput struct{ *pulumi.OutputState }

func (BucketIAMBindingPtrOutput) Elem added in v5.21.0

func (BucketIAMBindingPtrOutput) ElementType

func (BucketIAMBindingPtrOutput) ElementType() reflect.Type

func (BucketIAMBindingPtrOutput) ToBucketIAMBindingPtrOutput

func (o BucketIAMBindingPtrOutput) ToBucketIAMBindingPtrOutput() BucketIAMBindingPtrOutput

func (BucketIAMBindingPtrOutput) ToBucketIAMBindingPtrOutputWithContext

func (o BucketIAMBindingPtrOutput) ToBucketIAMBindingPtrOutputWithContext(ctx context.Context) BucketIAMBindingPtrOutput

type BucketIAMBindingState

type BucketIAMBindingState struct {
	// Used to find the parent resource to bind the IAM policy to
	Bucket pulumi.StringPtrInput
	// ) An [IAM Condition](https://cloud.google.com/iam/docs/conditions-overview) for a given binding.
	// Structure is documented below.
	Condition BucketIAMBindingConditionPtrInput
	// (Computed) The etag of the IAM policy.
	Etag pulumi.StringPtrInput
	// Identities that will be granted the privilege in `role`.
	// Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	// * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
	// * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
	// * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
	Members pulumi.StringArrayInput
	// The role that should be applied. Only one
	// `storage.BucketIAMBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringPtrInput
}

func (BucketIAMBindingState) ElementType

func (BucketIAMBindingState) ElementType() reflect.Type

type BucketIAMMember

type BucketIAMMember struct {
	pulumi.CustomResourceState

	// Used to find the parent resource to bind the IAM policy to
	Bucket pulumi.StringOutput `pulumi:"bucket"`
	// ) An [IAM Condition](https://cloud.google.com/iam/docs/conditions-overview) for a given binding.
	// Structure is documented below.
	Condition BucketIAMMemberConditionPtrOutput `pulumi:"condition"`
	// (Computed) The etag of the IAM policy.
	Etag   pulumi.StringOutput `pulumi:"etag"`
	Member pulumi.StringOutput `pulumi:"member"`
	// The role that should be applied. Only one
	// `storage.BucketIAMBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringOutput `pulumi:"role"`
}

Three different resources help you manage your IAM policy for Cloud Storage Bucket. Each of these resources serves a different use case:

* `storage.BucketIAMPolicy`: Authoritative. Sets the IAM policy for the bucket and replaces any existing policy already attached. * `storage.BucketIAMBinding`: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the bucket are preserved. * `storage.BucketIAMMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the bucket are preserved.

> **Note:** `storage.BucketIAMPolicy` **cannot** be used in conjunction with `storage.BucketIAMBinding` and `storage.BucketIAMMember` or they will fight over what your policy should be.

> **Note:** `storage.BucketIAMBinding` resources **can be** used in conjunction with `storage.BucketIAMMember` resources **only if** they do not grant privilege to the same role.

## google\_storage\_bucket\_iam\_policy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/organizations"
"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/storage"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				organizations.GetIAMPolicyBinding{
					Role: "roles/storage.admin",
					Members: []string{
						"user:jane@example.com",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = storage.NewBucketIAMPolicy(ctx, "policy", &storage.BucketIAMPolicyArgs{
			Bucket:     pulumi.Any(google_storage_bucket.Default.Name),
			PolicyData: pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

With IAM Conditions:

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/organizations"
"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/storage"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				organizations.GetIAMPolicyBinding{
					Role: "roles/storage.admin",
					Members: []string{
						"user:jane@example.com",
					},
					Condition: organizations.GetIAMPolicyBindingCondition{
						Title:       "expires_after_2019_12_31",
						Description: "Expiring at midnight of 2019-12-31",
						Expression:  "request.time < timestamp(\"2020-01-01T00:00:00Z\")",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = storage.NewBucketIAMPolicy(ctx, "policy", &storage.BucketIAMPolicyArgs{
			Bucket:     pulumi.Any(google_storage_bucket.Default.Name),
			PolicyData: pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ## google\_storage\_bucket\_iam\_binding

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/storage"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := storage.NewBucketIAMBinding(ctx, "binding", &storage.BucketIAMBindingArgs{
			Bucket: pulumi.Any(google_storage_bucket.Default.Name),
			Role:   pulumi.String("roles/storage.admin"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

With IAM Conditions:

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/storage"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := storage.NewBucketIAMBinding(ctx, "binding", &storage.BucketIAMBindingArgs{
			Bucket: pulumi.Any(google_storage_bucket.Default.Name),
			Role:   pulumi.String("roles/storage.admin"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
			Condition: &storage.BucketIAMBindingConditionArgs{
				Title:       pulumi.String("expires_after_2019_12_31"),
				Description: pulumi.String("Expiring at midnight of 2019-12-31"),
				Expression:  pulumi.String("request.time < timestamp(\"2020-01-01T00:00:00Z\")"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ## google\_storage\_bucket\_iam\_member

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/storage"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := storage.NewBucketIAMMember(ctx, "member", &storage.BucketIAMMemberArgs{
			Bucket: pulumi.Any(google_storage_bucket.Default.Name),
			Role:   pulumi.String("roles/storage.admin"),
			Member: pulumi.String("user:jane@example.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

With IAM Conditions:

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/storage"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := storage.NewBucketIAMMember(ctx, "member", &storage.BucketIAMMemberArgs{
			Bucket: pulumi.Any(google_storage_bucket.Default.Name),
			Role:   pulumi.String("roles/storage.admin"),
			Member: pulumi.String("user:jane@example.com"),
			Condition: &storage.BucketIAMMemberConditionArgs{
				Title:       pulumi.String("expires_after_2019_12_31"),
				Description: pulumi.String("Expiring at midnight of 2019-12-31"),
				Expression:  pulumi.String("request.time < timestamp(\"2020-01-01T00:00:00Z\")"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

For all import syntaxes, the "resource in question" can take any of the following forms* b/{{name}} * {{name}} Any variables not passed in the import command will be taken from the provider configuration. Cloud Storage bucket IAM resources can be imported using the resource identifiers, role, and member. IAM member imports use space-delimited identifiersthe resource in question, the role, and the member identity, e.g.

```sh

$ pulumi import gcp:storage/bucketIAMMember:BucketIAMMember editor "b/{{bucket}} roles/storage.objectViewer user:jane@example.com"

```

IAM binding imports use space-delimited identifiersthe resource in question and the role, e.g.

```sh

$ pulumi import gcp:storage/bucketIAMMember:BucketIAMMember editor "b/{{bucket}} roles/storage.objectViewer"

```

IAM policy imports use the identifier of the resource in question, e.g.

```sh

$ pulumi import gcp:storage/bucketIAMMember:BucketIAMMember editor b/{{bucket}}

```

-> **Custom Roles**If you're importing a IAM resource with a custom role, make sure to use the

full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.

func GetBucketIAMMember

func GetBucketIAMMember(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *BucketIAMMemberState, opts ...pulumi.ResourceOption) (*BucketIAMMember, error)

GetBucketIAMMember gets an existing BucketIAMMember resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewBucketIAMMember

func NewBucketIAMMember(ctx *pulumi.Context,
	name string, args *BucketIAMMemberArgs, opts ...pulumi.ResourceOption) (*BucketIAMMember, error)

NewBucketIAMMember registers a new resource with the given unique name, arguments, and options.

func (*BucketIAMMember) ElementType

func (*BucketIAMMember) ElementType() reflect.Type

func (*BucketIAMMember) ToBucketIAMMemberOutput

func (i *BucketIAMMember) ToBucketIAMMemberOutput() BucketIAMMemberOutput

func (*BucketIAMMember) ToBucketIAMMemberOutputWithContext

func (i *BucketIAMMember) ToBucketIAMMemberOutputWithContext(ctx context.Context) BucketIAMMemberOutput

func (*BucketIAMMember) ToBucketIAMMemberPtrOutput

func (i *BucketIAMMember) ToBucketIAMMemberPtrOutput() BucketIAMMemberPtrOutput

func (*BucketIAMMember) ToBucketIAMMemberPtrOutputWithContext

func (i *BucketIAMMember) ToBucketIAMMemberPtrOutputWithContext(ctx context.Context) BucketIAMMemberPtrOutput

type BucketIAMMemberArgs

type BucketIAMMemberArgs struct {
	// Used to find the parent resource to bind the IAM policy to
	Bucket pulumi.StringInput
	// ) An [IAM Condition](https://cloud.google.com/iam/docs/conditions-overview) for a given binding.
	// Structure is documented below.
	Condition BucketIAMMemberConditionPtrInput
	Member    pulumi.StringInput
	// The role that should be applied. Only one
	// `storage.BucketIAMBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringInput
}

The set of arguments for constructing a BucketIAMMember resource.

func (BucketIAMMemberArgs) ElementType

func (BucketIAMMemberArgs) ElementType() reflect.Type

type BucketIAMMemberArray

type BucketIAMMemberArray []BucketIAMMemberInput

func (BucketIAMMemberArray) ElementType

func (BucketIAMMemberArray) ElementType() reflect.Type

func (BucketIAMMemberArray) ToBucketIAMMemberArrayOutput

func (i BucketIAMMemberArray) ToBucketIAMMemberArrayOutput() BucketIAMMemberArrayOutput

func (BucketIAMMemberArray) ToBucketIAMMemberArrayOutputWithContext

func (i BucketIAMMemberArray) ToBucketIAMMemberArrayOutputWithContext(ctx context.Context) BucketIAMMemberArrayOutput

type BucketIAMMemberArrayInput

type BucketIAMMemberArrayInput interface {
	pulumi.Input

	ToBucketIAMMemberArrayOutput() BucketIAMMemberArrayOutput
	ToBucketIAMMemberArrayOutputWithContext(context.Context) BucketIAMMemberArrayOutput
}

BucketIAMMemberArrayInput is an input type that accepts BucketIAMMemberArray and BucketIAMMemberArrayOutput values. You can construct a concrete instance of `BucketIAMMemberArrayInput` via:

BucketIAMMemberArray{ BucketIAMMemberArgs{...} }

type BucketIAMMemberArrayOutput

type BucketIAMMemberArrayOutput struct{ *pulumi.OutputState }

func (BucketIAMMemberArrayOutput) ElementType

func (BucketIAMMemberArrayOutput) ElementType() reflect.Type

func (BucketIAMMemberArrayOutput) Index

func (BucketIAMMemberArrayOutput) ToBucketIAMMemberArrayOutput

func (o BucketIAMMemberArrayOutput) ToBucketIAMMemberArrayOutput() BucketIAMMemberArrayOutput

func (BucketIAMMemberArrayOutput) ToBucketIAMMemberArrayOutputWithContext

func (o BucketIAMMemberArrayOutput) ToBucketIAMMemberArrayOutputWithContext(ctx context.Context) BucketIAMMemberArrayOutput

type BucketIAMMemberCondition

type BucketIAMMemberCondition struct {
	// An optional description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.
	Description *string `pulumi:"description"`
	// Textual representation of an expression in Common Expression Language syntax.
	Expression string `pulumi:"expression"`
	// A title for the expression, i.e. a short string describing its purpose.
	Title string `pulumi:"title"`
}

type BucketIAMMemberConditionArgs

type BucketIAMMemberConditionArgs struct {
	// An optional description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.
	Description pulumi.StringPtrInput `pulumi:"description"`
	// Textual representation of an expression in Common Expression Language syntax.
	Expression pulumi.StringInput `pulumi:"expression"`
	// A title for the expression, i.e. a short string describing its purpose.
	Title pulumi.StringInput `pulumi:"title"`
}

func (BucketIAMMemberConditionArgs) ElementType

func (BucketIAMMemberConditionArgs) ToBucketIAMMemberConditionOutput

func (i BucketIAMMemberConditionArgs) ToBucketIAMMemberConditionOutput() BucketIAMMemberConditionOutput

func (BucketIAMMemberConditionArgs) ToBucketIAMMemberConditionOutputWithContext

func (i BucketIAMMemberConditionArgs) ToBucketIAMMemberConditionOutputWithContext(ctx context.Context) BucketIAMMemberConditionOutput

func (BucketIAMMemberConditionArgs) ToBucketIAMMemberConditionPtrOutput

func (i BucketIAMMemberConditionArgs) ToBucketIAMMemberConditionPtrOutput() BucketIAMMemberConditionPtrOutput

func (BucketIAMMemberConditionArgs) ToBucketIAMMemberConditionPtrOutputWithContext

func (i BucketIAMMemberConditionArgs) ToBucketIAMMemberConditionPtrOutputWithContext(ctx context.Context) BucketIAMMemberConditionPtrOutput

type BucketIAMMemberConditionInput

type BucketIAMMemberConditionInput interface {
	pulumi.Input

	ToBucketIAMMemberConditionOutput() BucketIAMMemberConditionOutput
	ToBucketIAMMemberConditionOutputWithContext(context.Context) BucketIAMMemberConditionOutput
}

BucketIAMMemberConditionInput is an input type that accepts BucketIAMMemberConditionArgs and BucketIAMMemberConditionOutput values. You can construct a concrete instance of `BucketIAMMemberConditionInput` via:

BucketIAMMemberConditionArgs{...}

type BucketIAMMemberConditionOutput

type BucketIAMMemberConditionOutput struct{ *pulumi.OutputState }

func (BucketIAMMemberConditionOutput) Description

An optional description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.

func (BucketIAMMemberConditionOutput) ElementType

func (BucketIAMMemberConditionOutput) Expression

Textual representation of an expression in Common Expression Language syntax.

func (BucketIAMMemberConditionOutput) Title

A title for the expression, i.e. a short string describing its purpose.

func (BucketIAMMemberConditionOutput) ToBucketIAMMemberConditionOutput

func (o BucketIAMMemberConditionOutput) ToBucketIAMMemberConditionOutput() BucketIAMMemberConditionOutput

func (BucketIAMMemberConditionOutput) ToBucketIAMMemberConditionOutputWithContext

func (o BucketIAMMemberConditionOutput) ToBucketIAMMemberConditionOutputWithContext(ctx context.Context) BucketIAMMemberConditionOutput

func (BucketIAMMemberConditionOutput) ToBucketIAMMemberConditionPtrOutput

func (o BucketIAMMemberConditionOutput) ToBucketIAMMemberConditionPtrOutput() BucketIAMMemberConditionPtrOutput

func (BucketIAMMemberConditionOutput) ToBucketIAMMemberConditionPtrOutputWithContext

func (o BucketIAMMemberConditionOutput) ToBucketIAMMemberConditionPtrOutputWithContext(ctx context.Context) BucketIAMMemberConditionPtrOutput

type BucketIAMMemberConditionPtrInput

type BucketIAMMemberConditionPtrInput interface {
	pulumi.Input

	ToBucketIAMMemberConditionPtrOutput() BucketIAMMemberConditionPtrOutput
	ToBucketIAMMemberConditionPtrOutputWithContext(context.Context) BucketIAMMemberConditionPtrOutput
}

BucketIAMMemberConditionPtrInput is an input type that accepts BucketIAMMemberConditionArgs, BucketIAMMemberConditionPtr and BucketIAMMemberConditionPtrOutput values. You can construct a concrete instance of `BucketIAMMemberConditionPtrInput` via:

        BucketIAMMemberConditionArgs{...}

or:

        nil

type BucketIAMMemberConditionPtrOutput

type BucketIAMMemberConditionPtrOutput struct{ *pulumi.OutputState }

func (BucketIAMMemberConditionPtrOutput) Description

An optional description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.

func (BucketIAMMemberConditionPtrOutput) Elem

func (BucketIAMMemberConditionPtrOutput) ElementType

func (BucketIAMMemberConditionPtrOutput) Expression

Textual representation of an expression in Common Expression Language syntax.

func (BucketIAMMemberConditionPtrOutput) Title

A title for the expression, i.e. a short string describing its purpose.

func (BucketIAMMemberConditionPtrOutput) ToBucketIAMMemberConditionPtrOutput

func (o BucketIAMMemberConditionPtrOutput) ToBucketIAMMemberConditionPtrOutput() BucketIAMMemberConditionPtrOutput

func (BucketIAMMemberConditionPtrOutput) ToBucketIAMMemberConditionPtrOutputWithContext

func (o BucketIAMMemberConditionPtrOutput) ToBucketIAMMemberConditionPtrOutputWithContext(ctx context.Context) BucketIAMMemberConditionPtrOutput

type BucketIAMMemberInput

type BucketIAMMemberInput interface {
	pulumi.Input

	ToBucketIAMMemberOutput() BucketIAMMemberOutput
	ToBucketIAMMemberOutputWithContext(ctx context.Context) BucketIAMMemberOutput
}

type BucketIAMMemberMap

type BucketIAMMemberMap map[string]BucketIAMMemberInput

func (BucketIAMMemberMap) ElementType

func (BucketIAMMemberMap) ElementType() reflect.Type

func (BucketIAMMemberMap) ToBucketIAMMemberMapOutput

func (i BucketIAMMemberMap) ToBucketIAMMemberMapOutput() BucketIAMMemberMapOutput

func (BucketIAMMemberMap) ToBucketIAMMemberMapOutputWithContext

func (i BucketIAMMemberMap) ToBucketIAMMemberMapOutputWithContext(ctx context.Context) BucketIAMMemberMapOutput

type BucketIAMMemberMapInput

type BucketIAMMemberMapInput interface {
	pulumi.Input

	ToBucketIAMMemberMapOutput() BucketIAMMemberMapOutput
	ToBucketIAMMemberMapOutputWithContext(context.Context) BucketIAMMemberMapOutput
}

BucketIAMMemberMapInput is an input type that accepts BucketIAMMemberMap and BucketIAMMemberMapOutput values. You can construct a concrete instance of `BucketIAMMemberMapInput` via:

BucketIAMMemberMap{ "key": BucketIAMMemberArgs{...} }

type BucketIAMMemberMapOutput

type BucketIAMMemberMapOutput struct{ *pulumi.OutputState }

func (BucketIAMMemberMapOutput) ElementType

func (BucketIAMMemberMapOutput) ElementType() reflect.Type

func (BucketIAMMemberMapOutput) MapIndex

func (BucketIAMMemberMapOutput) ToBucketIAMMemberMapOutput

func (o BucketIAMMemberMapOutput) ToBucketIAMMemberMapOutput() BucketIAMMemberMapOutput

func (BucketIAMMemberMapOutput) ToBucketIAMMemberMapOutputWithContext

func (o BucketIAMMemberMapOutput) ToBucketIAMMemberMapOutputWithContext(ctx context.Context) BucketIAMMemberMapOutput

type BucketIAMMemberOutput

type BucketIAMMemberOutput struct{ *pulumi.OutputState }

func (BucketIAMMemberOutput) ElementType

func (BucketIAMMemberOutput) ElementType() reflect.Type

func (BucketIAMMemberOutput) ToBucketIAMMemberOutput

func (o BucketIAMMemberOutput) ToBucketIAMMemberOutput() BucketIAMMemberOutput

func (BucketIAMMemberOutput) ToBucketIAMMemberOutputWithContext

func (o BucketIAMMemberOutput) ToBucketIAMMemberOutputWithContext(ctx context.Context) BucketIAMMemberOutput

func (BucketIAMMemberOutput) ToBucketIAMMemberPtrOutput

func (o BucketIAMMemberOutput) ToBucketIAMMemberPtrOutput() BucketIAMMemberPtrOutput

func (BucketIAMMemberOutput) ToBucketIAMMemberPtrOutputWithContext

func (o BucketIAMMemberOutput) ToBucketIAMMemberPtrOutputWithContext(ctx context.Context) BucketIAMMemberPtrOutput

type BucketIAMMemberPtrInput

type BucketIAMMemberPtrInput interface {
	pulumi.Input

	ToBucketIAMMemberPtrOutput() BucketIAMMemberPtrOutput
	ToBucketIAMMemberPtrOutputWithContext(ctx context.Context) BucketIAMMemberPtrOutput
}

type BucketIAMMemberPtrOutput

type BucketIAMMemberPtrOutput struct{ *pulumi.OutputState }

func (BucketIAMMemberPtrOutput) Elem added in v5.21.0

func (BucketIAMMemberPtrOutput) ElementType

func (BucketIAMMemberPtrOutput) ElementType() reflect.Type

func (BucketIAMMemberPtrOutput) ToBucketIAMMemberPtrOutput

func (o BucketIAMMemberPtrOutput) ToBucketIAMMemberPtrOutput() BucketIAMMemberPtrOutput

func (BucketIAMMemberPtrOutput) ToBucketIAMMemberPtrOutputWithContext

func (o BucketIAMMemberPtrOutput) ToBucketIAMMemberPtrOutputWithContext(ctx context.Context) BucketIAMMemberPtrOutput

type BucketIAMMemberState

type BucketIAMMemberState struct {
	// Used to find the parent resource to bind the IAM policy to
	Bucket pulumi.StringPtrInput
	// ) An [IAM Condition](https://cloud.google.com/iam/docs/conditions-overview) for a given binding.
	// Structure is documented below.
	Condition BucketIAMMemberConditionPtrInput
	// (Computed) The etag of the IAM policy.
	Etag   pulumi.StringPtrInput
	Member pulumi.StringPtrInput
	// The role that should be applied. Only one
	// `storage.BucketIAMBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringPtrInput
}

func (BucketIAMMemberState) ElementType

func (BucketIAMMemberState) ElementType() reflect.Type

type BucketIAMPolicy

type BucketIAMPolicy struct {
	pulumi.CustomResourceState

	// Used to find the parent resource to bind the IAM policy to
	Bucket pulumi.StringOutput `pulumi:"bucket"`
	// (Computed) The etag of the IAM policy.
	Etag pulumi.StringOutput `pulumi:"etag"`
	// The policy data generated by
	// a `organizations.getIAMPolicy` data source.
	PolicyData pulumi.StringOutput `pulumi:"policyData"`
}

Three different resources help you manage your IAM policy for Cloud Storage Bucket. Each of these resources serves a different use case:

* `storage.BucketIAMPolicy`: Authoritative. Sets the IAM policy for the bucket and replaces any existing policy already attached. * `storage.BucketIAMBinding`: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the bucket are preserved. * `storage.BucketIAMMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the bucket are preserved.

> **Note:** `storage.BucketIAMPolicy` **cannot** be used in conjunction with `storage.BucketIAMBinding` and `storage.BucketIAMMember` or they will fight over what your policy should be.

> **Note:** `storage.BucketIAMBinding` resources **can be** used in conjunction with `storage.BucketIAMMember` resources **only if** they do not grant privilege to the same role.

## google\_storage\_bucket\_iam\_policy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/organizations"
"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/storage"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				organizations.GetIAMPolicyBinding{
					Role: "roles/storage.admin",
					Members: []string{
						"user:jane@example.com",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = storage.NewBucketIAMPolicy(ctx, "policy", &storage.BucketIAMPolicyArgs{
			Bucket:     pulumi.Any(google_storage_bucket.Default.Name),
			PolicyData: pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

With IAM Conditions:

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/organizations"
"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/storage"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				organizations.GetIAMPolicyBinding{
					Role: "roles/storage.admin",
					Members: []string{
						"user:jane@example.com",
					},
					Condition: organizations.GetIAMPolicyBindingCondition{
						Title:       "expires_after_2019_12_31",
						Description: "Expiring at midnight of 2019-12-31",
						Expression:  "request.time < timestamp(\"2020-01-01T00:00:00Z\")",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = storage.NewBucketIAMPolicy(ctx, "policy", &storage.BucketIAMPolicyArgs{
			Bucket:     pulumi.Any(google_storage_bucket.Default.Name),
			PolicyData: pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ## google\_storage\_bucket\_iam\_binding

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/storage"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := storage.NewBucketIAMBinding(ctx, "binding", &storage.BucketIAMBindingArgs{
			Bucket: pulumi.Any(google_storage_bucket.Default.Name),
			Role:   pulumi.String("roles/storage.admin"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

With IAM Conditions:

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/storage"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := storage.NewBucketIAMBinding(ctx, "binding", &storage.BucketIAMBindingArgs{
			Bucket: pulumi.Any(google_storage_bucket.Default.Name),
			Role:   pulumi.String("roles/storage.admin"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
			Condition: &storage.BucketIAMBindingConditionArgs{
				Title:       pulumi.String("expires_after_2019_12_31"),
				Description: pulumi.String("Expiring at midnight of 2019-12-31"),
				Expression:  pulumi.String("request.time < timestamp(\"2020-01-01T00:00:00Z\")"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ## google\_storage\_bucket\_iam\_member

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/storage"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := storage.NewBucketIAMMember(ctx, "member", &storage.BucketIAMMemberArgs{
			Bucket: pulumi.Any(google_storage_bucket.Default.Name),
			Role:   pulumi.String("roles/storage.admin"),
			Member: pulumi.String("user:jane@example.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

With IAM Conditions:

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/storage"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := storage.NewBucketIAMMember(ctx, "member", &storage.BucketIAMMemberArgs{
			Bucket: pulumi.Any(google_storage_bucket.Default.Name),
			Role:   pulumi.String("roles/storage.admin"),
			Member: pulumi.String("user:jane@example.com"),
			Condition: &storage.BucketIAMMemberConditionArgs{
				Title:       pulumi.String("expires_after_2019_12_31"),
				Description: pulumi.String("Expiring at midnight of 2019-12-31"),
				Expression:  pulumi.String("request.time < timestamp(\"2020-01-01T00:00:00Z\")"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

For all import syntaxes, the "resource in question" can take any of the following forms* b/{{name}} * {{name}} Any variables not passed in the import command will be taken from the provider configuration. Cloud Storage bucket IAM resources can be imported using the resource identifiers, role, and member. IAM member imports use space-delimited identifiersthe resource in question, the role, and the member identity, e.g.

```sh

$ pulumi import gcp:storage/bucketIAMPolicy:BucketIAMPolicy editor "b/{{bucket}} roles/storage.objectViewer user:jane@example.com"

```

IAM binding imports use space-delimited identifiersthe resource in question and the role, e.g.

```sh

$ pulumi import gcp:storage/bucketIAMPolicy:BucketIAMPolicy editor "b/{{bucket}} roles/storage.objectViewer"

```

IAM policy imports use the identifier of the resource in question, e.g.

```sh

$ pulumi import gcp:storage/bucketIAMPolicy:BucketIAMPolicy editor b/{{bucket}}

```

-> **Custom Roles**If you're importing a IAM resource with a custom role, make sure to use the

full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.

func GetBucketIAMPolicy

func GetBucketIAMPolicy(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *BucketIAMPolicyState, opts ...pulumi.ResourceOption) (*BucketIAMPolicy, error)

GetBucketIAMPolicy gets an existing BucketIAMPolicy resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewBucketIAMPolicy

func NewBucketIAMPolicy(ctx *pulumi.Context,
	name string, args *BucketIAMPolicyArgs, opts ...pulumi.ResourceOption) (*BucketIAMPolicy, error)

NewBucketIAMPolicy registers a new resource with the given unique name, arguments, and options.

func (*BucketIAMPolicy) ElementType

func (*BucketIAMPolicy) ElementType() reflect.Type

func (*BucketIAMPolicy) ToBucketIAMPolicyOutput

func (i *BucketIAMPolicy) ToBucketIAMPolicyOutput() BucketIAMPolicyOutput

func (*BucketIAMPolicy) ToBucketIAMPolicyOutputWithContext

func (i *BucketIAMPolicy) ToBucketIAMPolicyOutputWithContext(ctx context.Context) BucketIAMPolicyOutput

func (*BucketIAMPolicy) ToBucketIAMPolicyPtrOutput

func (i *BucketIAMPolicy) ToBucketIAMPolicyPtrOutput() BucketIAMPolicyPtrOutput

func (*BucketIAMPolicy) ToBucketIAMPolicyPtrOutputWithContext

func (i *BucketIAMPolicy) ToBucketIAMPolicyPtrOutputWithContext(ctx context.Context) BucketIAMPolicyPtrOutput

type BucketIAMPolicyArgs

type BucketIAMPolicyArgs struct {
	// Used to find the parent resource to bind the IAM policy to
	Bucket pulumi.StringInput
	// The policy data generated by
	// a `organizations.getIAMPolicy` data source.
	PolicyData pulumi.StringInput
}

The set of arguments for constructing a BucketIAMPolicy resource.

func (BucketIAMPolicyArgs) ElementType

func (BucketIAMPolicyArgs) ElementType() reflect.Type

type BucketIAMPolicyArray

type BucketIAMPolicyArray []BucketIAMPolicyInput

func (BucketIAMPolicyArray) ElementType

func (BucketIAMPolicyArray) ElementType() reflect.Type

func (BucketIAMPolicyArray) ToBucketIAMPolicyArrayOutput

func (i BucketIAMPolicyArray) ToBucketIAMPolicyArrayOutput() BucketIAMPolicyArrayOutput

func (BucketIAMPolicyArray) ToBucketIAMPolicyArrayOutputWithContext

func (i BucketIAMPolicyArray) ToBucketIAMPolicyArrayOutputWithContext(ctx context.Context) BucketIAMPolicyArrayOutput

type BucketIAMPolicyArrayInput

type BucketIAMPolicyArrayInput interface {
	pulumi.Input

	ToBucketIAMPolicyArrayOutput() BucketIAMPolicyArrayOutput
	ToBucketIAMPolicyArrayOutputWithContext(context.Context) BucketIAMPolicyArrayOutput
}

BucketIAMPolicyArrayInput is an input type that accepts BucketIAMPolicyArray and BucketIAMPolicyArrayOutput values. You can construct a concrete instance of `BucketIAMPolicyArrayInput` via:

BucketIAMPolicyArray{ BucketIAMPolicyArgs{...} }

type BucketIAMPolicyArrayOutput

type BucketIAMPolicyArrayOutput struct{ *pulumi.OutputState }

func (BucketIAMPolicyArrayOutput) ElementType

func (BucketIAMPolicyArrayOutput) ElementType() reflect.Type

func (BucketIAMPolicyArrayOutput) Index

func (BucketIAMPolicyArrayOutput) ToBucketIAMPolicyArrayOutput

func (o BucketIAMPolicyArrayOutput) ToBucketIAMPolicyArrayOutput() BucketIAMPolicyArrayOutput

func (BucketIAMPolicyArrayOutput) ToBucketIAMPolicyArrayOutputWithContext

func (o BucketIAMPolicyArrayOutput) ToBucketIAMPolicyArrayOutputWithContext(ctx context.Context) BucketIAMPolicyArrayOutput

type BucketIAMPolicyInput

type BucketIAMPolicyInput interface {
	pulumi.Input

	ToBucketIAMPolicyOutput() BucketIAMPolicyOutput
	ToBucketIAMPolicyOutputWithContext(ctx context.Context) BucketIAMPolicyOutput
}

type BucketIAMPolicyMap

type BucketIAMPolicyMap map[string]BucketIAMPolicyInput

func (BucketIAMPolicyMap) ElementType

func (BucketIAMPolicyMap) ElementType() reflect.Type

func (BucketIAMPolicyMap) ToBucketIAMPolicyMapOutput

func (i BucketIAMPolicyMap) ToBucketIAMPolicyMapOutput() BucketIAMPolicyMapOutput

func (BucketIAMPolicyMap) ToBucketIAMPolicyMapOutputWithContext

func (i BucketIAMPolicyMap) ToBucketIAMPolicyMapOutputWithContext(ctx context.Context) BucketIAMPolicyMapOutput

type BucketIAMPolicyMapInput

type BucketIAMPolicyMapInput interface {
	pulumi.Input

	ToBucketIAMPolicyMapOutput() BucketIAMPolicyMapOutput
	ToBucketIAMPolicyMapOutputWithContext(context.Context) BucketIAMPolicyMapOutput
}

BucketIAMPolicyMapInput is an input type that accepts BucketIAMPolicyMap and BucketIAMPolicyMapOutput values. You can construct a concrete instance of `BucketIAMPolicyMapInput` via:

BucketIAMPolicyMap{ "key": BucketIAMPolicyArgs{...} }

type BucketIAMPolicyMapOutput

type BucketIAMPolicyMapOutput struct{ *pulumi.OutputState }

func (BucketIAMPolicyMapOutput) ElementType

func (BucketIAMPolicyMapOutput) ElementType() reflect.Type

func (BucketIAMPolicyMapOutput) MapIndex

func (BucketIAMPolicyMapOutput) ToBucketIAMPolicyMapOutput

func (o BucketIAMPolicyMapOutput) ToBucketIAMPolicyMapOutput() BucketIAMPolicyMapOutput

func (BucketIAMPolicyMapOutput) ToBucketIAMPolicyMapOutputWithContext

func (o BucketIAMPolicyMapOutput) ToBucketIAMPolicyMapOutputWithContext(ctx context.Context) BucketIAMPolicyMapOutput

type BucketIAMPolicyOutput

type BucketIAMPolicyOutput struct{ *pulumi.OutputState }

func (BucketIAMPolicyOutput) ElementType

func (BucketIAMPolicyOutput) ElementType() reflect.Type

func (BucketIAMPolicyOutput) ToBucketIAMPolicyOutput

func (o BucketIAMPolicyOutput) ToBucketIAMPolicyOutput() BucketIAMPolicyOutput

func (BucketIAMPolicyOutput) ToBucketIAMPolicyOutputWithContext

func (o BucketIAMPolicyOutput) ToBucketIAMPolicyOutputWithContext(ctx context.Context) BucketIAMPolicyOutput

func (BucketIAMPolicyOutput) ToBucketIAMPolicyPtrOutput

func (o BucketIAMPolicyOutput) ToBucketIAMPolicyPtrOutput() BucketIAMPolicyPtrOutput

func (BucketIAMPolicyOutput) ToBucketIAMPolicyPtrOutputWithContext

func (o BucketIAMPolicyOutput) ToBucketIAMPolicyPtrOutputWithContext(ctx context.Context) BucketIAMPolicyPtrOutput

type BucketIAMPolicyPtrInput

type BucketIAMPolicyPtrInput interface {
	pulumi.Input

	ToBucketIAMPolicyPtrOutput() BucketIAMPolicyPtrOutput
	ToBucketIAMPolicyPtrOutputWithContext(ctx context.Context) BucketIAMPolicyPtrOutput
}

type BucketIAMPolicyPtrOutput

type BucketIAMPolicyPtrOutput struct{ *pulumi.OutputState }

func (BucketIAMPolicyPtrOutput) Elem added in v5.21.0

func (BucketIAMPolicyPtrOutput) ElementType

func (BucketIAMPolicyPtrOutput) ElementType() reflect.Type

func (BucketIAMPolicyPtrOutput) ToBucketIAMPolicyPtrOutput

func (o BucketIAMPolicyPtrOutput) ToBucketIAMPolicyPtrOutput() BucketIAMPolicyPtrOutput

func (BucketIAMPolicyPtrOutput) ToBucketIAMPolicyPtrOutputWithContext

func (o BucketIAMPolicyPtrOutput) ToBucketIAMPolicyPtrOutputWithContext(ctx context.Context) BucketIAMPolicyPtrOutput

type BucketIAMPolicyState

type BucketIAMPolicyState struct {
	// Used to find the parent resource to bind the IAM policy to
	Bucket pulumi.StringPtrInput
	// (Computed) The etag of the IAM policy.
	Etag pulumi.StringPtrInput
	// The policy data generated by
	// a `organizations.getIAMPolicy` data source.
	PolicyData pulumi.StringPtrInput
}

func (BucketIAMPolicyState) ElementType

func (BucketIAMPolicyState) ElementType() reflect.Type

type BucketInput

type BucketInput interface {
	pulumi.Input

	ToBucketOutput() BucketOutput
	ToBucketOutputWithContext(ctx context.Context) BucketOutput
}

type BucketLifecycleRule

type BucketLifecycleRule struct {
	// The Lifecycle Rule's action configuration. A single block of this type is supported. Structure is documented below.
	Action BucketLifecycleRuleAction `pulumi:"action"`
	// The Lifecycle Rule's condition configuration. A single block of this type is supported. Structure is documented below.
	Condition BucketLifecycleRuleCondition `pulumi:"condition"`
}

type BucketLifecycleRuleAction

type BucketLifecycleRuleAction struct {
	// The target [Storage Class](https://cloud.google.com/storage/docs/storage-classes) of objects affected by this Lifecycle Rule. Supported values include: `STANDARD`, `MULTI_REGIONAL`, `REGIONAL`, `NEARLINE`, `COLDLINE`, `ARCHIVE`.
	StorageClass *string `pulumi:"storageClass"`
	// The type of the action of this Lifecycle Rule. Supported values include: `Delete` and `SetStorageClass`.
	Type string `pulumi:"type"`
}

type BucketLifecycleRuleActionArgs

type BucketLifecycleRuleActionArgs struct {
	// The target [Storage Class](https://cloud.google.com/storage/docs/storage-classes) of objects affected by this Lifecycle Rule. Supported values include: `STANDARD`, `MULTI_REGIONAL`, `REGIONAL`, `NEARLINE`, `COLDLINE`, `ARCHIVE`.
	StorageClass pulumi.StringPtrInput `pulumi:"storageClass"`
	// The type of the action of this Lifecycle Rule. Supported values include: `Delete` and `SetStorageClass`.
	Type pulumi.StringInput `pulumi:"type"`
}

func (BucketLifecycleRuleActionArgs) ElementType

func (BucketLifecycleRuleActionArgs) ToBucketLifecycleRuleActionOutput

func (i BucketLifecycleRuleActionArgs) ToBucketLifecycleRuleActionOutput() BucketLifecycleRuleActionOutput

func (BucketLifecycleRuleActionArgs) ToBucketLifecycleRuleActionOutputWithContext

func (i BucketLifecycleRuleActionArgs) ToBucketLifecycleRuleActionOutputWithContext(ctx context.Context) BucketLifecycleRuleActionOutput

type BucketLifecycleRuleActionInput

type BucketLifecycleRuleActionInput interface {
	pulumi.Input

	ToBucketLifecycleRuleActionOutput() BucketLifecycleRuleActionOutput
	ToBucketLifecycleRuleActionOutputWithContext(context.Context) BucketLifecycleRuleActionOutput
}

BucketLifecycleRuleActionInput is an input type that accepts BucketLifecycleRuleActionArgs and BucketLifecycleRuleActionOutput values. You can construct a concrete instance of `BucketLifecycleRuleActionInput` via:

BucketLifecycleRuleActionArgs{...}

type BucketLifecycleRuleActionOutput

type BucketLifecycleRuleActionOutput struct{ *pulumi.OutputState }

func (BucketLifecycleRuleActionOutput) ElementType

func (BucketLifecycleRuleActionOutput) StorageClass

The target [Storage Class](https://cloud.google.com/storage/docs/storage-classes) of objects affected by this Lifecycle Rule. Supported values include: `STANDARD`, `MULTI_REGIONAL`, `REGIONAL`, `NEARLINE`, `COLDLINE`, `ARCHIVE`.

func (BucketLifecycleRuleActionOutput) ToBucketLifecycleRuleActionOutput

func (o BucketLifecycleRuleActionOutput) ToBucketLifecycleRuleActionOutput() BucketLifecycleRuleActionOutput

func (BucketLifecycleRuleActionOutput) ToBucketLifecycleRuleActionOutputWithContext

func (o BucketLifecycleRuleActionOutput) ToBucketLifecycleRuleActionOutputWithContext(ctx context.Context) BucketLifecycleRuleActionOutput

func (BucketLifecycleRuleActionOutput) Type

The type of the action of this Lifecycle Rule. Supported values include: `Delete` and `SetStorageClass`.

type BucketLifecycleRuleArgs

type BucketLifecycleRuleArgs struct {
	// The Lifecycle Rule's action configuration. A single block of this type is supported. Structure is documented below.
	Action BucketLifecycleRuleActionInput `pulumi:"action"`
	// The Lifecycle Rule's condition configuration. A single block of this type is supported. Structure is documented below.
	Condition BucketLifecycleRuleConditionInput `pulumi:"condition"`
}

func (BucketLifecycleRuleArgs) ElementType

func (BucketLifecycleRuleArgs) ElementType() reflect.Type

func (BucketLifecycleRuleArgs) ToBucketLifecycleRuleOutput

func (i BucketLifecycleRuleArgs) ToBucketLifecycleRuleOutput() BucketLifecycleRuleOutput

func (BucketLifecycleRuleArgs) ToBucketLifecycleRuleOutputWithContext

func (i BucketLifecycleRuleArgs) ToBucketLifecycleRuleOutputWithContext(ctx context.Context) BucketLifecycleRuleOutput

type BucketLifecycleRuleArray

type BucketLifecycleRuleArray []BucketLifecycleRuleInput

func (BucketLifecycleRuleArray) ElementType

func (BucketLifecycleRuleArray) ElementType() reflect.Type

func (BucketLifecycleRuleArray) ToBucketLifecycleRuleArrayOutput

func (i BucketLifecycleRuleArray) ToBucketLifecycleRuleArrayOutput() BucketLifecycleRuleArrayOutput

func (BucketLifecycleRuleArray) ToBucketLifecycleRuleArrayOutputWithContext

func (i BucketLifecycleRuleArray) ToBucketLifecycleRuleArrayOutputWithContext(ctx context.Context) BucketLifecycleRuleArrayOutput

type BucketLifecycleRuleArrayInput

type BucketLifecycleRuleArrayInput interface {
	pulumi.Input

	ToBucketLifecycleRuleArrayOutput() BucketLifecycleRuleArrayOutput
	ToBucketLifecycleRuleArrayOutputWithContext(context.Context) BucketLifecycleRuleArrayOutput
}

BucketLifecycleRuleArrayInput is an input type that accepts BucketLifecycleRuleArray and BucketLifecycleRuleArrayOutput values. You can construct a concrete instance of `BucketLifecycleRuleArrayInput` via:

BucketLifecycleRuleArray{ BucketLifecycleRuleArgs{...} }

type BucketLifecycleRuleArrayOutput

type BucketLifecycleRuleArrayOutput struct{ *pulumi.OutputState }

func (BucketLifecycleRuleArrayOutput) ElementType

func (BucketLifecycleRuleArrayOutput) Index

func (BucketLifecycleRuleArrayOutput) ToBucketLifecycleRuleArrayOutput

func (o BucketLifecycleRuleArrayOutput) ToBucketLifecycleRuleArrayOutput() BucketLifecycleRuleArrayOutput

func (BucketLifecycleRuleArrayOutput) ToBucketLifecycleRuleArrayOutputWithContext

func (o BucketLifecycleRuleArrayOutput) ToBucketLifecycleRuleArrayOutputWithContext(ctx context.Context) BucketLifecycleRuleArrayOutput

type BucketLifecycleRuleCondition

type BucketLifecycleRuleCondition struct {
	// Minimum age of an object in days to satisfy this condition.
	Age *int `pulumi:"age"`
	// A date in the RFC 3339 format YYYY-MM-DD. This condition is satisfied when an object is created before midnight of the specified date in UTC.
	CreatedBefore *string `pulumi:"createdBefore"`
	// A date in the RFC 3339 format YYYY-MM-DD. This condition is satisfied when the customTime metadata for the object is set to an earlier date than the date used in this lifecycle condition.
	CustomTimeBefore *string `pulumi:"customTimeBefore"`
	// Days since the date set in the `customTime` metadata for the object. This condition is satisfied when the current date and time is at least the specified number of days after the `customTime`.
	DaysSinceCustomTime *int `pulumi:"daysSinceCustomTime"`
	// Relevant only for versioned objects. Number of days elapsed since the noncurrent timestamp of an object.
	DaysSinceNoncurrentTime *int `pulumi:"daysSinceNoncurrentTime"`
	// [Storage Class](https://cloud.google.com/storage/docs/storage-classes) of objects to satisfy this condition. Supported values include: `STANDARD`, `MULTI_REGIONAL`, `REGIONAL`, `NEARLINE`, `COLDLINE`, `ARCHIVE`, `DURABLE_REDUCED_AVAILABILITY`.
	MatchesStorageClasses []string `pulumi:"matchesStorageClasses"`
	// Relevant only for versioned objects. The date in RFC 3339 (e.g. `2017-06-13`) when the object became nonconcurrent.
	NoncurrentTimeBefore *string `pulumi:"noncurrentTimeBefore"`
	// Relevant only for versioned objects. The number of newer versions of an object to satisfy this condition.
	NumNewerVersions *int `pulumi:"numNewerVersions"`
	// Match to live and/or archived objects. Unversioned buckets have only live objects. Supported values include: `"LIVE"`, `"ARCHIVED"`, `"ANY"`.
	WithState *string `pulumi:"withState"`
}

type BucketLifecycleRuleConditionArgs

type BucketLifecycleRuleConditionArgs struct {
	// Minimum age of an object in days to satisfy this condition.
	Age pulumi.IntPtrInput `pulumi:"age"`
	// A date in the RFC 3339 format YYYY-MM-DD. This condition is satisfied when an object is created before midnight of the specified date in UTC.
	CreatedBefore pulumi.StringPtrInput `pulumi:"createdBefore"`
	// A date in the RFC 3339 format YYYY-MM-DD. This condition is satisfied when the customTime metadata for the object is set to an earlier date than the date used in this lifecycle condition.
	CustomTimeBefore pulumi.StringPtrInput `pulumi:"customTimeBefore"`
	// Days since the date set in the `customTime` metadata for the object. This condition is satisfied when the current date and time is at least the specified number of days after the `customTime`.
	DaysSinceCustomTime pulumi.IntPtrInput `pulumi:"daysSinceCustomTime"`
	// Relevant only for versioned objects. Number of days elapsed since the noncurrent timestamp of an object.
	DaysSinceNoncurrentTime pulumi.IntPtrInput `pulumi:"daysSinceNoncurrentTime"`
	// [Storage Class](https://cloud.google.com/storage/docs/storage-classes) of objects to satisfy this condition. Supported values include: `STANDARD`, `MULTI_REGIONAL`, `REGIONAL`, `NEARLINE`, `COLDLINE`, `ARCHIVE`, `DURABLE_REDUCED_AVAILABILITY`.
	MatchesStorageClasses pulumi.StringArrayInput `pulumi:"matchesStorageClasses"`
	// Relevant only for versioned objects. The date in RFC 3339 (e.g. `2017-06-13`) when the object became nonconcurrent.
	NoncurrentTimeBefore pulumi.StringPtrInput `pulumi:"noncurrentTimeBefore"`
	// Relevant only for versioned objects. The number of newer versions of an object to satisfy this condition.
	NumNewerVersions pulumi.IntPtrInput `pulumi:"numNewerVersions"`
	// Match to live and/or archived objects. Unversioned buckets have only live objects. Supported values include: `"LIVE"`, `"ARCHIVED"`, `"ANY"`.
	WithState pulumi.StringPtrInput `pulumi:"withState"`
}

func (BucketLifecycleRuleConditionArgs) ElementType

func (BucketLifecycleRuleConditionArgs) ToBucketLifecycleRuleConditionOutput

func (i BucketLifecycleRuleConditionArgs) ToBucketLifecycleRuleConditionOutput() BucketLifecycleRuleConditionOutput

func (BucketLifecycleRuleConditionArgs) ToBucketLifecycleRuleConditionOutputWithContext

func (i BucketLifecycleRuleConditionArgs) ToBucketLifecycleRuleConditionOutputWithContext(ctx context.Context) BucketLifecycleRuleConditionOutput

type BucketLifecycleRuleConditionInput

type BucketLifecycleRuleConditionInput interface {
	pulumi.Input

	ToBucketLifecycleRuleConditionOutput() BucketLifecycleRuleConditionOutput
	ToBucketLifecycleRuleConditionOutputWithContext(context.Context) BucketLifecycleRuleConditionOutput
}

BucketLifecycleRuleConditionInput is an input type that accepts BucketLifecycleRuleConditionArgs and BucketLifecycleRuleConditionOutput values. You can construct a concrete instance of `BucketLifecycleRuleConditionInput` via:

BucketLifecycleRuleConditionArgs{...}

type BucketLifecycleRuleConditionOutput

type BucketLifecycleRuleConditionOutput struct{ *pulumi.OutputState }

func (BucketLifecycleRuleConditionOutput) Age

Minimum age of an object in days to satisfy this condition.

func (BucketLifecycleRuleConditionOutput) CreatedBefore

A date in the RFC 3339 format YYYY-MM-DD. This condition is satisfied when an object is created before midnight of the specified date in UTC.

func (BucketLifecycleRuleConditionOutput) CustomTimeBefore

A date in the RFC 3339 format YYYY-MM-DD. This condition is satisfied when the customTime metadata for the object is set to an earlier date than the date used in this lifecycle condition.

func (BucketLifecycleRuleConditionOutput) DaysSinceCustomTime

func (o BucketLifecycleRuleConditionOutput) DaysSinceCustomTime() pulumi.IntPtrOutput

Days since the date set in the `customTime` metadata for the object. This condition is satisfied when the current date and time is at least the specified number of days after the `customTime`.

func (BucketLifecycleRuleConditionOutput) DaysSinceNoncurrentTime

func (o BucketLifecycleRuleConditionOutput) DaysSinceNoncurrentTime() pulumi.IntPtrOutput

Relevant only for versioned objects. Number of days elapsed since the noncurrent timestamp of an object.

func (BucketLifecycleRuleConditionOutput) ElementType

func (BucketLifecycleRuleConditionOutput) MatchesStorageClasses

[Storage Class](https://cloud.google.com/storage/docs/storage-classes) of objects to satisfy this condition. Supported values include: `STANDARD`, `MULTI_REGIONAL`, `REGIONAL`, `NEARLINE`, `COLDLINE`, `ARCHIVE`, `DURABLE_REDUCED_AVAILABILITY`.

func (BucketLifecycleRuleConditionOutput) NoncurrentTimeBefore

Relevant only for versioned objects. The date in RFC 3339 (e.g. `2017-06-13`) when the object became nonconcurrent.

func (BucketLifecycleRuleConditionOutput) NumNewerVersions

Relevant only for versioned objects. The number of newer versions of an object to satisfy this condition.

func (BucketLifecycleRuleConditionOutput) ToBucketLifecycleRuleConditionOutput

func (o BucketLifecycleRuleConditionOutput) ToBucketLifecycleRuleConditionOutput() BucketLifecycleRuleConditionOutput

func (BucketLifecycleRuleConditionOutput) ToBucketLifecycleRuleConditionOutputWithContext

func (o BucketLifecycleRuleConditionOutput) ToBucketLifecycleRuleConditionOutputWithContext(ctx context.Context) BucketLifecycleRuleConditionOutput

func (BucketLifecycleRuleConditionOutput) WithState

Match to live and/or archived objects. Unversioned buckets have only live objects. Supported values include: `"LIVE"`, `"ARCHIVED"`, `"ANY"`.

type BucketLifecycleRuleInput

type BucketLifecycleRuleInput interface {
	pulumi.Input

	ToBucketLifecycleRuleOutput() BucketLifecycleRuleOutput
	ToBucketLifecycleRuleOutputWithContext(context.Context) BucketLifecycleRuleOutput
}

BucketLifecycleRuleInput is an input type that accepts BucketLifecycleRuleArgs and BucketLifecycleRuleOutput values. You can construct a concrete instance of `BucketLifecycleRuleInput` via:

BucketLifecycleRuleArgs{...}

type BucketLifecycleRuleOutput

type BucketLifecycleRuleOutput struct{ *pulumi.OutputState }

func (BucketLifecycleRuleOutput) Action

The Lifecycle Rule's action configuration. A single block of this type is supported. Structure is documented below.

func (BucketLifecycleRuleOutput) Condition

The Lifecycle Rule's condition configuration. A single block of this type is supported. Structure is documented below.

func (BucketLifecycleRuleOutput) ElementType

func (BucketLifecycleRuleOutput) ElementType() reflect.Type

func (BucketLifecycleRuleOutput) ToBucketLifecycleRuleOutput

func (o BucketLifecycleRuleOutput) ToBucketLifecycleRuleOutput() BucketLifecycleRuleOutput

func (BucketLifecycleRuleOutput) ToBucketLifecycleRuleOutputWithContext

func (o BucketLifecycleRuleOutput) ToBucketLifecycleRuleOutputWithContext(ctx context.Context) BucketLifecycleRuleOutput

type BucketLogging

type BucketLogging struct {
	// The bucket that will receive log objects.
	LogBucket string `pulumi:"logBucket"`
	// The object prefix for log objects. If it's not provided,
	// by default GCS sets this to this bucket's name.
	LogObjectPrefix *string `pulumi:"logObjectPrefix"`
}

type BucketLoggingArgs

type BucketLoggingArgs struct {
	// The bucket that will receive log objects.
	LogBucket pulumi.StringInput `pulumi:"logBucket"`
	// The object prefix for log objects. If it's not provided,
	// by default GCS sets this to this bucket's name.
	LogObjectPrefix pulumi.StringPtrInput `pulumi:"logObjectPrefix"`
}

func (BucketLoggingArgs) ElementType

func (BucketLoggingArgs) ElementType() reflect.Type

func (BucketLoggingArgs) ToBucketLoggingOutput

func (i BucketLoggingArgs) ToBucketLoggingOutput() BucketLoggingOutput

func (BucketLoggingArgs) ToBucketLoggingOutputWithContext

func (i BucketLoggingArgs) ToBucketLoggingOutputWithContext(ctx context.Context) BucketLoggingOutput

func (BucketLoggingArgs) ToBucketLoggingPtrOutput

func (i BucketLoggingArgs) ToBucketLoggingPtrOutput() BucketLoggingPtrOutput

func (BucketLoggingArgs) ToBucketLoggingPtrOutputWithContext

func (i BucketLoggingArgs) ToBucketLoggingPtrOutputWithContext(ctx context.Context) BucketLoggingPtrOutput

type BucketLoggingInput

type BucketLoggingInput interface {
	pulumi.Input

	ToBucketLoggingOutput() BucketLoggingOutput
	ToBucketLoggingOutputWithContext(context.Context) BucketLoggingOutput
}

BucketLoggingInput is an input type that accepts BucketLoggingArgs and BucketLoggingOutput values. You can construct a concrete instance of `BucketLoggingInput` via:

BucketLoggingArgs{...}

type BucketLoggingOutput

type BucketLoggingOutput struct{ *pulumi.OutputState }

func (BucketLoggingOutput) ElementType

func (BucketLoggingOutput) ElementType() reflect.Type

func (BucketLoggingOutput) LogBucket

func (o BucketLoggingOutput) LogBucket() pulumi.StringOutput

The bucket that will receive log objects.

func (BucketLoggingOutput) LogObjectPrefix

func (o BucketLoggingOutput) LogObjectPrefix() pulumi.StringPtrOutput

The object prefix for log objects. If it's not provided, by default GCS sets this to this bucket's name.

func (BucketLoggingOutput) ToBucketLoggingOutput

func (o BucketLoggingOutput) ToBucketLoggingOutput() BucketLoggingOutput

func (BucketLoggingOutput) ToBucketLoggingOutputWithContext

func (o BucketLoggingOutput) ToBucketLoggingOutputWithContext(ctx context.Context) BucketLoggingOutput

func (BucketLoggingOutput) ToBucketLoggingPtrOutput

func (o BucketLoggingOutput) ToBucketLoggingPtrOutput() BucketLoggingPtrOutput

func (BucketLoggingOutput) ToBucketLoggingPtrOutputWithContext

func (o BucketLoggingOutput) ToBucketLoggingPtrOutputWithContext(ctx context.Context) BucketLoggingPtrOutput

type BucketLoggingPtrInput

type BucketLoggingPtrInput interface {
	pulumi.Input

	ToBucketLoggingPtrOutput() BucketLoggingPtrOutput
	ToBucketLoggingPtrOutputWithContext(context.Context) BucketLoggingPtrOutput
}

BucketLoggingPtrInput is an input type that accepts BucketLoggingArgs, BucketLoggingPtr and BucketLoggingPtrOutput values. You can construct a concrete instance of `BucketLoggingPtrInput` via:

        BucketLoggingArgs{...}

or:

        nil

type BucketLoggingPtrOutput

type BucketLoggingPtrOutput struct{ *pulumi.OutputState }

func (BucketLoggingPtrOutput) Elem

func (BucketLoggingPtrOutput) ElementType

func (BucketLoggingPtrOutput) ElementType() reflect.Type

func (BucketLoggingPtrOutput) LogBucket

The bucket that will receive log objects.

func (BucketLoggingPtrOutput) LogObjectPrefix

func (o BucketLoggingPtrOutput) LogObjectPrefix() pulumi.StringPtrOutput

The object prefix for log objects. If it's not provided, by default GCS sets this to this bucket's name.

func (BucketLoggingPtrOutput) ToBucketLoggingPtrOutput

func (o BucketLoggingPtrOutput) ToBucketLoggingPtrOutput() BucketLoggingPtrOutput

func (BucketLoggingPtrOutput) ToBucketLoggingPtrOutputWithContext

func (o BucketLoggingPtrOutput) ToBucketLoggingPtrOutputWithContext(ctx context.Context) BucketLoggingPtrOutput

type BucketMap

type BucketMap map[string]BucketInput

func (BucketMap) ElementType

func (BucketMap) ElementType() reflect.Type

func (BucketMap) ToBucketMapOutput

func (i BucketMap) ToBucketMapOutput() BucketMapOutput

func (BucketMap) ToBucketMapOutputWithContext

func (i BucketMap) ToBucketMapOutputWithContext(ctx context.Context) BucketMapOutput

type BucketMapInput

type BucketMapInput interface {
	pulumi.Input

	ToBucketMapOutput() BucketMapOutput
	ToBucketMapOutputWithContext(context.Context) BucketMapOutput
}

BucketMapInput is an input type that accepts BucketMap and BucketMapOutput values. You can construct a concrete instance of `BucketMapInput` via:

BucketMap{ "key": BucketArgs{...} }

type BucketMapOutput

type BucketMapOutput struct{ *pulumi.OutputState }

func (BucketMapOutput) ElementType

func (BucketMapOutput) ElementType() reflect.Type

func (BucketMapOutput) MapIndex

func (BucketMapOutput) ToBucketMapOutput

func (o BucketMapOutput) ToBucketMapOutput() BucketMapOutput

func (BucketMapOutput) ToBucketMapOutputWithContext

func (o BucketMapOutput) ToBucketMapOutputWithContext(ctx context.Context) BucketMapOutput

type BucketObject

type BucketObject struct {
	pulumi.CustomResourceState

	// The name of the containing bucket.
	Bucket pulumi.StringOutput `pulumi:"bucket"`
	// [Cache-Control](https://tools.ietf.org/html/rfc7234#section-5.2)
	// directive to specify caching behavior of object data. If omitted and object is accessible to all anonymous users, the default will be public, max-age=3600
	CacheControl pulumi.StringPtrOutput `pulumi:"cacheControl"`
	// Data as `string` to be uploaded. Must be defined if `source` is not. **Note**: The `content` field is marked as sensitive.
	Content pulumi.StringPtrOutput `pulumi:"content"`
	// [Content-Disposition](https://tools.ietf.org/html/rfc6266) of the object data.
	ContentDisposition pulumi.StringPtrOutput `pulumi:"contentDisposition"`
	// [Content-Encoding](https://tools.ietf.org/html/rfc7231#section-3.1.2.2) of the object data.
	ContentEncoding pulumi.StringPtrOutput `pulumi:"contentEncoding"`
	// [Content-Language](https://tools.ietf.org/html/rfc7231#section-3.1.3.2) of the object data.
	ContentLanguage pulumi.StringPtrOutput `pulumi:"contentLanguage"`
	// [Content-Type](https://tools.ietf.org/html/rfc7231#section-3.1.1.5) of the object data. Defaults to "application/octet-stream" or "text/plain; charset=utf-8".
	ContentType pulumi.StringOutput `pulumi:"contentType"`
	// (Computed) Base 64 CRC32 hash of the uploaded data.
	Crc32c pulumi.StringOutput `pulumi:"crc32c"`
	// Enables object encryption with Customer-Supplied Encryption Key (CSEK). Google [documentation about CSEK.](https://cloud.google.com/storage/docs/encryption/customer-supplied-keys)
	// Structure is documented below.
	CustomerEncryption BucketObjectCustomerEncryptionPtrOutput `pulumi:"customerEncryption"`
	DetectMd5hash      pulumi.StringPtrOutput                  `pulumi:"detectMd5hash"`
	// Whether an object is under event-based hold. Event-based hold is a way to retain objects until an event occurs, which is
	// signified by the hold's release (i.e. this value is set to false). After being released (set to false), such objects
	// will be subject to bucket-level retention (if any).
	EventBasedHold pulumi.BoolPtrOutput `pulumi:"eventBasedHold"`
	// The resource name of the Cloud KMS key that will be used to [encrypt](https://cloud.google.com/storage/docs/encryption/using-customer-managed-keys) the object.
	KmsKeyName pulumi.StringOutput `pulumi:"kmsKeyName"`
	// (Computed) Base 64 MD5 hash of the uploaded data.
	Md5hash pulumi.StringOutput `pulumi:"md5hash"`
	// (Computed) A url reference to download this object.
	MediaLink pulumi.StringOutput `pulumi:"mediaLink"`
	// User-provided metadata, in key/value pairs.
	Metadata pulumi.StringMapOutput `pulumi:"metadata"`
	// The name of the object. If you're interpolating the name of this object, see `outputName` instead.
	Name pulumi.StringOutput `pulumi:"name"`
	// (Computed) The name of the object. Use this field in interpolations with `storage.ObjectACL` to recreate
	// `storage.ObjectACL` resources when your `storage.BucketObject` is recreated.
	OutputName pulumi.StringOutput `pulumi:"outputName"`
	// (Computed) A url reference to this object.
	SelfLink pulumi.StringOutput `pulumi:"selfLink"`
	// A path to the data you want to upload. Must be defined
	// if `content` is not.
	Source pulumi.AssetOrArchiveOutput `pulumi:"source"`
	// The [StorageClass](https://cloud.google.com/storage/docs/storage-classes) of the new bucket object.
	// Supported values include: `MULTI_REGIONAL`, `REGIONAL`, `NEARLINE`, `COLDLINE`, `ARCHIVE`. If not provided, this defaults to the bucket's default
	// storage class or to a [standard](https://cloud.google.com/storage/docs/storage-classes#standard) class.
	StorageClass pulumi.StringOutput `pulumi:"storageClass"`
	// Whether an object is under temporary hold. While this flag is set to true, the object is protected against deletion and
	// overwrites.
	TemporaryHold pulumi.BoolPtrOutput `pulumi:"temporaryHold"`
}

Creates a new object inside an existing bucket in Google cloud storage service (GCS). [ACLs](https://cloud.google.com/storage/docs/access-control/lists) can be applied using the `storage.ObjectACL` resource.

For more information see

[the official documentation](https://cloud.google.com/storage/docs/key-terms#objects) and [API](https://cloud.google.com/storage/docs/json_api/v1/objects).

## Example Usage

Example creating a public object in an existing `image-store` bucket.

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/storage"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := storage.NewBucketObject(ctx, "picture", &storage.BucketObjectArgs{
			Bucket: pulumi.String("image-store"),
			Source: pulumi.NewFileAsset("/images/nature/garden-tiger-moth.jpg"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

This resource does not support import.

func GetBucketObject

func GetBucketObject(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *BucketObjectState, opts ...pulumi.ResourceOption) (*BucketObject, error)

GetBucketObject gets an existing BucketObject resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewBucketObject

func NewBucketObject(ctx *pulumi.Context,
	name string, args *BucketObjectArgs, opts ...pulumi.ResourceOption) (*BucketObject, error)

NewBucketObject registers a new resource with the given unique name, arguments, and options.

func (*BucketObject) ElementType

func (*BucketObject) ElementType() reflect.Type

func (*BucketObject) ToBucketObjectOutput

func (i *BucketObject) ToBucketObjectOutput() BucketObjectOutput

func (*BucketObject) ToBucketObjectOutputWithContext

func (i *BucketObject) ToBucketObjectOutputWithContext(ctx context.Context) BucketObjectOutput

func (*BucketObject) ToBucketObjectPtrOutput

func (i *BucketObject) ToBucketObjectPtrOutput() BucketObjectPtrOutput

func (*BucketObject) ToBucketObjectPtrOutputWithContext

func (i *BucketObject) ToBucketObjectPtrOutputWithContext(ctx context.Context) BucketObjectPtrOutput

type BucketObjectArgs

type BucketObjectArgs struct {
	// The name of the containing bucket.
	Bucket pulumi.StringInput
	// [Cache-Control](https://tools.ietf.org/html/rfc7234#section-5.2)
	// directive to specify caching behavior of object data. If omitted and object is accessible to all anonymous users, the default will be public, max-age=3600
	CacheControl pulumi.StringPtrInput
	// Data as `string` to be uploaded. Must be defined if `source` is not. **Note**: The `content` field is marked as sensitive.
	Content pulumi.StringPtrInput
	// [Content-Disposition](https://tools.ietf.org/html/rfc6266) of the object data.
	ContentDisposition pulumi.StringPtrInput
	// [Content-Encoding](https://tools.ietf.org/html/rfc7231#section-3.1.2.2) of the object data.
	ContentEncoding pulumi.StringPtrInput
	// [Content-Language](https://tools.ietf.org/html/rfc7231#section-3.1.3.2) of the object data.
	ContentLanguage pulumi.StringPtrInput
	// [Content-Type](https://tools.ietf.org/html/rfc7231#section-3.1.1.5) of the object data. Defaults to "application/octet-stream" or "text/plain; charset=utf-8".
	ContentType pulumi.StringPtrInput
	// Enables object encryption with Customer-Supplied Encryption Key (CSEK). Google [documentation about CSEK.](https://cloud.google.com/storage/docs/encryption/customer-supplied-keys)
	// Structure is documented below.
	CustomerEncryption BucketObjectCustomerEncryptionPtrInput
	DetectMd5hash      pulumi.StringPtrInput
	// Whether an object is under event-based hold. Event-based hold is a way to retain objects until an event occurs, which is
	// signified by the hold's release (i.e. this value is set to false). After being released (set to false), such objects
	// will be subject to bucket-level retention (if any).
	EventBasedHold pulumi.BoolPtrInput
	// The resource name of the Cloud KMS key that will be used to [encrypt](https://cloud.google.com/storage/docs/encryption/using-customer-managed-keys) the object.
	KmsKeyName pulumi.StringPtrInput
	// User-provided metadata, in key/value pairs.
	Metadata pulumi.StringMapInput
	// The name of the object. If you're interpolating the name of this object, see `outputName` instead.
	Name pulumi.StringPtrInput
	// A path to the data you want to upload. Must be defined
	// if `content` is not.
	Source pulumi.AssetOrArchiveInput
	// The [StorageClass](https://cloud.google.com/storage/docs/storage-classes) of the new bucket object.
	// Supported values include: `MULTI_REGIONAL`, `REGIONAL`, `NEARLINE`, `COLDLINE`, `ARCHIVE`. If not provided, this defaults to the bucket's default
	// storage class or to a [standard](https://cloud.google.com/storage/docs/storage-classes#standard) class.
	StorageClass pulumi.StringPtrInput
	// Whether an object is under temporary hold. While this flag is set to true, the object is protected against deletion and
	// overwrites.
	TemporaryHold pulumi.BoolPtrInput
}

The set of arguments for constructing a BucketObject resource.

func (BucketObjectArgs) ElementType

func (BucketObjectArgs) ElementType() reflect.Type

type BucketObjectArray

type BucketObjectArray []BucketObjectInput

func (BucketObjectArray) ElementType

func (BucketObjectArray) ElementType() reflect.Type

func (BucketObjectArray) ToBucketObjectArrayOutput

func (i BucketObjectArray) ToBucketObjectArrayOutput() BucketObjectArrayOutput

func (BucketObjectArray) ToBucketObjectArrayOutputWithContext

func (i BucketObjectArray) ToBucketObjectArrayOutputWithContext(ctx context.Context) BucketObjectArrayOutput

type BucketObjectArrayInput

type BucketObjectArrayInput interface {
	pulumi.Input

	ToBucketObjectArrayOutput() BucketObjectArrayOutput
	ToBucketObjectArrayOutputWithContext(context.Context) BucketObjectArrayOutput
}

BucketObjectArrayInput is an input type that accepts BucketObjectArray and BucketObjectArrayOutput values. You can construct a concrete instance of `BucketObjectArrayInput` via:

BucketObjectArray{ BucketObjectArgs{...} }

type BucketObjectArrayOutput

type BucketObjectArrayOutput struct{ *pulumi.OutputState }

func (BucketObjectArrayOutput) ElementType

func (BucketObjectArrayOutput) ElementType() reflect.Type

func (BucketObjectArrayOutput) Index

func (BucketObjectArrayOutput) ToBucketObjectArrayOutput

func (o BucketObjectArrayOutput) ToBucketObjectArrayOutput() BucketObjectArrayOutput

func (BucketObjectArrayOutput) ToBucketObjectArrayOutputWithContext

func (o BucketObjectArrayOutput) ToBucketObjectArrayOutputWithContext(ctx context.Context) BucketObjectArrayOutput

type BucketObjectCustomerEncryption added in v5.15.0

type BucketObjectCustomerEncryption struct {
	// Encryption algorithm. Default: AES256
	EncryptionAlgorithm *string `pulumi:"encryptionAlgorithm"`
	// Base64 encoded Customer-Supplied Encryption Key.
	EncryptionKey string `pulumi:"encryptionKey"`
}

type BucketObjectCustomerEncryptionArgs added in v5.15.0

type BucketObjectCustomerEncryptionArgs struct {
	// Encryption algorithm. Default: AES256
	EncryptionAlgorithm pulumi.StringPtrInput `pulumi:"encryptionAlgorithm"`
	// Base64 encoded Customer-Supplied Encryption Key.
	EncryptionKey pulumi.StringInput `pulumi:"encryptionKey"`
}

func (BucketObjectCustomerEncryptionArgs) ElementType added in v5.15.0

func (BucketObjectCustomerEncryptionArgs) ToBucketObjectCustomerEncryptionOutput added in v5.15.0

func (i BucketObjectCustomerEncryptionArgs) ToBucketObjectCustomerEncryptionOutput() BucketObjectCustomerEncryptionOutput

func (BucketObjectCustomerEncryptionArgs) ToBucketObjectCustomerEncryptionOutputWithContext added in v5.15.0

func (i BucketObjectCustomerEncryptionArgs) ToBucketObjectCustomerEncryptionOutputWithContext(ctx context.Context) BucketObjectCustomerEncryptionOutput

func (BucketObjectCustomerEncryptionArgs) ToBucketObjectCustomerEncryptionPtrOutput added in v5.15.0

func (i BucketObjectCustomerEncryptionArgs) ToBucketObjectCustomerEncryptionPtrOutput() BucketObjectCustomerEncryptionPtrOutput

func (BucketObjectCustomerEncryptionArgs) ToBucketObjectCustomerEncryptionPtrOutputWithContext added in v5.15.0

func (i BucketObjectCustomerEncryptionArgs) ToBucketObjectCustomerEncryptionPtrOutputWithContext(ctx context.Context) BucketObjectCustomerEncryptionPtrOutput

type BucketObjectCustomerEncryptionInput added in v5.15.0

type BucketObjectCustomerEncryptionInput interface {
	pulumi.Input

	ToBucketObjectCustomerEncryptionOutput() BucketObjectCustomerEncryptionOutput
	ToBucketObjectCustomerEncryptionOutputWithContext(context.Context) BucketObjectCustomerEncryptionOutput
}

BucketObjectCustomerEncryptionInput is an input type that accepts BucketObjectCustomerEncryptionArgs and BucketObjectCustomerEncryptionOutput values. You can construct a concrete instance of `BucketObjectCustomerEncryptionInput` via:

BucketObjectCustomerEncryptionArgs{...}

type BucketObjectCustomerEncryptionOutput added in v5.15.0

type BucketObjectCustomerEncryptionOutput struct{ *pulumi.OutputState }

func (BucketObjectCustomerEncryptionOutput) ElementType added in v5.15.0

func (BucketObjectCustomerEncryptionOutput) EncryptionAlgorithm added in v5.15.0

Encryption algorithm. Default: AES256

func (BucketObjectCustomerEncryptionOutput) EncryptionKey added in v5.15.0

Base64 encoded Customer-Supplied Encryption Key.

func (BucketObjectCustomerEncryptionOutput) ToBucketObjectCustomerEncryptionOutput added in v5.15.0

func (o BucketObjectCustomerEncryptionOutput) ToBucketObjectCustomerEncryptionOutput() BucketObjectCustomerEncryptionOutput

func (BucketObjectCustomerEncryptionOutput) ToBucketObjectCustomerEncryptionOutputWithContext added in v5.15.0

func (o BucketObjectCustomerEncryptionOutput) ToBucketObjectCustomerEncryptionOutputWithContext(ctx context.Context) BucketObjectCustomerEncryptionOutput

func (BucketObjectCustomerEncryptionOutput) ToBucketObjectCustomerEncryptionPtrOutput added in v5.15.0

func (o BucketObjectCustomerEncryptionOutput) ToBucketObjectCustomerEncryptionPtrOutput() BucketObjectCustomerEncryptionPtrOutput

func (BucketObjectCustomerEncryptionOutput) ToBucketObjectCustomerEncryptionPtrOutputWithContext added in v5.15.0

func (o BucketObjectCustomerEncryptionOutput) ToBucketObjectCustomerEncryptionPtrOutputWithContext(ctx context.Context) BucketObjectCustomerEncryptionPtrOutput

type BucketObjectCustomerEncryptionPtrInput added in v5.15.0

type BucketObjectCustomerEncryptionPtrInput interface {
	pulumi.Input

	ToBucketObjectCustomerEncryptionPtrOutput() BucketObjectCustomerEncryptionPtrOutput
	ToBucketObjectCustomerEncryptionPtrOutputWithContext(context.Context) BucketObjectCustomerEncryptionPtrOutput
}

BucketObjectCustomerEncryptionPtrInput is an input type that accepts BucketObjectCustomerEncryptionArgs, BucketObjectCustomerEncryptionPtr and BucketObjectCustomerEncryptionPtrOutput values. You can construct a concrete instance of `BucketObjectCustomerEncryptionPtrInput` via:

        BucketObjectCustomerEncryptionArgs{...}

or:

        nil

type BucketObjectCustomerEncryptionPtrOutput added in v5.15.0

type BucketObjectCustomerEncryptionPtrOutput struct{ *pulumi.OutputState }

func (BucketObjectCustomerEncryptionPtrOutput) Elem added in v5.15.0

func (BucketObjectCustomerEncryptionPtrOutput) ElementType added in v5.15.0

func (BucketObjectCustomerEncryptionPtrOutput) EncryptionAlgorithm added in v5.15.0

Encryption algorithm. Default: AES256

func (BucketObjectCustomerEncryptionPtrOutput) EncryptionKey added in v5.15.0

Base64 encoded Customer-Supplied Encryption Key.

func (BucketObjectCustomerEncryptionPtrOutput) ToBucketObjectCustomerEncryptionPtrOutput added in v5.15.0

func (o BucketObjectCustomerEncryptionPtrOutput) ToBucketObjectCustomerEncryptionPtrOutput() BucketObjectCustomerEncryptionPtrOutput

func (BucketObjectCustomerEncryptionPtrOutput) ToBucketObjectCustomerEncryptionPtrOutputWithContext added in v5.15.0

func (o BucketObjectCustomerEncryptionPtrOutput) ToBucketObjectCustomerEncryptionPtrOutputWithContext(ctx context.Context) BucketObjectCustomerEncryptionPtrOutput

type BucketObjectInput

type BucketObjectInput interface {
	pulumi.Input

	ToBucketObjectOutput() BucketObjectOutput
	ToBucketObjectOutputWithContext(ctx context.Context) BucketObjectOutput
}

type BucketObjectMap

type BucketObjectMap map[string]BucketObjectInput

func (BucketObjectMap) ElementType

func (BucketObjectMap) ElementType() reflect.Type

func (BucketObjectMap) ToBucketObjectMapOutput

func (i BucketObjectMap) ToBucketObjectMapOutput() BucketObjectMapOutput

func (BucketObjectMap) ToBucketObjectMapOutputWithContext

func (i BucketObjectMap) ToBucketObjectMapOutputWithContext(ctx context.Context) BucketObjectMapOutput

type BucketObjectMapInput

type BucketObjectMapInput interface {
	pulumi.Input

	ToBucketObjectMapOutput() BucketObjectMapOutput
	ToBucketObjectMapOutputWithContext(context.Context) BucketObjectMapOutput
}

BucketObjectMapInput is an input type that accepts BucketObjectMap and BucketObjectMapOutput values. You can construct a concrete instance of `BucketObjectMapInput` via:

BucketObjectMap{ "key": BucketObjectArgs{...} }

type BucketObjectMapOutput

type BucketObjectMapOutput struct{ *pulumi.OutputState }

func (BucketObjectMapOutput) ElementType

func (BucketObjectMapOutput) ElementType() reflect.Type

func (BucketObjectMapOutput) MapIndex

func (BucketObjectMapOutput) ToBucketObjectMapOutput

func (o BucketObjectMapOutput) ToBucketObjectMapOutput() BucketObjectMapOutput

func (BucketObjectMapOutput) ToBucketObjectMapOutputWithContext

func (o BucketObjectMapOutput) ToBucketObjectMapOutputWithContext(ctx context.Context) BucketObjectMapOutput

type BucketObjectOutput

type BucketObjectOutput struct{ *pulumi.OutputState }

func (BucketObjectOutput) ElementType

func (BucketObjectOutput) ElementType() reflect.Type

func (BucketObjectOutput) ToBucketObjectOutput

func (o BucketObjectOutput) ToBucketObjectOutput() BucketObjectOutput

func (BucketObjectOutput) ToBucketObjectOutputWithContext

func (o BucketObjectOutput) ToBucketObjectOutputWithContext(ctx context.Context) BucketObjectOutput

func (BucketObjectOutput) ToBucketObjectPtrOutput

func (o BucketObjectOutput) ToBucketObjectPtrOutput() BucketObjectPtrOutput

func (BucketObjectOutput) ToBucketObjectPtrOutputWithContext

func (o BucketObjectOutput) ToBucketObjectPtrOutputWithContext(ctx context.Context) BucketObjectPtrOutput

type BucketObjectPtrInput

type BucketObjectPtrInput interface {
	pulumi.Input

	ToBucketObjectPtrOutput() BucketObjectPtrOutput
	ToBucketObjectPtrOutputWithContext(ctx context.Context) BucketObjectPtrOutput
}

type BucketObjectPtrOutput

type BucketObjectPtrOutput struct{ *pulumi.OutputState }

func (BucketObjectPtrOutput) Elem added in v5.21.0

func (BucketObjectPtrOutput) ElementType

func (BucketObjectPtrOutput) ElementType() reflect.Type

func (BucketObjectPtrOutput) ToBucketObjectPtrOutput

func (o BucketObjectPtrOutput) ToBucketObjectPtrOutput() BucketObjectPtrOutput

func (BucketObjectPtrOutput) ToBucketObjectPtrOutputWithContext

func (o BucketObjectPtrOutput) ToBucketObjectPtrOutputWithContext(ctx context.Context) BucketObjectPtrOutput

type BucketObjectState

type BucketObjectState struct {
	// The name of the containing bucket.
	Bucket pulumi.StringPtrInput
	// [Cache-Control](https://tools.ietf.org/html/rfc7234#section-5.2)
	// directive to specify caching behavior of object data. If omitted and object is accessible to all anonymous users, the default will be public, max-age=3600
	CacheControl pulumi.StringPtrInput
	// Data as `string` to be uploaded. Must be defined if `source` is not. **Note**: The `content` field is marked as sensitive.
	Content pulumi.StringPtrInput
	// [Content-Disposition](https://tools.ietf.org/html/rfc6266) of the object data.
	ContentDisposition pulumi.StringPtrInput
	// [Content-Encoding](https://tools.ietf.org/html/rfc7231#section-3.1.2.2) of the object data.
	ContentEncoding pulumi.StringPtrInput
	// [Content-Language](https://tools.ietf.org/html/rfc7231#section-3.1.3.2) of the object data.
	ContentLanguage pulumi.StringPtrInput
	// [Content-Type](https://tools.ietf.org/html/rfc7231#section-3.1.1.5) of the object data. Defaults to "application/octet-stream" or "text/plain; charset=utf-8".
	ContentType pulumi.StringPtrInput
	// (Computed) Base 64 CRC32 hash of the uploaded data.
	Crc32c pulumi.StringPtrInput
	// Enables object encryption with Customer-Supplied Encryption Key (CSEK). Google [documentation about CSEK.](https://cloud.google.com/storage/docs/encryption/customer-supplied-keys)
	// Structure is documented below.
	CustomerEncryption BucketObjectCustomerEncryptionPtrInput
	DetectMd5hash      pulumi.StringPtrInput
	// Whether an object is under event-based hold. Event-based hold is a way to retain objects until an event occurs, which is
	// signified by the hold's release (i.e. this value is set to false). After being released (set to false), such objects
	// will be subject to bucket-level retention (if any).
	EventBasedHold pulumi.BoolPtrInput
	// The resource name of the Cloud KMS key that will be used to [encrypt](https://cloud.google.com/storage/docs/encryption/using-customer-managed-keys) the object.
	KmsKeyName pulumi.StringPtrInput
	// (Computed) Base 64 MD5 hash of the uploaded data.
	Md5hash pulumi.StringPtrInput
	// (Computed) A url reference to download this object.
	MediaLink pulumi.StringPtrInput
	// User-provided metadata, in key/value pairs.
	Metadata pulumi.StringMapInput
	// The name of the object. If you're interpolating the name of this object, see `outputName` instead.
	Name pulumi.StringPtrInput
	// (Computed) The name of the object. Use this field in interpolations with `storage.ObjectACL` to recreate
	// `storage.ObjectACL` resources when your `storage.BucketObject` is recreated.
	OutputName pulumi.StringPtrInput
	// (Computed) A url reference to this object.
	SelfLink pulumi.StringPtrInput
	// A path to the data you want to upload. Must be defined
	// if `content` is not.
	Source pulumi.AssetOrArchiveInput
	// The [StorageClass](https://cloud.google.com/storage/docs/storage-classes) of the new bucket object.
	// Supported values include: `MULTI_REGIONAL`, `REGIONAL`, `NEARLINE`, `COLDLINE`, `ARCHIVE`. If not provided, this defaults to the bucket's default
	// storage class or to a [standard](https://cloud.google.com/storage/docs/storage-classes#standard) class.
	StorageClass pulumi.StringPtrInput
	// Whether an object is under temporary hold. While this flag is set to true, the object is protected against deletion and
	// overwrites.
	TemporaryHold pulumi.BoolPtrInput
}

func (BucketObjectState) ElementType

func (BucketObjectState) ElementType() reflect.Type

type BucketOutput

type BucketOutput struct{ *pulumi.OutputState }

func (BucketOutput) ElementType

func (BucketOutput) ElementType() reflect.Type

func (BucketOutput) ToBucketOutput

func (o BucketOutput) ToBucketOutput() BucketOutput

func (BucketOutput) ToBucketOutputWithContext

func (o BucketOutput) ToBucketOutputWithContext(ctx context.Context) BucketOutput

func (BucketOutput) ToBucketPtrOutput

func (o BucketOutput) ToBucketPtrOutput() BucketPtrOutput

func (BucketOutput) ToBucketPtrOutputWithContext

func (o BucketOutput) ToBucketPtrOutputWithContext(ctx context.Context) BucketPtrOutput

type BucketPtrInput

type BucketPtrInput interface {
	pulumi.Input

	ToBucketPtrOutput() BucketPtrOutput
	ToBucketPtrOutputWithContext(ctx context.Context) BucketPtrOutput
}

type BucketPtrOutput

type BucketPtrOutput struct{ *pulumi.OutputState }

func (BucketPtrOutput) Elem added in v5.21.0

func (o BucketPtrOutput) Elem() BucketOutput

func (BucketPtrOutput) ElementType

func (BucketPtrOutput) ElementType() reflect.Type

func (BucketPtrOutput) ToBucketPtrOutput

func (o BucketPtrOutput) ToBucketPtrOutput() BucketPtrOutput

func (BucketPtrOutput) ToBucketPtrOutputWithContext

func (o BucketPtrOutput) ToBucketPtrOutputWithContext(ctx context.Context) BucketPtrOutput

type BucketRetentionPolicy

type BucketRetentionPolicy struct {
	// If set to `true`, the bucket will be [locked](https://cloud.google.com/storage/docs/using-bucket-lock#lock-bucket) and permanently restrict edits to the bucket's retention policy.  Caution: Locking a bucket is an irreversible action.
	IsLocked *bool `pulumi:"isLocked"`
	// The period of time, in seconds, that objects in the bucket must be retained and cannot be deleted, overwritten, or archived. The value must be less than 2,147,483,647 seconds.
	RetentionPeriod int `pulumi:"retentionPeriod"`
}

type BucketRetentionPolicyArgs

type BucketRetentionPolicyArgs struct {
	// If set to `true`, the bucket will be [locked](https://cloud.google.com/storage/docs/using-bucket-lock#lock-bucket) and permanently restrict edits to the bucket's retention policy.  Caution: Locking a bucket is an irreversible action.
	IsLocked pulumi.BoolPtrInput `pulumi:"isLocked"`
	// The period of time, in seconds, that objects in the bucket must be retained and cannot be deleted, overwritten, or archived. The value must be less than 2,147,483,647 seconds.
	RetentionPeriod pulumi.IntInput `pulumi:"retentionPeriod"`
}

func (BucketRetentionPolicyArgs) ElementType

func (BucketRetentionPolicyArgs) ElementType() reflect.Type

func (BucketRetentionPolicyArgs) ToBucketRetentionPolicyOutput

func (i BucketRetentionPolicyArgs) ToBucketRetentionPolicyOutput() BucketRetentionPolicyOutput

func (BucketRetentionPolicyArgs) ToBucketRetentionPolicyOutputWithContext

func (i BucketRetentionPolicyArgs) ToBucketRetentionPolicyOutputWithContext(ctx context.Context) BucketRetentionPolicyOutput

func (BucketRetentionPolicyArgs) ToBucketRetentionPolicyPtrOutput

func (i BucketRetentionPolicyArgs) ToBucketRetentionPolicyPtrOutput() BucketRetentionPolicyPtrOutput

func (BucketRetentionPolicyArgs) ToBucketRetentionPolicyPtrOutputWithContext

func (i BucketRetentionPolicyArgs) ToBucketRetentionPolicyPtrOutputWithContext(ctx context.Context) BucketRetentionPolicyPtrOutput

type BucketRetentionPolicyInput

type BucketRetentionPolicyInput interface {
	pulumi.Input

	ToBucketRetentionPolicyOutput() BucketRetentionPolicyOutput
	ToBucketRetentionPolicyOutputWithContext(context.Context) BucketRetentionPolicyOutput
}

BucketRetentionPolicyInput is an input type that accepts BucketRetentionPolicyArgs and BucketRetentionPolicyOutput values. You can construct a concrete instance of `BucketRetentionPolicyInput` via:

BucketRetentionPolicyArgs{...}

type BucketRetentionPolicyOutput

type BucketRetentionPolicyOutput struct{ *pulumi.OutputState }

func (BucketRetentionPolicyOutput) ElementType

func (BucketRetentionPolicyOutput) IsLocked

If set to `true`, the bucket will be [locked](https://cloud.google.com/storage/docs/using-bucket-lock#lock-bucket) and permanently restrict edits to the bucket's retention policy. Caution: Locking a bucket is an irreversible action.

func (BucketRetentionPolicyOutput) RetentionPeriod

func (o BucketRetentionPolicyOutput) RetentionPeriod() pulumi.IntOutput

The period of time, in seconds, that objects in the bucket must be retained and cannot be deleted, overwritten, or archived. The value must be less than 2,147,483,647 seconds.

func (BucketRetentionPolicyOutput) ToBucketRetentionPolicyOutput

func (o BucketRetentionPolicyOutput) ToBucketRetentionPolicyOutput() BucketRetentionPolicyOutput

func (BucketRetentionPolicyOutput) ToBucketRetentionPolicyOutputWithContext

func (o BucketRetentionPolicyOutput) ToBucketRetentionPolicyOutputWithContext(ctx context.Context) BucketRetentionPolicyOutput

func (BucketRetentionPolicyOutput) ToBucketRetentionPolicyPtrOutput

func (o BucketRetentionPolicyOutput) ToBucketRetentionPolicyPtrOutput() BucketRetentionPolicyPtrOutput

func (BucketRetentionPolicyOutput) ToBucketRetentionPolicyPtrOutputWithContext

func (o BucketRetentionPolicyOutput) ToBucketRetentionPolicyPtrOutputWithContext(ctx context.Context) BucketRetentionPolicyPtrOutput

type BucketRetentionPolicyPtrInput

type BucketRetentionPolicyPtrInput interface {
	pulumi.Input

	ToBucketRetentionPolicyPtrOutput() BucketRetentionPolicyPtrOutput
	ToBucketRetentionPolicyPtrOutputWithContext(context.Context) BucketRetentionPolicyPtrOutput
}

BucketRetentionPolicyPtrInput is an input type that accepts BucketRetentionPolicyArgs, BucketRetentionPolicyPtr and BucketRetentionPolicyPtrOutput values. You can construct a concrete instance of `BucketRetentionPolicyPtrInput` via:

        BucketRetentionPolicyArgs{...}

or:

        nil

type BucketRetentionPolicyPtrOutput

type BucketRetentionPolicyPtrOutput struct{ *pulumi.OutputState }

func (BucketRetentionPolicyPtrOutput) Elem

func (BucketRetentionPolicyPtrOutput) ElementType

func (BucketRetentionPolicyPtrOutput) IsLocked

If set to `true`, the bucket will be [locked](https://cloud.google.com/storage/docs/using-bucket-lock#lock-bucket) and permanently restrict edits to the bucket's retention policy. Caution: Locking a bucket is an irreversible action.

func (BucketRetentionPolicyPtrOutput) RetentionPeriod

The period of time, in seconds, that objects in the bucket must be retained and cannot be deleted, overwritten, or archived. The value must be less than 2,147,483,647 seconds.

func (BucketRetentionPolicyPtrOutput) ToBucketRetentionPolicyPtrOutput

func (o BucketRetentionPolicyPtrOutput) ToBucketRetentionPolicyPtrOutput() BucketRetentionPolicyPtrOutput

func (BucketRetentionPolicyPtrOutput) ToBucketRetentionPolicyPtrOutputWithContext

func (o BucketRetentionPolicyPtrOutput) ToBucketRetentionPolicyPtrOutputWithContext(ctx context.Context) BucketRetentionPolicyPtrOutput

type BucketState

type BucketState struct {
	// Enables [Bucket Policy Only](https://cloud.google.com/storage/docs/bucket-policy-only) access to a bucket. This field will be removed in the next major release of the provider.
	//
	// Deprecated: Please use the uniform_bucket_level_access as this field has been renamed by Google.
	BucketPolicyOnly pulumi.BoolPtrInput
	// The bucket's [Cross-Origin Resource Sharing (CORS)](https://www.w3.org/TR/cors/) configuration. Multiple blocks of this type are permitted. Structure is documented below.
	Cors                  BucketCorArrayInput
	DefaultEventBasedHold pulumi.BoolPtrInput
	// The bucket's encryption configuration. Structure is documented below.
	Encryption BucketEncryptionPtrInput
	// When deleting a bucket, this
	// boolean option will delete all contained objects. If you try to delete a
	// bucket that contains objects, the provider will fail that run.
	ForceDestroy pulumi.BoolPtrInput
	// A map of key/value label pairs to assign to the bucket.
	Labels pulumi.StringMapInput
	// The bucket's [Lifecycle Rules](https://cloud.google.com/storage/docs/lifecycle#configuration) configuration. Multiple blocks of this type are permitted. Structure is documented below.
	LifecycleRules BucketLifecycleRuleArrayInput
	// The [GCS location](https://cloud.google.com/storage/docs/bucket-locations)
	Location pulumi.StringPtrInput
	// The bucket's [Access & Storage Logs](https://cloud.google.com/storage/docs/access-logs) configuration. Structure is documented below.
	Logging BucketLoggingPtrInput
	// The name of the bucket.
	Name pulumi.StringPtrInput
	// The ID of the project in which the resource belongs. If it
	// is not provided, the provider project is used.
	Project pulumi.StringPtrInput
	// Enables [Requester Pays](https://cloud.google.com/storage/docs/requester-pays) on a storage bucket.
	RequesterPays pulumi.BoolPtrInput
	// Configuration of the bucket's data retention policy for how long objects in the bucket should be retained. Structure is documented below.
	RetentionPolicy BucketRetentionPolicyPtrInput
	// The URI of the created resource.
	SelfLink pulumi.StringPtrInput
	// The target [Storage Class](https://cloud.google.com/storage/docs/storage-classes) of objects affected by this Lifecycle Rule. Supported values include: `STANDARD`, `MULTI_REGIONAL`, `REGIONAL`, `NEARLINE`, `COLDLINE`, `ARCHIVE`.
	StorageClass pulumi.StringPtrInput
	// Enables [Uniform bucket-level access](https://cloud.google.com/storage/docs/uniform-bucket-level-access) access to a bucket.
	UniformBucketLevelAccess pulumi.BoolPtrInput
	// The base URL of the bucket, in the format `gs://<bucket-name>`.
	Url pulumi.StringPtrInput
	// The bucket's [Versioning](https://cloud.google.com/storage/docs/object-versioning) configuration.  Structure is documented below.
	Versioning BucketVersioningPtrInput
	// Configuration if the bucket acts as a website. Structure is documented below.
	Website BucketWebsitePtrInput
}

func (BucketState) ElementType

func (BucketState) ElementType() reflect.Type

type BucketVersioning

type BucketVersioning struct {
	// While set to `true`, versioning is fully enabled for this bucket.
	Enabled bool `pulumi:"enabled"`
}

type BucketVersioningArgs

type BucketVersioningArgs struct {
	// While set to `true`, versioning is fully enabled for this bucket.
	Enabled pulumi.BoolInput `pulumi:"enabled"`
}

func (BucketVersioningArgs) ElementType

func (BucketVersioningArgs) ElementType() reflect.Type

func (BucketVersioningArgs) ToBucketVersioningOutput

func (i BucketVersioningArgs) ToBucketVersioningOutput() BucketVersioningOutput

func (BucketVersioningArgs) ToBucketVersioningOutputWithContext

func (i BucketVersioningArgs) ToBucketVersioningOutputWithContext(ctx context.Context) BucketVersioningOutput

func (BucketVersioningArgs) ToBucketVersioningPtrOutput

func (i BucketVersioningArgs) ToBucketVersioningPtrOutput() BucketVersioningPtrOutput

func (BucketVersioningArgs) ToBucketVersioningPtrOutputWithContext

func (i BucketVersioningArgs) ToBucketVersioningPtrOutputWithContext(ctx context.Context) BucketVersioningPtrOutput

type BucketVersioningInput

type BucketVersioningInput interface {
	pulumi.Input

	ToBucketVersioningOutput() BucketVersioningOutput
	ToBucketVersioningOutputWithContext(context.Context) BucketVersioningOutput
}

BucketVersioningInput is an input type that accepts BucketVersioningArgs and BucketVersioningOutput values. You can construct a concrete instance of `BucketVersioningInput` via:

BucketVersioningArgs{...}

type BucketVersioningOutput

type BucketVersioningOutput struct{ *pulumi.OutputState }

func (BucketVersioningOutput) ElementType

func (BucketVersioningOutput) ElementType() reflect.Type

func (BucketVersioningOutput) Enabled

While set to `true`, versioning is fully enabled for this bucket.

func (BucketVersioningOutput) ToBucketVersioningOutput

func (o BucketVersioningOutput) ToBucketVersioningOutput() BucketVersioningOutput

func (BucketVersioningOutput) ToBucketVersioningOutputWithContext

func (o BucketVersioningOutput) ToBucketVersioningOutputWithContext(ctx context.Context) BucketVersioningOutput

func (BucketVersioningOutput) ToBucketVersioningPtrOutput

func (o BucketVersioningOutput) ToBucketVersioningPtrOutput() BucketVersioningPtrOutput

func (BucketVersioningOutput) ToBucketVersioningPtrOutputWithContext

func (o BucketVersioningOutput) ToBucketVersioningPtrOutputWithContext(ctx context.Context) BucketVersioningPtrOutput

type BucketVersioningPtrInput

type BucketVersioningPtrInput interface {
	pulumi.Input

	ToBucketVersioningPtrOutput() BucketVersioningPtrOutput
	ToBucketVersioningPtrOutputWithContext(context.Context) BucketVersioningPtrOutput
}

BucketVersioningPtrInput is an input type that accepts BucketVersioningArgs, BucketVersioningPtr and BucketVersioningPtrOutput values. You can construct a concrete instance of `BucketVersioningPtrInput` via:

        BucketVersioningArgs{...}

or:

        nil

type BucketVersioningPtrOutput

type BucketVersioningPtrOutput struct{ *pulumi.OutputState }

func (BucketVersioningPtrOutput) Elem

func (BucketVersioningPtrOutput) ElementType

func (BucketVersioningPtrOutput) ElementType() reflect.Type

func (BucketVersioningPtrOutput) Enabled

While set to `true`, versioning is fully enabled for this bucket.

func (BucketVersioningPtrOutput) ToBucketVersioningPtrOutput

func (o BucketVersioningPtrOutput) ToBucketVersioningPtrOutput() BucketVersioningPtrOutput

func (BucketVersioningPtrOutput) ToBucketVersioningPtrOutputWithContext

func (o BucketVersioningPtrOutput) ToBucketVersioningPtrOutputWithContext(ctx context.Context) BucketVersioningPtrOutput

type BucketWebsite

type BucketWebsite struct {
	// Behaves as the bucket's directory index where
	// missing objects are treated as potential directories.
	MainPageSuffix *string `pulumi:"mainPageSuffix"`
	// The custom object to return when a requested
	// resource is not found.
	NotFoundPage *string `pulumi:"notFoundPage"`
}

type BucketWebsiteArgs

type BucketWebsiteArgs struct {
	// Behaves as the bucket's directory index where
	// missing objects are treated as potential directories.
	MainPageSuffix pulumi.StringPtrInput `pulumi:"mainPageSuffix"`
	// The custom object to return when a requested
	// resource is not found.
	NotFoundPage pulumi.StringPtrInput `pulumi:"notFoundPage"`
}

func (BucketWebsiteArgs) ElementType

func (BucketWebsiteArgs) ElementType() reflect.Type

func (BucketWebsiteArgs) ToBucketWebsiteOutput

func (i BucketWebsiteArgs) ToBucketWebsiteOutput() BucketWebsiteOutput

func (BucketWebsiteArgs) ToBucketWebsiteOutputWithContext

func (i BucketWebsiteArgs) ToBucketWebsiteOutputWithContext(ctx context.Context) BucketWebsiteOutput

func (BucketWebsiteArgs) ToBucketWebsitePtrOutput

func (i BucketWebsiteArgs) ToBucketWebsitePtrOutput() BucketWebsitePtrOutput

func (BucketWebsiteArgs) ToBucketWebsitePtrOutputWithContext

func (i BucketWebsiteArgs) ToBucketWebsitePtrOutputWithContext(ctx context.Context) BucketWebsitePtrOutput

type BucketWebsiteInput

type BucketWebsiteInput interface {
	pulumi.Input

	ToBucketWebsiteOutput() BucketWebsiteOutput
	ToBucketWebsiteOutputWithContext(context.Context) BucketWebsiteOutput
}

BucketWebsiteInput is an input type that accepts BucketWebsiteArgs and BucketWebsiteOutput values. You can construct a concrete instance of `BucketWebsiteInput` via:

BucketWebsiteArgs{...}

type BucketWebsiteOutput

type BucketWebsiteOutput struct{ *pulumi.OutputState }

func (BucketWebsiteOutput) ElementType

func (BucketWebsiteOutput) ElementType() reflect.Type

func (BucketWebsiteOutput) MainPageSuffix

func (o BucketWebsiteOutput) MainPageSuffix() pulumi.StringPtrOutput

Behaves as the bucket's directory index where missing objects are treated as potential directories.

func (BucketWebsiteOutput) NotFoundPage

func (o BucketWebsiteOutput) NotFoundPage() pulumi.StringPtrOutput

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

func (BucketWebsiteOutput) ToBucketWebsiteOutput

func (o BucketWebsiteOutput) ToBucketWebsiteOutput() BucketWebsiteOutput

func (BucketWebsiteOutput) ToBucketWebsiteOutputWithContext

func (o BucketWebsiteOutput) ToBucketWebsiteOutputWithContext(ctx context.Context) BucketWebsiteOutput

func (BucketWebsiteOutput) ToBucketWebsitePtrOutput

func (o BucketWebsiteOutput) ToBucketWebsitePtrOutput() BucketWebsitePtrOutput

func (BucketWebsiteOutput) ToBucketWebsitePtrOutputWithContext

func (o BucketWebsiteOutput) ToBucketWebsitePtrOutputWithContext(ctx context.Context) BucketWebsitePtrOutput

type BucketWebsitePtrInput

type BucketWebsitePtrInput interface {
	pulumi.Input

	ToBucketWebsitePtrOutput() BucketWebsitePtrOutput
	ToBucketWebsitePtrOutputWithContext(context.Context) BucketWebsitePtrOutput
}

BucketWebsitePtrInput is an input type that accepts BucketWebsiteArgs, BucketWebsitePtr and BucketWebsitePtrOutput values. You can construct a concrete instance of `BucketWebsitePtrInput` via:

        BucketWebsiteArgs{...}

or:

        nil

type BucketWebsitePtrOutput

type BucketWebsitePtrOutput struct{ *pulumi.OutputState }

func (BucketWebsitePtrOutput) Elem

func (BucketWebsitePtrOutput) ElementType

func (BucketWebsitePtrOutput) ElementType() reflect.Type

func (BucketWebsitePtrOutput) MainPageSuffix

func (o BucketWebsitePtrOutput) MainPageSuffix() pulumi.StringPtrOutput

Behaves as the bucket's directory index where missing objects are treated as potential directories.

func (BucketWebsitePtrOutput) NotFoundPage

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

func (BucketWebsitePtrOutput) ToBucketWebsitePtrOutput

func (o BucketWebsitePtrOutput) ToBucketWebsitePtrOutput() BucketWebsitePtrOutput

func (BucketWebsitePtrOutput) ToBucketWebsitePtrOutputWithContext

func (o BucketWebsitePtrOutput) ToBucketWebsitePtrOutputWithContext(ctx context.Context) BucketWebsitePtrOutput

type DefaultObjectACL

type DefaultObjectACL struct {
	pulumi.CustomResourceState

	// The name of the bucket it applies to.
	Bucket pulumi.StringOutput `pulumi:"bucket"`
	// List of role/entity pairs in the form `ROLE:entity`.
	// See [GCS Object ACL documentation](https://cloud.google.com/storage/docs/json_api/v1/objectAccessControls) for more details.
	// Omitting the field is the same as providing an empty list.
	RoleEntities pulumi.StringArrayOutput `pulumi:"roleEntities"`
}

Authoritatively manages the default object ACLs for a Google Cloud Storage bucket without managing the bucket itself.

> Note that for each object, its creator will have the `"OWNER"` role in addition to the default ACL that has been defined.

For more information see [the official documentation](https://cloud.google.com/storage/docs/access-control/lists) and [API](https://cloud.google.com/storage/docs/json_api/v1/defaultObjectAccessControls).

> Want fine-grained control over default object ACLs? Use `storage.DefaultObjectAccessControl` to control individual role entity pairs.

## Example Usage

Example creating a default object ACL on a bucket with one owner, and one reader.

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/storage"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := storage.NewBucket(ctx, "image_store", &storage.BucketArgs{
			Location: pulumi.String("EU"),
		})
		if err != nil {
			return err
		}
		_, err = storage.NewDefaultObjectACL(ctx, "image_store_default_acl", &storage.DefaultObjectACLArgs{
			Bucket: image_store.Name,
			RoleEntities: pulumi.StringArray{
				pulumi.String("OWNER:user-my.email@gmail.com"),
				pulumi.String("READER:group-mygroup"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

This resource does not support import.

func GetDefaultObjectACL

func GetDefaultObjectACL(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *DefaultObjectACLState, opts ...pulumi.ResourceOption) (*DefaultObjectACL, error)

GetDefaultObjectACL gets an existing DefaultObjectACL resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewDefaultObjectACL

func NewDefaultObjectACL(ctx *pulumi.Context,
	name string, args *DefaultObjectACLArgs, opts ...pulumi.ResourceOption) (*DefaultObjectACL, error)

NewDefaultObjectACL registers a new resource with the given unique name, arguments, and options.

func (*DefaultObjectACL) ElementType

func (*DefaultObjectACL) ElementType() reflect.Type

func (*DefaultObjectACL) ToDefaultObjectACLOutput

func (i *DefaultObjectACL) ToDefaultObjectACLOutput() DefaultObjectACLOutput

func (*DefaultObjectACL) ToDefaultObjectACLOutputWithContext

func (i *DefaultObjectACL) ToDefaultObjectACLOutputWithContext(ctx context.Context) DefaultObjectACLOutput

func (*DefaultObjectACL) ToDefaultObjectACLPtrOutput

func (i *DefaultObjectACL) ToDefaultObjectACLPtrOutput() DefaultObjectACLPtrOutput

func (*DefaultObjectACL) ToDefaultObjectACLPtrOutputWithContext

func (i *DefaultObjectACL) ToDefaultObjectACLPtrOutputWithContext(ctx context.Context) DefaultObjectACLPtrOutput

type DefaultObjectACLArgs

type DefaultObjectACLArgs struct {
	// The name of the bucket it applies to.
	Bucket pulumi.StringInput
	// List of role/entity pairs in the form `ROLE:entity`.
	// See [GCS Object ACL documentation](https://cloud.google.com/storage/docs/json_api/v1/objectAccessControls) for more details.
	// Omitting the field is the same as providing an empty list.
	RoleEntities pulumi.StringArrayInput
}

The set of arguments for constructing a DefaultObjectACL resource.

func (DefaultObjectACLArgs) ElementType

func (DefaultObjectACLArgs) ElementType() reflect.Type

type DefaultObjectACLArray

type DefaultObjectACLArray []DefaultObjectACLInput

func (DefaultObjectACLArray) ElementType

func (DefaultObjectACLArray) ElementType() reflect.Type

func (DefaultObjectACLArray) ToDefaultObjectACLArrayOutput

func (i DefaultObjectACLArray) ToDefaultObjectACLArrayOutput() DefaultObjectACLArrayOutput

func (DefaultObjectACLArray) ToDefaultObjectACLArrayOutputWithContext

func (i DefaultObjectACLArray) ToDefaultObjectACLArrayOutputWithContext(ctx context.Context) DefaultObjectACLArrayOutput

type DefaultObjectACLArrayInput

type DefaultObjectACLArrayInput interface {
	pulumi.Input

	ToDefaultObjectACLArrayOutput() DefaultObjectACLArrayOutput
	ToDefaultObjectACLArrayOutputWithContext(context.Context) DefaultObjectACLArrayOutput
}

DefaultObjectACLArrayInput is an input type that accepts DefaultObjectACLArray and DefaultObjectACLArrayOutput values. You can construct a concrete instance of `DefaultObjectACLArrayInput` via:

DefaultObjectACLArray{ DefaultObjectACLArgs{...} }

type DefaultObjectACLArrayOutput

type DefaultObjectACLArrayOutput struct{ *pulumi.OutputState }

func (DefaultObjectACLArrayOutput) ElementType

func (DefaultObjectACLArrayOutput) Index

func (DefaultObjectACLArrayOutput) ToDefaultObjectACLArrayOutput

func (o DefaultObjectACLArrayOutput) ToDefaultObjectACLArrayOutput() DefaultObjectACLArrayOutput

func (DefaultObjectACLArrayOutput) ToDefaultObjectACLArrayOutputWithContext

func (o DefaultObjectACLArrayOutput) ToDefaultObjectACLArrayOutputWithContext(ctx context.Context) DefaultObjectACLArrayOutput

type DefaultObjectACLInput

type DefaultObjectACLInput interface {
	pulumi.Input

	ToDefaultObjectACLOutput() DefaultObjectACLOutput
	ToDefaultObjectACLOutputWithContext(ctx context.Context) DefaultObjectACLOutput
}

type DefaultObjectACLMap

type DefaultObjectACLMap map[string]DefaultObjectACLInput

func (DefaultObjectACLMap) ElementType

func (DefaultObjectACLMap) ElementType() reflect.Type

func (DefaultObjectACLMap) ToDefaultObjectACLMapOutput

func (i DefaultObjectACLMap) ToDefaultObjectACLMapOutput() DefaultObjectACLMapOutput

func (DefaultObjectACLMap) ToDefaultObjectACLMapOutputWithContext

func (i DefaultObjectACLMap) ToDefaultObjectACLMapOutputWithContext(ctx context.Context) DefaultObjectACLMapOutput

type DefaultObjectACLMapInput

type DefaultObjectACLMapInput interface {
	pulumi.Input

	ToDefaultObjectACLMapOutput() DefaultObjectACLMapOutput
	ToDefaultObjectACLMapOutputWithContext(context.Context) DefaultObjectACLMapOutput
}

DefaultObjectACLMapInput is an input type that accepts DefaultObjectACLMap and DefaultObjectACLMapOutput values. You can construct a concrete instance of `DefaultObjectACLMapInput` via:

DefaultObjectACLMap{ "key": DefaultObjectACLArgs{...} }

type DefaultObjectACLMapOutput

type DefaultObjectACLMapOutput struct{ *pulumi.OutputState }

func (DefaultObjectACLMapOutput) ElementType

func (DefaultObjectACLMapOutput) ElementType() reflect.Type

func (DefaultObjectACLMapOutput) MapIndex

func (DefaultObjectACLMapOutput) ToDefaultObjectACLMapOutput

func (o DefaultObjectACLMapOutput) ToDefaultObjectACLMapOutput() DefaultObjectACLMapOutput

func (DefaultObjectACLMapOutput) ToDefaultObjectACLMapOutputWithContext

func (o DefaultObjectACLMapOutput) ToDefaultObjectACLMapOutputWithContext(ctx context.Context) DefaultObjectACLMapOutput

type DefaultObjectACLOutput

type DefaultObjectACLOutput struct{ *pulumi.OutputState }

func (DefaultObjectACLOutput) ElementType

func (DefaultObjectACLOutput) ElementType() reflect.Type

func (DefaultObjectACLOutput) ToDefaultObjectACLOutput

func (o DefaultObjectACLOutput) ToDefaultObjectACLOutput() DefaultObjectACLOutput

func (DefaultObjectACLOutput) ToDefaultObjectACLOutputWithContext

func (o DefaultObjectACLOutput) ToDefaultObjectACLOutputWithContext(ctx context.Context) DefaultObjectACLOutput

func (DefaultObjectACLOutput) ToDefaultObjectACLPtrOutput

func (o DefaultObjectACLOutput) ToDefaultObjectACLPtrOutput() DefaultObjectACLPtrOutput

func (DefaultObjectACLOutput) ToDefaultObjectACLPtrOutputWithContext

func (o DefaultObjectACLOutput) ToDefaultObjectACLPtrOutputWithContext(ctx context.Context) DefaultObjectACLPtrOutput

type DefaultObjectACLPtrInput

type DefaultObjectACLPtrInput interface {
	pulumi.Input

	ToDefaultObjectACLPtrOutput() DefaultObjectACLPtrOutput
	ToDefaultObjectACLPtrOutputWithContext(ctx context.Context) DefaultObjectACLPtrOutput
}

type DefaultObjectACLPtrOutput

type DefaultObjectACLPtrOutput struct{ *pulumi.OutputState }

func (DefaultObjectACLPtrOutput) Elem added in v5.21.0

func (DefaultObjectACLPtrOutput) ElementType

func (DefaultObjectACLPtrOutput) ElementType() reflect.Type

func (DefaultObjectACLPtrOutput) ToDefaultObjectACLPtrOutput

func (o DefaultObjectACLPtrOutput) ToDefaultObjectACLPtrOutput() DefaultObjectACLPtrOutput

func (DefaultObjectACLPtrOutput) ToDefaultObjectACLPtrOutputWithContext

func (o DefaultObjectACLPtrOutput) ToDefaultObjectACLPtrOutputWithContext(ctx context.Context) DefaultObjectACLPtrOutput

type DefaultObjectACLState

type DefaultObjectACLState struct {
	// The name of the bucket it applies to.
	Bucket pulumi.StringPtrInput
	// List of role/entity pairs in the form `ROLE:entity`.
	// See [GCS Object ACL documentation](https://cloud.google.com/storage/docs/json_api/v1/objectAccessControls) for more details.
	// Omitting the field is the same as providing an empty list.
	RoleEntities pulumi.StringArrayInput
}

func (DefaultObjectACLState) ElementType

func (DefaultObjectACLState) ElementType() reflect.Type

type DefaultObjectAccessControl

type DefaultObjectAccessControl struct {
	pulumi.CustomResourceState

	// The name of the bucket.
	Bucket pulumi.StringOutput `pulumi:"bucket"`
	// The domain associated with the entity.
	Domain pulumi.StringOutput `pulumi:"domain"`
	// The email address associated with the entity.
	Email pulumi.StringOutput `pulumi:"email"`
	// The entity holding the permission, in one of the following forms:
	// * user-{{userId}}
	// * user-{{email}} (such as "user-liz@example.com")
	// * group-{{groupId}}
	// * group-{{email}} (such as "group-example@googlegroups.com")
	// * domain-{{domain}} (such as "domain-example.com")
	// * project-team-{{projectId}}
	// * allUsers
	// * allAuthenticatedUsers
	Entity pulumi.StringOutput `pulumi:"entity"`
	// The ID for the entity
	EntityId pulumi.StringOutput `pulumi:"entityId"`
	// The content generation of the object, if applied to an object.
	Generation pulumi.IntOutput `pulumi:"generation"`
	// The name of the object, if applied to an object.
	Object pulumi.StringPtrOutput `pulumi:"object"`
	// The project team associated with the entity
	ProjectTeams DefaultObjectAccessControlProjectTeamArrayOutput `pulumi:"projectTeams"`
	// The access permission for the entity.
	// Possible values are `OWNER` and `READER`.
	Role pulumi.StringOutput `pulumi:"role"`
}

The DefaultObjectAccessControls resources represent the Access Control Lists (ACLs) applied to a new object within a Google Cloud Storage bucket when no ACL was provided for that object. ACLs let you specify who has access to your bucket contents and to what extent.

There are two roles that can be assigned to an entity:

READERs can get an object, though the acl property will not be revealed. OWNERs are READERs, and they can get the acl property, update an object, and call all objectAccessControls methods on the object. The owner of an object is always an OWNER. For more information, see Access Control, with the caveat that this API uses READER and OWNER instead of READ and FULL_CONTROL.

To get more information about DefaultObjectAccessControl, see:

* [API documentation](https://cloud.google.com/storage/docs/json_api/v1/defaultObjectAccessControls) * How-to Guides

## Example Usage ### Storage Default Object Access Control Public

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/storage"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		bucket, err := storage.NewBucket(ctx, "bucket", nil)
		if err != nil {
			return err
		}
		_, err = storage.NewDefaultObjectAccessControl(ctx, "publicRule", &storage.DefaultObjectAccessControlArgs{
			Bucket: bucket.Name,
			Role:   pulumi.String("READER"),
			Entity: pulumi.String("allUsers"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

DefaultObjectAccessControl can be imported using any of these accepted formats

```sh

$ pulumi import gcp:storage/defaultObjectAccessControl:DefaultObjectAccessControl default {{bucket}}/{{entity}}

```

func GetDefaultObjectAccessControl

func GetDefaultObjectAccessControl(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *DefaultObjectAccessControlState, opts ...pulumi.ResourceOption) (*DefaultObjectAccessControl, error)

GetDefaultObjectAccessControl gets an existing DefaultObjectAccessControl resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewDefaultObjectAccessControl

func NewDefaultObjectAccessControl(ctx *pulumi.Context,
	name string, args *DefaultObjectAccessControlArgs, opts ...pulumi.ResourceOption) (*DefaultObjectAccessControl, error)

NewDefaultObjectAccessControl registers a new resource with the given unique name, arguments, and options.

func (*DefaultObjectAccessControl) ElementType

func (*DefaultObjectAccessControl) ElementType() reflect.Type

func (*DefaultObjectAccessControl) ToDefaultObjectAccessControlOutput

func (i *DefaultObjectAccessControl) ToDefaultObjectAccessControlOutput() DefaultObjectAccessControlOutput

func (*DefaultObjectAccessControl) ToDefaultObjectAccessControlOutputWithContext

func (i *DefaultObjectAccessControl) ToDefaultObjectAccessControlOutputWithContext(ctx context.Context) DefaultObjectAccessControlOutput

func (*DefaultObjectAccessControl) ToDefaultObjectAccessControlPtrOutput

func (i *DefaultObjectAccessControl) ToDefaultObjectAccessControlPtrOutput() DefaultObjectAccessControlPtrOutput

func (*DefaultObjectAccessControl) ToDefaultObjectAccessControlPtrOutputWithContext

func (i *DefaultObjectAccessControl) ToDefaultObjectAccessControlPtrOutputWithContext(ctx context.Context) DefaultObjectAccessControlPtrOutput

type DefaultObjectAccessControlArgs

type DefaultObjectAccessControlArgs struct {
	// The name of the bucket.
	Bucket pulumi.StringInput
	// The entity holding the permission, in one of the following forms:
	// * user-{{userId}}
	// * user-{{email}} (such as "user-liz@example.com")
	// * group-{{groupId}}
	// * group-{{email}} (such as "group-example@googlegroups.com")
	// * domain-{{domain}} (such as "domain-example.com")
	// * project-team-{{projectId}}
	// * allUsers
	// * allAuthenticatedUsers
	Entity pulumi.StringInput
	// The name of the object, if applied to an object.
	Object pulumi.StringPtrInput
	// The access permission for the entity.
	// Possible values are `OWNER` and `READER`.
	Role pulumi.StringInput
}

The set of arguments for constructing a DefaultObjectAccessControl resource.

func (DefaultObjectAccessControlArgs) ElementType

type DefaultObjectAccessControlArray

type DefaultObjectAccessControlArray []DefaultObjectAccessControlInput

func (DefaultObjectAccessControlArray) ElementType

func (DefaultObjectAccessControlArray) ToDefaultObjectAccessControlArrayOutput

func (i DefaultObjectAccessControlArray) ToDefaultObjectAccessControlArrayOutput() DefaultObjectAccessControlArrayOutput

func (DefaultObjectAccessControlArray) ToDefaultObjectAccessControlArrayOutputWithContext

func (i DefaultObjectAccessControlArray) ToDefaultObjectAccessControlArrayOutputWithContext(ctx context.Context) DefaultObjectAccessControlArrayOutput

type DefaultObjectAccessControlArrayInput

type DefaultObjectAccessControlArrayInput interface {
	pulumi.Input

	ToDefaultObjectAccessControlArrayOutput() DefaultObjectAccessControlArrayOutput
	ToDefaultObjectAccessControlArrayOutputWithContext(context.Context) DefaultObjectAccessControlArrayOutput
}

DefaultObjectAccessControlArrayInput is an input type that accepts DefaultObjectAccessControlArray and DefaultObjectAccessControlArrayOutput values. You can construct a concrete instance of `DefaultObjectAccessControlArrayInput` via:

DefaultObjectAccessControlArray{ DefaultObjectAccessControlArgs{...} }

type DefaultObjectAccessControlArrayOutput

type DefaultObjectAccessControlArrayOutput struct{ *pulumi.OutputState }

func (DefaultObjectAccessControlArrayOutput) ElementType

func (DefaultObjectAccessControlArrayOutput) Index

func (DefaultObjectAccessControlArrayOutput) ToDefaultObjectAccessControlArrayOutput

func (o DefaultObjectAccessControlArrayOutput) ToDefaultObjectAccessControlArrayOutput() DefaultObjectAccessControlArrayOutput

func (DefaultObjectAccessControlArrayOutput) ToDefaultObjectAccessControlArrayOutputWithContext

func (o DefaultObjectAccessControlArrayOutput) ToDefaultObjectAccessControlArrayOutputWithContext(ctx context.Context) DefaultObjectAccessControlArrayOutput

type DefaultObjectAccessControlInput

type DefaultObjectAccessControlInput interface {
	pulumi.Input

	ToDefaultObjectAccessControlOutput() DefaultObjectAccessControlOutput
	ToDefaultObjectAccessControlOutputWithContext(ctx context.Context) DefaultObjectAccessControlOutput
}

type DefaultObjectAccessControlMap

type DefaultObjectAccessControlMap map[string]DefaultObjectAccessControlInput

func (DefaultObjectAccessControlMap) ElementType

func (DefaultObjectAccessControlMap) ToDefaultObjectAccessControlMapOutput

func (i DefaultObjectAccessControlMap) ToDefaultObjectAccessControlMapOutput() DefaultObjectAccessControlMapOutput

func (DefaultObjectAccessControlMap) ToDefaultObjectAccessControlMapOutputWithContext

func (i DefaultObjectAccessControlMap) ToDefaultObjectAccessControlMapOutputWithContext(ctx context.Context) DefaultObjectAccessControlMapOutput

type DefaultObjectAccessControlMapInput

type DefaultObjectAccessControlMapInput interface {
	pulumi.Input

	ToDefaultObjectAccessControlMapOutput() DefaultObjectAccessControlMapOutput
	ToDefaultObjectAccessControlMapOutputWithContext(context.Context) DefaultObjectAccessControlMapOutput
}

DefaultObjectAccessControlMapInput is an input type that accepts DefaultObjectAccessControlMap and DefaultObjectAccessControlMapOutput values. You can construct a concrete instance of `DefaultObjectAccessControlMapInput` via:

DefaultObjectAccessControlMap{ "key": DefaultObjectAccessControlArgs{...} }

type DefaultObjectAccessControlMapOutput

type DefaultObjectAccessControlMapOutput struct{ *pulumi.OutputState }

func (DefaultObjectAccessControlMapOutput) ElementType

func (DefaultObjectAccessControlMapOutput) MapIndex

func (DefaultObjectAccessControlMapOutput) ToDefaultObjectAccessControlMapOutput

func (o DefaultObjectAccessControlMapOutput) ToDefaultObjectAccessControlMapOutput() DefaultObjectAccessControlMapOutput

func (DefaultObjectAccessControlMapOutput) ToDefaultObjectAccessControlMapOutputWithContext

func (o DefaultObjectAccessControlMapOutput) ToDefaultObjectAccessControlMapOutputWithContext(ctx context.Context) DefaultObjectAccessControlMapOutput

type DefaultObjectAccessControlOutput

type DefaultObjectAccessControlOutput struct{ *pulumi.OutputState }

func (DefaultObjectAccessControlOutput) ElementType

func (DefaultObjectAccessControlOutput) ToDefaultObjectAccessControlOutput

func (o DefaultObjectAccessControlOutput) ToDefaultObjectAccessControlOutput() DefaultObjectAccessControlOutput

func (DefaultObjectAccessControlOutput) ToDefaultObjectAccessControlOutputWithContext

func (o DefaultObjectAccessControlOutput) ToDefaultObjectAccessControlOutputWithContext(ctx context.Context) DefaultObjectAccessControlOutput

func (DefaultObjectAccessControlOutput) ToDefaultObjectAccessControlPtrOutput

func (o DefaultObjectAccessControlOutput) ToDefaultObjectAccessControlPtrOutput() DefaultObjectAccessControlPtrOutput

func (DefaultObjectAccessControlOutput) ToDefaultObjectAccessControlPtrOutputWithContext

func (o DefaultObjectAccessControlOutput) ToDefaultObjectAccessControlPtrOutputWithContext(ctx context.Context) DefaultObjectAccessControlPtrOutput

type DefaultObjectAccessControlProjectTeam

type DefaultObjectAccessControlProjectTeam struct {
	ProjectNumber *string `pulumi:"projectNumber"`
	Team          *string `pulumi:"team"`
}

type DefaultObjectAccessControlProjectTeamArgs

type DefaultObjectAccessControlProjectTeamArgs struct {
	ProjectNumber pulumi.StringPtrInput `pulumi:"projectNumber"`
	Team          pulumi.StringPtrInput `pulumi:"team"`
}

func (DefaultObjectAccessControlProjectTeamArgs) ElementType

func (DefaultObjectAccessControlProjectTeamArgs) ToDefaultObjectAccessControlProjectTeamOutput

func (i DefaultObjectAccessControlProjectTeamArgs) ToDefaultObjectAccessControlProjectTeamOutput() DefaultObjectAccessControlProjectTeamOutput

func (DefaultObjectAccessControlProjectTeamArgs) ToDefaultObjectAccessControlProjectTeamOutputWithContext

func (i DefaultObjectAccessControlProjectTeamArgs) ToDefaultObjectAccessControlProjectTeamOutputWithContext(ctx context.Context) DefaultObjectAccessControlProjectTeamOutput

type DefaultObjectAccessControlProjectTeamArray

type DefaultObjectAccessControlProjectTeamArray []DefaultObjectAccessControlProjectTeamInput

func (DefaultObjectAccessControlProjectTeamArray) ElementType

func (DefaultObjectAccessControlProjectTeamArray) ToDefaultObjectAccessControlProjectTeamArrayOutput

func (i DefaultObjectAccessControlProjectTeamArray) ToDefaultObjectAccessControlProjectTeamArrayOutput() DefaultObjectAccessControlProjectTeamArrayOutput

func (DefaultObjectAccessControlProjectTeamArray) ToDefaultObjectAccessControlProjectTeamArrayOutputWithContext

func (i DefaultObjectAccessControlProjectTeamArray) ToDefaultObjectAccessControlProjectTeamArrayOutputWithContext(ctx context.Context) DefaultObjectAccessControlProjectTeamArrayOutput

type DefaultObjectAccessControlProjectTeamArrayInput

type DefaultObjectAccessControlProjectTeamArrayInput interface {
	pulumi.Input

	ToDefaultObjectAccessControlProjectTeamArrayOutput() DefaultObjectAccessControlProjectTeamArrayOutput
	ToDefaultObjectAccessControlProjectTeamArrayOutputWithContext(context.Context) DefaultObjectAccessControlProjectTeamArrayOutput
}

DefaultObjectAccessControlProjectTeamArrayInput is an input type that accepts DefaultObjectAccessControlProjectTeamArray and DefaultObjectAccessControlProjectTeamArrayOutput values. You can construct a concrete instance of `DefaultObjectAccessControlProjectTeamArrayInput` via:

DefaultObjectAccessControlProjectTeamArray{ DefaultObjectAccessControlProjectTeamArgs{...} }

type DefaultObjectAccessControlProjectTeamArrayOutput

type DefaultObjectAccessControlProjectTeamArrayOutput struct{ *pulumi.OutputState }

func (DefaultObjectAccessControlProjectTeamArrayOutput) ElementType

func (DefaultObjectAccessControlProjectTeamArrayOutput) Index

func (DefaultObjectAccessControlProjectTeamArrayOutput) ToDefaultObjectAccessControlProjectTeamArrayOutput

func (o DefaultObjectAccessControlProjectTeamArrayOutput) ToDefaultObjectAccessControlProjectTeamArrayOutput() DefaultObjectAccessControlProjectTeamArrayOutput

func (DefaultObjectAccessControlProjectTeamArrayOutput) ToDefaultObjectAccessControlProjectTeamArrayOutputWithContext

func (o DefaultObjectAccessControlProjectTeamArrayOutput) ToDefaultObjectAccessControlProjectTeamArrayOutputWithContext(ctx context.Context) DefaultObjectAccessControlProjectTeamArrayOutput

type DefaultObjectAccessControlProjectTeamInput

type DefaultObjectAccessControlProjectTeamInput interface {
	pulumi.Input

	ToDefaultObjectAccessControlProjectTeamOutput() DefaultObjectAccessControlProjectTeamOutput
	ToDefaultObjectAccessControlProjectTeamOutputWithContext(context.Context) DefaultObjectAccessControlProjectTeamOutput
}

DefaultObjectAccessControlProjectTeamInput is an input type that accepts DefaultObjectAccessControlProjectTeamArgs and DefaultObjectAccessControlProjectTeamOutput values. You can construct a concrete instance of `DefaultObjectAccessControlProjectTeamInput` via:

DefaultObjectAccessControlProjectTeamArgs{...}

type DefaultObjectAccessControlProjectTeamOutput

type DefaultObjectAccessControlProjectTeamOutput struct{ *pulumi.OutputState }

func (DefaultObjectAccessControlProjectTeamOutput) ElementType

func (DefaultObjectAccessControlProjectTeamOutput) ProjectNumber

func (DefaultObjectAccessControlProjectTeamOutput) Team

func (DefaultObjectAccessControlProjectTeamOutput) ToDefaultObjectAccessControlProjectTeamOutput

func (o DefaultObjectAccessControlProjectTeamOutput) ToDefaultObjectAccessControlProjectTeamOutput() DefaultObjectAccessControlProjectTeamOutput

func (DefaultObjectAccessControlProjectTeamOutput) ToDefaultObjectAccessControlProjectTeamOutputWithContext

func (o DefaultObjectAccessControlProjectTeamOutput) ToDefaultObjectAccessControlProjectTeamOutputWithContext(ctx context.Context) DefaultObjectAccessControlProjectTeamOutput

type DefaultObjectAccessControlPtrInput

type DefaultObjectAccessControlPtrInput interface {
	pulumi.Input

	ToDefaultObjectAccessControlPtrOutput() DefaultObjectAccessControlPtrOutput
	ToDefaultObjectAccessControlPtrOutputWithContext(ctx context.Context) DefaultObjectAccessControlPtrOutput
}

type DefaultObjectAccessControlPtrOutput

type DefaultObjectAccessControlPtrOutput struct{ *pulumi.OutputState }

func (DefaultObjectAccessControlPtrOutput) Elem added in v5.21.0

func (DefaultObjectAccessControlPtrOutput) ElementType

func (DefaultObjectAccessControlPtrOutput) ToDefaultObjectAccessControlPtrOutput

func (o DefaultObjectAccessControlPtrOutput) ToDefaultObjectAccessControlPtrOutput() DefaultObjectAccessControlPtrOutput

func (DefaultObjectAccessControlPtrOutput) ToDefaultObjectAccessControlPtrOutputWithContext

func (o DefaultObjectAccessControlPtrOutput) ToDefaultObjectAccessControlPtrOutputWithContext(ctx context.Context) DefaultObjectAccessControlPtrOutput

type DefaultObjectAccessControlState

type DefaultObjectAccessControlState struct {
	// The name of the bucket.
	Bucket pulumi.StringPtrInput
	// The domain associated with the entity.
	Domain pulumi.StringPtrInput
	// The email address associated with the entity.
	Email pulumi.StringPtrInput
	// The entity holding the permission, in one of the following forms:
	// * user-{{userId}}
	// * user-{{email}} (such as "user-liz@example.com")
	// * group-{{groupId}}
	// * group-{{email}} (such as "group-example@googlegroups.com")
	// * domain-{{domain}} (such as "domain-example.com")
	// * project-team-{{projectId}}
	// * allUsers
	// * allAuthenticatedUsers
	Entity pulumi.StringPtrInput
	// The ID for the entity
	EntityId pulumi.StringPtrInput
	// The content generation of the object, if applied to an object.
	Generation pulumi.IntPtrInput
	// The name of the object, if applied to an object.
	Object pulumi.StringPtrInput
	// The project team associated with the entity
	ProjectTeams DefaultObjectAccessControlProjectTeamArrayInput
	// The access permission for the entity.
	// Possible values are `OWNER` and `READER`.
	Role pulumi.StringPtrInput
}

func (DefaultObjectAccessControlState) ElementType

type GetBucketCor added in v5.24.0

type GetBucketCor struct {
	MaxAgeSeconds   int      `pulumi:"maxAgeSeconds"`
	Methods         []string `pulumi:"methods"`
	Origins         []string `pulumi:"origins"`
	ResponseHeaders []string `pulumi:"responseHeaders"`
}

type GetBucketCorArgs added in v5.24.0

type GetBucketCorArgs struct {
	MaxAgeSeconds   pulumi.IntInput         `pulumi:"maxAgeSeconds"`
	Methods         pulumi.StringArrayInput `pulumi:"methods"`
	Origins         pulumi.StringArrayInput `pulumi:"origins"`
	ResponseHeaders pulumi.StringArrayInput `pulumi:"responseHeaders"`
}

func (GetBucketCorArgs) ElementType added in v5.24.0

func (GetBucketCorArgs) ElementType() reflect.Type

func (GetBucketCorArgs) ToGetBucketCorOutput added in v5.24.0

func (i GetBucketCorArgs) ToGetBucketCorOutput() GetBucketCorOutput

func (GetBucketCorArgs) ToGetBucketCorOutputWithContext added in v5.24.0

func (i GetBucketCorArgs) ToGetBucketCorOutputWithContext(ctx context.Context) GetBucketCorOutput

type GetBucketCorArray added in v5.24.0

type GetBucketCorArray []GetBucketCorInput

func (GetBucketCorArray) ElementType added in v5.24.0

func (GetBucketCorArray) ElementType() reflect.Type

func (GetBucketCorArray) ToGetBucketCorArrayOutput added in v5.24.0

func (i GetBucketCorArray) ToGetBucketCorArrayOutput() GetBucketCorArrayOutput

func (GetBucketCorArray) ToGetBucketCorArrayOutputWithContext added in v5.24.0

func (i GetBucketCorArray) ToGetBucketCorArrayOutputWithContext(ctx context.Context) GetBucketCorArrayOutput

type GetBucketCorArrayInput added in v5.24.0

type GetBucketCorArrayInput interface {
	pulumi.Input

	ToGetBucketCorArrayOutput() GetBucketCorArrayOutput
	ToGetBucketCorArrayOutputWithContext(context.Context) GetBucketCorArrayOutput
}

GetBucketCorArrayInput is an input type that accepts GetBucketCorArray and GetBucketCorArrayOutput values. You can construct a concrete instance of `GetBucketCorArrayInput` via:

GetBucketCorArray{ GetBucketCorArgs{...} }

type GetBucketCorArrayOutput added in v5.24.0

type GetBucketCorArrayOutput struct{ *pulumi.OutputState }

func (GetBucketCorArrayOutput) ElementType added in v5.24.0

func (GetBucketCorArrayOutput) ElementType() reflect.Type

func (GetBucketCorArrayOutput) Index added in v5.24.0

func (GetBucketCorArrayOutput) ToGetBucketCorArrayOutput added in v5.24.0

func (o GetBucketCorArrayOutput) ToGetBucketCorArrayOutput() GetBucketCorArrayOutput

func (GetBucketCorArrayOutput) ToGetBucketCorArrayOutputWithContext added in v5.24.0

func (o GetBucketCorArrayOutput) ToGetBucketCorArrayOutputWithContext(ctx context.Context) GetBucketCorArrayOutput

type GetBucketCorInput added in v5.24.0

type GetBucketCorInput interface {
	pulumi.Input

	ToGetBucketCorOutput() GetBucketCorOutput
	ToGetBucketCorOutputWithContext(context.Context) GetBucketCorOutput
}

GetBucketCorInput is an input type that accepts GetBucketCorArgs and GetBucketCorOutput values. You can construct a concrete instance of `GetBucketCorInput` via:

GetBucketCorArgs{...}

type GetBucketCorOutput added in v5.24.0

type GetBucketCorOutput struct{ *pulumi.OutputState }

func (GetBucketCorOutput) ElementType added in v5.24.0

func (GetBucketCorOutput) ElementType() reflect.Type

func (GetBucketCorOutput) MaxAgeSeconds added in v5.24.0

func (o GetBucketCorOutput) MaxAgeSeconds() pulumi.IntOutput

func (GetBucketCorOutput) Methods added in v5.24.0

func (GetBucketCorOutput) Origins added in v5.24.0

func (GetBucketCorOutput) ResponseHeaders added in v5.24.0

func (o GetBucketCorOutput) ResponseHeaders() pulumi.StringArrayOutput

func (GetBucketCorOutput) ToGetBucketCorOutput added in v5.24.0

func (o GetBucketCorOutput) ToGetBucketCorOutput() GetBucketCorOutput

func (GetBucketCorOutput) ToGetBucketCorOutputWithContext added in v5.24.0

func (o GetBucketCorOutput) ToGetBucketCorOutputWithContext(ctx context.Context) GetBucketCorOutput

type GetBucketEncryption added in v5.24.0

type GetBucketEncryption struct {
	DefaultKmsKeyName string `pulumi:"defaultKmsKeyName"`
}

type GetBucketEncryptionArgs added in v5.24.0

type GetBucketEncryptionArgs struct {
	DefaultKmsKeyName pulumi.StringInput `pulumi:"defaultKmsKeyName"`
}

func (GetBucketEncryptionArgs) ElementType added in v5.24.0

func (GetBucketEncryptionArgs) ElementType() reflect.Type

func (GetBucketEncryptionArgs) ToGetBucketEncryptionOutput added in v5.24.0

func (i GetBucketEncryptionArgs) ToGetBucketEncryptionOutput() GetBucketEncryptionOutput

func (GetBucketEncryptionArgs) ToGetBucketEncryptionOutputWithContext added in v5.24.0

func (i GetBucketEncryptionArgs) ToGetBucketEncryptionOutputWithContext(ctx context.Context) GetBucketEncryptionOutput

type GetBucketEncryptionArray added in v5.24.0

type GetBucketEncryptionArray []GetBucketEncryptionInput

func (GetBucketEncryptionArray) ElementType added in v5.24.0

func (GetBucketEncryptionArray) ElementType() reflect.Type

func (GetBucketEncryptionArray) ToGetBucketEncryptionArrayOutput added in v5.24.0

func (i GetBucketEncryptionArray) ToGetBucketEncryptionArrayOutput() GetBucketEncryptionArrayOutput

func (GetBucketEncryptionArray) ToGetBucketEncryptionArrayOutputWithContext added in v5.24.0

func (i GetBucketEncryptionArray) ToGetBucketEncryptionArrayOutputWithContext(ctx context.Context) GetBucketEncryptionArrayOutput

type GetBucketEncryptionArrayInput added in v5.24.0

type GetBucketEncryptionArrayInput interface {
	pulumi.Input

	ToGetBucketEncryptionArrayOutput() GetBucketEncryptionArrayOutput
	ToGetBucketEncryptionArrayOutputWithContext(context.Context) GetBucketEncryptionArrayOutput
}

GetBucketEncryptionArrayInput is an input type that accepts GetBucketEncryptionArray and GetBucketEncryptionArrayOutput values. You can construct a concrete instance of `GetBucketEncryptionArrayInput` via:

GetBucketEncryptionArray{ GetBucketEncryptionArgs{...} }

type GetBucketEncryptionArrayOutput added in v5.24.0

type GetBucketEncryptionArrayOutput struct{ *pulumi.OutputState }

func (GetBucketEncryptionArrayOutput) ElementType added in v5.24.0

func (GetBucketEncryptionArrayOutput) Index added in v5.24.0

func (GetBucketEncryptionArrayOutput) ToGetBucketEncryptionArrayOutput added in v5.24.0

func (o GetBucketEncryptionArrayOutput) ToGetBucketEncryptionArrayOutput() GetBucketEncryptionArrayOutput

func (GetBucketEncryptionArrayOutput) ToGetBucketEncryptionArrayOutputWithContext added in v5.24.0

func (o GetBucketEncryptionArrayOutput) ToGetBucketEncryptionArrayOutputWithContext(ctx context.Context) GetBucketEncryptionArrayOutput

type GetBucketEncryptionInput added in v5.24.0

type GetBucketEncryptionInput interface {
	pulumi.Input

	ToGetBucketEncryptionOutput() GetBucketEncryptionOutput
	ToGetBucketEncryptionOutputWithContext(context.Context) GetBucketEncryptionOutput
}

GetBucketEncryptionInput is an input type that accepts GetBucketEncryptionArgs and GetBucketEncryptionOutput values. You can construct a concrete instance of `GetBucketEncryptionInput` via:

GetBucketEncryptionArgs{...}

type GetBucketEncryptionOutput added in v5.24.0

type GetBucketEncryptionOutput struct{ *pulumi.OutputState }

func (GetBucketEncryptionOutput) DefaultKmsKeyName added in v5.24.0

func (o GetBucketEncryptionOutput) DefaultKmsKeyName() pulumi.StringOutput

func (GetBucketEncryptionOutput) ElementType added in v5.24.0

func (GetBucketEncryptionOutput) ElementType() reflect.Type

func (GetBucketEncryptionOutput) ToGetBucketEncryptionOutput added in v5.24.0

func (o GetBucketEncryptionOutput) ToGetBucketEncryptionOutput() GetBucketEncryptionOutput

func (GetBucketEncryptionOutput) ToGetBucketEncryptionOutputWithContext added in v5.24.0

func (o GetBucketEncryptionOutput) ToGetBucketEncryptionOutputWithContext(ctx context.Context) GetBucketEncryptionOutput

type GetBucketLifecycleRule added in v5.24.0

type GetBucketLifecycleRule struct {
	Actions    []GetBucketLifecycleRuleAction    `pulumi:"actions"`
	Conditions []GetBucketLifecycleRuleCondition `pulumi:"conditions"`
}

type GetBucketLifecycleRuleAction added in v5.24.0

type GetBucketLifecycleRuleAction struct {
	StorageClass string `pulumi:"storageClass"`
	Type         string `pulumi:"type"`
}

type GetBucketLifecycleRuleActionArgs added in v5.24.0

type GetBucketLifecycleRuleActionArgs struct {
	StorageClass pulumi.StringInput `pulumi:"storageClass"`
	Type         pulumi.StringInput `pulumi:"type"`
}

func (GetBucketLifecycleRuleActionArgs) ElementType added in v5.24.0

func (GetBucketLifecycleRuleActionArgs) ToGetBucketLifecycleRuleActionOutput added in v5.24.0

func (i GetBucketLifecycleRuleActionArgs) ToGetBucketLifecycleRuleActionOutput() GetBucketLifecycleRuleActionOutput

func (GetBucketLifecycleRuleActionArgs) ToGetBucketLifecycleRuleActionOutputWithContext added in v5.24.0

func (i GetBucketLifecycleRuleActionArgs) ToGetBucketLifecycleRuleActionOutputWithContext(ctx context.Context) GetBucketLifecycleRuleActionOutput

type GetBucketLifecycleRuleActionArray added in v5.24.0

type GetBucketLifecycleRuleActionArray []GetBucketLifecycleRuleActionInput

func (GetBucketLifecycleRuleActionArray) ElementType added in v5.24.0

func (GetBucketLifecycleRuleActionArray) ToGetBucketLifecycleRuleActionArrayOutput added in v5.24.0

func (i GetBucketLifecycleRuleActionArray) ToGetBucketLifecycleRuleActionArrayOutput() GetBucketLifecycleRuleActionArrayOutput

func (GetBucketLifecycleRuleActionArray) ToGetBucketLifecycleRuleActionArrayOutputWithContext added in v5.24.0

func (i GetBucketLifecycleRuleActionArray) ToGetBucketLifecycleRuleActionArrayOutputWithContext(ctx context.Context) GetBucketLifecycleRuleActionArrayOutput

type GetBucketLifecycleRuleActionArrayInput added in v5.24.0

type GetBucketLifecycleRuleActionArrayInput interface {
	pulumi.Input

	ToGetBucketLifecycleRuleActionArrayOutput() GetBucketLifecycleRuleActionArrayOutput
	ToGetBucketLifecycleRuleActionArrayOutputWithContext(context.Context) GetBucketLifecycleRuleActionArrayOutput
}

GetBucketLifecycleRuleActionArrayInput is an input type that accepts GetBucketLifecycleRuleActionArray and GetBucketLifecycleRuleActionArrayOutput values. You can construct a concrete instance of `GetBucketLifecycleRuleActionArrayInput` via:

GetBucketLifecycleRuleActionArray{ GetBucketLifecycleRuleActionArgs{...} }

type GetBucketLifecycleRuleActionArrayOutput added in v5.24.0

type GetBucketLifecycleRuleActionArrayOutput struct{ *pulumi.OutputState }

func (GetBucketLifecycleRuleActionArrayOutput) ElementType added in v5.24.0

func (GetBucketLifecycleRuleActionArrayOutput) Index added in v5.24.0

func (GetBucketLifecycleRuleActionArrayOutput) ToGetBucketLifecycleRuleActionArrayOutput added in v5.24.0

func (o GetBucketLifecycleRuleActionArrayOutput) ToGetBucketLifecycleRuleActionArrayOutput() GetBucketLifecycleRuleActionArrayOutput

func (GetBucketLifecycleRuleActionArrayOutput) ToGetBucketLifecycleRuleActionArrayOutputWithContext added in v5.24.0

func (o GetBucketLifecycleRuleActionArrayOutput) ToGetBucketLifecycleRuleActionArrayOutputWithContext(ctx context.Context) GetBucketLifecycleRuleActionArrayOutput

type GetBucketLifecycleRuleActionInput added in v5.24.0

type GetBucketLifecycleRuleActionInput interface {
	pulumi.Input

	ToGetBucketLifecycleRuleActionOutput() GetBucketLifecycleRuleActionOutput
	ToGetBucketLifecycleRuleActionOutputWithContext(context.Context) GetBucketLifecycleRuleActionOutput
}

GetBucketLifecycleRuleActionInput is an input type that accepts GetBucketLifecycleRuleActionArgs and GetBucketLifecycleRuleActionOutput values. You can construct a concrete instance of `GetBucketLifecycleRuleActionInput` via:

GetBucketLifecycleRuleActionArgs{...}

type GetBucketLifecycleRuleActionOutput added in v5.24.0

type GetBucketLifecycleRuleActionOutput struct{ *pulumi.OutputState }

func (GetBucketLifecycleRuleActionOutput) ElementType added in v5.24.0

func (GetBucketLifecycleRuleActionOutput) StorageClass added in v5.24.0

func (GetBucketLifecycleRuleActionOutput) ToGetBucketLifecycleRuleActionOutput added in v5.24.0

func (o GetBucketLifecycleRuleActionOutput) ToGetBucketLifecycleRuleActionOutput() GetBucketLifecycleRuleActionOutput

func (GetBucketLifecycleRuleActionOutput) ToGetBucketLifecycleRuleActionOutputWithContext added in v5.24.0

func (o GetBucketLifecycleRuleActionOutput) ToGetBucketLifecycleRuleActionOutputWithContext(ctx context.Context) GetBucketLifecycleRuleActionOutput

func (GetBucketLifecycleRuleActionOutput) Type added in v5.24.0

type GetBucketLifecycleRuleArgs added in v5.24.0

type GetBucketLifecycleRuleArgs struct {
	Actions    GetBucketLifecycleRuleActionArrayInput    `pulumi:"actions"`
	Conditions GetBucketLifecycleRuleConditionArrayInput `pulumi:"conditions"`
}

func (GetBucketLifecycleRuleArgs) ElementType added in v5.24.0

func (GetBucketLifecycleRuleArgs) ElementType() reflect.Type

func (GetBucketLifecycleRuleArgs) ToGetBucketLifecycleRuleOutput added in v5.24.0

func (i GetBucketLifecycleRuleArgs) ToGetBucketLifecycleRuleOutput() GetBucketLifecycleRuleOutput

func (GetBucketLifecycleRuleArgs) ToGetBucketLifecycleRuleOutputWithContext added in v5.24.0

func (i GetBucketLifecycleRuleArgs) ToGetBucketLifecycleRuleOutputWithContext(ctx context.Context) GetBucketLifecycleRuleOutput

type GetBucketLifecycleRuleArray added in v5.24.0

type GetBucketLifecycleRuleArray []GetBucketLifecycleRuleInput

func (GetBucketLifecycleRuleArray) ElementType added in v5.24.0

func (GetBucketLifecycleRuleArray) ToGetBucketLifecycleRuleArrayOutput added in v5.24.0

func (i GetBucketLifecycleRuleArray) ToGetBucketLifecycleRuleArrayOutput() GetBucketLifecycleRuleArrayOutput

func (GetBucketLifecycleRuleArray) ToGetBucketLifecycleRuleArrayOutputWithContext added in v5.24.0

func (i GetBucketLifecycleRuleArray) ToGetBucketLifecycleRuleArrayOutputWithContext(ctx context.Context) GetBucketLifecycleRuleArrayOutput

type GetBucketLifecycleRuleArrayInput added in v5.24.0

type GetBucketLifecycleRuleArrayInput interface {
	pulumi.Input

	ToGetBucketLifecycleRuleArrayOutput() GetBucketLifecycleRuleArrayOutput
	ToGetBucketLifecycleRuleArrayOutputWithContext(context.Context) GetBucketLifecycleRuleArrayOutput
}

GetBucketLifecycleRuleArrayInput is an input type that accepts GetBucketLifecycleRuleArray and GetBucketLifecycleRuleArrayOutput values. You can construct a concrete instance of `GetBucketLifecycleRuleArrayInput` via:

GetBucketLifecycleRuleArray{ GetBucketLifecycleRuleArgs{...} }

type GetBucketLifecycleRuleArrayOutput added in v5.24.0

type GetBucketLifecycleRuleArrayOutput struct{ *pulumi.OutputState }

func (GetBucketLifecycleRuleArrayOutput) ElementType added in v5.24.0

func (GetBucketLifecycleRuleArrayOutput) Index added in v5.24.0

func (GetBucketLifecycleRuleArrayOutput) ToGetBucketLifecycleRuleArrayOutput added in v5.24.0

func (o GetBucketLifecycleRuleArrayOutput) ToGetBucketLifecycleRuleArrayOutput() GetBucketLifecycleRuleArrayOutput

func (GetBucketLifecycleRuleArrayOutput) ToGetBucketLifecycleRuleArrayOutputWithContext added in v5.24.0

func (o GetBucketLifecycleRuleArrayOutput) ToGetBucketLifecycleRuleArrayOutputWithContext(ctx context.Context) GetBucketLifecycleRuleArrayOutput

type GetBucketLifecycleRuleCondition added in v5.24.0

type GetBucketLifecycleRuleCondition struct {
	Age                     int      `pulumi:"age"`
	CreatedBefore           string   `pulumi:"createdBefore"`
	CustomTimeBefore        string   `pulumi:"customTimeBefore"`
	DaysSinceCustomTime     int      `pulumi:"daysSinceCustomTime"`
	DaysSinceNoncurrentTime int      `pulumi:"daysSinceNoncurrentTime"`
	MatchesStorageClasses   []string `pulumi:"matchesStorageClasses"`
	NoncurrentTimeBefore    string   `pulumi:"noncurrentTimeBefore"`
	NumNewerVersions        int      `pulumi:"numNewerVersions"`
	WithState               string   `pulumi:"withState"`
}

type GetBucketLifecycleRuleConditionArgs added in v5.24.0

type GetBucketLifecycleRuleConditionArgs struct {
	Age                     pulumi.IntInput         `pulumi:"age"`
	CreatedBefore           pulumi.StringInput      `pulumi:"createdBefore"`
	CustomTimeBefore        pulumi.StringInput      `pulumi:"customTimeBefore"`
	DaysSinceCustomTime     pulumi.IntInput         `pulumi:"daysSinceCustomTime"`
	DaysSinceNoncurrentTime pulumi.IntInput         `pulumi:"daysSinceNoncurrentTime"`
	MatchesStorageClasses   pulumi.StringArrayInput `pulumi:"matchesStorageClasses"`
	NoncurrentTimeBefore    pulumi.StringInput      `pulumi:"noncurrentTimeBefore"`
	NumNewerVersions        pulumi.IntInput         `pulumi:"numNewerVersions"`
	WithState               pulumi.StringInput      `pulumi:"withState"`
}

func (GetBucketLifecycleRuleConditionArgs) ElementType added in v5.24.0

func (GetBucketLifecycleRuleConditionArgs) ToGetBucketLifecycleRuleConditionOutput added in v5.24.0

func (i GetBucketLifecycleRuleConditionArgs) ToGetBucketLifecycleRuleConditionOutput() GetBucketLifecycleRuleConditionOutput

func (GetBucketLifecycleRuleConditionArgs) ToGetBucketLifecycleRuleConditionOutputWithContext added in v5.24.0

func (i GetBucketLifecycleRuleConditionArgs) ToGetBucketLifecycleRuleConditionOutputWithContext(ctx context.Context) GetBucketLifecycleRuleConditionOutput

type GetBucketLifecycleRuleConditionArray added in v5.24.0

type GetBucketLifecycleRuleConditionArray []GetBucketLifecycleRuleConditionInput

func (GetBucketLifecycleRuleConditionArray) ElementType added in v5.24.0

func (GetBucketLifecycleRuleConditionArray) ToGetBucketLifecycleRuleConditionArrayOutput added in v5.24.0

func (i GetBucketLifecycleRuleConditionArray) ToGetBucketLifecycleRuleConditionArrayOutput() GetBucketLifecycleRuleConditionArrayOutput

func (GetBucketLifecycleRuleConditionArray) ToGetBucketLifecycleRuleConditionArrayOutputWithContext added in v5.24.0

func (i GetBucketLifecycleRuleConditionArray) ToGetBucketLifecycleRuleConditionArrayOutputWithContext(ctx context.Context) GetBucketLifecycleRuleConditionArrayOutput

type GetBucketLifecycleRuleConditionArrayInput added in v5.24.0

type GetBucketLifecycleRuleConditionArrayInput interface {
	pulumi.Input

	ToGetBucketLifecycleRuleConditionArrayOutput() GetBucketLifecycleRuleConditionArrayOutput
	ToGetBucketLifecycleRuleConditionArrayOutputWithContext(context.Context) GetBucketLifecycleRuleConditionArrayOutput
}

GetBucketLifecycleRuleConditionArrayInput is an input type that accepts GetBucketLifecycleRuleConditionArray and GetBucketLifecycleRuleConditionArrayOutput values. You can construct a concrete instance of `GetBucketLifecycleRuleConditionArrayInput` via:

GetBucketLifecycleRuleConditionArray{ GetBucketLifecycleRuleConditionArgs{...} }

type GetBucketLifecycleRuleConditionArrayOutput added in v5.24.0

type GetBucketLifecycleRuleConditionArrayOutput struct{ *pulumi.OutputState }

func (GetBucketLifecycleRuleConditionArrayOutput) ElementType added in v5.24.0

func (GetBucketLifecycleRuleConditionArrayOutput) Index added in v5.24.0

func (GetBucketLifecycleRuleConditionArrayOutput) ToGetBucketLifecycleRuleConditionArrayOutput added in v5.24.0

func (o GetBucketLifecycleRuleConditionArrayOutput) ToGetBucketLifecycleRuleConditionArrayOutput() GetBucketLifecycleRuleConditionArrayOutput

func (GetBucketLifecycleRuleConditionArrayOutput) ToGetBucketLifecycleRuleConditionArrayOutputWithContext added in v5.24.0

func (o GetBucketLifecycleRuleConditionArrayOutput) ToGetBucketLifecycleRuleConditionArrayOutputWithContext(ctx context.Context) GetBucketLifecycleRuleConditionArrayOutput

type GetBucketLifecycleRuleConditionInput added in v5.24.0

type GetBucketLifecycleRuleConditionInput interface {
	pulumi.Input

	ToGetBucketLifecycleRuleConditionOutput() GetBucketLifecycleRuleConditionOutput
	ToGetBucketLifecycleRuleConditionOutputWithContext(context.Context) GetBucketLifecycleRuleConditionOutput
}

GetBucketLifecycleRuleConditionInput is an input type that accepts GetBucketLifecycleRuleConditionArgs and GetBucketLifecycleRuleConditionOutput values. You can construct a concrete instance of `GetBucketLifecycleRuleConditionInput` via:

GetBucketLifecycleRuleConditionArgs{...}

type GetBucketLifecycleRuleConditionOutput added in v5.24.0

type GetBucketLifecycleRuleConditionOutput struct{ *pulumi.OutputState }

func (GetBucketLifecycleRuleConditionOutput) Age added in v5.24.0

func (GetBucketLifecycleRuleConditionOutput) CreatedBefore added in v5.24.0

func (GetBucketLifecycleRuleConditionOutput) CustomTimeBefore added in v5.24.0

func (GetBucketLifecycleRuleConditionOutput) DaysSinceCustomTime added in v5.24.0

func (o GetBucketLifecycleRuleConditionOutput) DaysSinceCustomTime() pulumi.IntOutput

func (GetBucketLifecycleRuleConditionOutput) DaysSinceNoncurrentTime added in v5.24.0

func (o GetBucketLifecycleRuleConditionOutput) DaysSinceNoncurrentTime() pulumi.IntOutput

func (GetBucketLifecycleRuleConditionOutput) ElementType added in v5.24.0

func (GetBucketLifecycleRuleConditionOutput) MatchesStorageClasses added in v5.24.0

func (GetBucketLifecycleRuleConditionOutput) NoncurrentTimeBefore added in v5.24.0

func (GetBucketLifecycleRuleConditionOutput) NumNewerVersions added in v5.24.0

func (GetBucketLifecycleRuleConditionOutput) ToGetBucketLifecycleRuleConditionOutput added in v5.24.0

func (o GetBucketLifecycleRuleConditionOutput) ToGetBucketLifecycleRuleConditionOutput() GetBucketLifecycleRuleConditionOutput

func (GetBucketLifecycleRuleConditionOutput) ToGetBucketLifecycleRuleConditionOutputWithContext added in v5.24.0

func (o GetBucketLifecycleRuleConditionOutput) ToGetBucketLifecycleRuleConditionOutputWithContext(ctx context.Context) GetBucketLifecycleRuleConditionOutput

func (GetBucketLifecycleRuleConditionOutput) WithState added in v5.24.0

type GetBucketLifecycleRuleInput added in v5.24.0

type GetBucketLifecycleRuleInput interface {
	pulumi.Input

	ToGetBucketLifecycleRuleOutput() GetBucketLifecycleRuleOutput
	ToGetBucketLifecycleRuleOutputWithContext(context.Context) GetBucketLifecycleRuleOutput
}

GetBucketLifecycleRuleInput is an input type that accepts GetBucketLifecycleRuleArgs and GetBucketLifecycleRuleOutput values. You can construct a concrete instance of `GetBucketLifecycleRuleInput` via:

GetBucketLifecycleRuleArgs{...}

type GetBucketLifecycleRuleOutput added in v5.24.0

type GetBucketLifecycleRuleOutput struct{ *pulumi.OutputState }

func (GetBucketLifecycleRuleOutput) Actions added in v5.24.0

func (GetBucketLifecycleRuleOutput) Conditions added in v5.24.0

func (GetBucketLifecycleRuleOutput) ElementType added in v5.24.0

func (GetBucketLifecycleRuleOutput) ToGetBucketLifecycleRuleOutput added in v5.24.0

func (o GetBucketLifecycleRuleOutput) ToGetBucketLifecycleRuleOutput() GetBucketLifecycleRuleOutput

func (GetBucketLifecycleRuleOutput) ToGetBucketLifecycleRuleOutputWithContext added in v5.24.0

func (o GetBucketLifecycleRuleOutput) ToGetBucketLifecycleRuleOutputWithContext(ctx context.Context) GetBucketLifecycleRuleOutput

type GetBucketLogging added in v5.24.0

type GetBucketLogging struct {
	LogBucket       string `pulumi:"logBucket"`
	LogObjectPrefix string `pulumi:"logObjectPrefix"`
}

type GetBucketLoggingArgs added in v5.24.0

type GetBucketLoggingArgs struct {
	LogBucket       pulumi.StringInput `pulumi:"logBucket"`
	LogObjectPrefix pulumi.StringInput `pulumi:"logObjectPrefix"`
}

func (GetBucketLoggingArgs) ElementType added in v5.24.0

func (GetBucketLoggingArgs) ElementType() reflect.Type

func (GetBucketLoggingArgs) ToGetBucketLoggingOutput added in v5.24.0

func (i GetBucketLoggingArgs) ToGetBucketLoggingOutput() GetBucketLoggingOutput

func (GetBucketLoggingArgs) ToGetBucketLoggingOutputWithContext added in v5.24.0

func (i GetBucketLoggingArgs) ToGetBucketLoggingOutputWithContext(ctx context.Context) GetBucketLoggingOutput

type GetBucketLoggingArray added in v5.24.0

type GetBucketLoggingArray []GetBucketLoggingInput

func (GetBucketLoggingArray) ElementType added in v5.24.0

func (GetBucketLoggingArray) ElementType() reflect.Type

func (GetBucketLoggingArray) ToGetBucketLoggingArrayOutput added in v5.24.0

func (i GetBucketLoggingArray) ToGetBucketLoggingArrayOutput() GetBucketLoggingArrayOutput

func (GetBucketLoggingArray) ToGetBucketLoggingArrayOutputWithContext added in v5.24.0

func (i GetBucketLoggingArray) ToGetBucketLoggingArrayOutputWithContext(ctx context.Context) GetBucketLoggingArrayOutput

type GetBucketLoggingArrayInput added in v5.24.0

type GetBucketLoggingArrayInput interface {
	pulumi.Input

	ToGetBucketLoggingArrayOutput() GetBucketLoggingArrayOutput
	ToGetBucketLoggingArrayOutputWithContext(context.Context) GetBucketLoggingArrayOutput
}

GetBucketLoggingArrayInput is an input type that accepts GetBucketLoggingArray and GetBucketLoggingArrayOutput values. You can construct a concrete instance of `GetBucketLoggingArrayInput` via:

GetBucketLoggingArray{ GetBucketLoggingArgs{...} }

type GetBucketLoggingArrayOutput added in v5.24.0

type GetBucketLoggingArrayOutput struct{ *pulumi.OutputState }

func (GetBucketLoggingArrayOutput) ElementType added in v5.24.0

func (GetBucketLoggingArrayOutput) Index added in v5.24.0

func (GetBucketLoggingArrayOutput) ToGetBucketLoggingArrayOutput added in v5.24.0

func (o GetBucketLoggingArrayOutput) ToGetBucketLoggingArrayOutput() GetBucketLoggingArrayOutput

func (GetBucketLoggingArrayOutput) ToGetBucketLoggingArrayOutputWithContext added in v5.24.0

func (o GetBucketLoggingArrayOutput) ToGetBucketLoggingArrayOutputWithContext(ctx context.Context) GetBucketLoggingArrayOutput

type GetBucketLoggingInput added in v5.24.0

type GetBucketLoggingInput interface {
	pulumi.Input

	ToGetBucketLoggingOutput() GetBucketLoggingOutput
	ToGetBucketLoggingOutputWithContext(context.Context) GetBucketLoggingOutput
}

GetBucketLoggingInput is an input type that accepts GetBucketLoggingArgs and GetBucketLoggingOutput values. You can construct a concrete instance of `GetBucketLoggingInput` via:

GetBucketLoggingArgs{...}

type GetBucketLoggingOutput added in v5.24.0

type GetBucketLoggingOutput struct{ *pulumi.OutputState }

func (GetBucketLoggingOutput) ElementType added in v5.24.0

func (GetBucketLoggingOutput) ElementType() reflect.Type

func (GetBucketLoggingOutput) LogBucket added in v5.24.0

func (GetBucketLoggingOutput) LogObjectPrefix added in v5.24.0

func (o GetBucketLoggingOutput) LogObjectPrefix() pulumi.StringOutput

func (GetBucketLoggingOutput) ToGetBucketLoggingOutput added in v5.24.0

func (o GetBucketLoggingOutput) ToGetBucketLoggingOutput() GetBucketLoggingOutput

func (GetBucketLoggingOutput) ToGetBucketLoggingOutputWithContext added in v5.24.0

func (o GetBucketLoggingOutput) ToGetBucketLoggingOutputWithContext(ctx context.Context) GetBucketLoggingOutput

type GetBucketObjectContentArgs

type GetBucketObjectContentArgs struct {
	// The name of the containing bucket.
	Bucket string `pulumi:"bucket"`
	// (Computed) [Content-Language](https://tools.ietf.org/html/rfc7231#section-3.1.3.2) of the object content.
	Content *string `pulumi:"content"`
	// The name of the object.
	Name string `pulumi:"name"`
}

A collection of arguments for invoking getBucketObjectContent.

type GetBucketObjectContentCustomerEncryption added in v5.15.0

type GetBucketObjectContentCustomerEncryption struct {
	EncryptionAlgorithm string `pulumi:"encryptionAlgorithm"`
	EncryptionKey       string `pulumi:"encryptionKey"`
}

type GetBucketObjectContentCustomerEncryptionArgs added in v5.15.0

type GetBucketObjectContentCustomerEncryptionArgs struct {
	EncryptionAlgorithm pulumi.StringInput `pulumi:"encryptionAlgorithm"`
	EncryptionKey       pulumi.StringInput `pulumi:"encryptionKey"`
}

func (GetBucketObjectContentCustomerEncryptionArgs) ElementType added in v5.15.0

func (GetBucketObjectContentCustomerEncryptionArgs) ToGetBucketObjectContentCustomerEncryptionOutput added in v5.15.0

func (i GetBucketObjectContentCustomerEncryptionArgs) ToGetBucketObjectContentCustomerEncryptionOutput() GetBucketObjectContentCustomerEncryptionOutput

func (GetBucketObjectContentCustomerEncryptionArgs) ToGetBucketObjectContentCustomerEncryptionOutputWithContext added in v5.15.0

func (i GetBucketObjectContentCustomerEncryptionArgs) ToGetBucketObjectContentCustomerEncryptionOutputWithContext(ctx context.Context) GetBucketObjectContentCustomerEncryptionOutput

type GetBucketObjectContentCustomerEncryptionArray added in v5.15.0

type GetBucketObjectContentCustomerEncryptionArray []GetBucketObjectContentCustomerEncryptionInput

func (GetBucketObjectContentCustomerEncryptionArray) ElementType added in v5.15.0

func (GetBucketObjectContentCustomerEncryptionArray) ToGetBucketObjectContentCustomerEncryptionArrayOutput added in v5.15.0

func (i GetBucketObjectContentCustomerEncryptionArray) ToGetBucketObjectContentCustomerEncryptionArrayOutput() GetBucketObjectContentCustomerEncryptionArrayOutput

func (GetBucketObjectContentCustomerEncryptionArray) ToGetBucketObjectContentCustomerEncryptionArrayOutputWithContext added in v5.15.0

func (i GetBucketObjectContentCustomerEncryptionArray) ToGetBucketObjectContentCustomerEncryptionArrayOutputWithContext(ctx context.Context) GetBucketObjectContentCustomerEncryptionArrayOutput

type GetBucketObjectContentCustomerEncryptionArrayInput added in v5.15.0

type GetBucketObjectContentCustomerEncryptionArrayInput interface {
	pulumi.Input

	ToGetBucketObjectContentCustomerEncryptionArrayOutput() GetBucketObjectContentCustomerEncryptionArrayOutput
	ToGetBucketObjectContentCustomerEncryptionArrayOutputWithContext(context.Context) GetBucketObjectContentCustomerEncryptionArrayOutput
}

GetBucketObjectContentCustomerEncryptionArrayInput is an input type that accepts GetBucketObjectContentCustomerEncryptionArray and GetBucketObjectContentCustomerEncryptionArrayOutput values. You can construct a concrete instance of `GetBucketObjectContentCustomerEncryptionArrayInput` via:

GetBucketObjectContentCustomerEncryptionArray{ GetBucketObjectContentCustomerEncryptionArgs{...} }

type GetBucketObjectContentCustomerEncryptionArrayOutput added in v5.15.0

type GetBucketObjectContentCustomerEncryptionArrayOutput struct{ *pulumi.OutputState }

func (GetBucketObjectContentCustomerEncryptionArrayOutput) ElementType added in v5.15.0

func (GetBucketObjectContentCustomerEncryptionArrayOutput) Index added in v5.15.0

func (GetBucketObjectContentCustomerEncryptionArrayOutput) ToGetBucketObjectContentCustomerEncryptionArrayOutput added in v5.15.0

func (o GetBucketObjectContentCustomerEncryptionArrayOutput) ToGetBucketObjectContentCustomerEncryptionArrayOutput() GetBucketObjectContentCustomerEncryptionArrayOutput

func (GetBucketObjectContentCustomerEncryptionArrayOutput) ToGetBucketObjectContentCustomerEncryptionArrayOutputWithContext added in v5.15.0

func (o GetBucketObjectContentCustomerEncryptionArrayOutput) ToGetBucketObjectContentCustomerEncryptionArrayOutputWithContext(ctx context.Context) GetBucketObjectContentCustomerEncryptionArrayOutput

type GetBucketObjectContentCustomerEncryptionInput added in v5.15.0

type GetBucketObjectContentCustomerEncryptionInput interface {
	pulumi.Input

	ToGetBucketObjectContentCustomerEncryptionOutput() GetBucketObjectContentCustomerEncryptionOutput
	ToGetBucketObjectContentCustomerEncryptionOutputWithContext(context.Context) GetBucketObjectContentCustomerEncryptionOutput
}

GetBucketObjectContentCustomerEncryptionInput is an input type that accepts GetBucketObjectContentCustomerEncryptionArgs and GetBucketObjectContentCustomerEncryptionOutput values. You can construct a concrete instance of `GetBucketObjectContentCustomerEncryptionInput` via:

GetBucketObjectContentCustomerEncryptionArgs{...}

type GetBucketObjectContentCustomerEncryptionOutput added in v5.15.0

type GetBucketObjectContentCustomerEncryptionOutput struct{ *pulumi.OutputState }

func (GetBucketObjectContentCustomerEncryptionOutput) ElementType added in v5.15.0

func (GetBucketObjectContentCustomerEncryptionOutput) EncryptionAlgorithm added in v5.15.0

func (GetBucketObjectContentCustomerEncryptionOutput) EncryptionKey added in v5.15.0

func (GetBucketObjectContentCustomerEncryptionOutput) ToGetBucketObjectContentCustomerEncryptionOutput added in v5.15.0

func (o GetBucketObjectContentCustomerEncryptionOutput) ToGetBucketObjectContentCustomerEncryptionOutput() GetBucketObjectContentCustomerEncryptionOutput

func (GetBucketObjectContentCustomerEncryptionOutput) ToGetBucketObjectContentCustomerEncryptionOutputWithContext added in v5.15.0

func (o GetBucketObjectContentCustomerEncryptionOutput) ToGetBucketObjectContentCustomerEncryptionOutputWithContext(ctx context.Context) GetBucketObjectContentCustomerEncryptionOutput

type GetBucketObjectContentOutputArgs added in v5.21.0

type GetBucketObjectContentOutputArgs struct {
	// The name of the containing bucket.
	Bucket pulumi.StringInput `pulumi:"bucket"`
	// (Computed) [Content-Language](https://tools.ietf.org/html/rfc7231#section-3.1.3.2) of the object content.
	Content pulumi.StringPtrInput `pulumi:"content"`
	// The name of the object.
	Name pulumi.StringInput `pulumi:"name"`
}

A collection of arguments for invoking getBucketObjectContent.

func (GetBucketObjectContentOutputArgs) ElementType added in v5.21.0

type GetBucketObjectContentResult

type GetBucketObjectContentResult struct {
	Bucket       string `pulumi:"bucket"`
	CacheControl string `pulumi:"cacheControl"`
	// (Computed) [Content-Language](https://tools.ietf.org/html/rfc7231#section-3.1.3.2) of the object content.
	Content             *string                                    `pulumi:"content"`
	ContentDisposition  string                                     `pulumi:"contentDisposition"`
	ContentEncoding     string                                     `pulumi:"contentEncoding"`
	ContentLanguage     string                                     `pulumi:"contentLanguage"`
	ContentType         string                                     `pulumi:"contentType"`
	Crc32c              string                                     `pulumi:"crc32c"`
	CustomerEncryptions []GetBucketObjectContentCustomerEncryption `pulumi:"customerEncryptions"`
	DetectMd5hash       string                                     `pulumi:"detectMd5hash"`
	EventBasedHold      bool                                       `pulumi:"eventBasedHold"`
	// The provider-assigned unique ID for this managed resource.
	Id            string            `pulumi:"id"`
	KmsKeyName    string            `pulumi:"kmsKeyName"`
	Md5hash       string            `pulumi:"md5hash"`
	MediaLink     string            `pulumi:"mediaLink"`
	Metadata      map[string]string `pulumi:"metadata"`
	Name          string            `pulumi:"name"`
	OutputName    string            `pulumi:"outputName"`
	SelfLink      string            `pulumi:"selfLink"`
	Source        string            `pulumi:"source"`
	StorageClass  string            `pulumi:"storageClass"`
	TemporaryHold bool              `pulumi:"temporaryHold"`
}

A collection of values returned by getBucketObjectContent.

func GetBucketObjectContent

func GetBucketObjectContent(ctx *pulumi.Context, args *GetBucketObjectContentArgs, opts ...pulumi.InvokeOption) (*GetBucketObjectContentResult, error)

Gets an existing object content inside an existing bucket in Google Cloud Storage service (GCS). See [the official documentation](https://cloud.google.com/storage/docs/key-terms#objects) and [API](https://cloud.google.com/storage/docs/json_api/v1/objects).

> **Warning:** The object content will be saved in the state, and visiable to everyone who has access to the state file.

## Example Usage

Example file object stored within a folder.

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/storage"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		key, err := storage.GetBucketObjectContent(ctx, &storage.GetBucketObjectContentArgs{
			Name:   "encryptedkey",
			Bucket: "keystore",
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("encrypted", key.Content)
		return nil
	})
}

```

type GetBucketObjectContentResultOutput added in v5.21.0

type GetBucketObjectContentResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getBucketObjectContent.

func GetBucketObjectContentOutput added in v5.21.0

func (GetBucketObjectContentResultOutput) Bucket added in v5.21.0

func (GetBucketObjectContentResultOutput) CacheControl added in v5.21.0

func (GetBucketObjectContentResultOutput) Content added in v5.21.0

(Computed) [Content-Language](https://tools.ietf.org/html/rfc7231#section-3.1.3.2) of the object content.

func (GetBucketObjectContentResultOutput) ContentDisposition added in v5.21.0

func (GetBucketObjectContentResultOutput) ContentEncoding added in v5.21.0

func (GetBucketObjectContentResultOutput) ContentLanguage added in v5.21.0

func (GetBucketObjectContentResultOutput) ContentType added in v5.21.0

func (GetBucketObjectContentResultOutput) Crc32c added in v5.21.0

func (GetBucketObjectContentResultOutput) CustomerEncryptions added in v5.21.0

func (GetBucketObjectContentResultOutput) DetectMd5hash added in v5.21.0

func (GetBucketObjectContentResultOutput) ElementType added in v5.21.0

func (GetBucketObjectContentResultOutput) EventBasedHold added in v5.21.0

func (GetBucketObjectContentResultOutput) Id added in v5.21.0

The provider-assigned unique ID for this managed resource.

func (GetBucketObjectContentResultOutput) KmsKeyName added in v5.21.0

func (GetBucketObjectContentResultOutput) Md5hash added in v5.21.0

func (GetBucketObjectContentResultOutput) Metadata added in v5.21.0

func (GetBucketObjectContentResultOutput) Name added in v5.21.0

func (GetBucketObjectContentResultOutput) OutputName added in v5.21.0

func (GetBucketObjectContentResultOutput) Source added in v5.21.0

func (GetBucketObjectContentResultOutput) StorageClass added in v5.21.0

func (GetBucketObjectContentResultOutput) TemporaryHold added in v5.21.0

func (GetBucketObjectContentResultOutput) ToGetBucketObjectContentResultOutput added in v5.21.0

func (o GetBucketObjectContentResultOutput) ToGetBucketObjectContentResultOutput() GetBucketObjectContentResultOutput

func (GetBucketObjectContentResultOutput) ToGetBucketObjectContentResultOutputWithContext added in v5.21.0

func (o GetBucketObjectContentResultOutput) ToGetBucketObjectContentResultOutputWithContext(ctx context.Context) GetBucketObjectContentResultOutput

type GetBucketObjectCustomerEncryption added in v5.15.0

type GetBucketObjectCustomerEncryption struct {
	EncryptionAlgorithm string `pulumi:"encryptionAlgorithm"`
	EncryptionKey       string `pulumi:"encryptionKey"`
}

type GetBucketObjectCustomerEncryptionArgs added in v5.15.0

type GetBucketObjectCustomerEncryptionArgs struct {
	EncryptionAlgorithm pulumi.StringInput `pulumi:"encryptionAlgorithm"`
	EncryptionKey       pulumi.StringInput `pulumi:"encryptionKey"`
}

func (GetBucketObjectCustomerEncryptionArgs) ElementType added in v5.15.0

func (GetBucketObjectCustomerEncryptionArgs) ToGetBucketObjectCustomerEncryptionOutput added in v5.15.0

func (i GetBucketObjectCustomerEncryptionArgs) ToGetBucketObjectCustomerEncryptionOutput() GetBucketObjectCustomerEncryptionOutput

func (GetBucketObjectCustomerEncryptionArgs) ToGetBucketObjectCustomerEncryptionOutputWithContext added in v5.15.0

func (i GetBucketObjectCustomerEncryptionArgs) ToGetBucketObjectCustomerEncryptionOutputWithContext(ctx context.Context) GetBucketObjectCustomerEncryptionOutput

type GetBucketObjectCustomerEncryptionArray added in v5.15.0

type GetBucketObjectCustomerEncryptionArray []GetBucketObjectCustomerEncryptionInput

func (GetBucketObjectCustomerEncryptionArray) ElementType added in v5.15.0

func (GetBucketObjectCustomerEncryptionArray) ToGetBucketObjectCustomerEncryptionArrayOutput added in v5.15.0

func (i GetBucketObjectCustomerEncryptionArray) ToGetBucketObjectCustomerEncryptionArrayOutput() GetBucketObjectCustomerEncryptionArrayOutput

func (GetBucketObjectCustomerEncryptionArray) ToGetBucketObjectCustomerEncryptionArrayOutputWithContext added in v5.15.0

func (i GetBucketObjectCustomerEncryptionArray) ToGetBucketObjectCustomerEncryptionArrayOutputWithContext(ctx context.Context) GetBucketObjectCustomerEncryptionArrayOutput

type GetBucketObjectCustomerEncryptionArrayInput added in v5.15.0

type GetBucketObjectCustomerEncryptionArrayInput interface {
	pulumi.Input

	ToGetBucketObjectCustomerEncryptionArrayOutput() GetBucketObjectCustomerEncryptionArrayOutput
	ToGetBucketObjectCustomerEncryptionArrayOutputWithContext(context.Context) GetBucketObjectCustomerEncryptionArrayOutput
}

GetBucketObjectCustomerEncryptionArrayInput is an input type that accepts GetBucketObjectCustomerEncryptionArray and GetBucketObjectCustomerEncryptionArrayOutput values. You can construct a concrete instance of `GetBucketObjectCustomerEncryptionArrayInput` via:

GetBucketObjectCustomerEncryptionArray{ GetBucketObjectCustomerEncryptionArgs{...} }

type GetBucketObjectCustomerEncryptionArrayOutput added in v5.15.0

type GetBucketObjectCustomerEncryptionArrayOutput struct{ *pulumi.OutputState }

func (GetBucketObjectCustomerEncryptionArrayOutput) ElementType added in v5.15.0

func (GetBucketObjectCustomerEncryptionArrayOutput) Index added in v5.15.0

func (GetBucketObjectCustomerEncryptionArrayOutput) ToGetBucketObjectCustomerEncryptionArrayOutput added in v5.15.0

func (o GetBucketObjectCustomerEncryptionArrayOutput) ToGetBucketObjectCustomerEncryptionArrayOutput() GetBucketObjectCustomerEncryptionArrayOutput

func (GetBucketObjectCustomerEncryptionArrayOutput) ToGetBucketObjectCustomerEncryptionArrayOutputWithContext added in v5.15.0

func (o GetBucketObjectCustomerEncryptionArrayOutput) ToGetBucketObjectCustomerEncryptionArrayOutputWithContext(ctx context.Context) GetBucketObjectCustomerEncryptionArrayOutput

type GetBucketObjectCustomerEncryptionInput added in v5.15.0

type GetBucketObjectCustomerEncryptionInput interface {
	pulumi.Input

	ToGetBucketObjectCustomerEncryptionOutput() GetBucketObjectCustomerEncryptionOutput
	ToGetBucketObjectCustomerEncryptionOutputWithContext(context.Context) GetBucketObjectCustomerEncryptionOutput
}

GetBucketObjectCustomerEncryptionInput is an input type that accepts GetBucketObjectCustomerEncryptionArgs and GetBucketObjectCustomerEncryptionOutput values. You can construct a concrete instance of `GetBucketObjectCustomerEncryptionInput` via:

GetBucketObjectCustomerEncryptionArgs{...}

type GetBucketObjectCustomerEncryptionOutput added in v5.15.0

type GetBucketObjectCustomerEncryptionOutput struct{ *pulumi.OutputState }

func (GetBucketObjectCustomerEncryptionOutput) ElementType added in v5.15.0

func (GetBucketObjectCustomerEncryptionOutput) EncryptionAlgorithm added in v5.15.0

func (GetBucketObjectCustomerEncryptionOutput) EncryptionKey added in v5.15.0

func (GetBucketObjectCustomerEncryptionOutput) ToGetBucketObjectCustomerEncryptionOutput added in v5.15.0

func (o GetBucketObjectCustomerEncryptionOutput) ToGetBucketObjectCustomerEncryptionOutput() GetBucketObjectCustomerEncryptionOutput

func (GetBucketObjectCustomerEncryptionOutput) ToGetBucketObjectCustomerEncryptionOutputWithContext added in v5.15.0

func (o GetBucketObjectCustomerEncryptionOutput) ToGetBucketObjectCustomerEncryptionOutputWithContext(ctx context.Context) GetBucketObjectCustomerEncryptionOutput

type GetBucketRetentionPolicy added in v5.24.0

type GetBucketRetentionPolicy struct {
	IsLocked        bool `pulumi:"isLocked"`
	RetentionPeriod int  `pulumi:"retentionPeriod"`
}

type GetBucketRetentionPolicyArgs added in v5.24.0

type GetBucketRetentionPolicyArgs struct {
	IsLocked        pulumi.BoolInput `pulumi:"isLocked"`
	RetentionPeriod pulumi.IntInput  `pulumi:"retentionPeriod"`
}

func (GetBucketRetentionPolicyArgs) ElementType added in v5.24.0

func (GetBucketRetentionPolicyArgs) ToGetBucketRetentionPolicyOutput added in v5.24.0

func (i GetBucketRetentionPolicyArgs) ToGetBucketRetentionPolicyOutput() GetBucketRetentionPolicyOutput

func (GetBucketRetentionPolicyArgs) ToGetBucketRetentionPolicyOutputWithContext added in v5.24.0

func (i GetBucketRetentionPolicyArgs) ToGetBucketRetentionPolicyOutputWithContext(ctx context.Context) GetBucketRetentionPolicyOutput

type GetBucketRetentionPolicyArray added in v5.24.0

type GetBucketRetentionPolicyArray []GetBucketRetentionPolicyInput

func (GetBucketRetentionPolicyArray) ElementType added in v5.24.0

func (GetBucketRetentionPolicyArray) ToGetBucketRetentionPolicyArrayOutput added in v5.24.0

func (i GetBucketRetentionPolicyArray) ToGetBucketRetentionPolicyArrayOutput() GetBucketRetentionPolicyArrayOutput

func (GetBucketRetentionPolicyArray) ToGetBucketRetentionPolicyArrayOutputWithContext added in v5.24.0

func (i GetBucketRetentionPolicyArray) ToGetBucketRetentionPolicyArrayOutputWithContext(ctx context.Context) GetBucketRetentionPolicyArrayOutput

type GetBucketRetentionPolicyArrayInput added in v5.24.0

type GetBucketRetentionPolicyArrayInput interface {
	pulumi.Input

	ToGetBucketRetentionPolicyArrayOutput() GetBucketRetentionPolicyArrayOutput
	ToGetBucketRetentionPolicyArrayOutputWithContext(context.Context) GetBucketRetentionPolicyArrayOutput
}

GetBucketRetentionPolicyArrayInput is an input type that accepts GetBucketRetentionPolicyArray and GetBucketRetentionPolicyArrayOutput values. You can construct a concrete instance of `GetBucketRetentionPolicyArrayInput` via:

GetBucketRetentionPolicyArray{ GetBucketRetentionPolicyArgs{...} }

type GetBucketRetentionPolicyArrayOutput added in v5.24.0

type GetBucketRetentionPolicyArrayOutput struct{ *pulumi.OutputState }

func (GetBucketRetentionPolicyArrayOutput) ElementType added in v5.24.0

func (GetBucketRetentionPolicyArrayOutput) Index added in v5.24.0

func (GetBucketRetentionPolicyArrayOutput) ToGetBucketRetentionPolicyArrayOutput added in v5.24.0

func (o GetBucketRetentionPolicyArrayOutput) ToGetBucketRetentionPolicyArrayOutput() GetBucketRetentionPolicyArrayOutput

func (GetBucketRetentionPolicyArrayOutput) ToGetBucketRetentionPolicyArrayOutputWithContext added in v5.24.0

func (o GetBucketRetentionPolicyArrayOutput) ToGetBucketRetentionPolicyArrayOutputWithContext(ctx context.Context) GetBucketRetentionPolicyArrayOutput

type GetBucketRetentionPolicyInput added in v5.24.0

type GetBucketRetentionPolicyInput interface {
	pulumi.Input

	ToGetBucketRetentionPolicyOutput() GetBucketRetentionPolicyOutput
	ToGetBucketRetentionPolicyOutputWithContext(context.Context) GetBucketRetentionPolicyOutput
}

GetBucketRetentionPolicyInput is an input type that accepts GetBucketRetentionPolicyArgs and GetBucketRetentionPolicyOutput values. You can construct a concrete instance of `GetBucketRetentionPolicyInput` via:

GetBucketRetentionPolicyArgs{...}

type GetBucketRetentionPolicyOutput added in v5.24.0

type GetBucketRetentionPolicyOutput struct{ *pulumi.OutputState }

func (GetBucketRetentionPolicyOutput) ElementType added in v5.24.0

func (GetBucketRetentionPolicyOutput) IsLocked added in v5.24.0

func (GetBucketRetentionPolicyOutput) RetentionPeriod added in v5.24.0

func (o GetBucketRetentionPolicyOutput) RetentionPeriod() pulumi.IntOutput

func (GetBucketRetentionPolicyOutput) ToGetBucketRetentionPolicyOutput added in v5.24.0

func (o GetBucketRetentionPolicyOutput) ToGetBucketRetentionPolicyOutput() GetBucketRetentionPolicyOutput

func (GetBucketRetentionPolicyOutput) ToGetBucketRetentionPolicyOutputWithContext added in v5.24.0

func (o GetBucketRetentionPolicyOutput) ToGetBucketRetentionPolicyOutputWithContext(ctx context.Context) GetBucketRetentionPolicyOutput

type GetBucketVersioning added in v5.24.0

type GetBucketVersioning struct {
	Enabled bool `pulumi:"enabled"`
}

type GetBucketVersioningArgs added in v5.24.0

type GetBucketVersioningArgs struct {
	Enabled pulumi.BoolInput `pulumi:"enabled"`
}

func (GetBucketVersioningArgs) ElementType added in v5.24.0

func (GetBucketVersioningArgs) ElementType() reflect.Type

func (GetBucketVersioningArgs) ToGetBucketVersioningOutput added in v5.24.0

func (i GetBucketVersioningArgs) ToGetBucketVersioningOutput() GetBucketVersioningOutput

func (GetBucketVersioningArgs) ToGetBucketVersioningOutputWithContext added in v5.24.0

func (i GetBucketVersioningArgs) ToGetBucketVersioningOutputWithContext(ctx context.Context) GetBucketVersioningOutput

type GetBucketVersioningArray added in v5.24.0

type GetBucketVersioningArray []GetBucketVersioningInput

func (GetBucketVersioningArray) ElementType added in v5.24.0

func (GetBucketVersioningArray) ElementType() reflect.Type

func (GetBucketVersioningArray) ToGetBucketVersioningArrayOutput added in v5.24.0

func (i GetBucketVersioningArray) ToGetBucketVersioningArrayOutput() GetBucketVersioningArrayOutput

func (GetBucketVersioningArray) ToGetBucketVersioningArrayOutputWithContext added in v5.24.0

func (i GetBucketVersioningArray) ToGetBucketVersioningArrayOutputWithContext(ctx context.Context) GetBucketVersioningArrayOutput

type GetBucketVersioningArrayInput added in v5.24.0

type GetBucketVersioningArrayInput interface {
	pulumi.Input

	ToGetBucketVersioningArrayOutput() GetBucketVersioningArrayOutput
	ToGetBucketVersioningArrayOutputWithContext(context.Context) GetBucketVersioningArrayOutput
}

GetBucketVersioningArrayInput is an input type that accepts GetBucketVersioningArray and GetBucketVersioningArrayOutput values. You can construct a concrete instance of `GetBucketVersioningArrayInput` via:

GetBucketVersioningArray{ GetBucketVersioningArgs{...} }

type GetBucketVersioningArrayOutput added in v5.24.0

type GetBucketVersioningArrayOutput struct{ *pulumi.OutputState }

func (GetBucketVersioningArrayOutput) ElementType added in v5.24.0

func (GetBucketVersioningArrayOutput) Index added in v5.24.0

func (GetBucketVersioningArrayOutput) ToGetBucketVersioningArrayOutput added in v5.24.0

func (o GetBucketVersioningArrayOutput) ToGetBucketVersioningArrayOutput() GetBucketVersioningArrayOutput

func (GetBucketVersioningArrayOutput) ToGetBucketVersioningArrayOutputWithContext added in v5.24.0

func (o GetBucketVersioningArrayOutput) ToGetBucketVersioningArrayOutputWithContext(ctx context.Context) GetBucketVersioningArrayOutput

type GetBucketVersioningInput added in v5.24.0

type GetBucketVersioningInput interface {
	pulumi.Input

	ToGetBucketVersioningOutput() GetBucketVersioningOutput
	ToGetBucketVersioningOutputWithContext(context.Context) GetBucketVersioningOutput
}

GetBucketVersioningInput is an input type that accepts GetBucketVersioningArgs and GetBucketVersioningOutput values. You can construct a concrete instance of `GetBucketVersioningInput` via:

GetBucketVersioningArgs{...}

type GetBucketVersioningOutput added in v5.24.0

type GetBucketVersioningOutput struct{ *pulumi.OutputState }

func (GetBucketVersioningOutput) ElementType added in v5.24.0

func (GetBucketVersioningOutput) ElementType() reflect.Type

func (GetBucketVersioningOutput) Enabled added in v5.24.0

func (GetBucketVersioningOutput) ToGetBucketVersioningOutput added in v5.24.0

func (o GetBucketVersioningOutput) ToGetBucketVersioningOutput() GetBucketVersioningOutput

func (GetBucketVersioningOutput) ToGetBucketVersioningOutputWithContext added in v5.24.0

func (o GetBucketVersioningOutput) ToGetBucketVersioningOutputWithContext(ctx context.Context) GetBucketVersioningOutput

type GetBucketWebsite added in v5.24.0

type GetBucketWebsite struct {
	MainPageSuffix string `pulumi:"mainPageSuffix"`
	NotFoundPage   string `pulumi:"notFoundPage"`
}

type GetBucketWebsiteArgs added in v5.24.0

type GetBucketWebsiteArgs struct {
	MainPageSuffix pulumi.StringInput `pulumi:"mainPageSuffix"`
	NotFoundPage   pulumi.StringInput `pulumi:"notFoundPage"`
}

func (GetBucketWebsiteArgs) ElementType added in v5.24.0

func (GetBucketWebsiteArgs) ElementType() reflect.Type

func (GetBucketWebsiteArgs) ToGetBucketWebsiteOutput added in v5.24.0

func (i GetBucketWebsiteArgs) ToGetBucketWebsiteOutput() GetBucketWebsiteOutput

func (GetBucketWebsiteArgs) ToGetBucketWebsiteOutputWithContext added in v5.24.0

func (i GetBucketWebsiteArgs) ToGetBucketWebsiteOutputWithContext(ctx context.Context) GetBucketWebsiteOutput

type GetBucketWebsiteArray added in v5.24.0

type GetBucketWebsiteArray []GetBucketWebsiteInput

func (GetBucketWebsiteArray) ElementType added in v5.24.0

func (GetBucketWebsiteArray) ElementType() reflect.Type

func (GetBucketWebsiteArray) ToGetBucketWebsiteArrayOutput added in v5.24.0

func (i GetBucketWebsiteArray) ToGetBucketWebsiteArrayOutput() GetBucketWebsiteArrayOutput

func (GetBucketWebsiteArray) ToGetBucketWebsiteArrayOutputWithContext added in v5.24.0

func (i GetBucketWebsiteArray) ToGetBucketWebsiteArrayOutputWithContext(ctx context.Context) GetBucketWebsiteArrayOutput

type GetBucketWebsiteArrayInput added in v5.24.0

type GetBucketWebsiteArrayInput interface {
	pulumi.Input

	ToGetBucketWebsiteArrayOutput() GetBucketWebsiteArrayOutput
	ToGetBucketWebsiteArrayOutputWithContext(context.Context) GetBucketWebsiteArrayOutput
}

GetBucketWebsiteArrayInput is an input type that accepts GetBucketWebsiteArray and GetBucketWebsiteArrayOutput values. You can construct a concrete instance of `GetBucketWebsiteArrayInput` via:

GetBucketWebsiteArray{ GetBucketWebsiteArgs{...} }

type GetBucketWebsiteArrayOutput added in v5.24.0

type GetBucketWebsiteArrayOutput struct{ *pulumi.OutputState }

func (GetBucketWebsiteArrayOutput) ElementType added in v5.24.0

func (GetBucketWebsiteArrayOutput) Index added in v5.24.0

func (GetBucketWebsiteArrayOutput) ToGetBucketWebsiteArrayOutput added in v5.24.0

func (o GetBucketWebsiteArrayOutput) ToGetBucketWebsiteArrayOutput() GetBucketWebsiteArrayOutput

func (GetBucketWebsiteArrayOutput) ToGetBucketWebsiteArrayOutputWithContext added in v5.24.0

func (o GetBucketWebsiteArrayOutput) ToGetBucketWebsiteArrayOutputWithContext(ctx context.Context) GetBucketWebsiteArrayOutput

type GetBucketWebsiteInput added in v5.24.0

type GetBucketWebsiteInput interface {
	pulumi.Input

	ToGetBucketWebsiteOutput() GetBucketWebsiteOutput
	ToGetBucketWebsiteOutputWithContext(context.Context) GetBucketWebsiteOutput
}

GetBucketWebsiteInput is an input type that accepts GetBucketWebsiteArgs and GetBucketWebsiteOutput values. You can construct a concrete instance of `GetBucketWebsiteInput` via:

GetBucketWebsiteArgs{...}

type GetBucketWebsiteOutput added in v5.24.0

type GetBucketWebsiteOutput struct{ *pulumi.OutputState }

func (GetBucketWebsiteOutput) ElementType added in v5.24.0

func (GetBucketWebsiteOutput) ElementType() reflect.Type

func (GetBucketWebsiteOutput) MainPageSuffix added in v5.24.0

func (o GetBucketWebsiteOutput) MainPageSuffix() pulumi.StringOutput

func (GetBucketWebsiteOutput) NotFoundPage added in v5.24.0

func (o GetBucketWebsiteOutput) NotFoundPage() pulumi.StringOutput

func (GetBucketWebsiteOutput) ToGetBucketWebsiteOutput added in v5.24.0

func (o GetBucketWebsiteOutput) ToGetBucketWebsiteOutput() GetBucketWebsiteOutput

func (GetBucketWebsiteOutput) ToGetBucketWebsiteOutputWithContext added in v5.24.0

func (o GetBucketWebsiteOutput) ToGetBucketWebsiteOutputWithContext(ctx context.Context) GetBucketWebsiteOutput

type GetObjectSignedUrlArgs

type GetObjectSignedUrlArgs struct {
	// The name of the bucket to read the object from
	Bucket string `pulumi:"bucket"`
	// The [MD5 digest](https://cloud.google.com/storage/docs/hashes-etags#_MD5) value in Base64.
	// Typically retrieved from `google_storage_bucket_object.object.md5hash` attribute.
	// If you provide this in the datasource, the client (e.g. browser, curl) must provide the `Content-MD5` HTTP header with this same value in its request.
	ContentMd5 *string `pulumi:"contentMd5"`
	// If you specify this in the datasource, the client must provide the `Content-Type` HTTP header with the same value in its request.
	ContentType *string `pulumi:"contentType"`
	// What Google service account credentials json should be used to sign the URL.
	// This data source checks the following locations for credentials, in order of preference: data source `credentials` attribute, provider `credentials` attribute and finally the GOOGLE_APPLICATION_CREDENTIALS environment variable.
	Credentials *string `pulumi:"credentials"`
	// For how long shall the signed URL be valid (defaults to 1 hour - i.e. `1h`).
	// See [here](https://golang.org/pkg/time/#ParseDuration) for info on valid duration formats.
	Duration *string `pulumi:"duration"`
	// As needed. The server checks to make sure that the client provides matching values in requests using the signed URL.
	// Any header starting with `x-goog-` is accepted but see the [Google Docs](https://cloud.google.com/storage/docs/xml-api/reference-headers) for list of headers that are supported by Google.
	ExtensionHeaders map[string]string `pulumi:"extensionHeaders"`
	// What HTTP Method will the signed URL allow (defaults to `GET`)
	HttpMethod *string `pulumi:"httpMethod"`
	// The full path to the object inside the bucket
	Path string `pulumi:"path"`
}

A collection of arguments for invoking getObjectSignedUrl.

type GetObjectSignedUrlOutputArgs added in v5.21.0

type GetObjectSignedUrlOutputArgs struct {
	// The name of the bucket to read the object from
	Bucket pulumi.StringInput `pulumi:"bucket"`
	// The [MD5 digest](https://cloud.google.com/storage/docs/hashes-etags#_MD5) value in Base64.
	// Typically retrieved from `google_storage_bucket_object.object.md5hash` attribute.
	// If you provide this in the datasource, the client (e.g. browser, curl) must provide the `Content-MD5` HTTP header with this same value in its request.
	ContentMd5 pulumi.StringPtrInput `pulumi:"contentMd5"`
	// If you specify this in the datasource, the client must provide the `Content-Type` HTTP header with the same value in its request.
	ContentType pulumi.StringPtrInput `pulumi:"contentType"`
	// What Google service account credentials json should be used to sign the URL.
	// This data source checks the following locations for credentials, in order of preference: data source `credentials` attribute, provider `credentials` attribute and finally the GOOGLE_APPLICATION_CREDENTIALS environment variable.
	Credentials pulumi.StringPtrInput `pulumi:"credentials"`
	// For how long shall the signed URL be valid (defaults to 1 hour - i.e. `1h`).
	// See [here](https://golang.org/pkg/time/#ParseDuration) for info on valid duration formats.
	Duration pulumi.StringPtrInput `pulumi:"duration"`
	// As needed. The server checks to make sure that the client provides matching values in requests using the signed URL.
	// Any header starting with `x-goog-` is accepted but see the [Google Docs](https://cloud.google.com/storage/docs/xml-api/reference-headers) for list of headers that are supported by Google.
	ExtensionHeaders pulumi.StringMapInput `pulumi:"extensionHeaders"`
	// What HTTP Method will the signed URL allow (defaults to `GET`)
	HttpMethod pulumi.StringPtrInput `pulumi:"httpMethod"`
	// The full path to the object inside the bucket
	Path pulumi.StringInput `pulumi:"path"`
}

A collection of arguments for invoking getObjectSignedUrl.

func (GetObjectSignedUrlOutputArgs) ElementType added in v5.21.0

type GetObjectSignedUrlResult

type GetObjectSignedUrlResult struct {
	Bucket           string            `pulumi:"bucket"`
	ContentMd5       *string           `pulumi:"contentMd5"`
	ContentType      *string           `pulumi:"contentType"`
	Credentials      *string           `pulumi:"credentials"`
	Duration         *string           `pulumi:"duration"`
	ExtensionHeaders map[string]string `pulumi:"extensionHeaders"`
	HttpMethod       *string           `pulumi:"httpMethod"`
	// The provider-assigned unique ID for this managed resource.
	Id   string `pulumi:"id"`
	Path string `pulumi:"path"`
	// The signed URL that can be used to access the storage object without authentication.
	SignedUrl string `pulumi:"signedUrl"`
}

A collection of values returned by getObjectSignedUrl.

func GetObjectSignedUrl

func GetObjectSignedUrl(ctx *pulumi.Context, args *GetObjectSignedUrlArgs, opts ...pulumi.InvokeOption) (*GetObjectSignedUrlResult, error)

The Google Cloud storage signed URL data source generates a signed URL for a given storage object. Signed URLs provide a way to give time-limited read or write access to anyone in possession of the URL, regardless of whether they have a Google account.

For more info about signed URL's is available [here](https://cloud.google.com/storage/docs/access-control/signed-urls).

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/compute"
"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/storage"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := storage.GetObjectSignedUrl(ctx, &storage.GetObjectSignedUrlArgs{
			Bucket: "install_binaries",
			Path:   "path/to/install_file.bin",
		}, nil)
		if err != nil {
			return err
		}
		_, err = compute.NewInstance(ctx, "vm", nil)
		if err != nil {
			return err
		}
		return nil
	})
}

``` ## Full Example

```go package main

import (

"io/ioutil"

"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/storage"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func readFileOrPanic(path string) pulumi.StringPtrInput {
	data, err := ioutil.ReadFile(path)
	if err != nil {
		panic(err.Error())
	}
	return pulumi.String(string(data))
}
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		opt0 := "pRviqwS4c4OTJRTe03FD1w=="
		opt1 := "text/plain"
		opt2 := "2d"
		opt3 := readFileOrPanic("path/to/credentials.json")
		_, err := storage.GetObjectSignedUrl(ctx, &storage.GetObjectSignedUrlArgs{
			Bucket:      "fried_chicken",
			Path:        "path/to/file",
			ContentMd5:  &opt0,
			ContentType: &opt1,
			Duration:    &opt2,
			Credentials: &opt3,
			ExtensionHeaders: map[string]interface{}{
				"x-goog-if-generation-match": "1",
			},
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetObjectSignedUrlResultOutput added in v5.21.0

type GetObjectSignedUrlResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getObjectSignedUrl.

func GetObjectSignedUrlOutput added in v5.21.0

func (GetObjectSignedUrlResultOutput) Bucket added in v5.21.0

func (GetObjectSignedUrlResultOutput) ContentMd5 added in v5.21.0

func (GetObjectSignedUrlResultOutput) ContentType added in v5.21.0

func (GetObjectSignedUrlResultOutput) Credentials added in v5.21.0

func (GetObjectSignedUrlResultOutput) Duration added in v5.21.0

func (GetObjectSignedUrlResultOutput) ElementType added in v5.21.0

func (GetObjectSignedUrlResultOutput) ExtensionHeaders added in v5.21.0

func (GetObjectSignedUrlResultOutput) HttpMethod added in v5.21.0

func (GetObjectSignedUrlResultOutput) Id added in v5.21.0

The provider-assigned unique ID for this managed resource.

func (GetObjectSignedUrlResultOutput) Path added in v5.21.0

func (GetObjectSignedUrlResultOutput) SignedUrl added in v5.21.0

The signed URL that can be used to access the storage object without authentication.

func (GetObjectSignedUrlResultOutput) ToGetObjectSignedUrlResultOutput added in v5.21.0

func (o GetObjectSignedUrlResultOutput) ToGetObjectSignedUrlResultOutput() GetObjectSignedUrlResultOutput

func (GetObjectSignedUrlResultOutput) ToGetObjectSignedUrlResultOutputWithContext added in v5.21.0

func (o GetObjectSignedUrlResultOutput) ToGetObjectSignedUrlResultOutputWithContext(ctx context.Context) GetObjectSignedUrlResultOutput

type GetProjectServiceAccountArgs

type GetProjectServiceAccountArgs struct {
	// The project the unique service account was created for. If it is not provided, the provider project is used.
	Project *string `pulumi:"project"`
	// The project the lookup originates from. This field is used if you are making the request
	// from a different account than the one you are finding the service account for.
	UserProject *string `pulumi:"userProject"`
}

A collection of arguments for invoking getProjectServiceAccount.

type GetProjectServiceAccountOutputArgs added in v5.21.0

type GetProjectServiceAccountOutputArgs struct {
	// The project the unique service account was created for. If it is not provided, the provider project is used.
	Project pulumi.StringPtrInput `pulumi:"project"`
	// The project the lookup originates from. This field is used if you are making the request
	// from a different account than the one you are finding the service account for.
	UserProject pulumi.StringPtrInput `pulumi:"userProject"`
}

A collection of arguments for invoking getProjectServiceAccount.

func (GetProjectServiceAccountOutputArgs) ElementType added in v5.21.0

type GetProjectServiceAccountResult

type GetProjectServiceAccountResult struct {
	// The email address of the service account. This value is often used to refer to the service account
	// in order to grant IAM permissions.
	EmailAddress string `pulumi:"emailAddress"`
	// The provider-assigned unique ID for this managed resource.
	Id          string  `pulumi:"id"`
	Project     string  `pulumi:"project"`
	UserProject *string `pulumi:"userProject"`
}

A collection of values returned by getProjectServiceAccount.

func GetProjectServiceAccount

func GetProjectServiceAccount(ctx *pulumi.Context, args *GetProjectServiceAccountArgs, opts ...pulumi.InvokeOption) (*GetProjectServiceAccountResult, error)

Get the email address of a project's unique [automatic Google Cloud Storage service account](https://cloud.google.com/storage/docs/projects#service-accounts).

For each Google Cloud project, Google maintains a unique service account which is used as the identity for various Google Cloud Storage operations, including operations involving [customer-managed encryption keys](https://cloud.google.com/storage/docs/encryption/customer-managed-keys) and those involving [storage notifications to pub/sub](https://cloud.google.com/storage/docs/gsutil/commands/notification). This automatic Google service account requires access to the relevant Cloud KMS keys or pub/sub topics, respectively, in order for Cloud Storage to use these customer-managed resources.

The service account has a well-known, documented naming format which is parameterised on the numeric Google project ID. However, as noted in [the docs](https://cloud.google.com/storage/docs/projects#service-accounts), it is only created when certain relevant actions occur which presuppose its existence. These actions include calling a [Cloud Storage API endpoint](https://cloud.google.com/storage/docs/json_api/v1/projects/serviceAccount/get) to yield the service account's identity, or performing some operations in the UI which must use the service account's identity, such as attempting to list Cloud KMS keys on the bucket creation page.

Use of this data source calls the relevant API endpoint to obtain the service account's identity and thus ensures it exists prior to any API operations which demand its existence, such as specifying it in Cloud IAM policy. Always prefer to use this data source over interpolating the project ID into the well-known format for this service account, as the latter approach may cause provider update errors in cases where the service account does not yet exist.

> When you write provider code which uses features depending on this service account *and* your provider code adds the service account in IAM policy on other resources,

you must take care for race conditions between the establishment of the IAM policy and creation of the relevant Cloud Storage resource.
Cloud Storage APIs will require permissions on resources such as pub/sub topics or Cloud KMS keys to exist *before* the attempt to utilise them in a
bucket configuration, otherwise the API calls will fail.
You may need to use `dependsOn` to create an explicit dependency between the IAM policy resource and the Cloud Storage resource which depends on it.
See the examples here and in the `storage.Notification` resource.

For more information see [the API reference](https://cloud.google.com/storage/docs/json_api/v1/projects/serviceAccount).

## Example Usage ### Pub/Sub Notifications

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/pubsub"
"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/storage"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		gcsAccount, err := storage.GetProjectServiceAccount(ctx, nil, nil)
		if err != nil {
			return err
		}
		_, err = pubsub.NewTopicIAMBinding(ctx, "binding", &pubsub.TopicIAMBindingArgs{
			Topic: pulumi.Any(google_pubsub_topic.Topic.Name),
			Role:  pulumi.String("roles/pubsub.publisher"),
			Members: pulumi.StringArray{
				pulumi.String(fmt.Sprintf("%v%v", "serviceAccount:", gcsAccount.EmailAddress)),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Cloud KMS Keys

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/kms"
"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/storage"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		gcsAccount, err := storage.GetProjectServiceAccount(ctx, nil, nil)
		if err != nil {
			return err
		}
		binding, err := kms.NewCryptoKeyIAMBinding(ctx, "binding", &kms.CryptoKeyIAMBindingArgs{
			CryptoKeyId: pulumi.String("your-crypto-key-id"),
			Role:        pulumi.String("roles/cloudkms.cryptoKeyEncrypterDecrypter"),
			Members: pulumi.StringArray{
				pulumi.String(fmt.Sprintf("%v%v", "serviceAccount:", gcsAccount.EmailAddress)),
			},
		})
		if err != nil {
			return err
		}
		_, err = storage.NewBucket(ctx, "bucket", &storage.BucketArgs{
			Encryption: &storage.BucketEncryptionArgs{
				DefaultKmsKeyName: pulumi.String("your-crypto-key-id"),
			},
		}, pulumi.DependsOn([]pulumi.Resource{
			binding,
		}))
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetProjectServiceAccountResultOutput added in v5.21.0

type GetProjectServiceAccountResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getProjectServiceAccount.

func (GetProjectServiceAccountResultOutput) ElementType added in v5.21.0

func (GetProjectServiceAccountResultOutput) EmailAddress added in v5.21.0

The email address of the service account. This value is often used to refer to the service account in order to grant IAM permissions.

func (GetProjectServiceAccountResultOutput) Id added in v5.21.0

The provider-assigned unique ID for this managed resource.

func (GetProjectServiceAccountResultOutput) Project added in v5.21.0

func (GetProjectServiceAccountResultOutput) ToGetProjectServiceAccountResultOutput added in v5.21.0

func (o GetProjectServiceAccountResultOutput) ToGetProjectServiceAccountResultOutput() GetProjectServiceAccountResultOutput

func (GetProjectServiceAccountResultOutput) ToGetProjectServiceAccountResultOutputWithContext added in v5.21.0

func (o GetProjectServiceAccountResultOutput) ToGetProjectServiceAccountResultOutputWithContext(ctx context.Context) GetProjectServiceAccountResultOutput

func (GetProjectServiceAccountResultOutput) UserProject added in v5.21.0

type GetTransferProjectServieAccountArgs

type GetTransferProjectServieAccountArgs struct {
	// The project ID. If it is not provided, the provider project is used.
	Project *string `pulumi:"project"`
}

A collection of arguments for invoking getTransferProjectServieAccount.

type GetTransferProjectServieAccountOutputArgs added in v5.21.0

type GetTransferProjectServieAccountOutputArgs struct {
	// The project ID. If it is not provided, the provider project is used.
	Project pulumi.StringPtrInput `pulumi:"project"`
}

A collection of arguments for invoking getTransferProjectServieAccount.

func (GetTransferProjectServieAccountOutputArgs) ElementType added in v5.21.0

type GetTransferProjectServieAccountResult

type GetTransferProjectServieAccountResult struct {
	// Email address of the default service account used by Storage Transfer Jobs running in this project
	Email string `pulumi:"email"`
	// The provider-assigned unique ID for this managed resource.
	Id      string `pulumi:"id"`
	Project string `pulumi:"project"`
}

A collection of values returned by getTransferProjectServieAccount.

func GetTransferProjectServieAccount

Use this data source to retrieve Storage Transfer service account for this project

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/storage"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_default, err := storage.GetTransferProjectServieAccount(ctx, nil, nil)
		if err != nil {
			return err
		}
		ctx.Export("defaultAccount", _default.Email)
		return nil
	})
}

```

type GetTransferProjectServieAccountResultOutput added in v5.21.0

type GetTransferProjectServieAccountResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getTransferProjectServieAccount.

func (GetTransferProjectServieAccountResultOutput) ElementType added in v5.21.0

func (GetTransferProjectServieAccountResultOutput) Email added in v5.21.0

Email address of the default service account used by Storage Transfer Jobs running in this project

func (GetTransferProjectServieAccountResultOutput) Id added in v5.21.0

The provider-assigned unique ID for this managed resource.

func (GetTransferProjectServieAccountResultOutput) Project added in v5.21.0

func (GetTransferProjectServieAccountResultOutput) ToGetTransferProjectServieAccountResultOutput added in v5.21.0

func (o GetTransferProjectServieAccountResultOutput) ToGetTransferProjectServieAccountResultOutput() GetTransferProjectServieAccountResultOutput

func (GetTransferProjectServieAccountResultOutput) ToGetTransferProjectServieAccountResultOutputWithContext added in v5.21.0

func (o GetTransferProjectServieAccountResultOutput) ToGetTransferProjectServieAccountResultOutputWithContext(ctx context.Context) GetTransferProjectServieAccountResultOutput

type HmacKey

type HmacKey struct {
	pulumi.CustomResourceState

	// The access ID of the HMAC Key.
	AccessId pulumi.StringOutput `pulumi:"accessId"`
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project pulumi.StringOutput `pulumi:"project"`
	// HMAC secret key material.
	Secret pulumi.StringOutput `pulumi:"secret"`
	// The email address of the key's associated service account.
	ServiceAccountEmail pulumi.StringOutput `pulumi:"serviceAccountEmail"`
	// The state of the key. Can be set to one of ACTIVE, INACTIVE.
	// Default value is `ACTIVE`.
	// Possible values are `ACTIVE` and `INACTIVE`.
	State pulumi.StringPtrOutput `pulumi:"state"`
	// 'The creation time of the HMAC key in RFC 3339 format. '
	TimeCreated pulumi.StringOutput `pulumi:"timeCreated"`
	// 'The last modification time of the HMAC key metadata in RFC 3339 format.'
	Updated pulumi.StringOutput `pulumi:"updated"`
}

The hmacKeys resource represents an HMAC key within Cloud Storage. The resource consists of a secret and HMAC key metadata. HMAC keys can be used as credentials for service accounts.

To get more information about HmacKey, see:

* [API documentation](https://cloud.google.com/storage/docs/json_api/v1/projects/hmacKeys) * How-to Guides

> **Warning:** All arguments including the `secret` value will be stored in the raw state as plain-text. [Read more about secrets in state](https://www.pulumi.com/docs/intro/concepts/programming-model/#secrets). On import, the `secret` value will not be retrieved.

> **Warning:** All arguments including `secret` will be stored in the raw state as plain-text. [Read more about secrets in state](https://www.pulumi.com/docs/intro/concepts/programming-model/#secrets).

## Example Usage ### Storage Hmac Key

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/serviceAccount"
"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/storage"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		serviceAccount, err := serviceAccount.NewAccount(ctx, "serviceAccount", &serviceAccount.AccountArgs{
			AccountId: pulumi.String("my-svc-acc"),
		})
		if err != nil {
			return err
		}
		_, err = storage.NewHmacKey(ctx, "key", &storage.HmacKeyArgs{
			ServiceAccountEmail: serviceAccount.Email,
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

HmacKey can be imported using any of these accepted formats

```sh

$ pulumi import gcp:storage/hmacKey:HmacKey default projects/{{project}}/hmacKeys/{{access_id}}

```

```sh

$ pulumi import gcp:storage/hmacKey:HmacKey default {{project}}/{{access_id}}

```

```sh

$ pulumi import gcp:storage/hmacKey:HmacKey default {{access_id}}

```

func GetHmacKey

func GetHmacKey(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *HmacKeyState, opts ...pulumi.ResourceOption) (*HmacKey, error)

GetHmacKey gets an existing HmacKey resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewHmacKey

func NewHmacKey(ctx *pulumi.Context,
	name string, args *HmacKeyArgs, opts ...pulumi.ResourceOption) (*HmacKey, error)

NewHmacKey registers a new resource with the given unique name, arguments, and options.

func (*HmacKey) ElementType

func (*HmacKey) ElementType() reflect.Type

func (*HmacKey) ToHmacKeyOutput

func (i *HmacKey) ToHmacKeyOutput() HmacKeyOutput

func (*HmacKey) ToHmacKeyOutputWithContext

func (i *HmacKey) ToHmacKeyOutputWithContext(ctx context.Context) HmacKeyOutput

func (*HmacKey) ToHmacKeyPtrOutput

func (i *HmacKey) ToHmacKeyPtrOutput() HmacKeyPtrOutput

func (*HmacKey) ToHmacKeyPtrOutputWithContext

func (i *HmacKey) ToHmacKeyPtrOutputWithContext(ctx context.Context) HmacKeyPtrOutput

type HmacKeyArgs

type HmacKeyArgs struct {
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project pulumi.StringPtrInput
	// The email address of the key's associated service account.
	ServiceAccountEmail pulumi.StringInput
	// The state of the key. Can be set to one of ACTIVE, INACTIVE.
	// Default value is `ACTIVE`.
	// Possible values are `ACTIVE` and `INACTIVE`.
	State pulumi.StringPtrInput
}

The set of arguments for constructing a HmacKey resource.

func (HmacKeyArgs) ElementType

func (HmacKeyArgs) ElementType() reflect.Type

type HmacKeyArray

type HmacKeyArray []HmacKeyInput

func (HmacKeyArray) ElementType

func (HmacKeyArray) ElementType() reflect.Type

func (HmacKeyArray) ToHmacKeyArrayOutput

func (i HmacKeyArray) ToHmacKeyArrayOutput() HmacKeyArrayOutput

func (HmacKeyArray) ToHmacKeyArrayOutputWithContext

func (i HmacKeyArray) ToHmacKeyArrayOutputWithContext(ctx context.Context) HmacKeyArrayOutput

type HmacKeyArrayInput

type HmacKeyArrayInput interface {
	pulumi.Input

	ToHmacKeyArrayOutput() HmacKeyArrayOutput
	ToHmacKeyArrayOutputWithContext(context.Context) HmacKeyArrayOutput
}

HmacKeyArrayInput is an input type that accepts HmacKeyArray and HmacKeyArrayOutput values. You can construct a concrete instance of `HmacKeyArrayInput` via:

HmacKeyArray{ HmacKeyArgs{...} }

type HmacKeyArrayOutput

type HmacKeyArrayOutput struct{ *pulumi.OutputState }

func (HmacKeyArrayOutput) ElementType

func (HmacKeyArrayOutput) ElementType() reflect.Type

func (HmacKeyArrayOutput) Index

func (HmacKeyArrayOutput) ToHmacKeyArrayOutput

func (o HmacKeyArrayOutput) ToHmacKeyArrayOutput() HmacKeyArrayOutput

func (HmacKeyArrayOutput) ToHmacKeyArrayOutputWithContext

func (o HmacKeyArrayOutput) ToHmacKeyArrayOutputWithContext(ctx context.Context) HmacKeyArrayOutput

type HmacKeyInput

type HmacKeyInput interface {
	pulumi.Input

	ToHmacKeyOutput() HmacKeyOutput
	ToHmacKeyOutputWithContext(ctx context.Context) HmacKeyOutput
}

type HmacKeyMap

type HmacKeyMap map[string]HmacKeyInput

func (HmacKeyMap) ElementType

func (HmacKeyMap) ElementType() reflect.Type

func (HmacKeyMap) ToHmacKeyMapOutput

func (i HmacKeyMap) ToHmacKeyMapOutput() HmacKeyMapOutput

func (HmacKeyMap) ToHmacKeyMapOutputWithContext

func (i HmacKeyMap) ToHmacKeyMapOutputWithContext(ctx context.Context) HmacKeyMapOutput

type HmacKeyMapInput

type HmacKeyMapInput interface {
	pulumi.Input

	ToHmacKeyMapOutput() HmacKeyMapOutput
	ToHmacKeyMapOutputWithContext(context.Context) HmacKeyMapOutput
}

HmacKeyMapInput is an input type that accepts HmacKeyMap and HmacKeyMapOutput values. You can construct a concrete instance of `HmacKeyMapInput` via:

HmacKeyMap{ "key": HmacKeyArgs{...} }

type HmacKeyMapOutput

type HmacKeyMapOutput struct{ *pulumi.OutputState }

func (HmacKeyMapOutput) ElementType

func (HmacKeyMapOutput) ElementType() reflect.Type

func (HmacKeyMapOutput) MapIndex

func (HmacKeyMapOutput) ToHmacKeyMapOutput

func (o HmacKeyMapOutput) ToHmacKeyMapOutput() HmacKeyMapOutput

func (HmacKeyMapOutput) ToHmacKeyMapOutputWithContext

func (o HmacKeyMapOutput) ToHmacKeyMapOutputWithContext(ctx context.Context) HmacKeyMapOutput

type HmacKeyOutput

type HmacKeyOutput struct{ *pulumi.OutputState }

func (HmacKeyOutput) ElementType

func (HmacKeyOutput) ElementType() reflect.Type

func (HmacKeyOutput) ToHmacKeyOutput

func (o HmacKeyOutput) ToHmacKeyOutput() HmacKeyOutput

func (HmacKeyOutput) ToHmacKeyOutputWithContext

func (o HmacKeyOutput) ToHmacKeyOutputWithContext(ctx context.Context) HmacKeyOutput

func (HmacKeyOutput) ToHmacKeyPtrOutput

func (o HmacKeyOutput) ToHmacKeyPtrOutput() HmacKeyPtrOutput

func (HmacKeyOutput) ToHmacKeyPtrOutputWithContext

func (o HmacKeyOutput) ToHmacKeyPtrOutputWithContext(ctx context.Context) HmacKeyPtrOutput

type HmacKeyPtrInput

type HmacKeyPtrInput interface {
	pulumi.Input

	ToHmacKeyPtrOutput() HmacKeyPtrOutput
	ToHmacKeyPtrOutputWithContext(ctx context.Context) HmacKeyPtrOutput
}

type HmacKeyPtrOutput

type HmacKeyPtrOutput struct{ *pulumi.OutputState }

func (HmacKeyPtrOutput) Elem added in v5.21.0

func (HmacKeyPtrOutput) ElementType

func (HmacKeyPtrOutput) ElementType() reflect.Type

func (HmacKeyPtrOutput) ToHmacKeyPtrOutput

func (o HmacKeyPtrOutput) ToHmacKeyPtrOutput() HmacKeyPtrOutput

func (HmacKeyPtrOutput) ToHmacKeyPtrOutputWithContext

func (o HmacKeyPtrOutput) ToHmacKeyPtrOutputWithContext(ctx context.Context) HmacKeyPtrOutput

type HmacKeyState

type HmacKeyState struct {
	// The access ID of the HMAC Key.
	AccessId pulumi.StringPtrInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project pulumi.StringPtrInput
	// HMAC secret key material.
	Secret pulumi.StringPtrInput
	// The email address of the key's associated service account.
	ServiceAccountEmail pulumi.StringPtrInput
	// The state of the key. Can be set to one of ACTIVE, INACTIVE.
	// Default value is `ACTIVE`.
	// Possible values are `ACTIVE` and `INACTIVE`.
	State pulumi.StringPtrInput
	// 'The creation time of the HMAC key in RFC 3339 format. '
	TimeCreated pulumi.StringPtrInput
	// 'The last modification time of the HMAC key metadata in RFC 3339 format.'
	Updated pulumi.StringPtrInput
}

func (HmacKeyState) ElementType

func (HmacKeyState) ElementType() reflect.Type

type LookupBucketArgs added in v5.24.0

type LookupBucketArgs struct {
	// The name of the bucket.
	Name string `pulumi:"name"`
}

A collection of arguments for invoking getBucket.

type LookupBucketObjectArgs

type LookupBucketObjectArgs struct {
	// The name of the containing bucket.
	Bucket *string `pulumi:"bucket"`
	// The name of the object.
	Name *string `pulumi:"name"`
}

A collection of arguments for invoking getBucketObject.

type LookupBucketObjectOutputArgs added in v5.21.0

type LookupBucketObjectOutputArgs struct {
	// The name of the containing bucket.
	Bucket pulumi.StringPtrInput `pulumi:"bucket"`
	// The name of the object.
	Name pulumi.StringPtrInput `pulumi:"name"`
}

A collection of arguments for invoking getBucketObject.

func (LookupBucketObjectOutputArgs) ElementType added in v5.21.0

type LookupBucketObjectResult

type LookupBucketObjectResult struct {
	Bucket *string `pulumi:"bucket"`
	// (Computed) [Cache-Control](https://tools.ietf.org/html/rfc7234#section-5.2)
	// directive to specify caching behavior of object data. If omitted and object is accessible to all anonymous users, the default will be public, max-age=3600
	CacheControl string `pulumi:"cacheControl"`
	Content      string `pulumi:"content"`
	// (Computed) [Content-Disposition](https://tools.ietf.org/html/rfc6266) of the object data.
	ContentDisposition string `pulumi:"contentDisposition"`
	// (Computed) [Content-Encoding](https://tools.ietf.org/html/rfc7231#section-3.1.2.2) of the object data.
	ContentEncoding string `pulumi:"contentEncoding"`
	// (Computed) [Content-Language](https://tools.ietf.org/html/rfc7231#section-3.1.3.2) of the object data.
	ContentLanguage string `pulumi:"contentLanguage"`
	// (Computed) [Content-Type](https://tools.ietf.org/html/rfc7231#section-3.1.1.5) of the object data. Defaults to "application/octet-stream" or "text/plain; charset=utf-8".
	ContentType string `pulumi:"contentType"`
	// (Computed) Base 64 CRC32 hash of the uploaded data.
	Crc32c              string                              `pulumi:"crc32c"`
	CustomerEncryptions []GetBucketObjectCustomerEncryption `pulumi:"customerEncryptions"`
	DetectMd5hash       string                              `pulumi:"detectMd5hash"`
	EventBasedHold      bool                                `pulumi:"eventBasedHold"`
	// The provider-assigned unique ID for this managed resource.
	Id         string `pulumi:"id"`
	KmsKeyName string `pulumi:"kmsKeyName"`
	// (Computed) Base 64 MD5 hash of the uploaded data.
	Md5hash string `pulumi:"md5hash"`
	// (Computed) A url reference to download this object.
	MediaLink  string            `pulumi:"mediaLink"`
	Metadata   map[string]string `pulumi:"metadata"`
	Name       *string           `pulumi:"name"`
	OutputName string            `pulumi:"outputName"`
	// (Computed) A url reference to this object.
	SelfLink string `pulumi:"selfLink"`
	Source   string `pulumi:"source"`
	// (Computed) The [StorageClass](https://cloud.google.com/storage/docs/storage-classes) of the new bucket object.
	// Supported values include: `MULTI_REGIONAL`, `REGIONAL`, `NEARLINE`, `COLDLINE`, `ARCHIVE`. If not provided, this defaults to the bucket's default
	// storage class or to a [standard](https://cloud.google.com/storage/docs/storage-classes#standard) class.
	StorageClass  string `pulumi:"storageClass"`
	TemporaryHold bool   `pulumi:"temporaryHold"`
}

A collection of values returned by getBucketObject.

func LookupBucketObject

func LookupBucketObject(ctx *pulumi.Context, args *LookupBucketObjectArgs, opts ...pulumi.InvokeOption) (*LookupBucketObjectResult, error)

Gets an existing object inside an existing bucket in Google Cloud Storage service (GCS). See [the official documentation](https://cloud.google.com/storage/docs/key-terms#objects) and [API](https://cloud.google.com/storage/docs/json_api/v1/objects).

## Example Usage

Example picture stored within a folder.

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/storage"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		opt0 := "image-store"
		opt1 := "folder/butterfly01.jpg"
		_, err := storage.LookupBucketObject(ctx, &storage.LookupBucketObjectArgs{
			Bucket: &opt0,
			Name:   &opt1,
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupBucketObjectResultOutput added in v5.21.0

type LookupBucketObjectResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getBucketObject.

func LookupBucketObjectOutput added in v5.21.0

func (LookupBucketObjectResultOutput) Bucket added in v5.21.0

func (LookupBucketObjectResultOutput) CacheControl added in v5.21.0

(Computed) [Cache-Control](https://tools.ietf.org/html/rfc7234#section-5.2) directive to specify caching behavior of object data. If omitted and object is accessible to all anonymous users, the default will be public, max-age=3600

func (LookupBucketObjectResultOutput) Content added in v5.21.0

func (LookupBucketObjectResultOutput) ContentDisposition added in v5.21.0

func (o LookupBucketObjectResultOutput) ContentDisposition() pulumi.StringOutput

(Computed) [Content-Disposition](https://tools.ietf.org/html/rfc6266) of the object data.

func (LookupBucketObjectResultOutput) ContentEncoding added in v5.21.0

(Computed) [Content-Encoding](https://tools.ietf.org/html/rfc7231#section-3.1.2.2) of the object data.

func (LookupBucketObjectResultOutput) ContentLanguage added in v5.21.0

(Computed) [Content-Language](https://tools.ietf.org/html/rfc7231#section-3.1.3.2) of the object data.

func (LookupBucketObjectResultOutput) ContentType added in v5.21.0

(Computed) [Content-Type](https://tools.ietf.org/html/rfc7231#section-3.1.1.5) of the object data. Defaults to "application/octet-stream" or "text/plain; charset=utf-8".

func (LookupBucketObjectResultOutput) Crc32c added in v5.21.0

(Computed) Base 64 CRC32 hash of the uploaded data.

func (LookupBucketObjectResultOutput) CustomerEncryptions added in v5.21.0

func (LookupBucketObjectResultOutput) DetectMd5hash added in v5.21.0

func (LookupBucketObjectResultOutput) ElementType added in v5.21.0

func (LookupBucketObjectResultOutput) EventBasedHold added in v5.21.0

func (LookupBucketObjectResultOutput) Id added in v5.21.0

The provider-assigned unique ID for this managed resource.

func (LookupBucketObjectResultOutput) KmsKeyName added in v5.21.0

func (LookupBucketObjectResultOutput) Md5hash added in v5.21.0

(Computed) Base 64 MD5 hash of the uploaded data.

(Computed) A url reference to download this object.

func (LookupBucketObjectResultOutput) Metadata added in v5.21.0

func (LookupBucketObjectResultOutput) Name added in v5.21.0

func (LookupBucketObjectResultOutput) OutputName added in v5.21.0

(Computed) A url reference to this object.

func (LookupBucketObjectResultOutput) Source added in v5.21.0

func (LookupBucketObjectResultOutput) StorageClass added in v5.21.0

(Computed) The [StorageClass](https://cloud.google.com/storage/docs/storage-classes) of the new bucket object. Supported values include: `MULTI_REGIONAL`, `REGIONAL`, `NEARLINE`, `COLDLINE`, `ARCHIVE`. If not provided, this defaults to the bucket's default storage class or to a [standard](https://cloud.google.com/storage/docs/storage-classes#standard) class.

func (LookupBucketObjectResultOutput) TemporaryHold added in v5.21.0

func (LookupBucketObjectResultOutput) ToLookupBucketObjectResultOutput added in v5.21.0

func (o LookupBucketObjectResultOutput) ToLookupBucketObjectResultOutput() LookupBucketObjectResultOutput

func (LookupBucketObjectResultOutput) ToLookupBucketObjectResultOutputWithContext added in v5.21.0

func (o LookupBucketObjectResultOutput) ToLookupBucketObjectResultOutputWithContext(ctx context.Context) LookupBucketObjectResultOutput

type LookupBucketOutputArgs added in v5.24.0

type LookupBucketOutputArgs struct {
	// The name of the bucket.
	Name pulumi.StringInput `pulumi:"name"`
}

A collection of arguments for invoking getBucket.

func (LookupBucketOutputArgs) ElementType added in v5.24.0

func (LookupBucketOutputArgs) ElementType() reflect.Type

type LookupBucketResult added in v5.24.0

type LookupBucketResult struct {
	BucketPolicyOnly      bool                  `pulumi:"bucketPolicyOnly"`
	Cors                  []GetBucketCor        `pulumi:"cors"`
	DefaultEventBasedHold bool                  `pulumi:"defaultEventBasedHold"`
	Encryptions           []GetBucketEncryption `pulumi:"encryptions"`
	ForceDestroy          bool                  `pulumi:"forceDestroy"`
	// The provider-assigned unique ID for this managed resource.
	Id                       string                     `pulumi:"id"`
	Labels                   map[string]string          `pulumi:"labels"`
	LifecycleRules           []GetBucketLifecycleRule   `pulumi:"lifecycleRules"`
	Location                 string                     `pulumi:"location"`
	Loggings                 []GetBucketLogging         `pulumi:"loggings"`
	Name                     string                     `pulumi:"name"`
	Project                  string                     `pulumi:"project"`
	RequesterPays            bool                       `pulumi:"requesterPays"`
	RetentionPolicies        []GetBucketRetentionPolicy `pulumi:"retentionPolicies"`
	SelfLink                 string                     `pulumi:"selfLink"`
	StorageClass             string                     `pulumi:"storageClass"`
	UniformBucketLevelAccess bool                       `pulumi:"uniformBucketLevelAccess"`
	Url                      string                     `pulumi:"url"`
	Versionings              []GetBucketVersioning      `pulumi:"versionings"`
	Websites                 []GetBucketWebsite         `pulumi:"websites"`
}

A collection of values returned by getBucket.

func LookupBucket added in v5.24.0

func LookupBucket(ctx *pulumi.Context, args *LookupBucketArgs, opts ...pulumi.InvokeOption) (*LookupBucketResult, error)

Gets an existing bucket in Google Cloud Storage service (GCS). See [the official documentation](https://cloud.google.com/storage/docs/key-terms#buckets) and [API](https://cloud.google.com/storage/docs/json_api/v1/buckets).

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/storage"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := storage.LookupBucket(ctx, &storage.LookupBucketArgs{
			Name: "my-bucket",
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupBucketResultOutput added in v5.24.0

type LookupBucketResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getBucket.

func LookupBucketOutput added in v5.24.0

func LookupBucketOutput(ctx *pulumi.Context, args LookupBucketOutputArgs, opts ...pulumi.InvokeOption) LookupBucketResultOutput

func (LookupBucketResultOutput) BucketPolicyOnly added in v5.24.0

func (o LookupBucketResultOutput) BucketPolicyOnly() pulumi.BoolOutput

func (LookupBucketResultOutput) Cors added in v5.24.0

func (LookupBucketResultOutput) DefaultEventBasedHold added in v5.24.0

func (o LookupBucketResultOutput) DefaultEventBasedHold() pulumi.BoolOutput

func (LookupBucketResultOutput) ElementType added in v5.24.0

func (LookupBucketResultOutput) ElementType() reflect.Type

func (LookupBucketResultOutput) Encryptions added in v5.24.0

func (LookupBucketResultOutput) ForceDestroy added in v5.24.0

func (o LookupBucketResultOutput) ForceDestroy() pulumi.BoolOutput

func (LookupBucketResultOutput) Id added in v5.24.0

The provider-assigned unique ID for this managed resource.

func (LookupBucketResultOutput) Labels added in v5.24.0

func (LookupBucketResultOutput) LifecycleRules added in v5.24.0

func (LookupBucketResultOutput) Location added in v5.24.0

func (LookupBucketResultOutput) Loggings added in v5.24.0

func (LookupBucketResultOutput) Name added in v5.24.0

func (LookupBucketResultOutput) Project added in v5.24.0

func (LookupBucketResultOutput) RequesterPays added in v5.24.0

func (o LookupBucketResultOutput) RequesterPays() pulumi.BoolOutput

func (LookupBucketResultOutput) RetentionPolicies added in v5.24.0

func (LookupBucketResultOutput) StorageClass added in v5.24.0

func (o LookupBucketResultOutput) StorageClass() pulumi.StringOutput

func (LookupBucketResultOutput) ToLookupBucketResultOutput added in v5.24.0

func (o LookupBucketResultOutput) ToLookupBucketResultOutput() LookupBucketResultOutput

func (LookupBucketResultOutput) ToLookupBucketResultOutputWithContext added in v5.24.0

func (o LookupBucketResultOutput) ToLookupBucketResultOutputWithContext(ctx context.Context) LookupBucketResultOutput

func (LookupBucketResultOutput) UniformBucketLevelAccess added in v5.24.0

func (o LookupBucketResultOutput) UniformBucketLevelAccess() pulumi.BoolOutput

func (LookupBucketResultOutput) Url added in v5.24.0

func (LookupBucketResultOutput) Versionings added in v5.24.0

func (LookupBucketResultOutput) Websites added in v5.24.0

type Notification

type Notification struct {
	pulumi.CustomResourceState

	// The name of the bucket.
	Bucket pulumi.StringOutput `pulumi:"bucket"`
	// A set of key/value attribute pairs to attach to each Cloud PubSub message published for this notification subscription
	CustomAttributes pulumi.StringMapOutput `pulumi:"customAttributes"`
	// List of event type filters for this notification config. If not specified, Cloud Storage will send notifications for all event types. The valid types are: `"OBJECT_FINALIZE"`, `"OBJECT_METADATA_UPDATE"`, `"OBJECT_DELETE"`, `"OBJECT_ARCHIVE"`
	EventTypes pulumi.StringArrayOutput `pulumi:"eventTypes"`
	// The ID of the created notification.
	NotificationId pulumi.StringOutput `pulumi:"notificationId"`
	// Specifies a prefix path filter for this notification config. Cloud Storage will only send notifications for objects in this bucket whose names begin with the specified prefix.
	ObjectNamePrefix pulumi.StringPtrOutput `pulumi:"objectNamePrefix"`
	// The desired content of the Payload. One of `"JSON_API_V1"` or `"NONE"`.
	PayloadFormat pulumi.StringOutput `pulumi:"payloadFormat"`
	// The URI of the created resource.
	SelfLink pulumi.StringOutput `pulumi:"selfLink"`
	// The Cloud PubSub topic to which this subscription publishes. Expects either the
	// topic name, assumed to belong to the default GCP provider project, or the project-level name,
	// i.e. `projects/my-gcp-project/topics/my-topic` or `my-topic`. If the project is not set in the provider,
	// you will need to use the project-level name.
	Topic pulumi.StringOutput `pulumi:"topic"`
}

Creates a new notification configuration on a specified bucket, establishing a flow of event notifications from GCS to a Cloud Pub/Sub topic.

For more information see

[the official documentation](https://cloud.google.com/storage/docs/pubsub-notifications) and [API](https://cloud.google.com/storage/docs/json_api/v1/notifications).

In order to enable notifications, a special Google Cloud Storage service account unique to the project must exist and have the IAM permission "projects.topics.publish" for a Cloud Pub/Sub topic in the project. This service account is not created automatically when a project is created. To ensure the service account exists and obtain its email address for use in granting the correct IAM permission, use the [`storage.getProjectServiceAccount`](https://www.terraform.io/docs/providers/google/d/storage_project_service_account.html) datasource's `emailAddress` value, and see below for an example of enabling notifications by granting the correct IAM permission. See [the notifications documentation](https://cloud.google.com/storage/docs/gsutil/commands/notification) for more details.

> **NOTE**: This resource can affect your storage IAM policy. If you are using this in the same config as your storage IAM policy resources, consider making this resource dependent on those IAM resources via `dependsOn`. This will safeguard against errors due to IAM race conditions.

## Example Usage

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/pubsub"
"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/storage"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		gcsAccount, err := storage.GetProjectServiceAccount(ctx, nil, nil)
		if err != nil {
			return err
		}
		topic, err := pubsub.NewTopic(ctx, "topic", nil)
		if err != nil {
			return err
		}
		binding, err := pubsub.NewTopicIAMBinding(ctx, "binding", &pubsub.TopicIAMBindingArgs{
			Topic: topic.ID(),
			Role:  pulumi.String("roles/pubsub.publisher"),
			Members: pulumi.StringArray{
				pulumi.String(fmt.Sprintf("%v%v", "serviceAccount:", gcsAccount.EmailAddress)),
			},
		})
		if err != nil {
			return err
		}
		bucket, err := storage.NewBucket(ctx, "bucket", nil)
		if err != nil {
			return err
		}
		_, err = storage.NewNotification(ctx, "notification", &storage.NotificationArgs{
			Bucket:        bucket.Name,
			PayloadFormat: pulumi.String("JSON_API_V1"),
			Topic:         topic.ID(),
			EventTypes: pulumi.StringArray{
				pulumi.String("OBJECT_FINALIZE"),
				pulumi.String("OBJECT_METADATA_UPDATE"),
			},
			CustomAttributes: pulumi.StringMap{
				"new-attribute": pulumi.String("new-attribute-value"),
			},
		}, pulumi.DependsOn([]pulumi.Resource{
			binding,
		}))
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Storage notifications can be imported using the notification `id` in the format `<bucket_name>/notificationConfigs/<id>` e.g.

```sh

$ pulumi import gcp:storage/notification:Notification notification default_bucket/notificationConfigs/102

```

func GetNotification

func GetNotification(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *NotificationState, opts ...pulumi.ResourceOption) (*Notification, error)

GetNotification gets an existing Notification resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewNotification

func NewNotification(ctx *pulumi.Context,
	name string, args *NotificationArgs, opts ...pulumi.ResourceOption) (*Notification, error)

NewNotification registers a new resource with the given unique name, arguments, and options.

func (*Notification) ElementType

func (*Notification) ElementType() reflect.Type

func (*Notification) ToNotificationOutput

func (i *Notification) ToNotificationOutput() NotificationOutput

func (*Notification) ToNotificationOutputWithContext

func (i *Notification) ToNotificationOutputWithContext(ctx context.Context) NotificationOutput

func (*Notification) ToNotificationPtrOutput

func (i *Notification) ToNotificationPtrOutput() NotificationPtrOutput

func (*Notification) ToNotificationPtrOutputWithContext

func (i *Notification) ToNotificationPtrOutputWithContext(ctx context.Context) NotificationPtrOutput

type NotificationArgs

type NotificationArgs struct {
	// The name of the bucket.
	Bucket pulumi.StringInput
	// A set of key/value attribute pairs to attach to each Cloud PubSub message published for this notification subscription
	CustomAttributes pulumi.StringMapInput
	// List of event type filters for this notification config. If not specified, Cloud Storage will send notifications for all event types. The valid types are: `"OBJECT_FINALIZE"`, `"OBJECT_METADATA_UPDATE"`, `"OBJECT_DELETE"`, `"OBJECT_ARCHIVE"`
	EventTypes pulumi.StringArrayInput
	// Specifies a prefix path filter for this notification config. Cloud Storage will only send notifications for objects in this bucket whose names begin with the specified prefix.
	ObjectNamePrefix pulumi.StringPtrInput
	// The desired content of the Payload. One of `"JSON_API_V1"` or `"NONE"`.
	PayloadFormat pulumi.StringInput
	// The Cloud PubSub topic to which this subscription publishes. Expects either the
	// topic name, assumed to belong to the default GCP provider project, or the project-level name,
	// i.e. `projects/my-gcp-project/topics/my-topic` or `my-topic`. If the project is not set in the provider,
	// you will need to use the project-level name.
	Topic pulumi.StringInput
}

The set of arguments for constructing a Notification resource.

func (NotificationArgs) ElementType

func (NotificationArgs) ElementType() reflect.Type

type NotificationArray

type NotificationArray []NotificationInput

func (NotificationArray) ElementType

func (NotificationArray) ElementType() reflect.Type

func (NotificationArray) ToNotificationArrayOutput

func (i NotificationArray) ToNotificationArrayOutput() NotificationArrayOutput

func (NotificationArray) ToNotificationArrayOutputWithContext

func (i NotificationArray) ToNotificationArrayOutputWithContext(ctx context.Context) NotificationArrayOutput

type NotificationArrayInput

type NotificationArrayInput interface {
	pulumi.Input

	ToNotificationArrayOutput() NotificationArrayOutput
	ToNotificationArrayOutputWithContext(context.Context) NotificationArrayOutput
}

NotificationArrayInput is an input type that accepts NotificationArray and NotificationArrayOutput values. You can construct a concrete instance of `NotificationArrayInput` via:

NotificationArray{ NotificationArgs{...} }

type NotificationArrayOutput

type NotificationArrayOutput struct{ *pulumi.OutputState }

func (NotificationArrayOutput) ElementType

func (NotificationArrayOutput) ElementType() reflect.Type

func (NotificationArrayOutput) Index

func (NotificationArrayOutput) ToNotificationArrayOutput

func (o NotificationArrayOutput) ToNotificationArrayOutput() NotificationArrayOutput

func (NotificationArrayOutput) ToNotificationArrayOutputWithContext

func (o NotificationArrayOutput) ToNotificationArrayOutputWithContext(ctx context.Context) NotificationArrayOutput

type NotificationInput

type NotificationInput interface {
	pulumi.Input

	ToNotificationOutput() NotificationOutput
	ToNotificationOutputWithContext(ctx context.Context) NotificationOutput
}

type NotificationMap

type NotificationMap map[string]NotificationInput

func (NotificationMap) ElementType

func (NotificationMap) ElementType() reflect.Type

func (NotificationMap) ToNotificationMapOutput

func (i NotificationMap) ToNotificationMapOutput() NotificationMapOutput

func (NotificationMap) ToNotificationMapOutputWithContext

func (i NotificationMap) ToNotificationMapOutputWithContext(ctx context.Context) NotificationMapOutput

type NotificationMapInput

type NotificationMapInput interface {
	pulumi.Input

	ToNotificationMapOutput() NotificationMapOutput
	ToNotificationMapOutputWithContext(context.Context) NotificationMapOutput
}

NotificationMapInput is an input type that accepts NotificationMap and NotificationMapOutput values. You can construct a concrete instance of `NotificationMapInput` via:

NotificationMap{ "key": NotificationArgs{...} }

type NotificationMapOutput

type NotificationMapOutput struct{ *pulumi.OutputState }

func (NotificationMapOutput) ElementType

func (NotificationMapOutput) ElementType() reflect.Type

func (NotificationMapOutput) MapIndex

func (NotificationMapOutput) ToNotificationMapOutput

func (o NotificationMapOutput) ToNotificationMapOutput() NotificationMapOutput

func (NotificationMapOutput) ToNotificationMapOutputWithContext

func (o NotificationMapOutput) ToNotificationMapOutputWithContext(ctx context.Context) NotificationMapOutput

type NotificationOutput

type NotificationOutput struct{ *pulumi.OutputState }

func (NotificationOutput) ElementType

func (NotificationOutput) ElementType() reflect.Type

func (NotificationOutput) ToNotificationOutput

func (o NotificationOutput) ToNotificationOutput() NotificationOutput

func (NotificationOutput) ToNotificationOutputWithContext

func (o NotificationOutput) ToNotificationOutputWithContext(ctx context.Context) NotificationOutput

func (NotificationOutput) ToNotificationPtrOutput

func (o NotificationOutput) ToNotificationPtrOutput() NotificationPtrOutput

func (NotificationOutput) ToNotificationPtrOutputWithContext

func (o NotificationOutput) ToNotificationPtrOutputWithContext(ctx context.Context) NotificationPtrOutput

type NotificationPtrInput

type NotificationPtrInput interface {
	pulumi.Input

	ToNotificationPtrOutput() NotificationPtrOutput
	ToNotificationPtrOutputWithContext(ctx context.Context) NotificationPtrOutput
}

type NotificationPtrOutput

type NotificationPtrOutput struct{ *pulumi.OutputState }

func (NotificationPtrOutput) Elem added in v5.21.0

func (NotificationPtrOutput) ElementType

func (NotificationPtrOutput) ElementType() reflect.Type

func (NotificationPtrOutput) ToNotificationPtrOutput

func (o NotificationPtrOutput) ToNotificationPtrOutput() NotificationPtrOutput

func (NotificationPtrOutput) ToNotificationPtrOutputWithContext

func (o NotificationPtrOutput) ToNotificationPtrOutputWithContext(ctx context.Context) NotificationPtrOutput

type NotificationState

type NotificationState struct {
	// The name of the bucket.
	Bucket pulumi.StringPtrInput
	// A set of key/value attribute pairs to attach to each Cloud PubSub message published for this notification subscription
	CustomAttributes pulumi.StringMapInput
	// List of event type filters for this notification config. If not specified, Cloud Storage will send notifications for all event types. The valid types are: `"OBJECT_FINALIZE"`, `"OBJECT_METADATA_UPDATE"`, `"OBJECT_DELETE"`, `"OBJECT_ARCHIVE"`
	EventTypes pulumi.StringArrayInput
	// The ID of the created notification.
	NotificationId pulumi.StringPtrInput
	// Specifies a prefix path filter for this notification config. Cloud Storage will only send notifications for objects in this bucket whose names begin with the specified prefix.
	ObjectNamePrefix pulumi.StringPtrInput
	// The desired content of the Payload. One of `"JSON_API_V1"` or `"NONE"`.
	PayloadFormat pulumi.StringPtrInput
	// The URI of the created resource.
	SelfLink pulumi.StringPtrInput
	// The Cloud PubSub topic to which this subscription publishes. Expects either the
	// topic name, assumed to belong to the default GCP provider project, or the project-level name,
	// i.e. `projects/my-gcp-project/topics/my-topic` or `my-topic`. If the project is not set in the provider,
	// you will need to use the project-level name.
	Topic pulumi.StringPtrInput
}

func (NotificationState) ElementType

func (NotificationState) ElementType() reflect.Type

type ObjectACL

type ObjectACL struct {
	pulumi.CustomResourceState

	// The name of the bucket the object is stored in.
	Bucket pulumi.StringOutput `pulumi:"bucket"`
	// The name of the object to apply the acl to.
	Object pulumi.StringOutput `pulumi:"object"`
	// The "canned" [predefined ACL](https://cloud.google.com/storage/docs/access-control#predefined-acl) to apply. Must be set if `roleEntity` is not.
	PredefinedAcl pulumi.StringPtrOutput `pulumi:"predefinedAcl"`
	// List of role/entity pairs in the form `ROLE:entity`. See [GCS Object ACL documentation](https://cloud.google.com/storage/docs/json_api/v1/objectAccessControls) for more details.
	// Must be set if `predefinedAcl` is not.
	RoleEntities pulumi.StringArrayOutput `pulumi:"roleEntities"`
}

Authoritatively manages the access control list (ACL) for an object in a Google Cloud Storage (GCS) bucket. Removing a `storage.ObjectACL` sets the acl to the `private` [predefined ACL](https://cloud.google.com/storage/docs/access-control#predefined-acl).

For more information see [the official documentation](https://cloud.google.com/storage/docs/access-control/lists) and [API](https://cloud.google.com/storage/docs/json_api/v1/objectAccessControls).

> Want fine-grained control over object ACLs? Use `storage.ObjectAccessControl` to control individual role entity pairs.

## Example Usage

Create an object ACL with one owner and one reader.

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/storage"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := storage.NewBucket(ctx, "image_store", &storage.BucketArgs{
			Location: pulumi.String("EU"),
		})
		if err != nil {
			return err
		}
		image, err := storage.NewBucketObject(ctx, "image", &storage.BucketObjectArgs{
			Bucket: image_store.Name,
			Source: pulumi.NewFileAsset("image1.jpg"),
		})
		if err != nil {
			return err
		}
		_, err = storage.NewObjectACL(ctx, "image_store_acl", &storage.ObjectACLArgs{
			Bucket: image_store.Name,
			Object: image.OutputName,
			RoleEntities: pulumi.StringArray{
				pulumi.String("OWNER:user-my.email@gmail.com"),
				pulumi.String("READER:group-mygroup"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

This resource does not support import.

func GetObjectACL

func GetObjectACL(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ObjectACLState, opts ...pulumi.ResourceOption) (*ObjectACL, error)

GetObjectACL gets an existing ObjectACL resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewObjectACL

func NewObjectACL(ctx *pulumi.Context,
	name string, args *ObjectACLArgs, opts ...pulumi.ResourceOption) (*ObjectACL, error)

NewObjectACL registers a new resource with the given unique name, arguments, and options.

func (*ObjectACL) ElementType

func (*ObjectACL) ElementType() reflect.Type

func (*ObjectACL) ToObjectACLOutput

func (i *ObjectACL) ToObjectACLOutput() ObjectACLOutput

func (*ObjectACL) ToObjectACLOutputWithContext

func (i *ObjectACL) ToObjectACLOutputWithContext(ctx context.Context) ObjectACLOutput

func (*ObjectACL) ToObjectACLPtrOutput

func (i *ObjectACL) ToObjectACLPtrOutput() ObjectACLPtrOutput

func (*ObjectACL) ToObjectACLPtrOutputWithContext

func (i *ObjectACL) ToObjectACLPtrOutputWithContext(ctx context.Context) ObjectACLPtrOutput

type ObjectACLArgs

type ObjectACLArgs struct {
	// The name of the bucket the object is stored in.
	Bucket pulumi.StringInput
	// The name of the object to apply the acl to.
	Object pulumi.StringInput
	// The "canned" [predefined ACL](https://cloud.google.com/storage/docs/access-control#predefined-acl) to apply. Must be set if `roleEntity` is not.
	PredefinedAcl pulumi.StringPtrInput
	// List of role/entity pairs in the form `ROLE:entity`. See [GCS Object ACL documentation](https://cloud.google.com/storage/docs/json_api/v1/objectAccessControls) for more details.
	// Must be set if `predefinedAcl` is not.
	RoleEntities pulumi.StringArrayInput
}

The set of arguments for constructing a ObjectACL resource.

func (ObjectACLArgs) ElementType

func (ObjectACLArgs) ElementType() reflect.Type

type ObjectACLArray

type ObjectACLArray []ObjectACLInput

func (ObjectACLArray) ElementType

func (ObjectACLArray) ElementType() reflect.Type

func (ObjectACLArray) ToObjectACLArrayOutput

func (i ObjectACLArray) ToObjectACLArrayOutput() ObjectACLArrayOutput

func (ObjectACLArray) ToObjectACLArrayOutputWithContext

func (i ObjectACLArray) ToObjectACLArrayOutputWithContext(ctx context.Context) ObjectACLArrayOutput

type ObjectACLArrayInput

type ObjectACLArrayInput interface {
	pulumi.Input

	ToObjectACLArrayOutput() ObjectACLArrayOutput
	ToObjectACLArrayOutputWithContext(context.Context) ObjectACLArrayOutput
}

ObjectACLArrayInput is an input type that accepts ObjectACLArray and ObjectACLArrayOutput values. You can construct a concrete instance of `ObjectACLArrayInput` via:

ObjectACLArray{ ObjectACLArgs{...} }

type ObjectACLArrayOutput

type ObjectACLArrayOutput struct{ *pulumi.OutputState }

func (ObjectACLArrayOutput) ElementType

func (ObjectACLArrayOutput) ElementType() reflect.Type

func (ObjectACLArrayOutput) Index

func (ObjectACLArrayOutput) ToObjectACLArrayOutput

func (o ObjectACLArrayOutput) ToObjectACLArrayOutput() ObjectACLArrayOutput

func (ObjectACLArrayOutput) ToObjectACLArrayOutputWithContext

func (o ObjectACLArrayOutput) ToObjectACLArrayOutputWithContext(ctx context.Context) ObjectACLArrayOutput

type ObjectACLInput

type ObjectACLInput interface {
	pulumi.Input

	ToObjectACLOutput() ObjectACLOutput
	ToObjectACLOutputWithContext(ctx context.Context) ObjectACLOutput
}

type ObjectACLMap

type ObjectACLMap map[string]ObjectACLInput

func (ObjectACLMap) ElementType

func (ObjectACLMap) ElementType() reflect.Type

func (ObjectACLMap) ToObjectACLMapOutput

func (i ObjectACLMap) ToObjectACLMapOutput() ObjectACLMapOutput

func (ObjectACLMap) ToObjectACLMapOutputWithContext

func (i ObjectACLMap) ToObjectACLMapOutputWithContext(ctx context.Context) ObjectACLMapOutput

type ObjectACLMapInput

type ObjectACLMapInput interface {
	pulumi.Input

	ToObjectACLMapOutput() ObjectACLMapOutput
	ToObjectACLMapOutputWithContext(context.Context) ObjectACLMapOutput
}

ObjectACLMapInput is an input type that accepts ObjectACLMap and ObjectACLMapOutput values. You can construct a concrete instance of `ObjectACLMapInput` via:

ObjectACLMap{ "key": ObjectACLArgs{...} }

type ObjectACLMapOutput

type ObjectACLMapOutput struct{ *pulumi.OutputState }

func (ObjectACLMapOutput) ElementType

func (ObjectACLMapOutput) ElementType() reflect.Type

func (ObjectACLMapOutput) MapIndex

func (ObjectACLMapOutput) ToObjectACLMapOutput

func (o ObjectACLMapOutput) ToObjectACLMapOutput() ObjectACLMapOutput

func (ObjectACLMapOutput) ToObjectACLMapOutputWithContext

func (o ObjectACLMapOutput) ToObjectACLMapOutputWithContext(ctx context.Context) ObjectACLMapOutput

type ObjectACLOutput

type ObjectACLOutput struct{ *pulumi.OutputState }

func (ObjectACLOutput) ElementType

func (ObjectACLOutput) ElementType() reflect.Type

func (ObjectACLOutput) ToObjectACLOutput

func (o ObjectACLOutput) ToObjectACLOutput() ObjectACLOutput

func (ObjectACLOutput) ToObjectACLOutputWithContext

func (o ObjectACLOutput) ToObjectACLOutputWithContext(ctx context.Context) ObjectACLOutput

func (ObjectACLOutput) ToObjectACLPtrOutput

func (o ObjectACLOutput) ToObjectACLPtrOutput() ObjectACLPtrOutput

func (ObjectACLOutput) ToObjectACLPtrOutputWithContext

func (o ObjectACLOutput) ToObjectACLPtrOutputWithContext(ctx context.Context) ObjectACLPtrOutput

type ObjectACLPtrInput

type ObjectACLPtrInput interface {
	pulumi.Input

	ToObjectACLPtrOutput() ObjectACLPtrOutput
	ToObjectACLPtrOutputWithContext(ctx context.Context) ObjectACLPtrOutput
}

type ObjectACLPtrOutput

type ObjectACLPtrOutput struct{ *pulumi.OutputState }

func (ObjectACLPtrOutput) Elem added in v5.21.0

func (ObjectACLPtrOutput) ElementType

func (ObjectACLPtrOutput) ElementType() reflect.Type

func (ObjectACLPtrOutput) ToObjectACLPtrOutput

func (o ObjectACLPtrOutput) ToObjectACLPtrOutput() ObjectACLPtrOutput

func (ObjectACLPtrOutput) ToObjectACLPtrOutputWithContext

func (o ObjectACLPtrOutput) ToObjectACLPtrOutputWithContext(ctx context.Context) ObjectACLPtrOutput

type ObjectACLState

type ObjectACLState struct {
	// The name of the bucket the object is stored in.
	Bucket pulumi.StringPtrInput
	// The name of the object to apply the acl to.
	Object pulumi.StringPtrInput
	// The "canned" [predefined ACL](https://cloud.google.com/storage/docs/access-control#predefined-acl) to apply. Must be set if `roleEntity` is not.
	PredefinedAcl pulumi.StringPtrInput
	// List of role/entity pairs in the form `ROLE:entity`. See [GCS Object ACL documentation](https://cloud.google.com/storage/docs/json_api/v1/objectAccessControls) for more details.
	// Must be set if `predefinedAcl` is not.
	RoleEntities pulumi.StringArrayInput
}

func (ObjectACLState) ElementType

func (ObjectACLState) ElementType() reflect.Type

type ObjectAccessControl

type ObjectAccessControl struct {
	pulumi.CustomResourceState

	// The name of the bucket.
	Bucket pulumi.StringOutput `pulumi:"bucket"`
	// The domain associated with the entity.
	Domain pulumi.StringOutput `pulumi:"domain"`
	// The email address associated with the entity.
	Email pulumi.StringOutput `pulumi:"email"`
	// The entity holding the permission, in one of the following forms:
	// * user-{{userId}}
	// * user-{{email}} (such as "user-liz@example.com")
	// * group-{{groupId}}
	// * group-{{email}} (such as "group-example@googlegroups.com")
	// * domain-{{domain}} (such as "domain-example.com")
	// * project-team-{{projectId}}
	// * allUsers
	// * allAuthenticatedUsers
	Entity pulumi.StringOutput `pulumi:"entity"`
	// The ID for the entity
	EntityId pulumi.StringOutput `pulumi:"entityId"`
	// The content generation of the object, if applied to an object.
	Generation pulumi.IntOutput `pulumi:"generation"`
	// The name of the object to apply the access control to.
	Object pulumi.StringOutput `pulumi:"object"`
	// The project team associated with the entity
	ProjectTeams ObjectAccessControlProjectTeamArrayOutput `pulumi:"projectTeams"`
	// The access permission for the entity.
	// Possible values are `OWNER` and `READER`.
	Role pulumi.StringOutput `pulumi:"role"`
}

The ObjectAccessControls resources represent the Access Control Lists (ACLs) for objects within Google Cloud Storage. ACLs let you specify who has access to your data and to what extent.

There are two roles that can be assigned to an entity:

READERs can get an object, though the acl property will not be revealed. OWNERs are READERs, and they can get the acl property, update an object, and call all objectAccessControls methods on the object. The owner of an object is always an OWNER. For more information, see Access Control, with the caveat that this API uses READER and OWNER instead of READ and FULL_CONTROL.

To get more information about ObjectAccessControl, see:

* [API documentation](https://cloud.google.com/storage/docs/json_api/v1/objectAccessControls) * How-to Guides

## Example Usage ### Storage Object Access Control Public Object

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/storage"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		bucket, err := storage.NewBucket(ctx, "bucket", nil)
		if err != nil {
			return err
		}
		object, err := storage.NewBucketObject(ctx, "object", &storage.BucketObjectArgs{
			Bucket: bucket.Name,
			Source: pulumi.NewFileAsset("../static/img/header-logo.png"),
		})
		if err != nil {
			return err
		}
		_, err = storage.NewObjectAccessControl(ctx, "publicRule", &storage.ObjectAccessControlArgs{
			Object: object.OutputName,
			Bucket: bucket.Name,
			Role:   pulumi.String("READER"),
			Entity: pulumi.String("allUsers"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

ObjectAccessControl can be imported using any of these accepted formats

```sh

$ pulumi import gcp:storage/objectAccessControl:ObjectAccessControl default {{bucket}}/{{object}}/{{entity}}

```

func GetObjectAccessControl

func GetObjectAccessControl(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ObjectAccessControlState, opts ...pulumi.ResourceOption) (*ObjectAccessControl, error)

GetObjectAccessControl gets an existing ObjectAccessControl resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewObjectAccessControl

func NewObjectAccessControl(ctx *pulumi.Context,
	name string, args *ObjectAccessControlArgs, opts ...pulumi.ResourceOption) (*ObjectAccessControl, error)

NewObjectAccessControl registers a new resource with the given unique name, arguments, and options.

func (*ObjectAccessControl) ElementType

func (*ObjectAccessControl) ElementType() reflect.Type

func (*ObjectAccessControl) ToObjectAccessControlOutput

func (i *ObjectAccessControl) ToObjectAccessControlOutput() ObjectAccessControlOutput

func (*ObjectAccessControl) ToObjectAccessControlOutputWithContext

func (i *ObjectAccessControl) ToObjectAccessControlOutputWithContext(ctx context.Context) ObjectAccessControlOutput

func (*ObjectAccessControl) ToObjectAccessControlPtrOutput

func (i *ObjectAccessControl) ToObjectAccessControlPtrOutput() ObjectAccessControlPtrOutput

func (*ObjectAccessControl) ToObjectAccessControlPtrOutputWithContext

func (i *ObjectAccessControl) ToObjectAccessControlPtrOutputWithContext(ctx context.Context) ObjectAccessControlPtrOutput

type ObjectAccessControlArgs

type ObjectAccessControlArgs struct {
	// The name of the bucket.
	Bucket pulumi.StringInput
	// The entity holding the permission, in one of the following forms:
	// * user-{{userId}}
	// * user-{{email}} (such as "user-liz@example.com")
	// * group-{{groupId}}
	// * group-{{email}} (such as "group-example@googlegroups.com")
	// * domain-{{domain}} (such as "domain-example.com")
	// * project-team-{{projectId}}
	// * allUsers
	// * allAuthenticatedUsers
	Entity pulumi.StringInput
	// The name of the object to apply the access control to.
	Object pulumi.StringInput
	// The access permission for the entity.
	// Possible values are `OWNER` and `READER`.
	Role pulumi.StringInput
}

The set of arguments for constructing a ObjectAccessControl resource.

func (ObjectAccessControlArgs) ElementType

func (ObjectAccessControlArgs) ElementType() reflect.Type

type ObjectAccessControlArray

type ObjectAccessControlArray []ObjectAccessControlInput

func (ObjectAccessControlArray) ElementType

func (ObjectAccessControlArray) ElementType() reflect.Type

func (ObjectAccessControlArray) ToObjectAccessControlArrayOutput

func (i ObjectAccessControlArray) ToObjectAccessControlArrayOutput() ObjectAccessControlArrayOutput

func (ObjectAccessControlArray) ToObjectAccessControlArrayOutputWithContext

func (i ObjectAccessControlArray) ToObjectAccessControlArrayOutputWithContext(ctx context.Context) ObjectAccessControlArrayOutput

type ObjectAccessControlArrayInput

type ObjectAccessControlArrayInput interface {
	pulumi.Input

	ToObjectAccessControlArrayOutput() ObjectAccessControlArrayOutput
	ToObjectAccessControlArrayOutputWithContext(context.Context) ObjectAccessControlArrayOutput
}

ObjectAccessControlArrayInput is an input type that accepts ObjectAccessControlArray and ObjectAccessControlArrayOutput values. You can construct a concrete instance of `ObjectAccessControlArrayInput` via:

ObjectAccessControlArray{ ObjectAccessControlArgs{...} }

type ObjectAccessControlArrayOutput

type ObjectAccessControlArrayOutput struct{ *pulumi.OutputState }

func (ObjectAccessControlArrayOutput) ElementType

func (ObjectAccessControlArrayOutput) Index

func (ObjectAccessControlArrayOutput) ToObjectAccessControlArrayOutput

func (o ObjectAccessControlArrayOutput) ToObjectAccessControlArrayOutput() ObjectAccessControlArrayOutput

func (ObjectAccessControlArrayOutput) ToObjectAccessControlArrayOutputWithContext

func (o ObjectAccessControlArrayOutput) ToObjectAccessControlArrayOutputWithContext(ctx context.Context) ObjectAccessControlArrayOutput

type ObjectAccessControlInput

type ObjectAccessControlInput interface {
	pulumi.Input

	ToObjectAccessControlOutput() ObjectAccessControlOutput
	ToObjectAccessControlOutputWithContext(ctx context.Context) ObjectAccessControlOutput
}

type ObjectAccessControlMap

type ObjectAccessControlMap map[string]ObjectAccessControlInput

func (ObjectAccessControlMap) ElementType

func (ObjectAccessControlMap) ElementType() reflect.Type

func (ObjectAccessControlMap) ToObjectAccessControlMapOutput

func (i ObjectAccessControlMap) ToObjectAccessControlMapOutput() ObjectAccessControlMapOutput

func (ObjectAccessControlMap) ToObjectAccessControlMapOutputWithContext

func (i ObjectAccessControlMap) ToObjectAccessControlMapOutputWithContext(ctx context.Context) ObjectAccessControlMapOutput

type ObjectAccessControlMapInput

type ObjectAccessControlMapInput interface {
	pulumi.Input

	ToObjectAccessControlMapOutput() ObjectAccessControlMapOutput
	ToObjectAccessControlMapOutputWithContext(context.Context) ObjectAccessControlMapOutput
}

ObjectAccessControlMapInput is an input type that accepts ObjectAccessControlMap and ObjectAccessControlMapOutput values. You can construct a concrete instance of `ObjectAccessControlMapInput` via:

ObjectAccessControlMap{ "key": ObjectAccessControlArgs{...} }

type ObjectAccessControlMapOutput

type ObjectAccessControlMapOutput struct{ *pulumi.OutputState }

func (ObjectAccessControlMapOutput) ElementType

func (ObjectAccessControlMapOutput) MapIndex

func (ObjectAccessControlMapOutput) ToObjectAccessControlMapOutput

func (o ObjectAccessControlMapOutput) ToObjectAccessControlMapOutput() ObjectAccessControlMapOutput

func (ObjectAccessControlMapOutput) ToObjectAccessControlMapOutputWithContext

func (o ObjectAccessControlMapOutput) ToObjectAccessControlMapOutputWithContext(ctx context.Context) ObjectAccessControlMapOutput

type ObjectAccessControlOutput

type ObjectAccessControlOutput struct{ *pulumi.OutputState }

func (ObjectAccessControlOutput) ElementType

func (ObjectAccessControlOutput) ElementType() reflect.Type

func (ObjectAccessControlOutput) ToObjectAccessControlOutput

func (o ObjectAccessControlOutput) ToObjectAccessControlOutput() ObjectAccessControlOutput

func (ObjectAccessControlOutput) ToObjectAccessControlOutputWithContext

func (o ObjectAccessControlOutput) ToObjectAccessControlOutputWithContext(ctx context.Context) ObjectAccessControlOutput

func (ObjectAccessControlOutput) ToObjectAccessControlPtrOutput

func (o ObjectAccessControlOutput) ToObjectAccessControlPtrOutput() ObjectAccessControlPtrOutput

func (ObjectAccessControlOutput) ToObjectAccessControlPtrOutputWithContext

func (o ObjectAccessControlOutput) ToObjectAccessControlPtrOutputWithContext(ctx context.Context) ObjectAccessControlPtrOutput

type ObjectAccessControlProjectTeam

type ObjectAccessControlProjectTeam struct {
	ProjectNumber *string `pulumi:"projectNumber"`
	Team          *string `pulumi:"team"`
}

type ObjectAccessControlProjectTeamArgs

type ObjectAccessControlProjectTeamArgs struct {
	ProjectNumber pulumi.StringPtrInput `pulumi:"projectNumber"`
	Team          pulumi.StringPtrInput `pulumi:"team"`
}

func (ObjectAccessControlProjectTeamArgs) ElementType

func (ObjectAccessControlProjectTeamArgs) ToObjectAccessControlProjectTeamOutput

func (i ObjectAccessControlProjectTeamArgs) ToObjectAccessControlProjectTeamOutput() ObjectAccessControlProjectTeamOutput

func (ObjectAccessControlProjectTeamArgs) ToObjectAccessControlProjectTeamOutputWithContext

func (i ObjectAccessControlProjectTeamArgs) ToObjectAccessControlProjectTeamOutputWithContext(ctx context.Context) ObjectAccessControlProjectTeamOutput

type ObjectAccessControlProjectTeamArray

type ObjectAccessControlProjectTeamArray []ObjectAccessControlProjectTeamInput

func (ObjectAccessControlProjectTeamArray) ElementType

func (ObjectAccessControlProjectTeamArray) ToObjectAccessControlProjectTeamArrayOutput

func (i ObjectAccessControlProjectTeamArray) ToObjectAccessControlProjectTeamArrayOutput() ObjectAccessControlProjectTeamArrayOutput

func (ObjectAccessControlProjectTeamArray) ToObjectAccessControlProjectTeamArrayOutputWithContext

func (i ObjectAccessControlProjectTeamArray) ToObjectAccessControlProjectTeamArrayOutputWithContext(ctx context.Context) ObjectAccessControlProjectTeamArrayOutput

type ObjectAccessControlProjectTeamArrayInput

type ObjectAccessControlProjectTeamArrayInput interface {
	pulumi.Input

	ToObjectAccessControlProjectTeamArrayOutput() ObjectAccessControlProjectTeamArrayOutput
	ToObjectAccessControlProjectTeamArrayOutputWithContext(context.Context) ObjectAccessControlProjectTeamArrayOutput
}

ObjectAccessControlProjectTeamArrayInput is an input type that accepts ObjectAccessControlProjectTeamArray and ObjectAccessControlProjectTeamArrayOutput values. You can construct a concrete instance of `ObjectAccessControlProjectTeamArrayInput` via:

ObjectAccessControlProjectTeamArray{ ObjectAccessControlProjectTeamArgs{...} }

type ObjectAccessControlProjectTeamArrayOutput

type ObjectAccessControlProjectTeamArrayOutput struct{ *pulumi.OutputState }

func (ObjectAccessControlProjectTeamArrayOutput) ElementType

func (ObjectAccessControlProjectTeamArrayOutput) Index

func (ObjectAccessControlProjectTeamArrayOutput) ToObjectAccessControlProjectTeamArrayOutput

func (o ObjectAccessControlProjectTeamArrayOutput) ToObjectAccessControlProjectTeamArrayOutput() ObjectAccessControlProjectTeamArrayOutput

func (ObjectAccessControlProjectTeamArrayOutput) ToObjectAccessControlProjectTeamArrayOutputWithContext

func (o ObjectAccessControlProjectTeamArrayOutput) ToObjectAccessControlProjectTeamArrayOutputWithContext(ctx context.Context) ObjectAccessControlProjectTeamArrayOutput

type ObjectAccessControlProjectTeamInput

type ObjectAccessControlProjectTeamInput interface {
	pulumi.Input

	ToObjectAccessControlProjectTeamOutput() ObjectAccessControlProjectTeamOutput
	ToObjectAccessControlProjectTeamOutputWithContext(context.Context) ObjectAccessControlProjectTeamOutput
}

ObjectAccessControlProjectTeamInput is an input type that accepts ObjectAccessControlProjectTeamArgs and ObjectAccessControlProjectTeamOutput values. You can construct a concrete instance of `ObjectAccessControlProjectTeamInput` via:

ObjectAccessControlProjectTeamArgs{...}

type ObjectAccessControlProjectTeamOutput

type ObjectAccessControlProjectTeamOutput struct{ *pulumi.OutputState }

func (ObjectAccessControlProjectTeamOutput) ElementType

func (ObjectAccessControlProjectTeamOutput) ProjectNumber

func (ObjectAccessControlProjectTeamOutput) Team

func (ObjectAccessControlProjectTeamOutput) ToObjectAccessControlProjectTeamOutput

func (o ObjectAccessControlProjectTeamOutput) ToObjectAccessControlProjectTeamOutput() ObjectAccessControlProjectTeamOutput

func (ObjectAccessControlProjectTeamOutput) ToObjectAccessControlProjectTeamOutputWithContext

func (o ObjectAccessControlProjectTeamOutput) ToObjectAccessControlProjectTeamOutputWithContext(ctx context.Context) ObjectAccessControlProjectTeamOutput

type ObjectAccessControlPtrInput

type ObjectAccessControlPtrInput interface {
	pulumi.Input

	ToObjectAccessControlPtrOutput() ObjectAccessControlPtrOutput
	ToObjectAccessControlPtrOutputWithContext(ctx context.Context) ObjectAccessControlPtrOutput
}

type ObjectAccessControlPtrOutput

type ObjectAccessControlPtrOutput struct{ *pulumi.OutputState }

func (ObjectAccessControlPtrOutput) Elem added in v5.21.0

func (ObjectAccessControlPtrOutput) ElementType

func (ObjectAccessControlPtrOutput) ToObjectAccessControlPtrOutput

func (o ObjectAccessControlPtrOutput) ToObjectAccessControlPtrOutput() ObjectAccessControlPtrOutput

func (ObjectAccessControlPtrOutput) ToObjectAccessControlPtrOutputWithContext

func (o ObjectAccessControlPtrOutput) ToObjectAccessControlPtrOutputWithContext(ctx context.Context) ObjectAccessControlPtrOutput

type ObjectAccessControlState

type ObjectAccessControlState struct {
	// The name of the bucket.
	Bucket pulumi.StringPtrInput
	// The domain associated with the entity.
	Domain pulumi.StringPtrInput
	// The email address associated with the entity.
	Email pulumi.StringPtrInput
	// The entity holding the permission, in one of the following forms:
	// * user-{{userId}}
	// * user-{{email}} (such as "user-liz@example.com")
	// * group-{{groupId}}
	// * group-{{email}} (such as "group-example@googlegroups.com")
	// * domain-{{domain}} (such as "domain-example.com")
	// * project-team-{{projectId}}
	// * allUsers
	// * allAuthenticatedUsers
	Entity pulumi.StringPtrInput
	// The ID for the entity
	EntityId pulumi.StringPtrInput
	// The content generation of the object, if applied to an object.
	Generation pulumi.IntPtrInput
	// The name of the object to apply the access control to.
	Object pulumi.StringPtrInput
	// The project team associated with the entity
	ProjectTeams ObjectAccessControlProjectTeamArrayInput
	// The access permission for the entity.
	// Possible values are `OWNER` and `READER`.
	Role pulumi.StringPtrInput
}

func (ObjectAccessControlState) ElementType

func (ObjectAccessControlState) ElementType() reflect.Type

type TransferJob

type TransferJob struct {
	pulumi.CustomResourceState

	// When the Transfer Job was created.
	CreationTime pulumi.StringOutput `pulumi:"creationTime"`
	// When the Transfer Job was deleted.
	DeletionTime pulumi.StringOutput `pulumi:"deletionTime"`
	// Unique description to identify the Transfer Job.
	Description pulumi.StringOutput `pulumi:"description"`
	// When the Transfer Job was last modified.
	LastModificationTime pulumi.StringOutput `pulumi:"lastModificationTime"`
	// The name of the Transfer Job.
	Name pulumi.StringOutput `pulumi:"name"`
	// The project in which the resource belongs. If it
	// is not provided, the provider project is used.
	Project pulumi.StringOutput `pulumi:"project"`
	// Schedule specification defining when the Transfer Job should be scheduled to start, end and what time to run. Structure documented below.
	Schedule TransferJobScheduleOutput `pulumi:"schedule"`
	// Status of the job. Default: `ENABLED`. **NOTE: The effect of the new job status takes place during a subsequent job run. For example, if you change the job status from ENABLED to DISABLED, and an operation spawned by the transfer is running, the status change would not affect the current operation.**
	Status pulumi.StringPtrOutput `pulumi:"status"`
	// Transfer specification. Structure documented below.
	TransferSpec TransferJobTransferSpecOutput `pulumi:"transferSpec"`
}

Creates a new Transfer Job in Google Cloud Storage Transfer.

To get more information about Google Cloud Storage Transfer, see:

* [Overview](https://cloud.google.com/storage-transfer/docs/overview) * [API documentation](https://cloud.google.com/storage-transfer/docs/reference/rest/v1/transferJobs) * How-to Guides

## Example Usage

Example creating a nightly Transfer Job from an AWS S3 Bucket to a GCS bucket.

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/storage"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		opt0 := _var.Project
		_default, err := storage.GetTransferProjectServieAccount(ctx, &storage.GetTransferProjectServieAccountArgs{
			Project: &opt0,
		}, nil)
		if err != nil {
			return err
		}
		_, err = storage.NewBucket(ctx, "s3_backup_bucketBucket", &storage.BucketArgs{
			StorageClass: pulumi.String("NEARLINE"),
			Project:      pulumi.Any(_var.Project),
		})
		if err != nil {
			return err
		}
		_, err = storage.NewBucketIAMMember(ctx, "s3_backup_bucketBucketIAMMember", &storage.BucketIAMMemberArgs{
			Bucket: s3_backup_bucketBucket.Name,
			Role:   pulumi.String("roles/storage.admin"),
			Member: pulumi.String(fmt.Sprintf("%v%v", "serviceAccount:", _default.Email)),
		}, pulumi.DependsOn([]pulumi.Resource{
			s3_backup_bucketBucket,
		}))
		if err != nil {
			return err
		}
		_, err = storage.NewTransferJob(ctx, "s3_bucket_nightly_backup", &storage.TransferJobArgs{
			Description: pulumi.String("Nightly backup of S3 bucket"),
			Project:     pulumi.Any(_var.Project),
			TransferSpec: &storage.TransferJobTransferSpecArgs{
				ObjectConditions: &storage.TransferJobTransferSpecObjectConditionsArgs{
					MaxTimeElapsedSinceLastModification: pulumi.String("600s"),
					ExcludePrefixes: pulumi.StringArray{
						pulumi.String("requests.gz"),
					},
				},
				TransferOptions: &storage.TransferJobTransferSpecTransferOptionsArgs{
					DeleteObjectsUniqueInSink: pulumi.Bool(false),
				},
				AwsS3DataSource: &storage.TransferJobTransferSpecAwsS3DataSourceArgs{
					BucketName: pulumi.Any(_var.Aws_s3_bucket),
					AwsAccessKey: &storage.TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyArgs{
						AccessKeyId:     pulumi.Any(_var.Aws_access_key),
						SecretAccessKey: pulumi.Any(_var.Aws_secret_key),
					},
				},
				GcsDataSink: &storage.TransferJobTransferSpecGcsDataSinkArgs{
					BucketName: s3_backup_bucketBucket.Name,
					Path:       pulumi.String("foo/bar/"),
				},
			},
			Schedule: &storage.TransferJobScheduleArgs{
				ScheduleStartDate: &storage.TransferJobScheduleScheduleStartDateArgs{
					Year:  pulumi.Int(2018),
					Month: pulumi.Int(10),
					Day:   pulumi.Int(1),
				},
				ScheduleEndDate: &storage.TransferJobScheduleScheduleEndDateArgs{
					Year:  pulumi.Int(2019),
					Month: pulumi.Int(1),
					Day:   pulumi.Int(15),
				},
				StartTimeOfDay: &storage.TransferJobScheduleStartTimeOfDayArgs{
					Hours:   pulumi.Int(23),
					Minutes: pulumi.Int(30),
					Seconds: pulumi.Int(0),
					Nanos:   pulumi.Int(0),
				},
			},
		}, pulumi.DependsOn([]pulumi.Resource{
			s3_backup_bucketBucketIAMMember,
		}))
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Storage buckets can be imported using the Transfer Job's `project` and `name` without the `transferJob/` prefix, e.g.

```sh

$ pulumi import gcp:storage/transferJob:TransferJob nightly-backup-transfer-job my-project-1asd32/8422144862922355674

```

func GetTransferJob

func GetTransferJob(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *TransferJobState, opts ...pulumi.ResourceOption) (*TransferJob, error)

GetTransferJob gets an existing TransferJob resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewTransferJob

func NewTransferJob(ctx *pulumi.Context,
	name string, args *TransferJobArgs, opts ...pulumi.ResourceOption) (*TransferJob, error)

NewTransferJob registers a new resource with the given unique name, arguments, and options.

func (*TransferJob) ElementType

func (*TransferJob) ElementType() reflect.Type

func (*TransferJob) ToTransferJobOutput

func (i *TransferJob) ToTransferJobOutput() TransferJobOutput

func (*TransferJob) ToTransferJobOutputWithContext

func (i *TransferJob) ToTransferJobOutputWithContext(ctx context.Context) TransferJobOutput

func (*TransferJob) ToTransferJobPtrOutput

func (i *TransferJob) ToTransferJobPtrOutput() TransferJobPtrOutput

func (*TransferJob) ToTransferJobPtrOutputWithContext

func (i *TransferJob) ToTransferJobPtrOutputWithContext(ctx context.Context) TransferJobPtrOutput

type TransferJobArgs

type TransferJobArgs struct {
	// Unique description to identify the Transfer Job.
	Description pulumi.StringInput
	// The project in which the resource belongs. If it
	// is not provided, the provider project is used.
	Project pulumi.StringPtrInput
	// Schedule specification defining when the Transfer Job should be scheduled to start, end and what time to run. Structure documented below.
	Schedule TransferJobScheduleInput
	// Status of the job. Default: `ENABLED`. **NOTE: The effect of the new job status takes place during a subsequent job run. For example, if you change the job status from ENABLED to DISABLED, and an operation spawned by the transfer is running, the status change would not affect the current operation.**
	Status pulumi.StringPtrInput
	// Transfer specification. Structure documented below.
	TransferSpec TransferJobTransferSpecInput
}

The set of arguments for constructing a TransferJob resource.

func (TransferJobArgs) ElementType

func (TransferJobArgs) ElementType() reflect.Type

type TransferJobArray

type TransferJobArray []TransferJobInput

func (TransferJobArray) ElementType

func (TransferJobArray) ElementType() reflect.Type

func (TransferJobArray) ToTransferJobArrayOutput

func (i TransferJobArray) ToTransferJobArrayOutput() TransferJobArrayOutput

func (TransferJobArray) ToTransferJobArrayOutputWithContext

func (i TransferJobArray) ToTransferJobArrayOutputWithContext(ctx context.Context) TransferJobArrayOutput

type TransferJobArrayInput

type TransferJobArrayInput interface {
	pulumi.Input

	ToTransferJobArrayOutput() TransferJobArrayOutput
	ToTransferJobArrayOutputWithContext(context.Context) TransferJobArrayOutput
}

TransferJobArrayInput is an input type that accepts TransferJobArray and TransferJobArrayOutput values. You can construct a concrete instance of `TransferJobArrayInput` via:

TransferJobArray{ TransferJobArgs{...} }

type TransferJobArrayOutput

type TransferJobArrayOutput struct{ *pulumi.OutputState }

func (TransferJobArrayOutput) ElementType

func (TransferJobArrayOutput) ElementType() reflect.Type

func (TransferJobArrayOutput) Index

func (TransferJobArrayOutput) ToTransferJobArrayOutput

func (o TransferJobArrayOutput) ToTransferJobArrayOutput() TransferJobArrayOutput

func (TransferJobArrayOutput) ToTransferJobArrayOutputWithContext

func (o TransferJobArrayOutput) ToTransferJobArrayOutputWithContext(ctx context.Context) TransferJobArrayOutput

type TransferJobInput

type TransferJobInput interface {
	pulumi.Input

	ToTransferJobOutput() TransferJobOutput
	ToTransferJobOutputWithContext(ctx context.Context) TransferJobOutput
}

type TransferJobMap

type TransferJobMap map[string]TransferJobInput

func (TransferJobMap) ElementType

func (TransferJobMap) ElementType() reflect.Type

func (TransferJobMap) ToTransferJobMapOutput

func (i TransferJobMap) ToTransferJobMapOutput() TransferJobMapOutput

func (TransferJobMap) ToTransferJobMapOutputWithContext

func (i TransferJobMap) ToTransferJobMapOutputWithContext(ctx context.Context) TransferJobMapOutput

type TransferJobMapInput

type TransferJobMapInput interface {
	pulumi.Input

	ToTransferJobMapOutput() TransferJobMapOutput
	ToTransferJobMapOutputWithContext(context.Context) TransferJobMapOutput
}

TransferJobMapInput is an input type that accepts TransferJobMap and TransferJobMapOutput values. You can construct a concrete instance of `TransferJobMapInput` via:

TransferJobMap{ "key": TransferJobArgs{...} }

type TransferJobMapOutput

type TransferJobMapOutput struct{ *pulumi.OutputState }

func (TransferJobMapOutput) ElementType

func (TransferJobMapOutput) ElementType() reflect.Type

func (TransferJobMapOutput) MapIndex

func (TransferJobMapOutput) ToTransferJobMapOutput

func (o TransferJobMapOutput) ToTransferJobMapOutput() TransferJobMapOutput

func (TransferJobMapOutput) ToTransferJobMapOutputWithContext

func (o TransferJobMapOutput) ToTransferJobMapOutputWithContext(ctx context.Context) TransferJobMapOutput

type TransferJobOutput

type TransferJobOutput struct{ *pulumi.OutputState }

func (TransferJobOutput) ElementType

func (TransferJobOutput) ElementType() reflect.Type

func (TransferJobOutput) ToTransferJobOutput

func (o TransferJobOutput) ToTransferJobOutput() TransferJobOutput

func (TransferJobOutput) ToTransferJobOutputWithContext

func (o TransferJobOutput) ToTransferJobOutputWithContext(ctx context.Context) TransferJobOutput

func (TransferJobOutput) ToTransferJobPtrOutput

func (o TransferJobOutput) ToTransferJobPtrOutput() TransferJobPtrOutput

func (TransferJobOutput) ToTransferJobPtrOutputWithContext

func (o TransferJobOutput) ToTransferJobPtrOutputWithContext(ctx context.Context) TransferJobPtrOutput

type TransferJobPtrInput

type TransferJobPtrInput interface {
	pulumi.Input

	ToTransferJobPtrOutput() TransferJobPtrOutput
	ToTransferJobPtrOutputWithContext(ctx context.Context) TransferJobPtrOutput
}

type TransferJobPtrOutput

type TransferJobPtrOutput struct{ *pulumi.OutputState }

func (TransferJobPtrOutput) Elem added in v5.21.0

func (TransferJobPtrOutput) ElementType

func (TransferJobPtrOutput) ElementType() reflect.Type

func (TransferJobPtrOutput) ToTransferJobPtrOutput

func (o TransferJobPtrOutput) ToTransferJobPtrOutput() TransferJobPtrOutput

func (TransferJobPtrOutput) ToTransferJobPtrOutputWithContext

func (o TransferJobPtrOutput) ToTransferJobPtrOutputWithContext(ctx context.Context) TransferJobPtrOutput

type TransferJobSchedule

type TransferJobSchedule struct {
	// The last day the recurring transfer will be run. If `scheduleEndDate` is the same as `scheduleStartDate`, the transfer will be executed only once. Structure documented below.
	ScheduleEndDate *TransferJobScheduleScheduleEndDate `pulumi:"scheduleEndDate"`
	// The first day the recurring transfer is scheduled to run. If `scheduleStartDate` is in the past, the transfer will run for the first time on the following day. Structure documented below.
	ScheduleStartDate TransferJobScheduleScheduleStartDate `pulumi:"scheduleStartDate"`
	// The time in UTC at which the transfer will be scheduled to start in a day. Transfers may start later than this time. If not specified, recurring and one-time transfers that are scheduled to run today will run immediately; recurring transfers that are scheduled to run on a future date will start at approximately midnight UTC on that date. Note that when configuring a transfer with the Cloud Platform Console, the transfer's start time in a day is specified in your local timezone. Structure documented below.
	StartTimeOfDay *TransferJobScheduleStartTimeOfDay `pulumi:"startTimeOfDay"`
}

type TransferJobScheduleArgs

type TransferJobScheduleArgs struct {
	// The last day the recurring transfer will be run. If `scheduleEndDate` is the same as `scheduleStartDate`, the transfer will be executed only once. Structure documented below.
	ScheduleEndDate TransferJobScheduleScheduleEndDatePtrInput `pulumi:"scheduleEndDate"`
	// The first day the recurring transfer is scheduled to run. If `scheduleStartDate` is in the past, the transfer will run for the first time on the following day. Structure documented below.
	ScheduleStartDate TransferJobScheduleScheduleStartDateInput `pulumi:"scheduleStartDate"`
	// The time in UTC at which the transfer will be scheduled to start in a day. Transfers may start later than this time. If not specified, recurring and one-time transfers that are scheduled to run today will run immediately; recurring transfers that are scheduled to run on a future date will start at approximately midnight UTC on that date. Note that when configuring a transfer with the Cloud Platform Console, the transfer's start time in a day is specified in your local timezone. Structure documented below.
	StartTimeOfDay TransferJobScheduleStartTimeOfDayPtrInput `pulumi:"startTimeOfDay"`
}

func (TransferJobScheduleArgs) ElementType

func (TransferJobScheduleArgs) ElementType() reflect.Type

func (TransferJobScheduleArgs) ToTransferJobScheduleOutput

func (i TransferJobScheduleArgs) ToTransferJobScheduleOutput() TransferJobScheduleOutput

func (TransferJobScheduleArgs) ToTransferJobScheduleOutputWithContext

func (i TransferJobScheduleArgs) ToTransferJobScheduleOutputWithContext(ctx context.Context) TransferJobScheduleOutput

func (TransferJobScheduleArgs) ToTransferJobSchedulePtrOutput

func (i TransferJobScheduleArgs) ToTransferJobSchedulePtrOutput() TransferJobSchedulePtrOutput

func (TransferJobScheduleArgs) ToTransferJobSchedulePtrOutputWithContext

func (i TransferJobScheduleArgs) ToTransferJobSchedulePtrOutputWithContext(ctx context.Context) TransferJobSchedulePtrOutput

type TransferJobScheduleInput

type TransferJobScheduleInput interface {
	pulumi.Input

	ToTransferJobScheduleOutput() TransferJobScheduleOutput
	ToTransferJobScheduleOutputWithContext(context.Context) TransferJobScheduleOutput
}

TransferJobScheduleInput is an input type that accepts TransferJobScheduleArgs and TransferJobScheduleOutput values. You can construct a concrete instance of `TransferJobScheduleInput` via:

TransferJobScheduleArgs{...}

type TransferJobScheduleOutput

type TransferJobScheduleOutput struct{ *pulumi.OutputState }

func (TransferJobScheduleOutput) ElementType

func (TransferJobScheduleOutput) ElementType() reflect.Type

func (TransferJobScheduleOutput) ScheduleEndDate

The last day the recurring transfer will be run. If `scheduleEndDate` is the same as `scheduleStartDate`, the transfer will be executed only once. Structure documented below.

func (TransferJobScheduleOutput) ScheduleStartDate

The first day the recurring transfer is scheduled to run. If `scheduleStartDate` is in the past, the transfer will run for the first time on the following day. Structure documented below.

func (TransferJobScheduleOutput) StartTimeOfDay

The time in UTC at which the transfer will be scheduled to start in a day. Transfers may start later than this time. If not specified, recurring and one-time transfers that are scheduled to run today will run immediately; recurring transfers that are scheduled to run on a future date will start at approximately midnight UTC on that date. Note that when configuring a transfer with the Cloud Platform Console, the transfer's start time in a day is specified in your local timezone. Structure documented below.

func (TransferJobScheduleOutput) ToTransferJobScheduleOutput

func (o TransferJobScheduleOutput) ToTransferJobScheduleOutput() TransferJobScheduleOutput

func (TransferJobScheduleOutput) ToTransferJobScheduleOutputWithContext

func (o TransferJobScheduleOutput) ToTransferJobScheduleOutputWithContext(ctx context.Context) TransferJobScheduleOutput

func (TransferJobScheduleOutput) ToTransferJobSchedulePtrOutput

func (o TransferJobScheduleOutput) ToTransferJobSchedulePtrOutput() TransferJobSchedulePtrOutput

func (TransferJobScheduleOutput) ToTransferJobSchedulePtrOutputWithContext

func (o TransferJobScheduleOutput) ToTransferJobSchedulePtrOutputWithContext(ctx context.Context) TransferJobSchedulePtrOutput

type TransferJobSchedulePtrInput

type TransferJobSchedulePtrInput interface {
	pulumi.Input

	ToTransferJobSchedulePtrOutput() TransferJobSchedulePtrOutput
	ToTransferJobSchedulePtrOutputWithContext(context.Context) TransferJobSchedulePtrOutput
}

TransferJobSchedulePtrInput is an input type that accepts TransferJobScheduleArgs, TransferJobSchedulePtr and TransferJobSchedulePtrOutput values. You can construct a concrete instance of `TransferJobSchedulePtrInput` via:

        TransferJobScheduleArgs{...}

or:

        nil

type TransferJobSchedulePtrOutput

type TransferJobSchedulePtrOutput struct{ *pulumi.OutputState }

func (TransferJobSchedulePtrOutput) Elem

func (TransferJobSchedulePtrOutput) ElementType

func (TransferJobSchedulePtrOutput) ScheduleEndDate

The last day the recurring transfer will be run. If `scheduleEndDate` is the same as `scheduleStartDate`, the transfer will be executed only once. Structure documented below.

func (TransferJobSchedulePtrOutput) ScheduleStartDate

The first day the recurring transfer is scheduled to run. If `scheduleStartDate` is in the past, the transfer will run for the first time on the following day. Structure documented below.

func (TransferJobSchedulePtrOutput) StartTimeOfDay

The time in UTC at which the transfer will be scheduled to start in a day. Transfers may start later than this time. If not specified, recurring and one-time transfers that are scheduled to run today will run immediately; recurring transfers that are scheduled to run on a future date will start at approximately midnight UTC on that date. Note that when configuring a transfer with the Cloud Platform Console, the transfer's start time in a day is specified in your local timezone. Structure documented below.

func (TransferJobSchedulePtrOutput) ToTransferJobSchedulePtrOutput

func (o TransferJobSchedulePtrOutput) ToTransferJobSchedulePtrOutput() TransferJobSchedulePtrOutput

func (TransferJobSchedulePtrOutput) ToTransferJobSchedulePtrOutputWithContext

func (o TransferJobSchedulePtrOutput) ToTransferJobSchedulePtrOutputWithContext(ctx context.Context) TransferJobSchedulePtrOutput

type TransferJobScheduleScheduleEndDate

type TransferJobScheduleScheduleEndDate struct {
	// Day of month. Must be from 1 to 31 and valid for the year and month.
	Day int `pulumi:"day"`
	// Month of year. Must be from 1 to 12.
	Month int `pulumi:"month"`
	// Year of date. Must be from 1 to 9999.
	Year int `pulumi:"year"`
}

type TransferJobScheduleScheduleEndDateArgs

type TransferJobScheduleScheduleEndDateArgs struct {
	// Day of month. Must be from 1 to 31 and valid for the year and month.
	Day pulumi.IntInput `pulumi:"day"`
	// Month of year. Must be from 1 to 12.
	Month pulumi.IntInput `pulumi:"month"`
	// Year of date. Must be from 1 to 9999.
	Year pulumi.IntInput `pulumi:"year"`
}

func (TransferJobScheduleScheduleEndDateArgs) ElementType

func (TransferJobScheduleScheduleEndDateArgs) ToTransferJobScheduleScheduleEndDateOutput

func (i TransferJobScheduleScheduleEndDateArgs) ToTransferJobScheduleScheduleEndDateOutput() TransferJobScheduleScheduleEndDateOutput

func (TransferJobScheduleScheduleEndDateArgs) ToTransferJobScheduleScheduleEndDateOutputWithContext

func (i TransferJobScheduleScheduleEndDateArgs) ToTransferJobScheduleScheduleEndDateOutputWithContext(ctx context.Context) TransferJobScheduleScheduleEndDateOutput

func (TransferJobScheduleScheduleEndDateArgs) ToTransferJobScheduleScheduleEndDatePtrOutput

func (i TransferJobScheduleScheduleEndDateArgs) ToTransferJobScheduleScheduleEndDatePtrOutput() TransferJobScheduleScheduleEndDatePtrOutput

func (TransferJobScheduleScheduleEndDateArgs) ToTransferJobScheduleScheduleEndDatePtrOutputWithContext

func (i TransferJobScheduleScheduleEndDateArgs) ToTransferJobScheduleScheduleEndDatePtrOutputWithContext(ctx context.Context) TransferJobScheduleScheduleEndDatePtrOutput

type TransferJobScheduleScheduleEndDateInput

type TransferJobScheduleScheduleEndDateInput interface {
	pulumi.Input

	ToTransferJobScheduleScheduleEndDateOutput() TransferJobScheduleScheduleEndDateOutput
	ToTransferJobScheduleScheduleEndDateOutputWithContext(context.Context) TransferJobScheduleScheduleEndDateOutput
}

TransferJobScheduleScheduleEndDateInput is an input type that accepts TransferJobScheduleScheduleEndDateArgs and TransferJobScheduleScheduleEndDateOutput values. You can construct a concrete instance of `TransferJobScheduleScheduleEndDateInput` via:

TransferJobScheduleScheduleEndDateArgs{...}

type TransferJobScheduleScheduleEndDateOutput

type TransferJobScheduleScheduleEndDateOutput struct{ *pulumi.OutputState }

func (TransferJobScheduleScheduleEndDateOutput) Day

Day of month. Must be from 1 to 31 and valid for the year and month.

func (TransferJobScheduleScheduleEndDateOutput) ElementType

func (TransferJobScheduleScheduleEndDateOutput) Month

Month of year. Must be from 1 to 12.

func (TransferJobScheduleScheduleEndDateOutput) ToTransferJobScheduleScheduleEndDateOutput

func (o TransferJobScheduleScheduleEndDateOutput) ToTransferJobScheduleScheduleEndDateOutput() TransferJobScheduleScheduleEndDateOutput

func (TransferJobScheduleScheduleEndDateOutput) ToTransferJobScheduleScheduleEndDateOutputWithContext

func (o TransferJobScheduleScheduleEndDateOutput) ToTransferJobScheduleScheduleEndDateOutputWithContext(ctx context.Context) TransferJobScheduleScheduleEndDateOutput

func (TransferJobScheduleScheduleEndDateOutput) ToTransferJobScheduleScheduleEndDatePtrOutput

func (o TransferJobScheduleScheduleEndDateOutput) ToTransferJobScheduleScheduleEndDatePtrOutput() TransferJobScheduleScheduleEndDatePtrOutput

func (TransferJobScheduleScheduleEndDateOutput) ToTransferJobScheduleScheduleEndDatePtrOutputWithContext

func (o TransferJobScheduleScheduleEndDateOutput) ToTransferJobScheduleScheduleEndDatePtrOutputWithContext(ctx context.Context) TransferJobScheduleScheduleEndDatePtrOutput

func (TransferJobScheduleScheduleEndDateOutput) Year

Year of date. Must be from 1 to 9999.

type TransferJobScheduleScheduleEndDatePtrInput

type TransferJobScheduleScheduleEndDatePtrInput interface {
	pulumi.Input

	ToTransferJobScheduleScheduleEndDatePtrOutput() TransferJobScheduleScheduleEndDatePtrOutput
	ToTransferJobScheduleScheduleEndDatePtrOutputWithContext(context.Context) TransferJobScheduleScheduleEndDatePtrOutput
}

TransferJobScheduleScheduleEndDatePtrInput is an input type that accepts TransferJobScheduleScheduleEndDateArgs, TransferJobScheduleScheduleEndDatePtr and TransferJobScheduleScheduleEndDatePtrOutput values. You can construct a concrete instance of `TransferJobScheduleScheduleEndDatePtrInput` via:

        TransferJobScheduleScheduleEndDateArgs{...}

or:

        nil

type TransferJobScheduleScheduleEndDatePtrOutput

type TransferJobScheduleScheduleEndDatePtrOutput struct{ *pulumi.OutputState }

func (TransferJobScheduleScheduleEndDatePtrOutput) Day

Day of month. Must be from 1 to 31 and valid for the year and month.

func (TransferJobScheduleScheduleEndDatePtrOutput) Elem

func (TransferJobScheduleScheduleEndDatePtrOutput) ElementType

func (TransferJobScheduleScheduleEndDatePtrOutput) Month

Month of year. Must be from 1 to 12.

func (TransferJobScheduleScheduleEndDatePtrOutput) ToTransferJobScheduleScheduleEndDatePtrOutput

func (o TransferJobScheduleScheduleEndDatePtrOutput) ToTransferJobScheduleScheduleEndDatePtrOutput() TransferJobScheduleScheduleEndDatePtrOutput

func (TransferJobScheduleScheduleEndDatePtrOutput) ToTransferJobScheduleScheduleEndDatePtrOutputWithContext

func (o TransferJobScheduleScheduleEndDatePtrOutput) ToTransferJobScheduleScheduleEndDatePtrOutputWithContext(ctx context.Context) TransferJobScheduleScheduleEndDatePtrOutput

func (TransferJobScheduleScheduleEndDatePtrOutput) Year

Year of date. Must be from 1 to 9999.

type TransferJobScheduleScheduleStartDate

type TransferJobScheduleScheduleStartDate struct {
	// Day of month. Must be from 1 to 31 and valid for the year and month.
	Day int `pulumi:"day"`
	// Month of year. Must be from 1 to 12.
	Month int `pulumi:"month"`
	// Year of date. Must be from 1 to 9999.
	Year int `pulumi:"year"`
}

type TransferJobScheduleScheduleStartDateArgs

type TransferJobScheduleScheduleStartDateArgs struct {
	// Day of month. Must be from 1 to 31 and valid for the year and month.
	Day pulumi.IntInput `pulumi:"day"`
	// Month of year. Must be from 1 to 12.
	Month pulumi.IntInput `pulumi:"month"`
	// Year of date. Must be from 1 to 9999.
	Year pulumi.IntInput `pulumi:"year"`
}

func (TransferJobScheduleScheduleStartDateArgs) ElementType

func (TransferJobScheduleScheduleStartDateArgs) ToTransferJobScheduleScheduleStartDateOutput

func (i TransferJobScheduleScheduleStartDateArgs) ToTransferJobScheduleScheduleStartDateOutput() TransferJobScheduleScheduleStartDateOutput

func (TransferJobScheduleScheduleStartDateArgs) ToTransferJobScheduleScheduleStartDateOutputWithContext

func (i TransferJobScheduleScheduleStartDateArgs) ToTransferJobScheduleScheduleStartDateOutputWithContext(ctx context.Context) TransferJobScheduleScheduleStartDateOutput

func (TransferJobScheduleScheduleStartDateArgs) ToTransferJobScheduleScheduleStartDatePtrOutput

func (i TransferJobScheduleScheduleStartDateArgs) ToTransferJobScheduleScheduleStartDatePtrOutput() TransferJobScheduleScheduleStartDatePtrOutput

func (TransferJobScheduleScheduleStartDateArgs) ToTransferJobScheduleScheduleStartDatePtrOutputWithContext

func (i TransferJobScheduleScheduleStartDateArgs) ToTransferJobScheduleScheduleStartDatePtrOutputWithContext(ctx context.Context) TransferJobScheduleScheduleStartDatePtrOutput

type TransferJobScheduleScheduleStartDateInput

type TransferJobScheduleScheduleStartDateInput interface {
	pulumi.Input

	ToTransferJobScheduleScheduleStartDateOutput() TransferJobScheduleScheduleStartDateOutput
	ToTransferJobScheduleScheduleStartDateOutputWithContext(context.Context) TransferJobScheduleScheduleStartDateOutput
}

TransferJobScheduleScheduleStartDateInput is an input type that accepts TransferJobScheduleScheduleStartDateArgs and TransferJobScheduleScheduleStartDateOutput values. You can construct a concrete instance of `TransferJobScheduleScheduleStartDateInput` via:

TransferJobScheduleScheduleStartDateArgs{...}

type TransferJobScheduleScheduleStartDateOutput

type TransferJobScheduleScheduleStartDateOutput struct{ *pulumi.OutputState }

func (TransferJobScheduleScheduleStartDateOutput) Day

Day of month. Must be from 1 to 31 and valid for the year and month.

func (TransferJobScheduleScheduleStartDateOutput) ElementType

func (TransferJobScheduleScheduleStartDateOutput) Month

Month of year. Must be from 1 to 12.

func (TransferJobScheduleScheduleStartDateOutput) ToTransferJobScheduleScheduleStartDateOutput

func (o TransferJobScheduleScheduleStartDateOutput) ToTransferJobScheduleScheduleStartDateOutput() TransferJobScheduleScheduleStartDateOutput

func (TransferJobScheduleScheduleStartDateOutput) ToTransferJobScheduleScheduleStartDateOutputWithContext

func (o TransferJobScheduleScheduleStartDateOutput) ToTransferJobScheduleScheduleStartDateOutputWithContext(ctx context.Context) TransferJobScheduleScheduleStartDateOutput

func (TransferJobScheduleScheduleStartDateOutput) ToTransferJobScheduleScheduleStartDatePtrOutput

func (o TransferJobScheduleScheduleStartDateOutput) ToTransferJobScheduleScheduleStartDatePtrOutput() TransferJobScheduleScheduleStartDatePtrOutput

func (TransferJobScheduleScheduleStartDateOutput) ToTransferJobScheduleScheduleStartDatePtrOutputWithContext

func (o TransferJobScheduleScheduleStartDateOutput) ToTransferJobScheduleScheduleStartDatePtrOutputWithContext(ctx context.Context) TransferJobScheduleScheduleStartDatePtrOutput

func (TransferJobScheduleScheduleStartDateOutput) Year

Year of date. Must be from 1 to 9999.

type TransferJobScheduleScheduleStartDatePtrInput

type TransferJobScheduleScheduleStartDatePtrInput interface {
	pulumi.Input

	ToTransferJobScheduleScheduleStartDatePtrOutput() TransferJobScheduleScheduleStartDatePtrOutput
	ToTransferJobScheduleScheduleStartDatePtrOutputWithContext(context.Context) TransferJobScheduleScheduleStartDatePtrOutput
}

TransferJobScheduleScheduleStartDatePtrInput is an input type that accepts TransferJobScheduleScheduleStartDateArgs, TransferJobScheduleScheduleStartDatePtr and TransferJobScheduleScheduleStartDatePtrOutput values. You can construct a concrete instance of `TransferJobScheduleScheduleStartDatePtrInput` via:

        TransferJobScheduleScheduleStartDateArgs{...}

or:

        nil

type TransferJobScheduleScheduleStartDatePtrOutput

type TransferJobScheduleScheduleStartDatePtrOutput struct{ *pulumi.OutputState }

func (TransferJobScheduleScheduleStartDatePtrOutput) Day

Day of month. Must be from 1 to 31 and valid for the year and month.

func (TransferJobScheduleScheduleStartDatePtrOutput) Elem

func (TransferJobScheduleScheduleStartDatePtrOutput) ElementType

func (TransferJobScheduleScheduleStartDatePtrOutput) Month

Month of year. Must be from 1 to 12.

func (TransferJobScheduleScheduleStartDatePtrOutput) ToTransferJobScheduleScheduleStartDatePtrOutput

func (o TransferJobScheduleScheduleStartDatePtrOutput) ToTransferJobScheduleScheduleStartDatePtrOutput() TransferJobScheduleScheduleStartDatePtrOutput

func (TransferJobScheduleScheduleStartDatePtrOutput) ToTransferJobScheduleScheduleStartDatePtrOutputWithContext

func (o TransferJobScheduleScheduleStartDatePtrOutput) ToTransferJobScheduleScheduleStartDatePtrOutputWithContext(ctx context.Context) TransferJobScheduleScheduleStartDatePtrOutput

func (TransferJobScheduleScheduleStartDatePtrOutput) Year

Year of date. Must be from 1 to 9999.

type TransferJobScheduleStartTimeOfDay

type TransferJobScheduleStartTimeOfDay struct {
	// Hours of day in 24 hour format. Should be from 0 to 23
	Hours int `pulumi:"hours"`
	// Minutes of hour of day. Must be from 0 to 59.
	Minutes int `pulumi:"minutes"`
	// Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
	Nanos int `pulumi:"nanos"`
	// Seconds of minutes of the time. Must normally be from 0 to 59.
	Seconds int `pulumi:"seconds"`
}

type TransferJobScheduleStartTimeOfDayArgs

type TransferJobScheduleStartTimeOfDayArgs struct {
	// Hours of day in 24 hour format. Should be from 0 to 23
	Hours pulumi.IntInput `pulumi:"hours"`
	// Minutes of hour of day. Must be from 0 to 59.
	Minutes pulumi.IntInput `pulumi:"minutes"`
	// Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
	Nanos pulumi.IntInput `pulumi:"nanos"`
	// Seconds of minutes of the time. Must normally be from 0 to 59.
	Seconds pulumi.IntInput `pulumi:"seconds"`
}

func (TransferJobScheduleStartTimeOfDayArgs) ElementType

func (TransferJobScheduleStartTimeOfDayArgs) ToTransferJobScheduleStartTimeOfDayOutput

func (i TransferJobScheduleStartTimeOfDayArgs) ToTransferJobScheduleStartTimeOfDayOutput() TransferJobScheduleStartTimeOfDayOutput

func (TransferJobScheduleStartTimeOfDayArgs) ToTransferJobScheduleStartTimeOfDayOutputWithContext

func (i TransferJobScheduleStartTimeOfDayArgs) ToTransferJobScheduleStartTimeOfDayOutputWithContext(ctx context.Context) TransferJobScheduleStartTimeOfDayOutput

func (TransferJobScheduleStartTimeOfDayArgs) ToTransferJobScheduleStartTimeOfDayPtrOutput

func (i TransferJobScheduleStartTimeOfDayArgs) ToTransferJobScheduleStartTimeOfDayPtrOutput() TransferJobScheduleStartTimeOfDayPtrOutput

func (TransferJobScheduleStartTimeOfDayArgs) ToTransferJobScheduleStartTimeOfDayPtrOutputWithContext

func (i TransferJobScheduleStartTimeOfDayArgs) ToTransferJobScheduleStartTimeOfDayPtrOutputWithContext(ctx context.Context) TransferJobScheduleStartTimeOfDayPtrOutput

type TransferJobScheduleStartTimeOfDayInput

type TransferJobScheduleStartTimeOfDayInput interface {
	pulumi.Input

	ToTransferJobScheduleStartTimeOfDayOutput() TransferJobScheduleStartTimeOfDayOutput
	ToTransferJobScheduleStartTimeOfDayOutputWithContext(context.Context) TransferJobScheduleStartTimeOfDayOutput
}

TransferJobScheduleStartTimeOfDayInput is an input type that accepts TransferJobScheduleStartTimeOfDayArgs and TransferJobScheduleStartTimeOfDayOutput values. You can construct a concrete instance of `TransferJobScheduleStartTimeOfDayInput` via:

TransferJobScheduleStartTimeOfDayArgs{...}

type TransferJobScheduleStartTimeOfDayOutput

type TransferJobScheduleStartTimeOfDayOutput struct{ *pulumi.OutputState }

func (TransferJobScheduleStartTimeOfDayOutput) ElementType

func (TransferJobScheduleStartTimeOfDayOutput) Hours

Hours of day in 24 hour format. Should be from 0 to 23

func (TransferJobScheduleStartTimeOfDayOutput) Minutes

Minutes of hour of day. Must be from 0 to 59.

func (TransferJobScheduleStartTimeOfDayOutput) Nanos

Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.

func (TransferJobScheduleStartTimeOfDayOutput) Seconds

Seconds of minutes of the time. Must normally be from 0 to 59.

func (TransferJobScheduleStartTimeOfDayOutput) ToTransferJobScheduleStartTimeOfDayOutput

func (o TransferJobScheduleStartTimeOfDayOutput) ToTransferJobScheduleStartTimeOfDayOutput() TransferJobScheduleStartTimeOfDayOutput

func (TransferJobScheduleStartTimeOfDayOutput) ToTransferJobScheduleStartTimeOfDayOutputWithContext

func (o TransferJobScheduleStartTimeOfDayOutput) ToTransferJobScheduleStartTimeOfDayOutputWithContext(ctx context.Context) TransferJobScheduleStartTimeOfDayOutput

func (TransferJobScheduleStartTimeOfDayOutput) ToTransferJobScheduleStartTimeOfDayPtrOutput

func (o TransferJobScheduleStartTimeOfDayOutput) ToTransferJobScheduleStartTimeOfDayPtrOutput() TransferJobScheduleStartTimeOfDayPtrOutput

func (TransferJobScheduleStartTimeOfDayOutput) ToTransferJobScheduleStartTimeOfDayPtrOutputWithContext

func (o TransferJobScheduleStartTimeOfDayOutput) ToTransferJobScheduleStartTimeOfDayPtrOutputWithContext(ctx context.Context) TransferJobScheduleStartTimeOfDayPtrOutput

type TransferJobScheduleStartTimeOfDayPtrInput

type TransferJobScheduleStartTimeOfDayPtrInput interface {
	pulumi.Input

	ToTransferJobScheduleStartTimeOfDayPtrOutput() TransferJobScheduleStartTimeOfDayPtrOutput
	ToTransferJobScheduleStartTimeOfDayPtrOutputWithContext(context.Context) TransferJobScheduleStartTimeOfDayPtrOutput
}

TransferJobScheduleStartTimeOfDayPtrInput is an input type that accepts TransferJobScheduleStartTimeOfDayArgs, TransferJobScheduleStartTimeOfDayPtr and TransferJobScheduleStartTimeOfDayPtrOutput values. You can construct a concrete instance of `TransferJobScheduleStartTimeOfDayPtrInput` via:

        TransferJobScheduleStartTimeOfDayArgs{...}

or:

        nil

type TransferJobScheduleStartTimeOfDayPtrOutput

type TransferJobScheduleStartTimeOfDayPtrOutput struct{ *pulumi.OutputState }

func (TransferJobScheduleStartTimeOfDayPtrOutput) Elem

func (TransferJobScheduleStartTimeOfDayPtrOutput) ElementType

func (TransferJobScheduleStartTimeOfDayPtrOutput) Hours

Hours of day in 24 hour format. Should be from 0 to 23

func (TransferJobScheduleStartTimeOfDayPtrOutput) Minutes

Minutes of hour of day. Must be from 0 to 59.

func (TransferJobScheduleStartTimeOfDayPtrOutput) Nanos

Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.

func (TransferJobScheduleStartTimeOfDayPtrOutput) Seconds

Seconds of minutes of the time. Must normally be from 0 to 59.

func (TransferJobScheduleStartTimeOfDayPtrOutput) ToTransferJobScheduleStartTimeOfDayPtrOutput

func (o TransferJobScheduleStartTimeOfDayPtrOutput) ToTransferJobScheduleStartTimeOfDayPtrOutput() TransferJobScheduleStartTimeOfDayPtrOutput

func (TransferJobScheduleStartTimeOfDayPtrOutput) ToTransferJobScheduleStartTimeOfDayPtrOutputWithContext

func (o TransferJobScheduleStartTimeOfDayPtrOutput) ToTransferJobScheduleStartTimeOfDayPtrOutputWithContext(ctx context.Context) TransferJobScheduleStartTimeOfDayPtrOutput

type TransferJobState

type TransferJobState struct {
	// When the Transfer Job was created.
	CreationTime pulumi.StringPtrInput
	// When the Transfer Job was deleted.
	DeletionTime pulumi.StringPtrInput
	// Unique description to identify the Transfer Job.
	Description pulumi.StringPtrInput
	// When the Transfer Job was last modified.
	LastModificationTime pulumi.StringPtrInput
	// The name of the Transfer Job.
	Name pulumi.StringPtrInput
	// The project in which the resource belongs. If it
	// is not provided, the provider project is used.
	Project pulumi.StringPtrInput
	// Schedule specification defining when the Transfer Job should be scheduled to start, end and what time to run. Structure documented below.
	Schedule TransferJobSchedulePtrInput
	// Status of the job. Default: `ENABLED`. **NOTE: The effect of the new job status takes place during a subsequent job run. For example, if you change the job status from ENABLED to DISABLED, and an operation spawned by the transfer is running, the status change would not affect the current operation.**
	Status pulumi.StringPtrInput
	// Transfer specification. Structure documented below.
	TransferSpec TransferJobTransferSpecPtrInput
}

func (TransferJobState) ElementType

func (TransferJobState) ElementType() reflect.Type

type TransferJobTransferSpec

type TransferJobTransferSpec struct {
	// An AWS S3 data source. Structure documented below.
	AwsS3DataSource *TransferJobTransferSpecAwsS3DataSource `pulumi:"awsS3DataSource"`
	// An Azure Blob Storage data source. Structure documented below.
	AzureBlobStorageDataSource *TransferJobTransferSpecAzureBlobStorageDataSource `pulumi:"azureBlobStorageDataSource"`
	// A Google Cloud Storage data sink. Structure documented below.
	GcsDataSink *TransferJobTransferSpecGcsDataSink `pulumi:"gcsDataSink"`
	// A Google Cloud Storage data source. Structure documented below.
	GcsDataSource *TransferJobTransferSpecGcsDataSource `pulumi:"gcsDataSource"`
	// A HTTP URL data source. Structure documented below.
	HttpDataSource *TransferJobTransferSpecHttpDataSource `pulumi:"httpDataSource"`
	// Only objects that satisfy these object conditions are included in the set of data source and data sink objects. Object conditions based on objects' `lastModificationTime` do not exclude objects in a data sink. Structure documented below.
	ObjectConditions *TransferJobTransferSpecObjectConditions `pulumi:"objectConditions"`
	// Characteristics of how to treat files from datasource and sink during job. If the option `deleteObjectsUniqueInSink` is true, object conditions based on objects' `lastModificationTime` are ignored and do not exclude objects in a data source or a data sink. Structure documented below.
	TransferOptions *TransferJobTransferSpecTransferOptions `pulumi:"transferOptions"`
}

type TransferJobTransferSpecArgs

type TransferJobTransferSpecArgs struct {
	// An AWS S3 data source. Structure documented below.
	AwsS3DataSource TransferJobTransferSpecAwsS3DataSourcePtrInput `pulumi:"awsS3DataSource"`
	// An Azure Blob Storage data source. Structure documented below.
	AzureBlobStorageDataSource TransferJobTransferSpecAzureBlobStorageDataSourcePtrInput `pulumi:"azureBlobStorageDataSource"`
	// A Google Cloud Storage data sink. Structure documented below.
	GcsDataSink TransferJobTransferSpecGcsDataSinkPtrInput `pulumi:"gcsDataSink"`
	// A Google Cloud Storage data source. Structure documented below.
	GcsDataSource TransferJobTransferSpecGcsDataSourcePtrInput `pulumi:"gcsDataSource"`
	// A HTTP URL data source. Structure documented below.
	HttpDataSource TransferJobTransferSpecHttpDataSourcePtrInput `pulumi:"httpDataSource"`
	// Only objects that satisfy these object conditions are included in the set of data source and data sink objects. Object conditions based on objects' `lastModificationTime` do not exclude objects in a data sink. Structure documented below.
	ObjectConditions TransferJobTransferSpecObjectConditionsPtrInput `pulumi:"objectConditions"`
	// Characteristics of how to treat files from datasource and sink during job. If the option `deleteObjectsUniqueInSink` is true, object conditions based on objects' `lastModificationTime` are ignored and do not exclude objects in a data source or a data sink. Structure documented below.
	TransferOptions TransferJobTransferSpecTransferOptionsPtrInput `pulumi:"transferOptions"`
}

func (TransferJobTransferSpecArgs) ElementType

func (TransferJobTransferSpecArgs) ToTransferJobTransferSpecOutput

func (i TransferJobTransferSpecArgs) ToTransferJobTransferSpecOutput() TransferJobTransferSpecOutput

func (TransferJobTransferSpecArgs) ToTransferJobTransferSpecOutputWithContext

func (i TransferJobTransferSpecArgs) ToTransferJobTransferSpecOutputWithContext(ctx context.Context) TransferJobTransferSpecOutput

func (TransferJobTransferSpecArgs) ToTransferJobTransferSpecPtrOutput

func (i TransferJobTransferSpecArgs) ToTransferJobTransferSpecPtrOutput() TransferJobTransferSpecPtrOutput

func (TransferJobTransferSpecArgs) ToTransferJobTransferSpecPtrOutputWithContext

func (i TransferJobTransferSpecArgs) ToTransferJobTransferSpecPtrOutputWithContext(ctx context.Context) TransferJobTransferSpecPtrOutput

type TransferJobTransferSpecAwsS3DataSource

type TransferJobTransferSpecAwsS3DataSource struct {
	// AWS credentials block.
	AwsAccessKey TransferJobTransferSpecAwsS3DataSourceAwsAccessKey `pulumi:"awsAccessKey"`
	// S3 Bucket name.
	BucketName string `pulumi:"bucketName"`
}

type TransferJobTransferSpecAwsS3DataSourceArgs

type TransferJobTransferSpecAwsS3DataSourceArgs struct {
	// AWS credentials block.
	AwsAccessKey TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyInput `pulumi:"awsAccessKey"`
	// S3 Bucket name.
	BucketName pulumi.StringInput `pulumi:"bucketName"`
}

func (TransferJobTransferSpecAwsS3DataSourceArgs) ElementType

func (TransferJobTransferSpecAwsS3DataSourceArgs) ToTransferJobTransferSpecAwsS3DataSourceOutput

func (i TransferJobTransferSpecAwsS3DataSourceArgs) ToTransferJobTransferSpecAwsS3DataSourceOutput() TransferJobTransferSpecAwsS3DataSourceOutput

func (TransferJobTransferSpecAwsS3DataSourceArgs) ToTransferJobTransferSpecAwsS3DataSourceOutputWithContext

func (i TransferJobTransferSpecAwsS3DataSourceArgs) ToTransferJobTransferSpecAwsS3DataSourceOutputWithContext(ctx context.Context) TransferJobTransferSpecAwsS3DataSourceOutput

func (TransferJobTransferSpecAwsS3DataSourceArgs) ToTransferJobTransferSpecAwsS3DataSourcePtrOutput

func (i TransferJobTransferSpecAwsS3DataSourceArgs) ToTransferJobTransferSpecAwsS3DataSourcePtrOutput() TransferJobTransferSpecAwsS3DataSourcePtrOutput

func (TransferJobTransferSpecAwsS3DataSourceArgs) ToTransferJobTransferSpecAwsS3DataSourcePtrOutputWithContext

func (i TransferJobTransferSpecAwsS3DataSourceArgs) ToTransferJobTransferSpecAwsS3DataSourcePtrOutputWithContext(ctx context.Context) TransferJobTransferSpecAwsS3DataSourcePtrOutput

type TransferJobTransferSpecAwsS3DataSourceAwsAccessKey

type TransferJobTransferSpecAwsS3DataSourceAwsAccessKey struct {
	// AWS Key ID.
	AccessKeyId string `pulumi:"accessKeyId"`
	// AWS Secret Access Key.
	SecretAccessKey string `pulumi:"secretAccessKey"`
}

type TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyArgs

type TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyArgs struct {
	// AWS Key ID.
	AccessKeyId pulumi.StringInput `pulumi:"accessKeyId"`
	// AWS Secret Access Key.
	SecretAccessKey pulumi.StringInput `pulumi:"secretAccessKey"`
}

func (TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyArgs) ElementType

func (TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyArgs) ToTransferJobTransferSpecAwsS3DataSourceAwsAccessKeyOutput

func (TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyArgs) ToTransferJobTransferSpecAwsS3DataSourceAwsAccessKeyOutputWithContext

func (i TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyArgs) ToTransferJobTransferSpecAwsS3DataSourceAwsAccessKeyOutputWithContext(ctx context.Context) TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyOutput

func (TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyArgs) ToTransferJobTransferSpecAwsS3DataSourceAwsAccessKeyPtrOutput

func (i TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyArgs) ToTransferJobTransferSpecAwsS3DataSourceAwsAccessKeyPtrOutput() TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyPtrOutput

func (TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyArgs) ToTransferJobTransferSpecAwsS3DataSourceAwsAccessKeyPtrOutputWithContext

func (i TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyArgs) ToTransferJobTransferSpecAwsS3DataSourceAwsAccessKeyPtrOutputWithContext(ctx context.Context) TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyPtrOutput

type TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyInput

type TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyInput interface {
	pulumi.Input

	ToTransferJobTransferSpecAwsS3DataSourceAwsAccessKeyOutput() TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyOutput
	ToTransferJobTransferSpecAwsS3DataSourceAwsAccessKeyOutputWithContext(context.Context) TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyOutput
}

TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyInput is an input type that accepts TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyArgs and TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyOutput values. You can construct a concrete instance of `TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyInput` via:

TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyArgs{...}

type TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyOutput

type TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyOutput struct{ *pulumi.OutputState }

func (TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyOutput) AccessKeyId

AWS Key ID.

func (TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyOutput) ElementType

func (TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyOutput) SecretAccessKey

AWS Secret Access Key.

func (TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyOutput) ToTransferJobTransferSpecAwsS3DataSourceAwsAccessKeyOutput

func (TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyOutput) ToTransferJobTransferSpecAwsS3DataSourceAwsAccessKeyOutputWithContext

func (o TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyOutput) ToTransferJobTransferSpecAwsS3DataSourceAwsAccessKeyOutputWithContext(ctx context.Context) TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyOutput

func (TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyOutput) ToTransferJobTransferSpecAwsS3DataSourceAwsAccessKeyPtrOutput

func (TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyOutput) ToTransferJobTransferSpecAwsS3DataSourceAwsAccessKeyPtrOutputWithContext

func (o TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyOutput) ToTransferJobTransferSpecAwsS3DataSourceAwsAccessKeyPtrOutputWithContext(ctx context.Context) TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyPtrOutput

type TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyPtrInput

type TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyPtrInput interface {
	pulumi.Input

	ToTransferJobTransferSpecAwsS3DataSourceAwsAccessKeyPtrOutput() TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyPtrOutput
	ToTransferJobTransferSpecAwsS3DataSourceAwsAccessKeyPtrOutputWithContext(context.Context) TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyPtrOutput
}

TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyPtrInput is an input type that accepts TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyArgs, TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyPtr and TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyPtrOutput values. You can construct a concrete instance of `TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyPtrInput` via:

        TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyArgs{...}

or:

        nil

type TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyPtrOutput

type TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyPtrOutput struct{ *pulumi.OutputState }

func (TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyPtrOutput) AccessKeyId

AWS Key ID.

func (TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyPtrOutput) Elem

func (TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyPtrOutput) ElementType

func (TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyPtrOutput) SecretAccessKey

AWS Secret Access Key.

func (TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyPtrOutput) ToTransferJobTransferSpecAwsS3DataSourceAwsAccessKeyPtrOutput

func (TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyPtrOutput) ToTransferJobTransferSpecAwsS3DataSourceAwsAccessKeyPtrOutputWithContext

func (o TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyPtrOutput) ToTransferJobTransferSpecAwsS3DataSourceAwsAccessKeyPtrOutputWithContext(ctx context.Context) TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyPtrOutput

type TransferJobTransferSpecAwsS3DataSourceInput

type TransferJobTransferSpecAwsS3DataSourceInput interface {
	pulumi.Input

	ToTransferJobTransferSpecAwsS3DataSourceOutput() TransferJobTransferSpecAwsS3DataSourceOutput
	ToTransferJobTransferSpecAwsS3DataSourceOutputWithContext(context.Context) TransferJobTransferSpecAwsS3DataSourceOutput
}

TransferJobTransferSpecAwsS3DataSourceInput is an input type that accepts TransferJobTransferSpecAwsS3DataSourceArgs and TransferJobTransferSpecAwsS3DataSourceOutput values. You can construct a concrete instance of `TransferJobTransferSpecAwsS3DataSourceInput` via:

TransferJobTransferSpecAwsS3DataSourceArgs{...}

type TransferJobTransferSpecAwsS3DataSourceOutput

type TransferJobTransferSpecAwsS3DataSourceOutput struct{ *pulumi.OutputState }

func (TransferJobTransferSpecAwsS3DataSourceOutput) AwsAccessKey

AWS credentials block.

func (TransferJobTransferSpecAwsS3DataSourceOutput) BucketName

S3 Bucket name.

func (TransferJobTransferSpecAwsS3DataSourceOutput) ElementType

func (TransferJobTransferSpecAwsS3DataSourceOutput) ToTransferJobTransferSpecAwsS3DataSourceOutput

func (o TransferJobTransferSpecAwsS3DataSourceOutput) ToTransferJobTransferSpecAwsS3DataSourceOutput() TransferJobTransferSpecAwsS3DataSourceOutput

func (TransferJobTransferSpecAwsS3DataSourceOutput) ToTransferJobTransferSpecAwsS3DataSourceOutputWithContext

func (o TransferJobTransferSpecAwsS3DataSourceOutput) ToTransferJobTransferSpecAwsS3DataSourceOutputWithContext(ctx context.Context) TransferJobTransferSpecAwsS3DataSourceOutput

func (TransferJobTransferSpecAwsS3DataSourceOutput) ToTransferJobTransferSpecAwsS3DataSourcePtrOutput

func (o TransferJobTransferSpecAwsS3DataSourceOutput) ToTransferJobTransferSpecAwsS3DataSourcePtrOutput() TransferJobTransferSpecAwsS3DataSourcePtrOutput

func (TransferJobTransferSpecAwsS3DataSourceOutput) ToTransferJobTransferSpecAwsS3DataSourcePtrOutputWithContext

func (o TransferJobTransferSpecAwsS3DataSourceOutput) ToTransferJobTransferSpecAwsS3DataSourcePtrOutputWithContext(ctx context.Context) TransferJobTransferSpecAwsS3DataSourcePtrOutput

type TransferJobTransferSpecAwsS3DataSourcePtrInput

type TransferJobTransferSpecAwsS3DataSourcePtrInput interface {
	pulumi.Input

	ToTransferJobTransferSpecAwsS3DataSourcePtrOutput() TransferJobTransferSpecAwsS3DataSourcePtrOutput
	ToTransferJobTransferSpecAwsS3DataSourcePtrOutputWithContext(context.Context) TransferJobTransferSpecAwsS3DataSourcePtrOutput
}

TransferJobTransferSpecAwsS3DataSourcePtrInput is an input type that accepts TransferJobTransferSpecAwsS3DataSourceArgs, TransferJobTransferSpecAwsS3DataSourcePtr and TransferJobTransferSpecAwsS3DataSourcePtrOutput values. You can construct a concrete instance of `TransferJobTransferSpecAwsS3DataSourcePtrInput` via:

        TransferJobTransferSpecAwsS3DataSourceArgs{...}

or:

        nil

type TransferJobTransferSpecAwsS3DataSourcePtrOutput

type TransferJobTransferSpecAwsS3DataSourcePtrOutput struct{ *pulumi.OutputState }

func (TransferJobTransferSpecAwsS3DataSourcePtrOutput) AwsAccessKey

AWS credentials block.

func (TransferJobTransferSpecAwsS3DataSourcePtrOutput) BucketName

S3 Bucket name.

func (TransferJobTransferSpecAwsS3DataSourcePtrOutput) Elem

func (TransferJobTransferSpecAwsS3DataSourcePtrOutput) ElementType

func (TransferJobTransferSpecAwsS3DataSourcePtrOutput) ToTransferJobTransferSpecAwsS3DataSourcePtrOutput

func (o TransferJobTransferSpecAwsS3DataSourcePtrOutput) ToTransferJobTransferSpecAwsS3DataSourcePtrOutput() TransferJobTransferSpecAwsS3DataSourcePtrOutput

func (TransferJobTransferSpecAwsS3DataSourcePtrOutput) ToTransferJobTransferSpecAwsS3DataSourcePtrOutputWithContext

func (o TransferJobTransferSpecAwsS3DataSourcePtrOutput) ToTransferJobTransferSpecAwsS3DataSourcePtrOutputWithContext(ctx context.Context) TransferJobTransferSpecAwsS3DataSourcePtrOutput

type TransferJobTransferSpecAzureBlobStorageDataSource added in v5.9.0

type TransferJobTransferSpecAzureBlobStorageDataSource struct {
	// Credentials used to authenticate API requests to Azure block.
	AzureCredentials TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentials `pulumi:"azureCredentials"`
	// The container to transfer from the Azure Storage account.`
	Container string `pulumi:"container"`
	// Root path to transfer objects. Must be an empty string or full path name that ends with a '/'. This field is treated as an object prefix. As such, it should generally not begin with a '/'.
	Path *string `pulumi:"path"`
	// The name of the Azure Storage account.
	StorageAccount string `pulumi:"storageAccount"`
}

type TransferJobTransferSpecAzureBlobStorageDataSourceArgs added in v5.9.0

type TransferJobTransferSpecAzureBlobStorageDataSourceArgs struct {
	// Credentials used to authenticate API requests to Azure block.
	AzureCredentials TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsInput `pulumi:"azureCredentials"`
	// The container to transfer from the Azure Storage account.`
	Container pulumi.StringInput `pulumi:"container"`
	// Root path to transfer objects. Must be an empty string or full path name that ends with a '/'. This field is treated as an object prefix. As such, it should generally not begin with a '/'.
	Path pulumi.StringPtrInput `pulumi:"path"`
	// The name of the Azure Storage account.
	StorageAccount pulumi.StringInput `pulumi:"storageAccount"`
}

func (TransferJobTransferSpecAzureBlobStorageDataSourceArgs) ElementType added in v5.9.0

func (TransferJobTransferSpecAzureBlobStorageDataSourceArgs) ToTransferJobTransferSpecAzureBlobStorageDataSourceOutput added in v5.9.0

func (i TransferJobTransferSpecAzureBlobStorageDataSourceArgs) ToTransferJobTransferSpecAzureBlobStorageDataSourceOutput() TransferJobTransferSpecAzureBlobStorageDataSourceOutput

func (TransferJobTransferSpecAzureBlobStorageDataSourceArgs) ToTransferJobTransferSpecAzureBlobStorageDataSourceOutputWithContext added in v5.9.0

func (i TransferJobTransferSpecAzureBlobStorageDataSourceArgs) ToTransferJobTransferSpecAzureBlobStorageDataSourceOutputWithContext(ctx context.Context) TransferJobTransferSpecAzureBlobStorageDataSourceOutput

func (TransferJobTransferSpecAzureBlobStorageDataSourceArgs) ToTransferJobTransferSpecAzureBlobStorageDataSourcePtrOutput added in v5.9.0

func (i TransferJobTransferSpecAzureBlobStorageDataSourceArgs) ToTransferJobTransferSpecAzureBlobStorageDataSourcePtrOutput() TransferJobTransferSpecAzureBlobStorageDataSourcePtrOutput

func (TransferJobTransferSpecAzureBlobStorageDataSourceArgs) ToTransferJobTransferSpecAzureBlobStorageDataSourcePtrOutputWithContext added in v5.9.0

func (i TransferJobTransferSpecAzureBlobStorageDataSourceArgs) ToTransferJobTransferSpecAzureBlobStorageDataSourcePtrOutputWithContext(ctx context.Context) TransferJobTransferSpecAzureBlobStorageDataSourcePtrOutput

type TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentials added in v5.9.0

type TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentials struct {
	// Azure shared access signature. See [Grant limited access to Azure Storage resources using shared access signatures (SAS)](https://docs.microsoft.com/en-us/azure/storage/common/storage-sas-overview).
	SasToken string `pulumi:"sasToken"`
}

type TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsArgs added in v5.9.0

type TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsArgs struct {
	// Azure shared access signature. See [Grant limited access to Azure Storage resources using shared access signatures (SAS)](https://docs.microsoft.com/en-us/azure/storage/common/storage-sas-overview).
	SasToken pulumi.StringInput `pulumi:"sasToken"`
}

func (TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsArgs) ElementType added in v5.9.0

func (TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsArgs) ToTransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsOutput added in v5.9.0

func (TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsArgs) ToTransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsOutputWithContext added in v5.9.0

func (i TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsArgs) ToTransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsOutputWithContext(ctx context.Context) TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsOutput

func (TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsArgs) ToTransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsPtrOutput added in v5.9.0

func (TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsArgs) ToTransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsPtrOutputWithContext added in v5.9.0

func (i TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsArgs) ToTransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsPtrOutputWithContext(ctx context.Context) TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsPtrOutput

type TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsInput added in v5.9.0

type TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsInput interface {
	pulumi.Input

	ToTransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsOutput() TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsOutput
	ToTransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsOutputWithContext(context.Context) TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsOutput
}

TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsInput is an input type that accepts TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsArgs and TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsOutput values. You can construct a concrete instance of `TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsInput` via:

TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsArgs{...}

type TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsOutput added in v5.9.0

type TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsOutput struct{ *pulumi.OutputState }

func (TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsOutput) ElementType added in v5.9.0

func (TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsOutput) SasToken added in v5.9.0

Azure shared access signature. See [Grant limited access to Azure Storage resources using shared access signatures (SAS)](https://docs.microsoft.com/en-us/azure/storage/common/storage-sas-overview).

func (TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsOutput) ToTransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsOutput added in v5.9.0

func (TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsOutput) ToTransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsOutputWithContext added in v5.9.0

func (o TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsOutput) ToTransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsOutputWithContext(ctx context.Context) TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsOutput

func (TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsOutput) ToTransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsPtrOutput added in v5.9.0

func (TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsOutput) ToTransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsPtrOutputWithContext added in v5.9.0

func (o TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsOutput) ToTransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsPtrOutputWithContext(ctx context.Context) TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsPtrOutput

type TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsPtrInput added in v5.9.0

type TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsPtrInput interface {
	pulumi.Input

	ToTransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsPtrOutput() TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsPtrOutput
	ToTransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsPtrOutputWithContext(context.Context) TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsPtrOutput
}

TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsPtrInput is an input type that accepts TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsArgs, TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsPtr and TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsPtrOutput values. You can construct a concrete instance of `TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsPtrInput` via:

        TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsArgs{...}

or:

        nil

type TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsPtrOutput added in v5.9.0

type TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsPtrOutput struct{ *pulumi.OutputState }

func (TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsPtrOutput) Elem added in v5.9.0

func (TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsPtrOutput) ElementType added in v5.9.0

func (TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsPtrOutput) SasToken added in v5.9.0

Azure shared access signature. See [Grant limited access to Azure Storage resources using shared access signatures (SAS)](https://docs.microsoft.com/en-us/azure/storage/common/storage-sas-overview).

func (TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsPtrOutput) ToTransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsPtrOutput added in v5.9.0

func (TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsPtrOutput) ToTransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsPtrOutputWithContext added in v5.9.0

type TransferJobTransferSpecAzureBlobStorageDataSourceInput added in v5.9.0

type TransferJobTransferSpecAzureBlobStorageDataSourceInput interface {
	pulumi.Input

	ToTransferJobTransferSpecAzureBlobStorageDataSourceOutput() TransferJobTransferSpecAzureBlobStorageDataSourceOutput
	ToTransferJobTransferSpecAzureBlobStorageDataSourceOutputWithContext(context.Context) TransferJobTransferSpecAzureBlobStorageDataSourceOutput
}

TransferJobTransferSpecAzureBlobStorageDataSourceInput is an input type that accepts TransferJobTransferSpecAzureBlobStorageDataSourceArgs and TransferJobTransferSpecAzureBlobStorageDataSourceOutput values. You can construct a concrete instance of `TransferJobTransferSpecAzureBlobStorageDataSourceInput` via:

TransferJobTransferSpecAzureBlobStorageDataSourceArgs{...}

type TransferJobTransferSpecAzureBlobStorageDataSourceOutput added in v5.9.0

type TransferJobTransferSpecAzureBlobStorageDataSourceOutput struct{ *pulumi.OutputState }

func (TransferJobTransferSpecAzureBlobStorageDataSourceOutput) AzureCredentials added in v5.9.0

Credentials used to authenticate API requests to Azure block.

func (TransferJobTransferSpecAzureBlobStorageDataSourceOutput) Container added in v5.9.0

The container to transfer from the Azure Storage account.`

func (TransferJobTransferSpecAzureBlobStorageDataSourceOutput) ElementType added in v5.9.0

func (TransferJobTransferSpecAzureBlobStorageDataSourceOutput) Path added in v5.9.0

Root path to transfer objects. Must be an empty string or full path name that ends with a '/'. This field is treated as an object prefix. As such, it should generally not begin with a '/'.

func (TransferJobTransferSpecAzureBlobStorageDataSourceOutput) StorageAccount added in v5.9.0

The name of the Azure Storage account.

func (TransferJobTransferSpecAzureBlobStorageDataSourceOutput) ToTransferJobTransferSpecAzureBlobStorageDataSourceOutput added in v5.9.0

func (TransferJobTransferSpecAzureBlobStorageDataSourceOutput) ToTransferJobTransferSpecAzureBlobStorageDataSourceOutputWithContext added in v5.9.0

func (o TransferJobTransferSpecAzureBlobStorageDataSourceOutput) ToTransferJobTransferSpecAzureBlobStorageDataSourceOutputWithContext(ctx context.Context) TransferJobTransferSpecAzureBlobStorageDataSourceOutput

func (TransferJobTransferSpecAzureBlobStorageDataSourceOutput) ToTransferJobTransferSpecAzureBlobStorageDataSourcePtrOutput added in v5.9.0

func (TransferJobTransferSpecAzureBlobStorageDataSourceOutput) ToTransferJobTransferSpecAzureBlobStorageDataSourcePtrOutputWithContext added in v5.9.0

func (o TransferJobTransferSpecAzureBlobStorageDataSourceOutput) ToTransferJobTransferSpecAzureBlobStorageDataSourcePtrOutputWithContext(ctx context.Context) TransferJobTransferSpecAzureBlobStorageDataSourcePtrOutput

type TransferJobTransferSpecAzureBlobStorageDataSourcePtrInput added in v5.9.0

type TransferJobTransferSpecAzureBlobStorageDataSourcePtrInput interface {
	pulumi.Input

	ToTransferJobTransferSpecAzureBlobStorageDataSourcePtrOutput() TransferJobTransferSpecAzureBlobStorageDataSourcePtrOutput
	ToTransferJobTransferSpecAzureBlobStorageDataSourcePtrOutputWithContext(context.Context) TransferJobTransferSpecAzureBlobStorageDataSourcePtrOutput
}

TransferJobTransferSpecAzureBlobStorageDataSourcePtrInput is an input type that accepts TransferJobTransferSpecAzureBlobStorageDataSourceArgs, TransferJobTransferSpecAzureBlobStorageDataSourcePtr and TransferJobTransferSpecAzureBlobStorageDataSourcePtrOutput values. You can construct a concrete instance of `TransferJobTransferSpecAzureBlobStorageDataSourcePtrInput` via:

        TransferJobTransferSpecAzureBlobStorageDataSourceArgs{...}

or:

        nil

type TransferJobTransferSpecAzureBlobStorageDataSourcePtrOutput added in v5.9.0

type TransferJobTransferSpecAzureBlobStorageDataSourcePtrOutput struct{ *pulumi.OutputState }

func (TransferJobTransferSpecAzureBlobStorageDataSourcePtrOutput) AzureCredentials added in v5.9.0

Credentials used to authenticate API requests to Azure block.

func (TransferJobTransferSpecAzureBlobStorageDataSourcePtrOutput) Container added in v5.9.0

The container to transfer from the Azure Storage account.`

func (TransferJobTransferSpecAzureBlobStorageDataSourcePtrOutput) Elem added in v5.9.0

func (TransferJobTransferSpecAzureBlobStorageDataSourcePtrOutput) ElementType added in v5.9.0

func (TransferJobTransferSpecAzureBlobStorageDataSourcePtrOutput) Path added in v5.9.0

Root path to transfer objects. Must be an empty string or full path name that ends with a '/'. This field is treated as an object prefix. As such, it should generally not begin with a '/'.

func (TransferJobTransferSpecAzureBlobStorageDataSourcePtrOutput) StorageAccount added in v5.9.0

The name of the Azure Storage account.

func (TransferJobTransferSpecAzureBlobStorageDataSourcePtrOutput) ToTransferJobTransferSpecAzureBlobStorageDataSourcePtrOutput added in v5.9.0

func (TransferJobTransferSpecAzureBlobStorageDataSourcePtrOutput) ToTransferJobTransferSpecAzureBlobStorageDataSourcePtrOutputWithContext added in v5.9.0

func (o TransferJobTransferSpecAzureBlobStorageDataSourcePtrOutput) ToTransferJobTransferSpecAzureBlobStorageDataSourcePtrOutputWithContext(ctx context.Context) TransferJobTransferSpecAzureBlobStorageDataSourcePtrOutput

type TransferJobTransferSpecGcsDataSink

type TransferJobTransferSpecGcsDataSink struct {
	// S3 Bucket name.
	BucketName string `pulumi:"bucketName"`
	// Root path to transfer objects. Must be an empty string or full path name that ends with a '/'. This field is treated as an object prefix. As such, it should generally not begin with a '/'.
	Path *string `pulumi:"path"`
}

type TransferJobTransferSpecGcsDataSinkArgs

type TransferJobTransferSpecGcsDataSinkArgs struct {
	// S3 Bucket name.
	BucketName pulumi.StringInput `pulumi:"bucketName"`
	// Root path to transfer objects. Must be an empty string or full path name that ends with a '/'. This field is treated as an object prefix. As such, it should generally not begin with a '/'.
	Path pulumi.StringPtrInput `pulumi:"path"`
}

func (TransferJobTransferSpecGcsDataSinkArgs) ElementType

func (TransferJobTransferSpecGcsDataSinkArgs) ToTransferJobTransferSpecGcsDataSinkOutput

func (i TransferJobTransferSpecGcsDataSinkArgs) ToTransferJobTransferSpecGcsDataSinkOutput() TransferJobTransferSpecGcsDataSinkOutput

func (TransferJobTransferSpecGcsDataSinkArgs) ToTransferJobTransferSpecGcsDataSinkOutputWithContext

func (i TransferJobTransferSpecGcsDataSinkArgs) ToTransferJobTransferSpecGcsDataSinkOutputWithContext(ctx context.Context) TransferJobTransferSpecGcsDataSinkOutput

func (TransferJobTransferSpecGcsDataSinkArgs) ToTransferJobTransferSpecGcsDataSinkPtrOutput

func (i TransferJobTransferSpecGcsDataSinkArgs) ToTransferJobTransferSpecGcsDataSinkPtrOutput() TransferJobTransferSpecGcsDataSinkPtrOutput

func (TransferJobTransferSpecGcsDataSinkArgs) ToTransferJobTransferSpecGcsDataSinkPtrOutputWithContext

func (i TransferJobTransferSpecGcsDataSinkArgs) ToTransferJobTransferSpecGcsDataSinkPtrOutputWithContext(ctx context.Context) TransferJobTransferSpecGcsDataSinkPtrOutput

type TransferJobTransferSpecGcsDataSinkInput

type TransferJobTransferSpecGcsDataSinkInput interface {
	pulumi.Input

	ToTransferJobTransferSpecGcsDataSinkOutput() TransferJobTransferSpecGcsDataSinkOutput
	ToTransferJobTransferSpecGcsDataSinkOutputWithContext(context.Context) TransferJobTransferSpecGcsDataSinkOutput
}

TransferJobTransferSpecGcsDataSinkInput is an input type that accepts TransferJobTransferSpecGcsDataSinkArgs and TransferJobTransferSpecGcsDataSinkOutput values. You can construct a concrete instance of `TransferJobTransferSpecGcsDataSinkInput` via:

TransferJobTransferSpecGcsDataSinkArgs{...}

type TransferJobTransferSpecGcsDataSinkOutput

type TransferJobTransferSpecGcsDataSinkOutput struct{ *pulumi.OutputState }

func (TransferJobTransferSpecGcsDataSinkOutput) BucketName

S3 Bucket name.

func (TransferJobTransferSpecGcsDataSinkOutput) ElementType

func (TransferJobTransferSpecGcsDataSinkOutput) Path added in v5.21.0

Root path to transfer objects. Must be an empty string or full path name that ends with a '/'. This field is treated as an object prefix. As such, it should generally not begin with a '/'.

func (TransferJobTransferSpecGcsDataSinkOutput) ToTransferJobTransferSpecGcsDataSinkOutput

func (o TransferJobTransferSpecGcsDataSinkOutput) ToTransferJobTransferSpecGcsDataSinkOutput() TransferJobTransferSpecGcsDataSinkOutput

func (TransferJobTransferSpecGcsDataSinkOutput) ToTransferJobTransferSpecGcsDataSinkOutputWithContext

func (o TransferJobTransferSpecGcsDataSinkOutput) ToTransferJobTransferSpecGcsDataSinkOutputWithContext(ctx context.Context) TransferJobTransferSpecGcsDataSinkOutput

func (TransferJobTransferSpecGcsDataSinkOutput) ToTransferJobTransferSpecGcsDataSinkPtrOutput

func (o TransferJobTransferSpecGcsDataSinkOutput) ToTransferJobTransferSpecGcsDataSinkPtrOutput() TransferJobTransferSpecGcsDataSinkPtrOutput

func (TransferJobTransferSpecGcsDataSinkOutput) ToTransferJobTransferSpecGcsDataSinkPtrOutputWithContext

func (o TransferJobTransferSpecGcsDataSinkOutput) ToTransferJobTransferSpecGcsDataSinkPtrOutputWithContext(ctx context.Context) TransferJobTransferSpecGcsDataSinkPtrOutput

type TransferJobTransferSpecGcsDataSinkPtrInput

type TransferJobTransferSpecGcsDataSinkPtrInput interface {
	pulumi.Input

	ToTransferJobTransferSpecGcsDataSinkPtrOutput() TransferJobTransferSpecGcsDataSinkPtrOutput
	ToTransferJobTransferSpecGcsDataSinkPtrOutputWithContext(context.Context) TransferJobTransferSpecGcsDataSinkPtrOutput
}

TransferJobTransferSpecGcsDataSinkPtrInput is an input type that accepts TransferJobTransferSpecGcsDataSinkArgs, TransferJobTransferSpecGcsDataSinkPtr and TransferJobTransferSpecGcsDataSinkPtrOutput values. You can construct a concrete instance of `TransferJobTransferSpecGcsDataSinkPtrInput` via:

        TransferJobTransferSpecGcsDataSinkArgs{...}

or:

        nil

type TransferJobTransferSpecGcsDataSinkPtrOutput

type TransferJobTransferSpecGcsDataSinkPtrOutput struct{ *pulumi.OutputState }

func (TransferJobTransferSpecGcsDataSinkPtrOutput) BucketName

S3 Bucket name.

func (TransferJobTransferSpecGcsDataSinkPtrOutput) Elem

func (TransferJobTransferSpecGcsDataSinkPtrOutput) ElementType

func (TransferJobTransferSpecGcsDataSinkPtrOutput) Path added in v5.21.0

Root path to transfer objects. Must be an empty string or full path name that ends with a '/'. This field is treated as an object prefix. As such, it should generally not begin with a '/'.

func (TransferJobTransferSpecGcsDataSinkPtrOutput) ToTransferJobTransferSpecGcsDataSinkPtrOutput

func (o TransferJobTransferSpecGcsDataSinkPtrOutput) ToTransferJobTransferSpecGcsDataSinkPtrOutput() TransferJobTransferSpecGcsDataSinkPtrOutput

func (TransferJobTransferSpecGcsDataSinkPtrOutput) ToTransferJobTransferSpecGcsDataSinkPtrOutputWithContext

func (o TransferJobTransferSpecGcsDataSinkPtrOutput) ToTransferJobTransferSpecGcsDataSinkPtrOutputWithContext(ctx context.Context) TransferJobTransferSpecGcsDataSinkPtrOutput

type TransferJobTransferSpecGcsDataSource

type TransferJobTransferSpecGcsDataSource struct {
	// S3 Bucket name.
	BucketName string `pulumi:"bucketName"`
	// Root path to transfer objects. Must be an empty string or full path name that ends with a '/'. This field is treated as an object prefix. As such, it should generally not begin with a '/'.
	Path *string `pulumi:"path"`
}

type TransferJobTransferSpecGcsDataSourceArgs

type TransferJobTransferSpecGcsDataSourceArgs struct {
	// S3 Bucket name.
	BucketName pulumi.StringInput `pulumi:"bucketName"`
	// Root path to transfer objects. Must be an empty string or full path name that ends with a '/'. This field is treated as an object prefix. As such, it should generally not begin with a '/'.
	Path pulumi.StringPtrInput `pulumi:"path"`
}

func (TransferJobTransferSpecGcsDataSourceArgs) ElementType

func (TransferJobTransferSpecGcsDataSourceArgs) ToTransferJobTransferSpecGcsDataSourceOutput

func (i TransferJobTransferSpecGcsDataSourceArgs) ToTransferJobTransferSpecGcsDataSourceOutput() TransferJobTransferSpecGcsDataSourceOutput

func (TransferJobTransferSpecGcsDataSourceArgs) ToTransferJobTransferSpecGcsDataSourceOutputWithContext

func (i TransferJobTransferSpecGcsDataSourceArgs) ToTransferJobTransferSpecGcsDataSourceOutputWithContext(ctx context.Context) TransferJobTransferSpecGcsDataSourceOutput

func (TransferJobTransferSpecGcsDataSourceArgs) ToTransferJobTransferSpecGcsDataSourcePtrOutput

func (i TransferJobTransferSpecGcsDataSourceArgs) ToTransferJobTransferSpecGcsDataSourcePtrOutput() TransferJobTransferSpecGcsDataSourcePtrOutput

func (TransferJobTransferSpecGcsDataSourceArgs) ToTransferJobTransferSpecGcsDataSourcePtrOutputWithContext

func (i TransferJobTransferSpecGcsDataSourceArgs) ToTransferJobTransferSpecGcsDataSourcePtrOutputWithContext(ctx context.Context) TransferJobTransferSpecGcsDataSourcePtrOutput

type TransferJobTransferSpecGcsDataSourceInput

type TransferJobTransferSpecGcsDataSourceInput interface {
	pulumi.Input

	ToTransferJobTransferSpecGcsDataSourceOutput() TransferJobTransferSpecGcsDataSourceOutput
	ToTransferJobTransferSpecGcsDataSourceOutputWithContext(context.Context) TransferJobTransferSpecGcsDataSourceOutput
}

TransferJobTransferSpecGcsDataSourceInput is an input type that accepts TransferJobTransferSpecGcsDataSourceArgs and TransferJobTransferSpecGcsDataSourceOutput values. You can construct a concrete instance of `TransferJobTransferSpecGcsDataSourceInput` via:

TransferJobTransferSpecGcsDataSourceArgs{...}

type TransferJobTransferSpecGcsDataSourceOutput

type TransferJobTransferSpecGcsDataSourceOutput struct{ *pulumi.OutputState }

func (TransferJobTransferSpecGcsDataSourceOutput) BucketName

S3 Bucket name.

func (TransferJobTransferSpecGcsDataSourceOutput) ElementType

func (TransferJobTransferSpecGcsDataSourceOutput) Path added in v5.21.0

Root path to transfer objects. Must be an empty string or full path name that ends with a '/'. This field is treated as an object prefix. As such, it should generally not begin with a '/'.

func (TransferJobTransferSpecGcsDataSourceOutput) ToTransferJobTransferSpecGcsDataSourceOutput

func (o TransferJobTransferSpecGcsDataSourceOutput) ToTransferJobTransferSpecGcsDataSourceOutput() TransferJobTransferSpecGcsDataSourceOutput

func (TransferJobTransferSpecGcsDataSourceOutput) ToTransferJobTransferSpecGcsDataSourceOutputWithContext

func (o TransferJobTransferSpecGcsDataSourceOutput) ToTransferJobTransferSpecGcsDataSourceOutputWithContext(ctx context.Context) TransferJobTransferSpecGcsDataSourceOutput

func (TransferJobTransferSpecGcsDataSourceOutput) ToTransferJobTransferSpecGcsDataSourcePtrOutput

func (o TransferJobTransferSpecGcsDataSourceOutput) ToTransferJobTransferSpecGcsDataSourcePtrOutput() TransferJobTransferSpecGcsDataSourcePtrOutput

func (TransferJobTransferSpecGcsDataSourceOutput) ToTransferJobTransferSpecGcsDataSourcePtrOutputWithContext

func (o TransferJobTransferSpecGcsDataSourceOutput) ToTransferJobTransferSpecGcsDataSourcePtrOutputWithContext(ctx context.Context) TransferJobTransferSpecGcsDataSourcePtrOutput

type TransferJobTransferSpecGcsDataSourcePtrInput

type TransferJobTransferSpecGcsDataSourcePtrInput interface {
	pulumi.Input

	ToTransferJobTransferSpecGcsDataSourcePtrOutput() TransferJobTransferSpecGcsDataSourcePtrOutput
	ToTransferJobTransferSpecGcsDataSourcePtrOutputWithContext(context.Context) TransferJobTransferSpecGcsDataSourcePtrOutput
}

TransferJobTransferSpecGcsDataSourcePtrInput is an input type that accepts TransferJobTransferSpecGcsDataSourceArgs, TransferJobTransferSpecGcsDataSourcePtr and TransferJobTransferSpecGcsDataSourcePtrOutput values. You can construct a concrete instance of `TransferJobTransferSpecGcsDataSourcePtrInput` via:

        TransferJobTransferSpecGcsDataSourceArgs{...}

or:

        nil

type TransferJobTransferSpecGcsDataSourcePtrOutput

type TransferJobTransferSpecGcsDataSourcePtrOutput struct{ *pulumi.OutputState }

func (TransferJobTransferSpecGcsDataSourcePtrOutput) BucketName

S3 Bucket name.

func (TransferJobTransferSpecGcsDataSourcePtrOutput) Elem

func (TransferJobTransferSpecGcsDataSourcePtrOutput) ElementType

func (TransferJobTransferSpecGcsDataSourcePtrOutput) Path added in v5.21.0

Root path to transfer objects. Must be an empty string or full path name that ends with a '/'. This field is treated as an object prefix. As such, it should generally not begin with a '/'.

func (TransferJobTransferSpecGcsDataSourcePtrOutput) ToTransferJobTransferSpecGcsDataSourcePtrOutput

func (o TransferJobTransferSpecGcsDataSourcePtrOutput) ToTransferJobTransferSpecGcsDataSourcePtrOutput() TransferJobTransferSpecGcsDataSourcePtrOutput

func (TransferJobTransferSpecGcsDataSourcePtrOutput) ToTransferJobTransferSpecGcsDataSourcePtrOutputWithContext

func (o TransferJobTransferSpecGcsDataSourcePtrOutput) ToTransferJobTransferSpecGcsDataSourcePtrOutputWithContext(ctx context.Context) TransferJobTransferSpecGcsDataSourcePtrOutput

type TransferJobTransferSpecHttpDataSource

type TransferJobTransferSpecHttpDataSource struct {
	// The URL that points to the file that stores the object list entries. This file must allow public access. Currently, only URLs with HTTP and HTTPS schemes are supported.
	ListUrl string `pulumi:"listUrl"`
}

type TransferJobTransferSpecHttpDataSourceArgs

type TransferJobTransferSpecHttpDataSourceArgs struct {
	// The URL that points to the file that stores the object list entries. This file must allow public access. Currently, only URLs with HTTP and HTTPS schemes are supported.
	ListUrl pulumi.StringInput `pulumi:"listUrl"`
}

func (TransferJobTransferSpecHttpDataSourceArgs) ElementType

func (TransferJobTransferSpecHttpDataSourceArgs) ToTransferJobTransferSpecHttpDataSourceOutput

func (i TransferJobTransferSpecHttpDataSourceArgs) ToTransferJobTransferSpecHttpDataSourceOutput() TransferJobTransferSpecHttpDataSourceOutput

func (TransferJobTransferSpecHttpDataSourceArgs) ToTransferJobTransferSpecHttpDataSourceOutputWithContext

func (i TransferJobTransferSpecHttpDataSourceArgs) ToTransferJobTransferSpecHttpDataSourceOutputWithContext(ctx context.Context) TransferJobTransferSpecHttpDataSourceOutput

func (TransferJobTransferSpecHttpDataSourceArgs) ToTransferJobTransferSpecHttpDataSourcePtrOutput

func (i TransferJobTransferSpecHttpDataSourceArgs) ToTransferJobTransferSpecHttpDataSourcePtrOutput() TransferJobTransferSpecHttpDataSourcePtrOutput

func (TransferJobTransferSpecHttpDataSourceArgs) ToTransferJobTransferSpecHttpDataSourcePtrOutputWithContext

func (i TransferJobTransferSpecHttpDataSourceArgs) ToTransferJobTransferSpecHttpDataSourcePtrOutputWithContext(ctx context.Context) TransferJobTransferSpecHttpDataSourcePtrOutput

type TransferJobTransferSpecHttpDataSourceInput

type TransferJobTransferSpecHttpDataSourceInput interface {
	pulumi.Input

	ToTransferJobTransferSpecHttpDataSourceOutput() TransferJobTransferSpecHttpDataSourceOutput
	ToTransferJobTransferSpecHttpDataSourceOutputWithContext(context.Context) TransferJobTransferSpecHttpDataSourceOutput
}

TransferJobTransferSpecHttpDataSourceInput is an input type that accepts TransferJobTransferSpecHttpDataSourceArgs and TransferJobTransferSpecHttpDataSourceOutput values. You can construct a concrete instance of `TransferJobTransferSpecHttpDataSourceInput` via:

TransferJobTransferSpecHttpDataSourceArgs{...}

type TransferJobTransferSpecHttpDataSourceOutput

type TransferJobTransferSpecHttpDataSourceOutput struct{ *pulumi.OutputState }

func (TransferJobTransferSpecHttpDataSourceOutput) ElementType

func (TransferJobTransferSpecHttpDataSourceOutput) ListUrl

The URL that points to the file that stores the object list entries. This file must allow public access. Currently, only URLs with HTTP and HTTPS schemes are supported.

func (TransferJobTransferSpecHttpDataSourceOutput) ToTransferJobTransferSpecHttpDataSourceOutput

func (o TransferJobTransferSpecHttpDataSourceOutput) ToTransferJobTransferSpecHttpDataSourceOutput() TransferJobTransferSpecHttpDataSourceOutput

func (TransferJobTransferSpecHttpDataSourceOutput) ToTransferJobTransferSpecHttpDataSourceOutputWithContext

func (o TransferJobTransferSpecHttpDataSourceOutput) ToTransferJobTransferSpecHttpDataSourceOutputWithContext(ctx context.Context) TransferJobTransferSpecHttpDataSourceOutput

func (TransferJobTransferSpecHttpDataSourceOutput) ToTransferJobTransferSpecHttpDataSourcePtrOutput

func (o TransferJobTransferSpecHttpDataSourceOutput) ToTransferJobTransferSpecHttpDataSourcePtrOutput() TransferJobTransferSpecHttpDataSourcePtrOutput

func (TransferJobTransferSpecHttpDataSourceOutput) ToTransferJobTransferSpecHttpDataSourcePtrOutputWithContext

func (o TransferJobTransferSpecHttpDataSourceOutput) ToTransferJobTransferSpecHttpDataSourcePtrOutputWithContext(ctx context.Context) TransferJobTransferSpecHttpDataSourcePtrOutput

type TransferJobTransferSpecHttpDataSourcePtrInput

type TransferJobTransferSpecHttpDataSourcePtrInput interface {
	pulumi.Input

	ToTransferJobTransferSpecHttpDataSourcePtrOutput() TransferJobTransferSpecHttpDataSourcePtrOutput
	ToTransferJobTransferSpecHttpDataSourcePtrOutputWithContext(context.Context) TransferJobTransferSpecHttpDataSourcePtrOutput
}

TransferJobTransferSpecHttpDataSourcePtrInput is an input type that accepts TransferJobTransferSpecHttpDataSourceArgs, TransferJobTransferSpecHttpDataSourcePtr and TransferJobTransferSpecHttpDataSourcePtrOutput values. You can construct a concrete instance of `TransferJobTransferSpecHttpDataSourcePtrInput` via:

        TransferJobTransferSpecHttpDataSourceArgs{...}

or:

        nil

type TransferJobTransferSpecHttpDataSourcePtrOutput

type TransferJobTransferSpecHttpDataSourcePtrOutput struct{ *pulumi.OutputState }

func (TransferJobTransferSpecHttpDataSourcePtrOutput) Elem

func (TransferJobTransferSpecHttpDataSourcePtrOutput) ElementType

func (TransferJobTransferSpecHttpDataSourcePtrOutput) ListUrl

The URL that points to the file that stores the object list entries. This file must allow public access. Currently, only URLs with HTTP and HTTPS schemes are supported.

func (TransferJobTransferSpecHttpDataSourcePtrOutput) ToTransferJobTransferSpecHttpDataSourcePtrOutput

func (o TransferJobTransferSpecHttpDataSourcePtrOutput) ToTransferJobTransferSpecHttpDataSourcePtrOutput() TransferJobTransferSpecHttpDataSourcePtrOutput

func (TransferJobTransferSpecHttpDataSourcePtrOutput) ToTransferJobTransferSpecHttpDataSourcePtrOutputWithContext

func (o TransferJobTransferSpecHttpDataSourcePtrOutput) ToTransferJobTransferSpecHttpDataSourcePtrOutputWithContext(ctx context.Context) TransferJobTransferSpecHttpDataSourcePtrOutput

type TransferJobTransferSpecInput

type TransferJobTransferSpecInput interface {
	pulumi.Input

	ToTransferJobTransferSpecOutput() TransferJobTransferSpecOutput
	ToTransferJobTransferSpecOutputWithContext(context.Context) TransferJobTransferSpecOutput
}

TransferJobTransferSpecInput is an input type that accepts TransferJobTransferSpecArgs and TransferJobTransferSpecOutput values. You can construct a concrete instance of `TransferJobTransferSpecInput` via:

TransferJobTransferSpecArgs{...}

type TransferJobTransferSpecObjectConditions

type TransferJobTransferSpecObjectConditions struct {
	// `excludePrefixes` must follow the requirements described for `includePrefixes`. See [Requirements](https://cloud.google.com/storage-transfer/docs/reference/rest/v1/TransferSpec#ObjectConditions).
	ExcludePrefixes []string `pulumi:"excludePrefixes"`
	// If `includePrefixes` is specified, objects that satisfy the object conditions must have names that start with one of the `includePrefixes` and that do not start with any of the `excludePrefixes`. If `includePrefixes` is not specified, all objects except those that have names starting with one of the `excludePrefixes` must satisfy the object conditions. See [Requirements](https://cloud.google.com/storage-transfer/docs/reference/rest/v1/TransferSpec#ObjectConditions).
	IncludePrefixes []string `pulumi:"includePrefixes"`
	// A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".
	MaxTimeElapsedSinceLastModification *string `pulumi:"maxTimeElapsedSinceLastModification"`
	// A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".
	MinTimeElapsedSinceLastModification *string `pulumi:"minTimeElapsedSinceLastModification"`
}

type TransferJobTransferSpecObjectConditionsArgs

type TransferJobTransferSpecObjectConditionsArgs struct {
	// `excludePrefixes` must follow the requirements described for `includePrefixes`. See [Requirements](https://cloud.google.com/storage-transfer/docs/reference/rest/v1/TransferSpec#ObjectConditions).
	ExcludePrefixes pulumi.StringArrayInput `pulumi:"excludePrefixes"`
	// If `includePrefixes` is specified, objects that satisfy the object conditions must have names that start with one of the `includePrefixes` and that do not start with any of the `excludePrefixes`. If `includePrefixes` is not specified, all objects except those that have names starting with one of the `excludePrefixes` must satisfy the object conditions. See [Requirements](https://cloud.google.com/storage-transfer/docs/reference/rest/v1/TransferSpec#ObjectConditions).
	IncludePrefixes pulumi.StringArrayInput `pulumi:"includePrefixes"`
	// A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".
	MaxTimeElapsedSinceLastModification pulumi.StringPtrInput `pulumi:"maxTimeElapsedSinceLastModification"`
	// A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".
	MinTimeElapsedSinceLastModification pulumi.StringPtrInput `pulumi:"minTimeElapsedSinceLastModification"`
}

func (TransferJobTransferSpecObjectConditionsArgs) ElementType

func (TransferJobTransferSpecObjectConditionsArgs) ToTransferJobTransferSpecObjectConditionsOutput

func (i TransferJobTransferSpecObjectConditionsArgs) ToTransferJobTransferSpecObjectConditionsOutput() TransferJobTransferSpecObjectConditionsOutput

func (TransferJobTransferSpecObjectConditionsArgs) ToTransferJobTransferSpecObjectConditionsOutputWithContext

func (i TransferJobTransferSpecObjectConditionsArgs) ToTransferJobTransferSpecObjectConditionsOutputWithContext(ctx context.Context) TransferJobTransferSpecObjectConditionsOutput

func (TransferJobTransferSpecObjectConditionsArgs) ToTransferJobTransferSpecObjectConditionsPtrOutput

func (i TransferJobTransferSpecObjectConditionsArgs) ToTransferJobTransferSpecObjectConditionsPtrOutput() TransferJobTransferSpecObjectConditionsPtrOutput

func (TransferJobTransferSpecObjectConditionsArgs) ToTransferJobTransferSpecObjectConditionsPtrOutputWithContext

func (i TransferJobTransferSpecObjectConditionsArgs) ToTransferJobTransferSpecObjectConditionsPtrOutputWithContext(ctx context.Context) TransferJobTransferSpecObjectConditionsPtrOutput

type TransferJobTransferSpecObjectConditionsInput

type TransferJobTransferSpecObjectConditionsInput interface {
	pulumi.Input

	ToTransferJobTransferSpecObjectConditionsOutput() TransferJobTransferSpecObjectConditionsOutput
	ToTransferJobTransferSpecObjectConditionsOutputWithContext(context.Context) TransferJobTransferSpecObjectConditionsOutput
}

TransferJobTransferSpecObjectConditionsInput is an input type that accepts TransferJobTransferSpecObjectConditionsArgs and TransferJobTransferSpecObjectConditionsOutput values. You can construct a concrete instance of `TransferJobTransferSpecObjectConditionsInput` via:

TransferJobTransferSpecObjectConditionsArgs{...}

type TransferJobTransferSpecObjectConditionsOutput

type TransferJobTransferSpecObjectConditionsOutput struct{ *pulumi.OutputState }

func (TransferJobTransferSpecObjectConditionsOutput) ElementType

func (TransferJobTransferSpecObjectConditionsOutput) ExcludePrefixes

`excludePrefixes` must follow the requirements described for `includePrefixes`. See [Requirements](https://cloud.google.com/storage-transfer/docs/reference/rest/v1/TransferSpec#ObjectConditions).

func (TransferJobTransferSpecObjectConditionsOutput) IncludePrefixes

If `includePrefixes` is specified, objects that satisfy the object conditions must have names that start with one of the `includePrefixes` and that do not start with any of the `excludePrefixes`. If `includePrefixes` is not specified, all objects except those that have names starting with one of the `excludePrefixes` must satisfy the object conditions. See [Requirements](https://cloud.google.com/storage-transfer/docs/reference/rest/v1/TransferSpec#ObjectConditions).

func (TransferJobTransferSpecObjectConditionsOutput) MaxTimeElapsedSinceLastModification

func (o TransferJobTransferSpecObjectConditionsOutput) MaxTimeElapsedSinceLastModification() pulumi.StringPtrOutput

A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".

func (TransferJobTransferSpecObjectConditionsOutput) MinTimeElapsedSinceLastModification

func (o TransferJobTransferSpecObjectConditionsOutput) MinTimeElapsedSinceLastModification() pulumi.StringPtrOutput

A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".

func (TransferJobTransferSpecObjectConditionsOutput) ToTransferJobTransferSpecObjectConditionsOutput

func (o TransferJobTransferSpecObjectConditionsOutput) ToTransferJobTransferSpecObjectConditionsOutput() TransferJobTransferSpecObjectConditionsOutput

func (TransferJobTransferSpecObjectConditionsOutput) ToTransferJobTransferSpecObjectConditionsOutputWithContext

func (o TransferJobTransferSpecObjectConditionsOutput) ToTransferJobTransferSpecObjectConditionsOutputWithContext(ctx context.Context) TransferJobTransferSpecObjectConditionsOutput

func (TransferJobTransferSpecObjectConditionsOutput) ToTransferJobTransferSpecObjectConditionsPtrOutput

func (o TransferJobTransferSpecObjectConditionsOutput) ToTransferJobTransferSpecObjectConditionsPtrOutput() TransferJobTransferSpecObjectConditionsPtrOutput

func (TransferJobTransferSpecObjectConditionsOutput) ToTransferJobTransferSpecObjectConditionsPtrOutputWithContext

func (o TransferJobTransferSpecObjectConditionsOutput) ToTransferJobTransferSpecObjectConditionsPtrOutputWithContext(ctx context.Context) TransferJobTransferSpecObjectConditionsPtrOutput

type TransferJobTransferSpecObjectConditionsPtrInput

type TransferJobTransferSpecObjectConditionsPtrInput interface {
	pulumi.Input

	ToTransferJobTransferSpecObjectConditionsPtrOutput() TransferJobTransferSpecObjectConditionsPtrOutput
	ToTransferJobTransferSpecObjectConditionsPtrOutputWithContext(context.Context) TransferJobTransferSpecObjectConditionsPtrOutput
}

TransferJobTransferSpecObjectConditionsPtrInput is an input type that accepts TransferJobTransferSpecObjectConditionsArgs, TransferJobTransferSpecObjectConditionsPtr and TransferJobTransferSpecObjectConditionsPtrOutput values. You can construct a concrete instance of `TransferJobTransferSpecObjectConditionsPtrInput` via:

        TransferJobTransferSpecObjectConditionsArgs{...}

or:

        nil

type TransferJobTransferSpecObjectConditionsPtrOutput

type TransferJobTransferSpecObjectConditionsPtrOutput struct{ *pulumi.OutputState }

func (TransferJobTransferSpecObjectConditionsPtrOutput) Elem

func (TransferJobTransferSpecObjectConditionsPtrOutput) ElementType

func (TransferJobTransferSpecObjectConditionsPtrOutput) ExcludePrefixes

`excludePrefixes` must follow the requirements described for `includePrefixes`. See [Requirements](https://cloud.google.com/storage-transfer/docs/reference/rest/v1/TransferSpec#ObjectConditions).

func (TransferJobTransferSpecObjectConditionsPtrOutput) IncludePrefixes

If `includePrefixes` is specified, objects that satisfy the object conditions must have names that start with one of the `includePrefixes` and that do not start with any of the `excludePrefixes`. If `includePrefixes` is not specified, all objects except those that have names starting with one of the `excludePrefixes` must satisfy the object conditions. See [Requirements](https://cloud.google.com/storage-transfer/docs/reference/rest/v1/TransferSpec#ObjectConditions).

func (TransferJobTransferSpecObjectConditionsPtrOutput) MaxTimeElapsedSinceLastModification

func (o TransferJobTransferSpecObjectConditionsPtrOutput) MaxTimeElapsedSinceLastModification() pulumi.StringPtrOutput

A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".

func (TransferJobTransferSpecObjectConditionsPtrOutput) MinTimeElapsedSinceLastModification

func (o TransferJobTransferSpecObjectConditionsPtrOutput) MinTimeElapsedSinceLastModification() pulumi.StringPtrOutput

A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".

func (TransferJobTransferSpecObjectConditionsPtrOutput) ToTransferJobTransferSpecObjectConditionsPtrOutput

func (o TransferJobTransferSpecObjectConditionsPtrOutput) ToTransferJobTransferSpecObjectConditionsPtrOutput() TransferJobTransferSpecObjectConditionsPtrOutput

func (TransferJobTransferSpecObjectConditionsPtrOutput) ToTransferJobTransferSpecObjectConditionsPtrOutputWithContext

func (o TransferJobTransferSpecObjectConditionsPtrOutput) ToTransferJobTransferSpecObjectConditionsPtrOutputWithContext(ctx context.Context) TransferJobTransferSpecObjectConditionsPtrOutput

type TransferJobTransferSpecOutput

type TransferJobTransferSpecOutput struct{ *pulumi.OutputState }

func (TransferJobTransferSpecOutput) AwsS3DataSource

An AWS S3 data source. Structure documented below.

func (TransferJobTransferSpecOutput) AzureBlobStorageDataSource added in v5.9.0

An Azure Blob Storage data source. Structure documented below.

func (TransferJobTransferSpecOutput) ElementType

func (TransferJobTransferSpecOutput) GcsDataSink

A Google Cloud Storage data sink. Structure documented below.

func (TransferJobTransferSpecOutput) GcsDataSource

A Google Cloud Storage data source. Structure documented below.

func (TransferJobTransferSpecOutput) HttpDataSource

A HTTP URL data source. Structure documented below.

func (TransferJobTransferSpecOutput) ObjectConditions

Only objects that satisfy these object conditions are included in the set of data source and data sink objects. Object conditions based on objects' `lastModificationTime` do not exclude objects in a data sink. Structure documented below.

func (TransferJobTransferSpecOutput) ToTransferJobTransferSpecOutput

func (o TransferJobTransferSpecOutput) ToTransferJobTransferSpecOutput() TransferJobTransferSpecOutput

func (TransferJobTransferSpecOutput) ToTransferJobTransferSpecOutputWithContext

func (o TransferJobTransferSpecOutput) ToTransferJobTransferSpecOutputWithContext(ctx context.Context) TransferJobTransferSpecOutput

func (TransferJobTransferSpecOutput) ToTransferJobTransferSpecPtrOutput

func (o TransferJobTransferSpecOutput) ToTransferJobTransferSpecPtrOutput() TransferJobTransferSpecPtrOutput

func (TransferJobTransferSpecOutput) ToTransferJobTransferSpecPtrOutputWithContext

func (o TransferJobTransferSpecOutput) ToTransferJobTransferSpecPtrOutputWithContext(ctx context.Context) TransferJobTransferSpecPtrOutput

func (TransferJobTransferSpecOutput) TransferOptions

Characteristics of how to treat files from datasource and sink during job. If the option `deleteObjectsUniqueInSink` is true, object conditions based on objects' `lastModificationTime` are ignored and do not exclude objects in a data source or a data sink. Structure documented below.

type TransferJobTransferSpecPtrInput

type TransferJobTransferSpecPtrInput interface {
	pulumi.Input

	ToTransferJobTransferSpecPtrOutput() TransferJobTransferSpecPtrOutput
	ToTransferJobTransferSpecPtrOutputWithContext(context.Context) TransferJobTransferSpecPtrOutput
}

TransferJobTransferSpecPtrInput is an input type that accepts TransferJobTransferSpecArgs, TransferJobTransferSpecPtr and TransferJobTransferSpecPtrOutput values. You can construct a concrete instance of `TransferJobTransferSpecPtrInput` via:

        TransferJobTransferSpecArgs{...}

or:

        nil

type TransferJobTransferSpecPtrOutput

type TransferJobTransferSpecPtrOutput struct{ *pulumi.OutputState }

func (TransferJobTransferSpecPtrOutput) AwsS3DataSource

An AWS S3 data source. Structure documented below.

func (TransferJobTransferSpecPtrOutput) AzureBlobStorageDataSource added in v5.9.0

An Azure Blob Storage data source. Structure documented below.

func (TransferJobTransferSpecPtrOutput) Elem

func (TransferJobTransferSpecPtrOutput) ElementType

func (TransferJobTransferSpecPtrOutput) GcsDataSink

A Google Cloud Storage data sink. Structure documented below.

func (TransferJobTransferSpecPtrOutput) GcsDataSource

A Google Cloud Storage data source. Structure documented below.

func (TransferJobTransferSpecPtrOutput) HttpDataSource

A HTTP URL data source. Structure documented below.

func (TransferJobTransferSpecPtrOutput) ObjectConditions

Only objects that satisfy these object conditions are included in the set of data source and data sink objects. Object conditions based on objects' `lastModificationTime` do not exclude objects in a data sink. Structure documented below.

func (TransferJobTransferSpecPtrOutput) ToTransferJobTransferSpecPtrOutput

func (o TransferJobTransferSpecPtrOutput) ToTransferJobTransferSpecPtrOutput() TransferJobTransferSpecPtrOutput

func (TransferJobTransferSpecPtrOutput) ToTransferJobTransferSpecPtrOutputWithContext

func (o TransferJobTransferSpecPtrOutput) ToTransferJobTransferSpecPtrOutputWithContext(ctx context.Context) TransferJobTransferSpecPtrOutput

func (TransferJobTransferSpecPtrOutput) TransferOptions

Characteristics of how to treat files from datasource and sink during job. If the option `deleteObjectsUniqueInSink` is true, object conditions based on objects' `lastModificationTime` are ignored and do not exclude objects in a data source or a data sink. Structure documented below.

type TransferJobTransferSpecTransferOptions

type TransferJobTransferSpecTransferOptions struct {
	// Whether objects should be deleted from the source after they are transferred to the sink. Note that this option and `deleteObjectsUniqueInSink` are mutually exclusive.
	DeleteObjectsFromSourceAfterTransfer *bool `pulumi:"deleteObjectsFromSourceAfterTransfer"`
	// Whether objects that exist only in the sink should be deleted. Note that this option and
	// `deleteObjectsFromSourceAfterTransfer` are mutually exclusive.
	DeleteObjectsUniqueInSink *bool `pulumi:"deleteObjectsUniqueInSink"`
	// Whether overwriting objects that already exist in the sink is allowed.
	OverwriteObjectsAlreadyExistingInSink *bool `pulumi:"overwriteObjectsAlreadyExistingInSink"`
}

type TransferJobTransferSpecTransferOptionsArgs

type TransferJobTransferSpecTransferOptionsArgs struct {
	// Whether objects should be deleted from the source after they are transferred to the sink. Note that this option and `deleteObjectsUniqueInSink` are mutually exclusive.
	DeleteObjectsFromSourceAfterTransfer pulumi.BoolPtrInput `pulumi:"deleteObjectsFromSourceAfterTransfer"`
	// Whether objects that exist only in the sink should be deleted. Note that this option and
	// `deleteObjectsFromSourceAfterTransfer` are mutually exclusive.
	DeleteObjectsUniqueInSink pulumi.BoolPtrInput `pulumi:"deleteObjectsUniqueInSink"`
	// Whether overwriting objects that already exist in the sink is allowed.
	OverwriteObjectsAlreadyExistingInSink pulumi.BoolPtrInput `pulumi:"overwriteObjectsAlreadyExistingInSink"`
}

func (TransferJobTransferSpecTransferOptionsArgs) ElementType

func (TransferJobTransferSpecTransferOptionsArgs) ToTransferJobTransferSpecTransferOptionsOutput

func (i TransferJobTransferSpecTransferOptionsArgs) ToTransferJobTransferSpecTransferOptionsOutput() TransferJobTransferSpecTransferOptionsOutput

func (TransferJobTransferSpecTransferOptionsArgs) ToTransferJobTransferSpecTransferOptionsOutputWithContext

func (i TransferJobTransferSpecTransferOptionsArgs) ToTransferJobTransferSpecTransferOptionsOutputWithContext(ctx context.Context) TransferJobTransferSpecTransferOptionsOutput

func (TransferJobTransferSpecTransferOptionsArgs) ToTransferJobTransferSpecTransferOptionsPtrOutput

func (i TransferJobTransferSpecTransferOptionsArgs) ToTransferJobTransferSpecTransferOptionsPtrOutput() TransferJobTransferSpecTransferOptionsPtrOutput

func (TransferJobTransferSpecTransferOptionsArgs) ToTransferJobTransferSpecTransferOptionsPtrOutputWithContext

func (i TransferJobTransferSpecTransferOptionsArgs) ToTransferJobTransferSpecTransferOptionsPtrOutputWithContext(ctx context.Context) TransferJobTransferSpecTransferOptionsPtrOutput

type TransferJobTransferSpecTransferOptionsInput

type TransferJobTransferSpecTransferOptionsInput interface {
	pulumi.Input

	ToTransferJobTransferSpecTransferOptionsOutput() TransferJobTransferSpecTransferOptionsOutput
	ToTransferJobTransferSpecTransferOptionsOutputWithContext(context.Context) TransferJobTransferSpecTransferOptionsOutput
}

TransferJobTransferSpecTransferOptionsInput is an input type that accepts TransferJobTransferSpecTransferOptionsArgs and TransferJobTransferSpecTransferOptionsOutput values. You can construct a concrete instance of `TransferJobTransferSpecTransferOptionsInput` via:

TransferJobTransferSpecTransferOptionsArgs{...}

type TransferJobTransferSpecTransferOptionsOutput

type TransferJobTransferSpecTransferOptionsOutput struct{ *pulumi.OutputState }

func (TransferJobTransferSpecTransferOptionsOutput) DeleteObjectsFromSourceAfterTransfer

func (o TransferJobTransferSpecTransferOptionsOutput) DeleteObjectsFromSourceAfterTransfer() pulumi.BoolPtrOutput

Whether objects should be deleted from the source after they are transferred to the sink. Note that this option and `deleteObjectsUniqueInSink` are mutually exclusive.

func (TransferJobTransferSpecTransferOptionsOutput) DeleteObjectsUniqueInSink

Whether objects that exist only in the sink should be deleted. Note that this option and `deleteObjectsFromSourceAfterTransfer` are mutually exclusive.

func (TransferJobTransferSpecTransferOptionsOutput) ElementType

func (TransferJobTransferSpecTransferOptionsOutput) OverwriteObjectsAlreadyExistingInSink

func (o TransferJobTransferSpecTransferOptionsOutput) OverwriteObjectsAlreadyExistingInSink() pulumi.BoolPtrOutput

Whether overwriting objects that already exist in the sink is allowed.

func (TransferJobTransferSpecTransferOptionsOutput) ToTransferJobTransferSpecTransferOptionsOutput

func (o TransferJobTransferSpecTransferOptionsOutput) ToTransferJobTransferSpecTransferOptionsOutput() TransferJobTransferSpecTransferOptionsOutput

func (TransferJobTransferSpecTransferOptionsOutput) ToTransferJobTransferSpecTransferOptionsOutputWithContext

func (o TransferJobTransferSpecTransferOptionsOutput) ToTransferJobTransferSpecTransferOptionsOutputWithContext(ctx context.Context) TransferJobTransferSpecTransferOptionsOutput

func (TransferJobTransferSpecTransferOptionsOutput) ToTransferJobTransferSpecTransferOptionsPtrOutput

func (o TransferJobTransferSpecTransferOptionsOutput) ToTransferJobTransferSpecTransferOptionsPtrOutput() TransferJobTransferSpecTransferOptionsPtrOutput

func (TransferJobTransferSpecTransferOptionsOutput) ToTransferJobTransferSpecTransferOptionsPtrOutputWithContext

func (o TransferJobTransferSpecTransferOptionsOutput) ToTransferJobTransferSpecTransferOptionsPtrOutputWithContext(ctx context.Context) TransferJobTransferSpecTransferOptionsPtrOutput

type TransferJobTransferSpecTransferOptionsPtrInput

type TransferJobTransferSpecTransferOptionsPtrInput interface {
	pulumi.Input

	ToTransferJobTransferSpecTransferOptionsPtrOutput() TransferJobTransferSpecTransferOptionsPtrOutput
	ToTransferJobTransferSpecTransferOptionsPtrOutputWithContext(context.Context) TransferJobTransferSpecTransferOptionsPtrOutput
}

TransferJobTransferSpecTransferOptionsPtrInput is an input type that accepts TransferJobTransferSpecTransferOptionsArgs, TransferJobTransferSpecTransferOptionsPtr and TransferJobTransferSpecTransferOptionsPtrOutput values. You can construct a concrete instance of `TransferJobTransferSpecTransferOptionsPtrInput` via:

        TransferJobTransferSpecTransferOptionsArgs{...}

or:

        nil

type TransferJobTransferSpecTransferOptionsPtrOutput

type TransferJobTransferSpecTransferOptionsPtrOutput struct{ *pulumi.OutputState }

func (TransferJobTransferSpecTransferOptionsPtrOutput) DeleteObjectsFromSourceAfterTransfer

func (o TransferJobTransferSpecTransferOptionsPtrOutput) DeleteObjectsFromSourceAfterTransfer() pulumi.BoolPtrOutput

Whether objects should be deleted from the source after they are transferred to the sink. Note that this option and `deleteObjectsUniqueInSink` are mutually exclusive.

func (TransferJobTransferSpecTransferOptionsPtrOutput) DeleteObjectsUniqueInSink

Whether objects that exist only in the sink should be deleted. Note that this option and `deleteObjectsFromSourceAfterTransfer` are mutually exclusive.

func (TransferJobTransferSpecTransferOptionsPtrOutput) Elem

func (TransferJobTransferSpecTransferOptionsPtrOutput) ElementType

func (TransferJobTransferSpecTransferOptionsPtrOutput) OverwriteObjectsAlreadyExistingInSink

func (o TransferJobTransferSpecTransferOptionsPtrOutput) OverwriteObjectsAlreadyExistingInSink() pulumi.BoolPtrOutput

Whether overwriting objects that already exist in the sink is allowed.

func (TransferJobTransferSpecTransferOptionsPtrOutput) ToTransferJobTransferSpecTransferOptionsPtrOutput

func (o TransferJobTransferSpecTransferOptionsPtrOutput) ToTransferJobTransferSpecTransferOptionsPtrOutput() TransferJobTransferSpecTransferOptionsPtrOutput

func (TransferJobTransferSpecTransferOptionsPtrOutput) ToTransferJobTransferSpecTransferOptionsPtrOutputWithContext

func (o TransferJobTransferSpecTransferOptionsPtrOutput) ToTransferJobTransferSpecTransferOptionsPtrOutputWithContext(ctx context.Context) TransferJobTransferSpecTransferOptionsPtrOutput

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL