storage

package
v6.67.1 Latest Latest
Warning

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

Go to latest
Published: Nov 4, 2023 License: Apache-2.0 Imports: 8 Imported by: 3

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

	// The bucket's [Autoclass](https://cloud.google.com/storage/docs/autoclass) configuration.  Structure is documented below.
	Autoclass BucketAutoclassPtrOutput `pulumi:"autoclass"`
	// 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"`
	// The bucket's custom location configuration, which specifies the individual regions that comprise a dual-region bucket. If the bucket is designated a single or multi-region, the parameters are empty. Structure is documented below.
	CustomPlacementConfig BucketCustomPlacementConfigPtrOutput `pulumi:"customPlacementConfig"`
	// Whether or not to automatically apply an eventBasedHold to new objects added to the bucket.
	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.StringOutput `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"`
	// Prevents public access to a bucket. Acceptable values are "inherited" or "enforced". If "inherited", the bucket uses [public access prevention](https://cloud.google.com/storage/docs/public-access-prevention). only if the bucket is subject to the public access prevention organization policy constraint. Defaults to "inherited".
	PublicAccessPrevention pulumi.StringOutput `pulumi:"publicAccessPrevention"`
	// 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 [Storage Class](https://cloud.google.com/storage/docs/storage-classes) of the new bucket. 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 BucketVersioningOutput `pulumi:"versioning"`
	// Configuration if the bucket acts as a website. Structure is documented below.
	Website BucketWebsiteOutput `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/v6/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/v6/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),
					},
				},
				&storage.BucketLifecycleRuleArgs{
					Action: &storage.BucketLifecycleRuleActionArgs{
						Type: pulumi.String("AbortIncompleteMultipartUpload"),
					},
					Condition: &storage.BucketLifecycleRuleConditionArgs{
						Age: pulumi.Int(1),
					},
				},
			},
			Location: pulumi.String("US"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Enabling Public Access Prevention

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v6/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),
			Location:               pulumi.String("US"),
			PublicAccessPrevention: pulumi.String("enforced"),
		})
		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 `pulumi up` 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) ToOutput added in v6.65.1

func (i *Bucket) ToOutput(ctx context.Context) pulumix.Output[*Bucket]

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/v6/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) ToOutput added in v6.65.1

func (i *BucketACL) ToOutput(ctx context.Context) pulumix.Output[*BucketACL]

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

func (BucketACLArray) ToOutput added in v6.65.1

func (i BucketACLArray) ToOutput(ctx context.Context) pulumix.Output[[]*BucketACL]

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

func (BucketACLArrayOutput) ToOutput added in v6.65.1

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

func (BucketACLMap) ToOutput added in v6.65.1

func (i BucketACLMap) ToOutput(ctx context.Context) pulumix.Output[map[string]*BucketACL]

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

func (BucketACLMapOutput) ToOutput added in v6.65.1

type BucketACLOutput

type BucketACLOutput struct{ *pulumi.OutputState }

func (BucketACLOutput) Bucket added in v6.23.0

func (o BucketACLOutput) Bucket() pulumi.StringOutput

The name of the bucket it applies to.

***

func (BucketACLOutput) DefaultAcl added in v6.23.0

func (o BucketACLOutput) DefaultAcl() pulumi.StringPtrOutput

Configure this ACL to be the default ACL.

func (BucketACLOutput) ElementType

func (BucketACLOutput) ElementType() reflect.Type

func (BucketACLOutput) PredefinedAcl added in v6.23.0

func (o BucketACLOutput) PredefinedAcl() pulumi.StringPtrOutput

The [canned GCS ACL](https://cloud.google.com/storage/docs/access-control/lists#predefined-acl) to apply. Must be set if `roleEntity` is not.

func (BucketACLOutput) RoleEntities added in v6.23.0

func (o BucketACLOutput) RoleEntities() pulumi.StringArrayOutput

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.

func (BucketACLOutput) ToBucketACLOutput

func (o BucketACLOutput) ToBucketACLOutput() BucketACLOutput

func (BucketACLOutput) ToBucketACLOutputWithContext

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

func (BucketACLOutput) ToOutput added in v6.65.1

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`, `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/v6/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", &storage.BucketArgs{
			Location: pulumi.String("US"),
		})
		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) ToOutput added in v6.65.1

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`, `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

func (BucketAccessControlArray) ToOutput added in v6.65.1

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

func (BucketAccessControlArrayOutput) ToOutput added in v6.65.1

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

func (BucketAccessControlMap) ToOutput added in v6.65.1

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

func (BucketAccessControlMapOutput) ToOutput added in v6.65.1

type BucketAccessControlOutput

type BucketAccessControlOutput struct{ *pulumi.OutputState }

func (BucketAccessControlOutput) Bucket added in v6.23.0

The name of the bucket.

func (BucketAccessControlOutput) Domain added in v6.23.0

The domain associated with the entity.

func (BucketAccessControlOutput) ElementType

func (BucketAccessControlOutput) ElementType() reflect.Type

func (BucketAccessControlOutput) Email added in v6.23.0

The email address associated with the entity.

func (BucketAccessControlOutput) Entity added in v6.23.0

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.

***

func (BucketAccessControlOutput) Role added in v6.23.0

The access permission for the entity. Possible values are: `OWNER`, `READER`, `WRITER`.

func (BucketAccessControlOutput) ToBucketAccessControlOutput

func (o BucketAccessControlOutput) ToBucketAccessControlOutput() BucketAccessControlOutput

func (BucketAccessControlOutput) ToBucketAccessControlOutputWithContext

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

func (BucketAccessControlOutput) ToOutput added in v6.65.1

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`, `WRITER`.
	Role pulumi.StringPtrInput
}

func (BucketAccessControlState) ElementType

func (BucketAccessControlState) ElementType() reflect.Type

type BucketArgs

type BucketArgs struct {
	// The bucket's [Autoclass](https://cloud.google.com/storage/docs/autoclass) configuration.  Structure is documented below.
	Autoclass BucketAutoclassPtrInput
	// 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
	// The bucket's custom location configuration, which specifies the individual regions that comprise a dual-region bucket. If the bucket is designated a single or multi-region, the parameters are empty. Structure is documented below.
	CustomPlacementConfig BucketCustomPlacementConfigPtrInput
	// Whether or not to automatically apply an eventBasedHold to new objects added to the bucket.
	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.StringInput
	// 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
	// Prevents public access to a bucket. Acceptable values are "inherited" or "enforced". If "inherited", the bucket uses [public access prevention](https://cloud.google.com/storage/docs/public-access-prevention). only if the bucket is subject to the public access prevention organization policy constraint. Defaults to "inherited".
	PublicAccessPrevention 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 [Storage Class](https://cloud.google.com/storage/docs/storage-classes) of the new bucket. 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

func (BucketArray) ToOutput added in v6.65.1

func (i BucketArray) ToOutput(ctx context.Context) pulumix.Output[[]*Bucket]

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

func (BucketArrayOutput) ToOutput added in v6.65.1

func (o BucketArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]*Bucket]

type BucketAutoclass added in v6.45.0

type BucketAutoclass struct {
	// While set to `true`, autoclass automatically transitions objects in your bucket to appropriate storage classes based on each object's access pattern.
	Enabled bool `pulumi:"enabled"`
}

type BucketAutoclassArgs added in v6.45.0

type BucketAutoclassArgs struct {
	// While set to `true`, autoclass automatically transitions objects in your bucket to appropriate storage classes based on each object's access pattern.
	Enabled pulumi.BoolInput `pulumi:"enabled"`
}

func (BucketAutoclassArgs) ElementType added in v6.45.0

func (BucketAutoclassArgs) ElementType() reflect.Type

func (BucketAutoclassArgs) ToBucketAutoclassOutput added in v6.45.0

func (i BucketAutoclassArgs) ToBucketAutoclassOutput() BucketAutoclassOutput

func (BucketAutoclassArgs) ToBucketAutoclassOutputWithContext added in v6.45.0

func (i BucketAutoclassArgs) ToBucketAutoclassOutputWithContext(ctx context.Context) BucketAutoclassOutput

func (BucketAutoclassArgs) ToBucketAutoclassPtrOutput added in v6.45.0

func (i BucketAutoclassArgs) ToBucketAutoclassPtrOutput() BucketAutoclassPtrOutput

func (BucketAutoclassArgs) ToBucketAutoclassPtrOutputWithContext added in v6.45.0

func (i BucketAutoclassArgs) ToBucketAutoclassPtrOutputWithContext(ctx context.Context) BucketAutoclassPtrOutput

func (BucketAutoclassArgs) ToOutput added in v6.65.1

type BucketAutoclassInput added in v6.45.0

type BucketAutoclassInput interface {
	pulumi.Input

	ToBucketAutoclassOutput() BucketAutoclassOutput
	ToBucketAutoclassOutputWithContext(context.Context) BucketAutoclassOutput
}

BucketAutoclassInput is an input type that accepts BucketAutoclassArgs and BucketAutoclassOutput values. You can construct a concrete instance of `BucketAutoclassInput` via:

BucketAutoclassArgs{...}

type BucketAutoclassOutput added in v6.45.0

type BucketAutoclassOutput struct{ *pulumi.OutputState }

func (BucketAutoclassOutput) ElementType added in v6.45.0

func (BucketAutoclassOutput) ElementType() reflect.Type

func (BucketAutoclassOutput) Enabled added in v6.45.0

While set to `true`, autoclass automatically transitions objects in your bucket to appropriate storage classes based on each object's access pattern.

func (BucketAutoclassOutput) ToBucketAutoclassOutput added in v6.45.0

func (o BucketAutoclassOutput) ToBucketAutoclassOutput() BucketAutoclassOutput

func (BucketAutoclassOutput) ToBucketAutoclassOutputWithContext added in v6.45.0

func (o BucketAutoclassOutput) ToBucketAutoclassOutputWithContext(ctx context.Context) BucketAutoclassOutput

func (BucketAutoclassOutput) ToBucketAutoclassPtrOutput added in v6.45.0

func (o BucketAutoclassOutput) ToBucketAutoclassPtrOutput() BucketAutoclassPtrOutput

func (BucketAutoclassOutput) ToBucketAutoclassPtrOutputWithContext added in v6.45.0

func (o BucketAutoclassOutput) ToBucketAutoclassPtrOutputWithContext(ctx context.Context) BucketAutoclassPtrOutput

func (BucketAutoclassOutput) ToOutput added in v6.65.1

type BucketAutoclassPtrInput added in v6.45.0

type BucketAutoclassPtrInput interface {
	pulumi.Input

	ToBucketAutoclassPtrOutput() BucketAutoclassPtrOutput
	ToBucketAutoclassPtrOutputWithContext(context.Context) BucketAutoclassPtrOutput
}

BucketAutoclassPtrInput is an input type that accepts BucketAutoclassArgs, BucketAutoclassPtr and BucketAutoclassPtrOutput values. You can construct a concrete instance of `BucketAutoclassPtrInput` via:

        BucketAutoclassArgs{...}

or:

        nil

func BucketAutoclassPtr added in v6.45.0

func BucketAutoclassPtr(v *BucketAutoclassArgs) BucketAutoclassPtrInput

type BucketAutoclassPtrOutput added in v6.45.0

type BucketAutoclassPtrOutput struct{ *pulumi.OutputState }

func (BucketAutoclassPtrOutput) Elem added in v6.45.0

func (BucketAutoclassPtrOutput) ElementType added in v6.45.0

func (BucketAutoclassPtrOutput) ElementType() reflect.Type

func (BucketAutoclassPtrOutput) Enabled added in v6.45.0

While set to `true`, autoclass automatically transitions objects in your bucket to appropriate storage classes based on each object's access pattern.

func (BucketAutoclassPtrOutput) ToBucketAutoclassPtrOutput added in v6.45.0

func (o BucketAutoclassPtrOutput) ToBucketAutoclassPtrOutput() BucketAutoclassPtrOutput

func (BucketAutoclassPtrOutput) ToBucketAutoclassPtrOutputWithContext added in v6.45.0

func (o BucketAutoclassPtrOutput) ToBucketAutoclassPtrOutputWithContext(ctx context.Context) BucketAutoclassPtrOutput

func (BucketAutoclassPtrOutput) ToOutput added in v6.65.1

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

func (BucketCorArgs) ToOutput added in v6.65.1

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

func (BucketCorArray) ToOutput added in v6.65.1

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

func (BucketCorArrayOutput) ToOutput added in v6.65.1

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

func (BucketCorOutput) ToOutput added in v6.65.1

type BucketCustomPlacementConfig added in v6.41.0

type BucketCustomPlacementConfig struct {
	// The list of individual regions that comprise a dual-region bucket. See [Cloud Storage bucket locations](https://cloud.google.com/storage/docs/dual-regions#availability) for a list of acceptable regions. **Note**: If any of the dataLocations changes, it will [recreate the bucket](https://cloud.google.com/storage/docs/locations#key-concepts).
	DataLocations []string `pulumi:"dataLocations"`
}

type BucketCustomPlacementConfigArgs added in v6.41.0

type BucketCustomPlacementConfigArgs struct {
	// The list of individual regions that comprise a dual-region bucket. See [Cloud Storage bucket locations](https://cloud.google.com/storage/docs/dual-regions#availability) for a list of acceptable regions. **Note**: If any of the dataLocations changes, it will [recreate the bucket](https://cloud.google.com/storage/docs/locations#key-concepts).
	DataLocations pulumi.StringArrayInput `pulumi:"dataLocations"`
}

func (BucketCustomPlacementConfigArgs) ElementType added in v6.41.0

func (BucketCustomPlacementConfigArgs) ToBucketCustomPlacementConfigOutput added in v6.41.0

func (i BucketCustomPlacementConfigArgs) ToBucketCustomPlacementConfigOutput() BucketCustomPlacementConfigOutput

func (BucketCustomPlacementConfigArgs) ToBucketCustomPlacementConfigOutputWithContext added in v6.41.0

func (i BucketCustomPlacementConfigArgs) ToBucketCustomPlacementConfigOutputWithContext(ctx context.Context) BucketCustomPlacementConfigOutput

func (BucketCustomPlacementConfigArgs) ToBucketCustomPlacementConfigPtrOutput added in v6.41.0

func (i BucketCustomPlacementConfigArgs) ToBucketCustomPlacementConfigPtrOutput() BucketCustomPlacementConfigPtrOutput

func (BucketCustomPlacementConfigArgs) ToBucketCustomPlacementConfigPtrOutputWithContext added in v6.41.0

func (i BucketCustomPlacementConfigArgs) ToBucketCustomPlacementConfigPtrOutputWithContext(ctx context.Context) BucketCustomPlacementConfigPtrOutput

func (BucketCustomPlacementConfigArgs) ToOutput added in v6.65.1

type BucketCustomPlacementConfigInput added in v6.41.0

type BucketCustomPlacementConfigInput interface {
	pulumi.Input

	ToBucketCustomPlacementConfigOutput() BucketCustomPlacementConfigOutput
	ToBucketCustomPlacementConfigOutputWithContext(context.Context) BucketCustomPlacementConfigOutput
}

BucketCustomPlacementConfigInput is an input type that accepts BucketCustomPlacementConfigArgs and BucketCustomPlacementConfigOutput values. You can construct a concrete instance of `BucketCustomPlacementConfigInput` via:

BucketCustomPlacementConfigArgs{...}

type BucketCustomPlacementConfigOutput added in v6.41.0

type BucketCustomPlacementConfigOutput struct{ *pulumi.OutputState }

func (BucketCustomPlacementConfigOutput) DataLocations added in v6.41.0

The list of individual regions that comprise a dual-region bucket. See [Cloud Storage bucket locations](https://cloud.google.com/storage/docs/dual-regions#availability) for a list of acceptable regions. **Note**: If any of the dataLocations changes, it will [recreate the bucket](https://cloud.google.com/storage/docs/locations#key-concepts).

func (BucketCustomPlacementConfigOutput) ElementType added in v6.41.0

func (BucketCustomPlacementConfigOutput) ToBucketCustomPlacementConfigOutput added in v6.41.0

func (o BucketCustomPlacementConfigOutput) ToBucketCustomPlacementConfigOutput() BucketCustomPlacementConfigOutput

func (BucketCustomPlacementConfigOutput) ToBucketCustomPlacementConfigOutputWithContext added in v6.41.0

func (o BucketCustomPlacementConfigOutput) ToBucketCustomPlacementConfigOutputWithContext(ctx context.Context) BucketCustomPlacementConfigOutput

func (BucketCustomPlacementConfigOutput) ToBucketCustomPlacementConfigPtrOutput added in v6.41.0

func (o BucketCustomPlacementConfigOutput) ToBucketCustomPlacementConfigPtrOutput() BucketCustomPlacementConfigPtrOutput

func (BucketCustomPlacementConfigOutput) ToBucketCustomPlacementConfigPtrOutputWithContext added in v6.41.0

func (o BucketCustomPlacementConfigOutput) ToBucketCustomPlacementConfigPtrOutputWithContext(ctx context.Context) BucketCustomPlacementConfigPtrOutput

func (BucketCustomPlacementConfigOutput) ToOutput added in v6.65.1

type BucketCustomPlacementConfigPtrInput added in v6.41.0

type BucketCustomPlacementConfigPtrInput interface {
	pulumi.Input

	ToBucketCustomPlacementConfigPtrOutput() BucketCustomPlacementConfigPtrOutput
	ToBucketCustomPlacementConfigPtrOutputWithContext(context.Context) BucketCustomPlacementConfigPtrOutput
}

BucketCustomPlacementConfigPtrInput is an input type that accepts BucketCustomPlacementConfigArgs, BucketCustomPlacementConfigPtr and BucketCustomPlacementConfigPtrOutput values. You can construct a concrete instance of `BucketCustomPlacementConfigPtrInput` via:

        BucketCustomPlacementConfigArgs{...}

or:

        nil

func BucketCustomPlacementConfigPtr added in v6.41.0

type BucketCustomPlacementConfigPtrOutput added in v6.41.0

type BucketCustomPlacementConfigPtrOutput struct{ *pulumi.OutputState }

func (BucketCustomPlacementConfigPtrOutput) DataLocations added in v6.41.0

The list of individual regions that comprise a dual-region bucket. See [Cloud Storage bucket locations](https://cloud.google.com/storage/docs/dual-regions#availability) for a list of acceptable regions. **Note**: If any of the dataLocations changes, it will [recreate the bucket](https://cloud.google.com/storage/docs/locations#key-concepts).

func (BucketCustomPlacementConfigPtrOutput) Elem added in v6.41.0

func (BucketCustomPlacementConfigPtrOutput) ElementType added in v6.41.0

func (BucketCustomPlacementConfigPtrOutput) ToBucketCustomPlacementConfigPtrOutput added in v6.41.0

func (o BucketCustomPlacementConfigPtrOutput) ToBucketCustomPlacementConfigPtrOutput() BucketCustomPlacementConfigPtrOutput

func (BucketCustomPlacementConfigPtrOutput) ToBucketCustomPlacementConfigPtrOutputWithContext added in v6.41.0

func (o BucketCustomPlacementConfigPtrOutput) ToBucketCustomPlacementConfigPtrOutputWithContext(ctx context.Context) BucketCustomPlacementConfigPtrOutput

func (BucketCustomPlacementConfigPtrOutput) ToOutput added in v6.65.1

type BucketEncryption

type BucketEncryption struct {
	// The `id` of a Cloud KMS key that will be used to encrypt objects inserted into this bucket, if no encryption method is specified.
	// You must pay attention to whether the crypto key is available in the location that this bucket is created in.
	// See [the docs](https://cloud.google.com/storage/docs/encryption/using-customer-managed-keys) for more details.
	//
	// > As per [the docs](https://cloud.google.com/storage/docs/encryption/using-customer-managed-keys) for customer-managed encryption keys, the IAM policy for the
	// specified key must permit the [automatic Google Cloud Storage service account](https://cloud.google.com/storage/docs/projects#service-accounts) for the bucket's
	// project to use the specified key for encryption and decryption operations.
	// Although the service account email address follows a well-known format, the service account is created on-demand and may not necessarily exist for your project
	// until a relevant action has occurred which triggers its creation.
	// You should use the [`storage.getProjectServiceAccount`](https://www.terraform.io/docs/providers/google/d/storage_project_service_account.html) data source to obtain the email
	// address for the service account when configuring IAM policy on the Cloud KMS key.
	// This data source calls an API which creates the account if required, ensuring your provider applies cleanly and repeatedly irrespective of the
	// state of the project.
	// You should take care for race conditions when the same provider manages IAM policy on the Cloud KMS crypto key. See the data source page for more details.
	DefaultKmsKeyName string `pulumi:"defaultKmsKeyName"`
}

type BucketEncryptionArgs

type BucketEncryptionArgs struct {
	// The `id` of a Cloud KMS key that will be used to encrypt objects inserted into this bucket, if no encryption method is specified.
	// You must pay attention to whether the crypto key is available in the location that this bucket is created in.
	// See [the docs](https://cloud.google.com/storage/docs/encryption/using-customer-managed-keys) for more details.
	//
	// > As per [the docs](https://cloud.google.com/storage/docs/encryption/using-customer-managed-keys) for customer-managed encryption keys, the IAM policy for the
	// specified key must permit the [automatic Google Cloud Storage service account](https://cloud.google.com/storage/docs/projects#service-accounts) for the bucket's
	// project to use the specified key for encryption and decryption operations.
	// Although the service account email address follows a well-known format, the service account is created on-demand and may not necessarily exist for your project
	// until a relevant action has occurred which triggers its creation.
	// You should use the [`storage.getProjectServiceAccount`](https://www.terraform.io/docs/providers/google/d/storage_project_service_account.html) data source to obtain the email
	// address for the service account when configuring IAM policy on the Cloud KMS key.
	// This data source calls an API which creates the account if required, ensuring your provider applies cleanly and repeatedly irrespective of the
	// state of the project.
	// You should take care for race conditions when the same provider manages IAM policy on the Cloud KMS crypto key. See the data source page for more details.
	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

func (BucketEncryptionArgs) ToOutput added in v6.65.1

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

The `id` of a Cloud KMS key that will be used to encrypt objects inserted into this bucket, if no encryption method is specified. You must pay attention to whether the crypto key is available in the location that this bucket is created in. See [the docs](https://cloud.google.com/storage/docs/encryption/using-customer-managed-keys) for more details.

> As per [the docs](https://cloud.google.com/storage/docs/encryption/using-customer-managed-keys) for customer-managed encryption keys, the IAM policy for the specified key must permit the [automatic Google Cloud Storage service account](https://cloud.google.com/storage/docs/projects#service-accounts) for the bucket's project to use the specified key for encryption and decryption operations. Although the service account email address follows a well-known format, the service account is created on-demand and may not necessarily exist for your project until a relevant action has occurred which triggers its creation. You should use the [`storage.getProjectServiceAccount`](https://www.terraform.io/docs/providers/google/d/storage_project_service_account.html) data source to obtain the email address for the service account when configuring IAM policy on the Cloud KMS key. This data source calls an API which creates the account if required, ensuring your provider applies cleanly and repeatedly irrespective of the state of the project. You should take care for race conditions when the same provider manages IAM policy on the Cloud KMS crypto key. See the data source page for more details.

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

func (BucketEncryptionOutput) ToOutput added in v6.65.1

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

The `id` of a Cloud KMS key that will be used to encrypt objects inserted into this bucket, if no encryption method is specified. You must pay attention to whether the crypto key is available in the location that this bucket is created in. See [the docs](https://cloud.google.com/storage/docs/encryption/using-customer-managed-keys) for more details.

> As per [the docs](https://cloud.google.com/storage/docs/encryption/using-customer-managed-keys) for customer-managed encryption keys, the IAM policy for the specified key must permit the [automatic Google Cloud Storage service account](https://cloud.google.com/storage/docs/projects#service-accounts) for the bucket's project to use the specified key for encryption and decryption operations. Although the service account email address follows a well-known format, the service account is created on-demand and may not necessarily exist for your project until a relevant action has occurred which triggers its creation. You should use the [`storage.getProjectServiceAccount`](https://www.terraform.io/docs/providers/google/d/storage_project_service_account.html) data source to obtain the email address for the service account when configuring IAM policy on the Cloud KMS key. This data source calls an API which creates the account if required, ensuring your provider applies cleanly and repeatedly irrespective of the state of the project. You should take care for race conditions when the same provider manages IAM policy on the Cloud KMS crypto key. See the data source page for more details.

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

func (BucketEncryptionPtrOutput) ToOutput added in v6.65.1

type BucketIAMBinding

type BucketIAMBinding struct {
	pulumi.CustomResourceState

	// Used to find the parent resource to bind the IAM policy to
	//
	// * `member/members` - (Required) 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"
	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"`
	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.

A data source can be used to retrieve policy data in advent you do not need creation

* `storage.BucketIAMPolicy`: Retrieves the IAM policy for the bucket

> **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.

> **Note:** This resource supports IAM Conditions but they have some known limitations which can be found [here](https://cloud.google.com/iam/docs/conditions-overview#limitations). Please review this article if you are having issues with IAM Conditions.

## google\_storage\_bucket\_iam\_policy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/organizations"
"github.com/pulumi/pulumi-gcp/sdk/v6/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{
				{
					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/v6/go/gcp/organizations"
"github.com/pulumi/pulumi-gcp/sdk/v6/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{
				{
					Role: "roles/storage.admin",
					Members: []string{
						"user:jane@example.com",
					},
					Condition: {
						Title:       "expires_after_2019_12_31",
						Description: pulumi.StringRef("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/v6/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/v6/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/v6/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/v6/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) ToOutput added in v6.65.1

type BucketIAMBindingArgs

type BucketIAMBindingArgs struct {
	// Used to find the parent resource to bind the IAM policy to
	//
	// * `member/members` - (Required) 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"
	Bucket pulumi.StringInput
	// An [IAM Condition](https://cloud.google.com/iam/docs/conditions-overview) for a given binding.
	// Structure is documented below.
	Condition BucketIAMBindingConditionPtrInput
	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

func (BucketIAMBindingArray) ToOutput added in v6.65.1

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

func (BucketIAMBindingArrayOutput) ToOutput added in v6.65.1

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.
	//
	// > **Warning:** This provider considers the `role` and condition contents (`title`+`description`+`expression`) as the
	// identifier for the binding. This means that if any part of the condition is changed out-of-band, the provider will
	// consider it to be an entirely different resource and will treat it as such.
	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.
	//
	// > **Warning:** This provider considers the `role` and condition contents (`title`+`description`+`expression`) as the
	// identifier for the binding. This means that if any part of the condition is changed out-of-band, the provider will
	// consider it to be an entirely different resource and will treat it as such.
	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

func (BucketIAMBindingConditionArgs) ToOutput added in v6.65.1

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.

> **Warning:** This provider considers the `role` and condition contents (`title`+`description`+`expression`) as the identifier for the binding. This means that if any part of the condition is changed out-of-band, the provider will consider it to be an entirely different resource and will treat it as such.

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

func (BucketIAMBindingConditionOutput) ToOutput added in v6.65.1

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.

> **Warning:** This provider considers the `role` and condition contents (`title`+`description`+`expression`) as the identifier for the binding. This means that if any part of the condition is changed out-of-band, the provider will consider it to be an entirely different resource and will treat it as such.

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

func (BucketIAMBindingConditionPtrOutput) ToOutput added in v6.65.1

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

func (BucketIAMBindingMap) ToOutput added in v6.65.1

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

func (BucketIAMBindingMapOutput) ToOutput added in v6.65.1

type BucketIAMBindingOutput

type BucketIAMBindingOutput struct{ *pulumi.OutputState }

func (BucketIAMBindingOutput) Bucket added in v6.23.0

Used to find the parent resource to bind the IAM policy to

  • `member/members` - (Required) 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"

func (BucketIAMBindingOutput) Condition added in v6.23.0

An [IAM Condition](https://cloud.google.com/iam/docs/conditions-overview) for a given binding. Structure is documented below.

func (BucketIAMBindingOutput) ElementType

func (BucketIAMBindingOutput) ElementType() reflect.Type

func (BucketIAMBindingOutput) Etag added in v6.23.0

(Computed) The etag of the IAM policy.

func (BucketIAMBindingOutput) Members added in v6.23.0

func (BucketIAMBindingOutput) Role added in v6.23.0

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}`.

func (BucketIAMBindingOutput) ToBucketIAMBindingOutput

func (o BucketIAMBindingOutput) ToBucketIAMBindingOutput() BucketIAMBindingOutput

func (BucketIAMBindingOutput) ToBucketIAMBindingOutputWithContext

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

func (BucketIAMBindingOutput) ToOutput added in v6.65.1

type BucketIAMBindingState

type BucketIAMBindingState struct {
	// Used to find the parent resource to bind the IAM policy to
	//
	// * `member/members` - (Required) 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"
	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
	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
	//
	// * `member/members` - (Required) 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"
	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.

A data source can be used to retrieve policy data in advent you do not need creation

* `storage.BucketIAMPolicy`: Retrieves the IAM policy for the bucket

> **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.

> **Note:** This resource supports IAM Conditions but they have some known limitations which can be found [here](https://cloud.google.com/iam/docs/conditions-overview#limitations). Please review this article if you are having issues with IAM Conditions.

## google\_storage\_bucket\_iam\_policy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/organizations"
"github.com/pulumi/pulumi-gcp/sdk/v6/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{
				{
					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/v6/go/gcp/organizations"
"github.com/pulumi/pulumi-gcp/sdk/v6/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{
				{
					Role: "roles/storage.admin",
					Members: []string{
						"user:jane@example.com",
					},
					Condition: {
						Title:       "expires_after_2019_12_31",
						Description: pulumi.StringRef("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/v6/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/v6/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/v6/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/v6/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) ToOutput added in v6.65.1

type BucketIAMMemberArgs

type BucketIAMMemberArgs struct {
	// Used to find the parent resource to bind the IAM policy to
	//
	// * `member/members` - (Required) 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"
	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

func (BucketIAMMemberArray) ToOutput added in v6.65.1

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

func (BucketIAMMemberArrayOutput) ToOutput added in v6.65.1

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.
	//
	// > **Warning:** This provider considers the `role` and condition contents (`title`+`description`+`expression`) as the
	// identifier for the binding. This means that if any part of the condition is changed out-of-band, the provider will
	// consider it to be an entirely different resource and will treat it as such.
	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.
	//
	// > **Warning:** This provider considers the `role` and condition contents (`title`+`description`+`expression`) as the
	// identifier for the binding. This means that if any part of the condition is changed out-of-band, the provider will
	// consider it to be an entirely different resource and will treat it as such.
	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

func (BucketIAMMemberConditionArgs) ToOutput added in v6.65.1

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.

> **Warning:** This provider considers the `role` and condition contents (`title`+`description`+`expression`) as the identifier for the binding. This means that if any part of the condition is changed out-of-band, the provider will consider it to be an entirely different resource and will treat it as such.

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

func (BucketIAMMemberConditionOutput) ToOutput added in v6.65.1

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.

> **Warning:** This provider considers the `role` and condition contents (`title`+`description`+`expression`) as the identifier for the binding. This means that if any part of the condition is changed out-of-band, the provider will consider it to be an entirely different resource and will treat it as such.

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

func (BucketIAMMemberConditionPtrOutput) ToOutput added in v6.65.1

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

func (BucketIAMMemberMap) ToOutput added in v6.65.1

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

func (BucketIAMMemberMapOutput) ToOutput added in v6.65.1

type BucketIAMMemberOutput

type BucketIAMMemberOutput struct{ *pulumi.OutputState }

func (BucketIAMMemberOutput) Bucket added in v6.23.0

Used to find the parent resource to bind the IAM policy to

  • `member/members` - (Required) 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"

func (BucketIAMMemberOutput) Condition added in v6.23.0

An [IAM Condition](https://cloud.google.com/iam/docs/conditions-overview) for a given binding. Structure is documented below.

func (BucketIAMMemberOutput) ElementType

func (BucketIAMMemberOutput) ElementType() reflect.Type

func (BucketIAMMemberOutput) Etag added in v6.23.0

(Computed) The etag of the IAM policy.

func (BucketIAMMemberOutput) Member added in v6.23.0

func (BucketIAMMemberOutput) Role added in v6.23.0

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}`.

func (BucketIAMMemberOutput) ToBucketIAMMemberOutput

func (o BucketIAMMemberOutput) ToBucketIAMMemberOutput() BucketIAMMemberOutput

func (BucketIAMMemberOutput) ToBucketIAMMemberOutputWithContext

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

func (BucketIAMMemberOutput) ToOutput added in v6.65.1

type BucketIAMMemberState

type BucketIAMMemberState struct {
	// Used to find the parent resource to bind the IAM policy to
	//
	// * `member/members` - (Required) 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"
	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
	//
	// * `member/members` - (Required) 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"
	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.

A data source can be used to retrieve policy data in advent you do not need creation

* `storage.BucketIAMPolicy`: Retrieves the IAM policy for the bucket

> **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.

> **Note:** This resource supports IAM Conditions but they have some known limitations which can be found [here](https://cloud.google.com/iam/docs/conditions-overview#limitations). Please review this article if you are having issues with IAM Conditions.

## google\_storage\_bucket\_iam\_policy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/organizations"
"github.com/pulumi/pulumi-gcp/sdk/v6/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{
				{
					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/v6/go/gcp/organizations"
"github.com/pulumi/pulumi-gcp/sdk/v6/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{
				{
					Role: "roles/storage.admin",
					Members: []string{
						"user:jane@example.com",
					},
					Condition: {
						Title:       "expires_after_2019_12_31",
						Description: pulumi.StringRef("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/v6/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/v6/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/v6/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/v6/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) ToOutput added in v6.65.1

type BucketIAMPolicyArgs

type BucketIAMPolicyArgs struct {
	// Used to find the parent resource to bind the IAM policy to
	//
	// * `member/members` - (Required) 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"
	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

func (BucketIAMPolicyArray) ToOutput added in v6.65.1

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

func (BucketIAMPolicyArrayOutput) ToOutput added in v6.65.1

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

func (BucketIAMPolicyMap) ToOutput added in v6.65.1

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

func (BucketIAMPolicyMapOutput) ToOutput added in v6.65.1

type BucketIAMPolicyOutput

type BucketIAMPolicyOutput struct{ *pulumi.OutputState }

func (BucketIAMPolicyOutput) Bucket added in v6.23.0

Used to find the parent resource to bind the IAM policy to

  • `member/members` - (Required) 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"

func (BucketIAMPolicyOutput) ElementType

func (BucketIAMPolicyOutput) ElementType() reflect.Type

func (BucketIAMPolicyOutput) Etag added in v6.23.0

(Computed) The etag of the IAM policy.

func (BucketIAMPolicyOutput) PolicyData added in v6.23.0

func (o BucketIAMPolicyOutput) PolicyData() pulumi.StringOutput

The policy data generated by a `organizations.getIAMPolicy` data source.

func (BucketIAMPolicyOutput) ToBucketIAMPolicyOutput

func (o BucketIAMPolicyOutput) ToBucketIAMPolicyOutput() BucketIAMPolicyOutput

func (BucketIAMPolicyOutput) ToBucketIAMPolicyOutputWithContext

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

func (BucketIAMPolicyOutput) ToOutput added in v6.65.1

type BucketIAMPolicyState

type BucketIAMPolicyState struct {
	// Used to find the parent resource to bind the IAM policy to
	//
	// * `member/members` - (Required) 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"
	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`, `SetStorageClass` and `AbortIncompleteMultipartUpload`.
	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`, `SetStorageClass` and `AbortIncompleteMultipartUpload`.
	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

func (BucketLifecycleRuleActionArgs) ToOutput added in v6.65.1

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) ToOutput added in v6.65.1

func (BucketLifecycleRuleActionOutput) Type

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

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

func (BucketLifecycleRuleArgs) ToOutput added in v6.65.1

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

func (BucketLifecycleRuleArray) ToOutput added in v6.65.1

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

func (BucketLifecycleRuleArrayOutput) ToOutput added in v6.65.1

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"`
	// One or more matching name prefixes to satisfy this condition.
	MatchesPrefixes []string `pulumi:"matchesPrefixes"`
	// [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"`
	// One or more matching name suffixes to satisfy this condition.
	MatchesSuffixes []string `pulumi:"matchesSuffixes"`
	// 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"`
	// One or more matching name prefixes to satisfy this condition.
	MatchesPrefixes pulumi.StringArrayInput `pulumi:"matchesPrefixes"`
	// [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"`
	// One or more matching name suffixes to satisfy this condition.
	MatchesSuffixes pulumi.StringArrayInput `pulumi:"matchesSuffixes"`
	// 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

func (BucketLifecycleRuleConditionArgs) ToOutput added in v6.65.1

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) MatchesPrefixes added in v6.34.0

One or more matching name prefixes to satisfy this condition.

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) MatchesSuffixes added in v6.34.0

One or more matching name suffixes to satisfy this condition.

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) ToOutput added in v6.65.1

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

func (BucketLifecycleRuleOutput) ToOutput added in v6.65.1

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

func (BucketLoggingArgs) ToOutput added in v6.65.1

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

func (BucketLoggingOutput) ToOutput added in v6.65.1

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

func (BucketLoggingPtrOutput) ToOutput added in v6.65.1

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

func (BucketMap) ToOutput added in v6.65.1

func (i BucketMap) ToOutput(ctx context.Context) pulumix.Output[map[string]*Bucket]

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

func (BucketMapOutput) ToOutput added in v6.65.1

func (o BucketMapOutput) ToOutput(ctx context.Context) pulumix.Output[map[string]*Bucket]

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.StringOutput `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](https://cloud.google.com/storage/docs/object-holds#hold-types). 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.
	//
	// One of the following is required:
	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](https://cloud.google.com/storage/docs/object-holds#hold-types). 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/v6/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
	})
}

```

Example creating an empty folder in an existing `image-store` bucket.

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := storage.NewBucketObject(ctx, "emptyFolder", &storage.BucketObjectArgs{
			Bucket:  pulumi.String("image-store"),
			Content: pulumi.String(" "),
		})
		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) ToOutput added in v6.65.1

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](https://cloud.google.com/storage/docs/object-holds#hold-types). 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.
	//
	// One of the following is required:
	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](https://cloud.google.com/storage/docs/object-holds#hold-types). 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

func (BucketObjectArray) ToOutput added in v6.65.1

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

func (BucketObjectArrayOutput) ToOutput added in v6.65.1

type BucketObjectCustomerEncryption

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

type BucketObjectCustomerEncryptionArgs

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

func (BucketObjectCustomerEncryptionArgs) ToBucketObjectCustomerEncryptionOutput

func (i BucketObjectCustomerEncryptionArgs) ToBucketObjectCustomerEncryptionOutput() BucketObjectCustomerEncryptionOutput

func (BucketObjectCustomerEncryptionArgs) ToBucketObjectCustomerEncryptionOutputWithContext

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

func (BucketObjectCustomerEncryptionArgs) ToBucketObjectCustomerEncryptionPtrOutput

func (i BucketObjectCustomerEncryptionArgs) ToBucketObjectCustomerEncryptionPtrOutput() BucketObjectCustomerEncryptionPtrOutput

func (BucketObjectCustomerEncryptionArgs) ToBucketObjectCustomerEncryptionPtrOutputWithContext

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

func (BucketObjectCustomerEncryptionArgs) ToOutput added in v6.65.1

type BucketObjectCustomerEncryptionInput

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

type BucketObjectCustomerEncryptionOutput struct{ *pulumi.OutputState }

func (BucketObjectCustomerEncryptionOutput) ElementType

func (BucketObjectCustomerEncryptionOutput) EncryptionAlgorithm

Encryption algorithm. Default: AES256

func (BucketObjectCustomerEncryptionOutput) EncryptionKey

Base64 encoded Customer-Supplied Encryption Key.

func (BucketObjectCustomerEncryptionOutput) ToBucketObjectCustomerEncryptionOutput

func (o BucketObjectCustomerEncryptionOutput) ToBucketObjectCustomerEncryptionOutput() BucketObjectCustomerEncryptionOutput

func (BucketObjectCustomerEncryptionOutput) ToBucketObjectCustomerEncryptionOutputWithContext

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

func (BucketObjectCustomerEncryptionOutput) ToBucketObjectCustomerEncryptionPtrOutput

func (o BucketObjectCustomerEncryptionOutput) ToBucketObjectCustomerEncryptionPtrOutput() BucketObjectCustomerEncryptionPtrOutput

func (BucketObjectCustomerEncryptionOutput) ToBucketObjectCustomerEncryptionPtrOutputWithContext

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

func (BucketObjectCustomerEncryptionOutput) ToOutput added in v6.65.1

type BucketObjectCustomerEncryptionPtrInput

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

type BucketObjectCustomerEncryptionPtrOutput struct{ *pulumi.OutputState }

func (BucketObjectCustomerEncryptionPtrOutput) Elem

func (BucketObjectCustomerEncryptionPtrOutput) ElementType

func (BucketObjectCustomerEncryptionPtrOutput) EncryptionAlgorithm

Encryption algorithm. Default: AES256

func (BucketObjectCustomerEncryptionPtrOutput) EncryptionKey

Base64 encoded Customer-Supplied Encryption Key.

func (BucketObjectCustomerEncryptionPtrOutput) ToBucketObjectCustomerEncryptionPtrOutput

func (o BucketObjectCustomerEncryptionPtrOutput) ToBucketObjectCustomerEncryptionPtrOutput() BucketObjectCustomerEncryptionPtrOutput

func (BucketObjectCustomerEncryptionPtrOutput) ToBucketObjectCustomerEncryptionPtrOutputWithContext

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

func (BucketObjectCustomerEncryptionPtrOutput) ToOutput added in v6.65.1

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

func (BucketObjectMap) ToOutput added in v6.65.1

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

func (BucketObjectMapOutput) ToOutput added in v6.65.1

type BucketObjectOutput

type BucketObjectOutput struct{ *pulumi.OutputState }

func (BucketObjectOutput) Bucket added in v6.23.0

The name of the containing bucket.

func (BucketObjectOutput) CacheControl added in v6.23.0

func (o BucketObjectOutput) CacheControl() pulumi.StringPtrOutput

[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 (BucketObjectOutput) Content added in v6.23.0

Data as `string` to be uploaded. Must be defined if `source` is not. **Note**: The `content` field is marked as sensitive.

func (BucketObjectOutput) ContentDisposition added in v6.23.0

func (o BucketObjectOutput) ContentDisposition() pulumi.StringPtrOutput

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

func (BucketObjectOutput) ContentEncoding added in v6.23.0

func (o BucketObjectOutput) ContentEncoding() pulumi.StringPtrOutput

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

func (BucketObjectOutput) ContentLanguage added in v6.23.0

func (o BucketObjectOutput) ContentLanguage() pulumi.StringPtrOutput

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

func (BucketObjectOutput) ContentType added in v6.23.0

func (o BucketObjectOutput) ContentType() pulumi.StringOutput

[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 (BucketObjectOutput) Crc32c added in v6.23.0

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

func (BucketObjectOutput) CustomerEncryption added in v6.23.0

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.

func (BucketObjectOutput) DetectMd5hash added in v6.23.0

func (o BucketObjectOutput) DetectMd5hash() pulumi.StringPtrOutput

func (BucketObjectOutput) ElementType

func (BucketObjectOutput) ElementType() reflect.Type

func (BucketObjectOutput) EventBasedHold added in v6.23.0

func (o BucketObjectOutput) EventBasedHold() pulumi.BoolPtrOutput

Whether an object is under [event-based hold](https://cloud.google.com/storage/docs/object-holds#hold-types). 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).

func (BucketObjectOutput) KmsKeyName added in v6.23.0

func (o BucketObjectOutput) KmsKeyName() pulumi.StringOutput

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.

func (BucketObjectOutput) Md5hash added in v6.23.0

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

func (o BucketObjectOutput) MediaLink() pulumi.StringOutput

(Computed) A url reference to download this object.

func (BucketObjectOutput) Metadata added in v6.23.0

User-provided metadata, in key/value pairs.

One of the following is required:

func (BucketObjectOutput) Name added in v6.23.0

The name of the object. If you're interpolating the name of this object, see `outputName` instead.

func (BucketObjectOutput) OutputName added in v6.23.0

func (o BucketObjectOutput) OutputName() pulumi.StringOutput

(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.

func (o BucketObjectOutput) SelfLink() pulumi.StringOutput

(Computed) A url reference to this object.

func (BucketObjectOutput) Source added in v6.23.0

A path to the data you want to upload. Must be defined if `content` is not.

***

func (BucketObjectOutput) StorageClass added in v6.23.0

func (o BucketObjectOutput) StorageClass() pulumi.StringOutput

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 (BucketObjectOutput) TemporaryHold added in v6.23.0

func (o BucketObjectOutput) TemporaryHold() pulumi.BoolPtrOutput

Whether an object is under [temporary hold](https://cloud.google.com/storage/docs/object-holds#hold-types). While this flag is set to true, the object is protected against deletion and overwrites.

func (BucketObjectOutput) ToBucketObjectOutput

func (o BucketObjectOutput) ToBucketObjectOutput() BucketObjectOutput

func (BucketObjectOutput) ToBucketObjectOutputWithContext

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

func (BucketObjectOutput) ToOutput added in v6.65.1

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](https://cloud.google.com/storage/docs/object-holds#hold-types). 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.
	//
	// One of the following is required:
	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](https://cloud.google.com/storage/docs/object-holds#hold-types). 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) Autoclass added in v6.45.0

func (o BucketOutput) Autoclass() BucketAutoclassPtrOutput

The bucket's [Autoclass](https://cloud.google.com/storage/docs/autoclass) configuration. Structure is documented below.

func (BucketOutput) Cors added in v6.23.0

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.

func (BucketOutput) CustomPlacementConfig added in v6.41.0

func (o BucketOutput) CustomPlacementConfig() BucketCustomPlacementConfigPtrOutput

The bucket's custom location configuration, which specifies the individual regions that comprise a dual-region bucket. If the bucket is designated a single or multi-region, the parameters are empty. Structure is documented below.

func (BucketOutput) DefaultEventBasedHold added in v6.23.0

func (o BucketOutput) DefaultEventBasedHold() pulumi.BoolPtrOutput

Whether or not to automatically apply an eventBasedHold to new objects added to the bucket.

func (BucketOutput) ElementType

func (BucketOutput) ElementType() reflect.Type

func (BucketOutput) Encryption added in v6.23.0

func (o BucketOutput) Encryption() BucketEncryptionPtrOutput

The bucket's encryption configuration. Structure is documented below.

func (BucketOutput) ForceDestroy added in v6.23.0

func (o BucketOutput) ForceDestroy() pulumi.BoolPtrOutput

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.

func (BucketOutput) Labels added in v6.23.0

func (o BucketOutput) Labels() pulumi.StringMapOutput

A map of key/value label pairs to assign to the bucket.

func (BucketOutput) LifecycleRules added in v6.23.0

func (o BucketOutput) LifecycleRules() BucketLifecycleRuleArrayOutput

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.

func (BucketOutput) Location added in v6.23.0

func (o BucketOutput) Location() pulumi.StringOutput

The [GCS location](https://cloud.google.com/storage/docs/bucket-locations).

***

func (BucketOutput) Logging added in v6.23.0

The bucket's [Access & Storage Logs](https://cloud.google.com/storage/docs/access-logs) configuration. Structure is documented below.

func (BucketOutput) Name added in v6.23.0

func (o BucketOutput) Name() pulumi.StringOutput

The name of the bucket.

func (BucketOutput) Project added in v6.23.0

func (o BucketOutput) Project() pulumi.StringOutput

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

func (BucketOutput) PublicAccessPrevention added in v6.23.0

func (o BucketOutput) PublicAccessPrevention() pulumi.StringOutput

Prevents public access to a bucket. Acceptable values are "inherited" or "enforced". If "inherited", the bucket uses [public access prevention](https://cloud.google.com/storage/docs/public-access-prevention). only if the bucket is subject to the public access prevention organization policy constraint. Defaults to "inherited".

func (BucketOutput) RequesterPays added in v6.23.0

func (o BucketOutput) RequesterPays() pulumi.BoolPtrOutput

Enables [Requester Pays](https://cloud.google.com/storage/docs/requester-pays) on a storage bucket.

func (BucketOutput) RetentionPolicy added in v6.23.0

func (o BucketOutput) RetentionPolicy() BucketRetentionPolicyPtrOutput

Configuration of the bucket's data retention policy for how long objects in the bucket should be retained. Structure is documented below.

func (o BucketOutput) SelfLink() pulumi.StringOutput

The URI of the created resource.

func (BucketOutput) StorageClass added in v6.23.0

func (o BucketOutput) StorageClass() pulumi.StringPtrOutput

The [Storage Class](https://cloud.google.com/storage/docs/storage-classes) of the new bucket. Supported values include: `STANDARD`, `MULTI_REGIONAL`, `REGIONAL`, `NEARLINE`, `COLDLINE`, `ARCHIVE`.

func (BucketOutput) ToBucketOutput

func (o BucketOutput) ToBucketOutput() BucketOutput

func (BucketOutput) ToBucketOutputWithContext

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

func (BucketOutput) ToOutput added in v6.65.1

func (o BucketOutput) ToOutput(ctx context.Context) pulumix.Output[*Bucket]

func (BucketOutput) UniformBucketLevelAccess added in v6.23.0

func (o BucketOutput) UniformBucketLevelAccess() pulumi.BoolOutput

Enables [Uniform bucket-level access](https://cloud.google.com/storage/docs/uniform-bucket-level-access) access to a bucket.

func (BucketOutput) Url added in v6.23.0

The base URL of the bucket, in the format `gs://<bucket-name>`.

func (BucketOutput) Versioning added in v6.23.0

func (o BucketOutput) Versioning() BucketVersioningOutput

The bucket's [Versioning](https://cloud.google.com/storage/docs/object-versioning) configuration. Structure is documented below.

func (BucketOutput) Website added in v6.23.0

func (o BucketOutput) Website() BucketWebsiteOutput

Configuration if the bucket acts as a website. Structure is documented below.

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

func (BucketRetentionPolicyArgs) ToOutput added in v6.65.1

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

func (BucketRetentionPolicyOutput) ToOutput added in v6.65.1

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

func (BucketRetentionPolicyPtrOutput) ToOutput added in v6.65.1

type BucketState

type BucketState struct {
	// The bucket's [Autoclass](https://cloud.google.com/storage/docs/autoclass) configuration.  Structure is documented below.
	Autoclass BucketAutoclassPtrInput
	// 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
	// The bucket's custom location configuration, which specifies the individual regions that comprise a dual-region bucket. If the bucket is designated a single or multi-region, the parameters are empty. Structure is documented below.
	CustomPlacementConfig BucketCustomPlacementConfigPtrInput
	// Whether or not to automatically apply an eventBasedHold to new objects added to the bucket.
	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
	// Prevents public access to a bucket. Acceptable values are "inherited" or "enforced". If "inherited", the bucket uses [public access prevention](https://cloud.google.com/storage/docs/public-access-prevention). only if the bucket is subject to the public access prevention organization policy constraint. Defaults to "inherited".
	PublicAccessPrevention 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 [Storage Class](https://cloud.google.com/storage/docs/storage-classes) of the new bucket. 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

func (BucketVersioningArgs) ToOutput added in v6.65.1

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

func (BucketVersioningOutput) ToOutput added in v6.65.1

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

func (BucketVersioningPtrOutput) ToOutput added in v6.65.1

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

func (BucketWebsiteArgs) ToOutput added in v6.65.1

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

func (BucketWebsiteOutput) ToOutput added in v6.65.1

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

func (BucketWebsitePtrOutput) ToOutput added in v6.65.1

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/v6/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) ToOutput added in v6.65.1

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

func (DefaultObjectACLArray) ToOutput added in v6.65.1

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

func (DefaultObjectACLArrayOutput) ToOutput added in v6.65.1

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

func (DefaultObjectACLMap) ToOutput added in v6.65.1

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

func (DefaultObjectACLMapOutput) ToOutput added in v6.65.1

type DefaultObjectACLOutput

type DefaultObjectACLOutput struct{ *pulumi.OutputState }

func (DefaultObjectACLOutput) Bucket added in v6.23.0

The name of the bucket it applies to.

func (DefaultObjectACLOutput) ElementType

func (DefaultObjectACLOutput) ElementType() reflect.Type

func (DefaultObjectACLOutput) RoleEntities added in v6.23.0

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.

func (DefaultObjectACLOutput) ToDefaultObjectACLOutput

func (o DefaultObjectACLOutput) ToDefaultObjectACLOutput() DefaultObjectACLOutput

func (DefaultObjectACLOutput) ToDefaultObjectACLOutputWithContext

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

func (DefaultObjectACLOutput) ToOutput added in v6.65.1

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
	// Structure is documented below.
	ProjectTeams DefaultObjectAccessControlProjectTeamArrayOutput `pulumi:"projectTeams"`
	// The access permission for the entity.
	// Possible values are: `OWNER`, `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/v6/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", &storage.BucketArgs{
			Location: pulumi.String("US"),
		})
		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) ToOutput added in v6.65.1

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`, `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

func (DefaultObjectAccessControlArray) ToOutput added in v6.65.1

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

func (DefaultObjectAccessControlArrayOutput) ToOutput added in v6.65.1

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

func (DefaultObjectAccessControlMap) ToOutput added in v6.65.1

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

func (DefaultObjectAccessControlMapOutput) ToOutput added in v6.65.1

type DefaultObjectAccessControlOutput

type DefaultObjectAccessControlOutput struct{ *pulumi.OutputState }

func (DefaultObjectAccessControlOutput) Bucket added in v6.23.0

The name of the bucket.

func (DefaultObjectAccessControlOutput) Domain added in v6.23.0

The domain associated with the entity.

func (DefaultObjectAccessControlOutput) ElementType

func (DefaultObjectAccessControlOutput) Email added in v6.23.0

The email address associated with the entity.

func (DefaultObjectAccessControlOutput) Entity added in v6.23.0

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

func (DefaultObjectAccessControlOutput) EntityId added in v6.23.0

The ID for the entity

func (DefaultObjectAccessControlOutput) Generation added in v6.23.0

The content generation of the object, if applied to an object.

func (DefaultObjectAccessControlOutput) Object added in v6.23.0

The name of the object, if applied to an object.

func (DefaultObjectAccessControlOutput) ProjectTeams added in v6.23.0

The project team associated with the entity Structure is documented below.

func (DefaultObjectAccessControlOutput) Role added in v6.23.0

The access permission for the entity. Possible values are: `OWNER`, `READER`.

***

func (DefaultObjectAccessControlOutput) ToDefaultObjectAccessControlOutput

func (o DefaultObjectAccessControlOutput) ToDefaultObjectAccessControlOutput() DefaultObjectAccessControlOutput

func (DefaultObjectAccessControlOutput) ToDefaultObjectAccessControlOutputWithContext

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

func (DefaultObjectAccessControlOutput) ToOutput added in v6.65.1

type DefaultObjectAccessControlProjectTeam

type DefaultObjectAccessControlProjectTeam struct {
	// The project team associated with the entity
	ProjectNumber *string `pulumi:"projectNumber"`
	// The team.
	// Possible values are: `editors`, `owners`, `viewers`.
	Team *string `pulumi:"team"`
}

type DefaultObjectAccessControlProjectTeamArgs

type DefaultObjectAccessControlProjectTeamArgs struct {
	// The project team associated with the entity
	ProjectNumber pulumi.StringPtrInput `pulumi:"projectNumber"`
	// The team.
	// Possible values are: `editors`, `owners`, `viewers`.
	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

func (DefaultObjectAccessControlProjectTeamArgs) ToOutput added in v6.65.1

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

func (DefaultObjectAccessControlProjectTeamArray) ToOutput added in v6.65.1

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

func (DefaultObjectAccessControlProjectTeamArrayOutput) ToOutput added in v6.65.1

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

The project team associated with the entity

func (DefaultObjectAccessControlProjectTeamOutput) Team

The team. Possible values are: `editors`, `owners`, `viewers`.

func (DefaultObjectAccessControlProjectTeamOutput) ToDefaultObjectAccessControlProjectTeamOutput

func (o DefaultObjectAccessControlProjectTeamOutput) ToDefaultObjectAccessControlProjectTeamOutput() DefaultObjectAccessControlProjectTeamOutput

func (DefaultObjectAccessControlProjectTeamOutput) ToDefaultObjectAccessControlProjectTeamOutputWithContext

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

func (DefaultObjectAccessControlProjectTeamOutput) ToOutput added in v6.65.1

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
	// Structure is documented below.
	ProjectTeams DefaultObjectAccessControlProjectTeamArrayInput
	// The access permission for the entity.
	// Possible values are: `OWNER`, `READER`.
	//
	// ***
	Role pulumi.StringPtrInput
}

func (DefaultObjectAccessControlState) ElementType

type GetBucketAutoclass added in v6.45.0

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

type GetBucketAutoclassArgs added in v6.45.0

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

func (GetBucketAutoclassArgs) ElementType added in v6.45.0

func (GetBucketAutoclassArgs) ElementType() reflect.Type

func (GetBucketAutoclassArgs) ToGetBucketAutoclassOutput added in v6.45.0

func (i GetBucketAutoclassArgs) ToGetBucketAutoclassOutput() GetBucketAutoclassOutput

func (GetBucketAutoclassArgs) ToGetBucketAutoclassOutputWithContext added in v6.45.0

func (i GetBucketAutoclassArgs) ToGetBucketAutoclassOutputWithContext(ctx context.Context) GetBucketAutoclassOutput

func (GetBucketAutoclassArgs) ToOutput added in v6.65.1

type GetBucketAutoclassArray added in v6.45.0

type GetBucketAutoclassArray []GetBucketAutoclassInput

func (GetBucketAutoclassArray) ElementType added in v6.45.0

func (GetBucketAutoclassArray) ElementType() reflect.Type

func (GetBucketAutoclassArray) ToGetBucketAutoclassArrayOutput added in v6.45.0

func (i GetBucketAutoclassArray) ToGetBucketAutoclassArrayOutput() GetBucketAutoclassArrayOutput

func (GetBucketAutoclassArray) ToGetBucketAutoclassArrayOutputWithContext added in v6.45.0

func (i GetBucketAutoclassArray) ToGetBucketAutoclassArrayOutputWithContext(ctx context.Context) GetBucketAutoclassArrayOutput

func (GetBucketAutoclassArray) ToOutput added in v6.65.1

type GetBucketAutoclassArrayInput added in v6.45.0

type GetBucketAutoclassArrayInput interface {
	pulumi.Input

	ToGetBucketAutoclassArrayOutput() GetBucketAutoclassArrayOutput
	ToGetBucketAutoclassArrayOutputWithContext(context.Context) GetBucketAutoclassArrayOutput
}

GetBucketAutoclassArrayInput is an input type that accepts GetBucketAutoclassArray and GetBucketAutoclassArrayOutput values. You can construct a concrete instance of `GetBucketAutoclassArrayInput` via:

GetBucketAutoclassArray{ GetBucketAutoclassArgs{...} }

type GetBucketAutoclassArrayOutput added in v6.45.0

type GetBucketAutoclassArrayOutput struct{ *pulumi.OutputState }

func (GetBucketAutoclassArrayOutput) ElementType added in v6.45.0

func (GetBucketAutoclassArrayOutput) Index added in v6.45.0

func (GetBucketAutoclassArrayOutput) ToGetBucketAutoclassArrayOutput added in v6.45.0

func (o GetBucketAutoclassArrayOutput) ToGetBucketAutoclassArrayOutput() GetBucketAutoclassArrayOutput

func (GetBucketAutoclassArrayOutput) ToGetBucketAutoclassArrayOutputWithContext added in v6.45.0

func (o GetBucketAutoclassArrayOutput) ToGetBucketAutoclassArrayOutputWithContext(ctx context.Context) GetBucketAutoclassArrayOutput

func (GetBucketAutoclassArrayOutput) ToOutput added in v6.65.1

type GetBucketAutoclassInput added in v6.45.0

type GetBucketAutoclassInput interface {
	pulumi.Input

	ToGetBucketAutoclassOutput() GetBucketAutoclassOutput
	ToGetBucketAutoclassOutputWithContext(context.Context) GetBucketAutoclassOutput
}

GetBucketAutoclassInput is an input type that accepts GetBucketAutoclassArgs and GetBucketAutoclassOutput values. You can construct a concrete instance of `GetBucketAutoclassInput` via:

GetBucketAutoclassArgs{...}

type GetBucketAutoclassOutput added in v6.45.0

type GetBucketAutoclassOutput struct{ *pulumi.OutputState }

func (GetBucketAutoclassOutput) ElementType added in v6.45.0

func (GetBucketAutoclassOutput) ElementType() reflect.Type

func (GetBucketAutoclassOutput) Enabled added in v6.45.0

func (GetBucketAutoclassOutput) ToGetBucketAutoclassOutput added in v6.45.0

func (o GetBucketAutoclassOutput) ToGetBucketAutoclassOutput() GetBucketAutoclassOutput

func (GetBucketAutoclassOutput) ToGetBucketAutoclassOutputWithContext added in v6.45.0

func (o GetBucketAutoclassOutput) ToGetBucketAutoclassOutputWithContext(ctx context.Context) GetBucketAutoclassOutput

func (GetBucketAutoclassOutput) ToOutput added in v6.65.1

type GetBucketCor

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

type GetBucketCorArgs

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

func (GetBucketCorArgs) ElementType() reflect.Type

func (GetBucketCorArgs) ToGetBucketCorOutput

func (i GetBucketCorArgs) ToGetBucketCorOutput() GetBucketCorOutput

func (GetBucketCorArgs) ToGetBucketCorOutputWithContext

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

func (GetBucketCorArgs) ToOutput added in v6.65.1

type GetBucketCorArray

type GetBucketCorArray []GetBucketCorInput

func (GetBucketCorArray) ElementType

func (GetBucketCorArray) ElementType() reflect.Type

func (GetBucketCorArray) ToGetBucketCorArrayOutput

func (i GetBucketCorArray) ToGetBucketCorArrayOutput() GetBucketCorArrayOutput

func (GetBucketCorArray) ToGetBucketCorArrayOutputWithContext

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

func (GetBucketCorArray) ToOutput added in v6.65.1

type GetBucketCorArrayInput

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

type GetBucketCorArrayOutput struct{ *pulumi.OutputState }

func (GetBucketCorArrayOutput) ElementType

func (GetBucketCorArrayOutput) ElementType() reflect.Type

func (GetBucketCorArrayOutput) Index

func (GetBucketCorArrayOutput) ToGetBucketCorArrayOutput

func (o GetBucketCorArrayOutput) ToGetBucketCorArrayOutput() GetBucketCorArrayOutput

func (GetBucketCorArrayOutput) ToGetBucketCorArrayOutputWithContext

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

func (GetBucketCorArrayOutput) ToOutput added in v6.65.1

type GetBucketCorInput

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

type GetBucketCorOutput struct{ *pulumi.OutputState }

func (GetBucketCorOutput) ElementType

func (GetBucketCorOutput) ElementType() reflect.Type

func (GetBucketCorOutput) MaxAgeSeconds

func (o GetBucketCorOutput) MaxAgeSeconds() pulumi.IntOutput

func (GetBucketCorOutput) Methods

func (GetBucketCorOutput) Origins

func (GetBucketCorOutput) ResponseHeaders

func (o GetBucketCorOutput) ResponseHeaders() pulumi.StringArrayOutput

func (GetBucketCorOutput) ToGetBucketCorOutput

func (o GetBucketCorOutput) ToGetBucketCorOutput() GetBucketCorOutput

func (GetBucketCorOutput) ToGetBucketCorOutputWithContext

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

func (GetBucketCorOutput) ToOutput added in v6.65.1

type GetBucketCustomPlacementConfig added in v6.41.0

type GetBucketCustomPlacementConfig struct {
	DataLocations []string `pulumi:"dataLocations"`
}

type GetBucketCustomPlacementConfigArgs added in v6.41.0

type GetBucketCustomPlacementConfigArgs struct {
	DataLocations pulumi.StringArrayInput `pulumi:"dataLocations"`
}

func (GetBucketCustomPlacementConfigArgs) ElementType added in v6.41.0

func (GetBucketCustomPlacementConfigArgs) ToGetBucketCustomPlacementConfigOutput added in v6.41.0

func (i GetBucketCustomPlacementConfigArgs) ToGetBucketCustomPlacementConfigOutput() GetBucketCustomPlacementConfigOutput

func (GetBucketCustomPlacementConfigArgs) ToGetBucketCustomPlacementConfigOutputWithContext added in v6.41.0

func (i GetBucketCustomPlacementConfigArgs) ToGetBucketCustomPlacementConfigOutputWithContext(ctx context.Context) GetBucketCustomPlacementConfigOutput

func (GetBucketCustomPlacementConfigArgs) ToOutput added in v6.65.1

type GetBucketCustomPlacementConfigArray added in v6.41.0

type GetBucketCustomPlacementConfigArray []GetBucketCustomPlacementConfigInput

func (GetBucketCustomPlacementConfigArray) ElementType added in v6.41.0

func (GetBucketCustomPlacementConfigArray) ToGetBucketCustomPlacementConfigArrayOutput added in v6.41.0

func (i GetBucketCustomPlacementConfigArray) ToGetBucketCustomPlacementConfigArrayOutput() GetBucketCustomPlacementConfigArrayOutput

func (GetBucketCustomPlacementConfigArray) ToGetBucketCustomPlacementConfigArrayOutputWithContext added in v6.41.0

func (i GetBucketCustomPlacementConfigArray) ToGetBucketCustomPlacementConfigArrayOutputWithContext(ctx context.Context) GetBucketCustomPlacementConfigArrayOutput

func (GetBucketCustomPlacementConfigArray) ToOutput added in v6.65.1

type GetBucketCustomPlacementConfigArrayInput added in v6.41.0

type GetBucketCustomPlacementConfigArrayInput interface {
	pulumi.Input

	ToGetBucketCustomPlacementConfigArrayOutput() GetBucketCustomPlacementConfigArrayOutput
	ToGetBucketCustomPlacementConfigArrayOutputWithContext(context.Context) GetBucketCustomPlacementConfigArrayOutput
}

GetBucketCustomPlacementConfigArrayInput is an input type that accepts GetBucketCustomPlacementConfigArray and GetBucketCustomPlacementConfigArrayOutput values. You can construct a concrete instance of `GetBucketCustomPlacementConfigArrayInput` via:

GetBucketCustomPlacementConfigArray{ GetBucketCustomPlacementConfigArgs{...} }

type GetBucketCustomPlacementConfigArrayOutput added in v6.41.0

type GetBucketCustomPlacementConfigArrayOutput struct{ *pulumi.OutputState }

func (GetBucketCustomPlacementConfigArrayOutput) ElementType added in v6.41.0

func (GetBucketCustomPlacementConfigArrayOutput) Index added in v6.41.0

func (GetBucketCustomPlacementConfigArrayOutput) ToGetBucketCustomPlacementConfigArrayOutput added in v6.41.0

func (o GetBucketCustomPlacementConfigArrayOutput) ToGetBucketCustomPlacementConfigArrayOutput() GetBucketCustomPlacementConfigArrayOutput

func (GetBucketCustomPlacementConfigArrayOutput) ToGetBucketCustomPlacementConfigArrayOutputWithContext added in v6.41.0

func (o GetBucketCustomPlacementConfigArrayOutput) ToGetBucketCustomPlacementConfigArrayOutputWithContext(ctx context.Context) GetBucketCustomPlacementConfigArrayOutput

func (GetBucketCustomPlacementConfigArrayOutput) ToOutput added in v6.65.1

type GetBucketCustomPlacementConfigInput added in v6.41.0

type GetBucketCustomPlacementConfigInput interface {
	pulumi.Input

	ToGetBucketCustomPlacementConfigOutput() GetBucketCustomPlacementConfigOutput
	ToGetBucketCustomPlacementConfigOutputWithContext(context.Context) GetBucketCustomPlacementConfigOutput
}

GetBucketCustomPlacementConfigInput is an input type that accepts GetBucketCustomPlacementConfigArgs and GetBucketCustomPlacementConfigOutput values. You can construct a concrete instance of `GetBucketCustomPlacementConfigInput` via:

GetBucketCustomPlacementConfigArgs{...}

type GetBucketCustomPlacementConfigOutput added in v6.41.0

type GetBucketCustomPlacementConfigOutput struct{ *pulumi.OutputState }

func (GetBucketCustomPlacementConfigOutput) DataLocations added in v6.41.0

func (GetBucketCustomPlacementConfigOutput) ElementType added in v6.41.0

func (GetBucketCustomPlacementConfigOutput) ToGetBucketCustomPlacementConfigOutput added in v6.41.0

func (o GetBucketCustomPlacementConfigOutput) ToGetBucketCustomPlacementConfigOutput() GetBucketCustomPlacementConfigOutput

func (GetBucketCustomPlacementConfigOutput) ToGetBucketCustomPlacementConfigOutputWithContext added in v6.41.0

func (o GetBucketCustomPlacementConfigOutput) ToGetBucketCustomPlacementConfigOutputWithContext(ctx context.Context) GetBucketCustomPlacementConfigOutput

func (GetBucketCustomPlacementConfigOutput) ToOutput added in v6.65.1

type GetBucketEncryption

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

type GetBucketEncryptionArgs

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

func (GetBucketEncryptionArgs) ElementType

func (GetBucketEncryptionArgs) ElementType() reflect.Type

func (GetBucketEncryptionArgs) ToGetBucketEncryptionOutput

func (i GetBucketEncryptionArgs) ToGetBucketEncryptionOutput() GetBucketEncryptionOutput

func (GetBucketEncryptionArgs) ToGetBucketEncryptionOutputWithContext

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

func (GetBucketEncryptionArgs) ToOutput added in v6.65.1

type GetBucketEncryptionArray

type GetBucketEncryptionArray []GetBucketEncryptionInput

func (GetBucketEncryptionArray) ElementType

func (GetBucketEncryptionArray) ElementType() reflect.Type

func (GetBucketEncryptionArray) ToGetBucketEncryptionArrayOutput

func (i GetBucketEncryptionArray) ToGetBucketEncryptionArrayOutput() GetBucketEncryptionArrayOutput

func (GetBucketEncryptionArray) ToGetBucketEncryptionArrayOutputWithContext

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

func (GetBucketEncryptionArray) ToOutput added in v6.65.1

type GetBucketEncryptionArrayInput

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

type GetBucketEncryptionArrayOutput struct{ *pulumi.OutputState }

func (GetBucketEncryptionArrayOutput) ElementType

func (GetBucketEncryptionArrayOutput) Index

func (GetBucketEncryptionArrayOutput) ToGetBucketEncryptionArrayOutput

func (o GetBucketEncryptionArrayOutput) ToGetBucketEncryptionArrayOutput() GetBucketEncryptionArrayOutput

func (GetBucketEncryptionArrayOutput) ToGetBucketEncryptionArrayOutputWithContext

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

func (GetBucketEncryptionArrayOutput) ToOutput added in v6.65.1

type GetBucketEncryptionInput

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

type GetBucketEncryptionOutput struct{ *pulumi.OutputState }

func (GetBucketEncryptionOutput) DefaultKmsKeyName

func (o GetBucketEncryptionOutput) DefaultKmsKeyName() pulumi.StringOutput

func (GetBucketEncryptionOutput) ElementType

func (GetBucketEncryptionOutput) ElementType() reflect.Type

func (GetBucketEncryptionOutput) ToGetBucketEncryptionOutput

func (o GetBucketEncryptionOutput) ToGetBucketEncryptionOutput() GetBucketEncryptionOutput

func (GetBucketEncryptionOutput) ToGetBucketEncryptionOutputWithContext

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

func (GetBucketEncryptionOutput) ToOutput added in v6.65.1

type GetBucketIamPolicyArgs added in v6.59.0

type GetBucketIamPolicyArgs struct {
	// Used to find the parent resource to bind the IAM policy to
	Bucket string `pulumi:"bucket"`
}

A collection of arguments for invoking getBucketIamPolicy.

type GetBucketIamPolicyOutputArgs added in v6.59.0

type GetBucketIamPolicyOutputArgs struct {
	// Used to find the parent resource to bind the IAM policy to
	Bucket pulumi.StringInput `pulumi:"bucket"`
}

A collection of arguments for invoking getBucketIamPolicy.

func (GetBucketIamPolicyOutputArgs) ElementType added in v6.59.0

type GetBucketIamPolicyResult added in v6.59.0

type GetBucketIamPolicyResult struct {
	Bucket string `pulumi:"bucket"`
	// (Computed) The etag of the IAM policy.
	Etag string `pulumi:"etag"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// (Required only by `storage.BucketIAMPolicy`) The policy data generated by
	// a `organizations.getIAMPolicy` data source.
	PolicyData string `pulumi:"policyData"`
}

A collection of values returned by getBucketIamPolicy.

func GetBucketIamPolicy added in v6.59.0

func GetBucketIamPolicy(ctx *pulumi.Context, args *GetBucketIamPolicyArgs, opts ...pulumi.InvokeOption) (*GetBucketIamPolicyResult, error)

Retrieves the current IAM policy data for bucket

## example

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := storage.GetBucketIamPolicy(ctx, &storage.GetBucketIamPolicyArgs{
			Bucket: google_storage_bucket.Default.Name,
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetBucketIamPolicyResultOutput added in v6.59.0

type GetBucketIamPolicyResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getBucketIamPolicy.

func GetBucketIamPolicyOutput added in v6.59.0

func (GetBucketIamPolicyResultOutput) Bucket added in v6.59.0

func (GetBucketIamPolicyResultOutput) ElementType added in v6.59.0

func (GetBucketIamPolicyResultOutput) Etag added in v6.59.0

(Computed) The etag of the IAM policy.

func (GetBucketIamPolicyResultOutput) Id added in v6.59.0

The provider-assigned unique ID for this managed resource.

func (GetBucketIamPolicyResultOutput) PolicyData added in v6.59.0

(Required only by `storage.BucketIAMPolicy`) The policy data generated by a `organizations.getIAMPolicy` data source.

func (GetBucketIamPolicyResultOutput) ToGetBucketIamPolicyResultOutput added in v6.59.0

func (o GetBucketIamPolicyResultOutput) ToGetBucketIamPolicyResultOutput() GetBucketIamPolicyResultOutput

func (GetBucketIamPolicyResultOutput) ToGetBucketIamPolicyResultOutputWithContext added in v6.59.0

func (o GetBucketIamPolicyResultOutput) ToGetBucketIamPolicyResultOutputWithContext(ctx context.Context) GetBucketIamPolicyResultOutput

func (GetBucketIamPolicyResultOutput) ToOutput added in v6.65.1

type GetBucketLifecycleRule

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

type GetBucketLifecycleRuleAction

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

type GetBucketLifecycleRuleActionArgs

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

func (GetBucketLifecycleRuleActionArgs) ElementType

func (GetBucketLifecycleRuleActionArgs) ToGetBucketLifecycleRuleActionOutput

func (i GetBucketLifecycleRuleActionArgs) ToGetBucketLifecycleRuleActionOutput() GetBucketLifecycleRuleActionOutput

func (GetBucketLifecycleRuleActionArgs) ToGetBucketLifecycleRuleActionOutputWithContext

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

func (GetBucketLifecycleRuleActionArgs) ToOutput added in v6.65.1

type GetBucketLifecycleRuleActionArray

type GetBucketLifecycleRuleActionArray []GetBucketLifecycleRuleActionInput

func (GetBucketLifecycleRuleActionArray) ElementType

func (GetBucketLifecycleRuleActionArray) ToGetBucketLifecycleRuleActionArrayOutput

func (i GetBucketLifecycleRuleActionArray) ToGetBucketLifecycleRuleActionArrayOutput() GetBucketLifecycleRuleActionArrayOutput

func (GetBucketLifecycleRuleActionArray) ToGetBucketLifecycleRuleActionArrayOutputWithContext

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

func (GetBucketLifecycleRuleActionArray) ToOutput added in v6.65.1

type GetBucketLifecycleRuleActionArrayInput

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

type GetBucketLifecycleRuleActionArrayOutput struct{ *pulumi.OutputState }

func (GetBucketLifecycleRuleActionArrayOutput) ElementType

func (GetBucketLifecycleRuleActionArrayOutput) Index

func (GetBucketLifecycleRuleActionArrayOutput) ToGetBucketLifecycleRuleActionArrayOutput

func (o GetBucketLifecycleRuleActionArrayOutput) ToGetBucketLifecycleRuleActionArrayOutput() GetBucketLifecycleRuleActionArrayOutput

func (GetBucketLifecycleRuleActionArrayOutput) ToGetBucketLifecycleRuleActionArrayOutputWithContext

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

func (GetBucketLifecycleRuleActionArrayOutput) ToOutput added in v6.65.1

type GetBucketLifecycleRuleActionInput

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

type GetBucketLifecycleRuleActionOutput struct{ *pulumi.OutputState }

func (GetBucketLifecycleRuleActionOutput) ElementType

func (GetBucketLifecycleRuleActionOutput) StorageClass

func (GetBucketLifecycleRuleActionOutput) ToGetBucketLifecycleRuleActionOutput

func (o GetBucketLifecycleRuleActionOutput) ToGetBucketLifecycleRuleActionOutput() GetBucketLifecycleRuleActionOutput

func (GetBucketLifecycleRuleActionOutput) ToGetBucketLifecycleRuleActionOutputWithContext

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

func (GetBucketLifecycleRuleActionOutput) ToOutput added in v6.65.1

func (GetBucketLifecycleRuleActionOutput) Type

type GetBucketLifecycleRuleArgs

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

func (GetBucketLifecycleRuleArgs) ElementType

func (GetBucketLifecycleRuleArgs) ElementType() reflect.Type

func (GetBucketLifecycleRuleArgs) ToGetBucketLifecycleRuleOutput

func (i GetBucketLifecycleRuleArgs) ToGetBucketLifecycleRuleOutput() GetBucketLifecycleRuleOutput

func (GetBucketLifecycleRuleArgs) ToGetBucketLifecycleRuleOutputWithContext

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

func (GetBucketLifecycleRuleArgs) ToOutput added in v6.65.1

type GetBucketLifecycleRuleArray

type GetBucketLifecycleRuleArray []GetBucketLifecycleRuleInput

func (GetBucketLifecycleRuleArray) ElementType

func (GetBucketLifecycleRuleArray) ToGetBucketLifecycleRuleArrayOutput

func (i GetBucketLifecycleRuleArray) ToGetBucketLifecycleRuleArrayOutput() GetBucketLifecycleRuleArrayOutput

func (GetBucketLifecycleRuleArray) ToGetBucketLifecycleRuleArrayOutputWithContext

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

func (GetBucketLifecycleRuleArray) ToOutput added in v6.65.1

type GetBucketLifecycleRuleArrayInput

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

type GetBucketLifecycleRuleArrayOutput struct{ *pulumi.OutputState }

func (GetBucketLifecycleRuleArrayOutput) ElementType

func (GetBucketLifecycleRuleArrayOutput) Index

func (GetBucketLifecycleRuleArrayOutput) ToGetBucketLifecycleRuleArrayOutput

func (o GetBucketLifecycleRuleArrayOutput) ToGetBucketLifecycleRuleArrayOutput() GetBucketLifecycleRuleArrayOutput

func (GetBucketLifecycleRuleArrayOutput) ToGetBucketLifecycleRuleArrayOutputWithContext

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

func (GetBucketLifecycleRuleArrayOutput) ToOutput added in v6.65.1

type GetBucketLifecycleRuleCondition

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

type GetBucketLifecycleRuleConditionArgs

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"`
	MatchesPrefixes         pulumi.StringArrayInput `pulumi:"matchesPrefixes"`
	MatchesStorageClasses   pulumi.StringArrayInput `pulumi:"matchesStorageClasses"`
	MatchesSuffixes         pulumi.StringArrayInput `pulumi:"matchesSuffixes"`
	NoncurrentTimeBefore    pulumi.StringInput      `pulumi:"noncurrentTimeBefore"`
	NumNewerVersions        pulumi.IntInput         `pulumi:"numNewerVersions"`
	WithState               pulumi.StringInput      `pulumi:"withState"`
}

func (GetBucketLifecycleRuleConditionArgs) ElementType

func (GetBucketLifecycleRuleConditionArgs) ToGetBucketLifecycleRuleConditionOutput

func (i GetBucketLifecycleRuleConditionArgs) ToGetBucketLifecycleRuleConditionOutput() GetBucketLifecycleRuleConditionOutput

func (GetBucketLifecycleRuleConditionArgs) ToGetBucketLifecycleRuleConditionOutputWithContext

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

func (GetBucketLifecycleRuleConditionArgs) ToOutput added in v6.65.1

type GetBucketLifecycleRuleConditionArray

type GetBucketLifecycleRuleConditionArray []GetBucketLifecycleRuleConditionInput

func (GetBucketLifecycleRuleConditionArray) ElementType

func (GetBucketLifecycleRuleConditionArray) ToGetBucketLifecycleRuleConditionArrayOutput

func (i GetBucketLifecycleRuleConditionArray) ToGetBucketLifecycleRuleConditionArrayOutput() GetBucketLifecycleRuleConditionArrayOutput

func (GetBucketLifecycleRuleConditionArray) ToGetBucketLifecycleRuleConditionArrayOutputWithContext

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

func (GetBucketLifecycleRuleConditionArray) ToOutput added in v6.65.1

type GetBucketLifecycleRuleConditionArrayInput

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

type GetBucketLifecycleRuleConditionArrayOutput struct{ *pulumi.OutputState }

func (GetBucketLifecycleRuleConditionArrayOutput) ElementType

func (GetBucketLifecycleRuleConditionArrayOutput) Index

func (GetBucketLifecycleRuleConditionArrayOutput) ToGetBucketLifecycleRuleConditionArrayOutput

func (o GetBucketLifecycleRuleConditionArrayOutput) ToGetBucketLifecycleRuleConditionArrayOutput() GetBucketLifecycleRuleConditionArrayOutput

func (GetBucketLifecycleRuleConditionArrayOutput) ToGetBucketLifecycleRuleConditionArrayOutputWithContext

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

func (GetBucketLifecycleRuleConditionArrayOutput) ToOutput added in v6.65.1

type GetBucketLifecycleRuleConditionInput

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

type GetBucketLifecycleRuleConditionOutput struct{ *pulumi.OutputState }

func (GetBucketLifecycleRuleConditionOutput) Age

func (GetBucketLifecycleRuleConditionOutput) CreatedBefore

func (GetBucketLifecycleRuleConditionOutput) CustomTimeBefore

func (GetBucketLifecycleRuleConditionOutput) DaysSinceCustomTime

func (o GetBucketLifecycleRuleConditionOutput) DaysSinceCustomTime() pulumi.IntOutput

func (GetBucketLifecycleRuleConditionOutput) DaysSinceNoncurrentTime

func (o GetBucketLifecycleRuleConditionOutput) DaysSinceNoncurrentTime() pulumi.IntOutput

func (GetBucketLifecycleRuleConditionOutput) ElementType

func (GetBucketLifecycleRuleConditionOutput) MatchesPrefixes added in v6.34.0

func (GetBucketLifecycleRuleConditionOutput) MatchesStorageClasses

func (GetBucketLifecycleRuleConditionOutput) MatchesSuffixes added in v6.34.0

func (GetBucketLifecycleRuleConditionOutput) NoncurrentTimeBefore

func (GetBucketLifecycleRuleConditionOutput) NumNewerVersions

func (GetBucketLifecycleRuleConditionOutput) ToGetBucketLifecycleRuleConditionOutput

func (o GetBucketLifecycleRuleConditionOutput) ToGetBucketLifecycleRuleConditionOutput() GetBucketLifecycleRuleConditionOutput

func (GetBucketLifecycleRuleConditionOutput) ToGetBucketLifecycleRuleConditionOutputWithContext

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

func (GetBucketLifecycleRuleConditionOutput) ToOutput added in v6.65.1

func (GetBucketLifecycleRuleConditionOutput) WithState

type GetBucketLifecycleRuleInput

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

type GetBucketLifecycleRuleOutput struct{ *pulumi.OutputState }

func (GetBucketLifecycleRuleOutput) Actions

func (GetBucketLifecycleRuleOutput) Conditions

func (GetBucketLifecycleRuleOutput) ElementType

func (GetBucketLifecycleRuleOutput) ToGetBucketLifecycleRuleOutput

func (o GetBucketLifecycleRuleOutput) ToGetBucketLifecycleRuleOutput() GetBucketLifecycleRuleOutput

func (GetBucketLifecycleRuleOutput) ToGetBucketLifecycleRuleOutputWithContext

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

func (GetBucketLifecycleRuleOutput) ToOutput added in v6.65.1

type GetBucketLogging

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

type GetBucketLoggingArgs

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

func (GetBucketLoggingArgs) ElementType

func (GetBucketLoggingArgs) ElementType() reflect.Type

func (GetBucketLoggingArgs) ToGetBucketLoggingOutput

func (i GetBucketLoggingArgs) ToGetBucketLoggingOutput() GetBucketLoggingOutput

func (GetBucketLoggingArgs) ToGetBucketLoggingOutputWithContext

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

func (GetBucketLoggingArgs) ToOutput added in v6.65.1

type GetBucketLoggingArray

type GetBucketLoggingArray []GetBucketLoggingInput

func (GetBucketLoggingArray) ElementType

func (GetBucketLoggingArray) ElementType() reflect.Type

func (GetBucketLoggingArray) ToGetBucketLoggingArrayOutput

func (i GetBucketLoggingArray) ToGetBucketLoggingArrayOutput() GetBucketLoggingArrayOutput

func (GetBucketLoggingArray) ToGetBucketLoggingArrayOutputWithContext

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

func (GetBucketLoggingArray) ToOutput added in v6.65.1

type GetBucketLoggingArrayInput

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

type GetBucketLoggingArrayOutput struct{ *pulumi.OutputState }

func (GetBucketLoggingArrayOutput) ElementType

func (GetBucketLoggingArrayOutput) Index

func (GetBucketLoggingArrayOutput) ToGetBucketLoggingArrayOutput

func (o GetBucketLoggingArrayOutput) ToGetBucketLoggingArrayOutput() GetBucketLoggingArrayOutput

func (GetBucketLoggingArrayOutput) ToGetBucketLoggingArrayOutputWithContext

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

func (GetBucketLoggingArrayOutput) ToOutput added in v6.65.1

type GetBucketLoggingInput

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

type GetBucketLoggingOutput struct{ *pulumi.OutputState }

func (GetBucketLoggingOutput) ElementType

func (GetBucketLoggingOutput) ElementType() reflect.Type

func (GetBucketLoggingOutput) LogBucket

func (GetBucketLoggingOutput) LogObjectPrefix

func (o GetBucketLoggingOutput) LogObjectPrefix() pulumi.StringOutput

func (GetBucketLoggingOutput) ToGetBucketLoggingOutput

func (o GetBucketLoggingOutput) ToGetBucketLoggingOutput() GetBucketLoggingOutput

func (GetBucketLoggingOutput) ToGetBucketLoggingOutputWithContext

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

func (GetBucketLoggingOutput) ToOutput added in v6.65.1

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

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

type GetBucketObjectContentCustomerEncryptionArgs

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

func (GetBucketObjectContentCustomerEncryptionArgs) ElementType

func (GetBucketObjectContentCustomerEncryptionArgs) ToGetBucketObjectContentCustomerEncryptionOutput

func (i GetBucketObjectContentCustomerEncryptionArgs) ToGetBucketObjectContentCustomerEncryptionOutput() GetBucketObjectContentCustomerEncryptionOutput

func (GetBucketObjectContentCustomerEncryptionArgs) ToGetBucketObjectContentCustomerEncryptionOutputWithContext

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

func (GetBucketObjectContentCustomerEncryptionArgs) ToOutput added in v6.65.1

type GetBucketObjectContentCustomerEncryptionArray

type GetBucketObjectContentCustomerEncryptionArray []GetBucketObjectContentCustomerEncryptionInput

func (GetBucketObjectContentCustomerEncryptionArray) ElementType

func (GetBucketObjectContentCustomerEncryptionArray) ToGetBucketObjectContentCustomerEncryptionArrayOutput

func (i GetBucketObjectContentCustomerEncryptionArray) ToGetBucketObjectContentCustomerEncryptionArrayOutput() GetBucketObjectContentCustomerEncryptionArrayOutput

func (GetBucketObjectContentCustomerEncryptionArray) ToGetBucketObjectContentCustomerEncryptionArrayOutputWithContext

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

func (GetBucketObjectContentCustomerEncryptionArray) ToOutput added in v6.65.1

type GetBucketObjectContentCustomerEncryptionArrayInput

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

type GetBucketObjectContentCustomerEncryptionArrayOutput struct{ *pulumi.OutputState }

func (GetBucketObjectContentCustomerEncryptionArrayOutput) ElementType

func (GetBucketObjectContentCustomerEncryptionArrayOutput) Index

func (GetBucketObjectContentCustomerEncryptionArrayOutput) ToGetBucketObjectContentCustomerEncryptionArrayOutput

func (o GetBucketObjectContentCustomerEncryptionArrayOutput) ToGetBucketObjectContentCustomerEncryptionArrayOutput() GetBucketObjectContentCustomerEncryptionArrayOutput

func (GetBucketObjectContentCustomerEncryptionArrayOutput) ToGetBucketObjectContentCustomerEncryptionArrayOutputWithContext

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

func (GetBucketObjectContentCustomerEncryptionArrayOutput) ToOutput added in v6.65.1

type GetBucketObjectContentCustomerEncryptionInput

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

type GetBucketObjectContentCustomerEncryptionOutput struct{ *pulumi.OutputState }

func (GetBucketObjectContentCustomerEncryptionOutput) ElementType

func (GetBucketObjectContentCustomerEncryptionOutput) EncryptionAlgorithm

func (GetBucketObjectContentCustomerEncryptionOutput) EncryptionKey

func (GetBucketObjectContentCustomerEncryptionOutput) ToGetBucketObjectContentCustomerEncryptionOutput

func (o GetBucketObjectContentCustomerEncryptionOutput) ToGetBucketObjectContentCustomerEncryptionOutput() GetBucketObjectContentCustomerEncryptionOutput

func (GetBucketObjectContentCustomerEncryptionOutput) ToGetBucketObjectContentCustomerEncryptionOutputWithContext

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

func (GetBucketObjectContentCustomerEncryptionOutput) ToOutput added in v6.65.1

type GetBucketObjectContentOutputArgs

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

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/v6/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

type GetBucketObjectContentResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getBucketObjectContent.

func (GetBucketObjectContentResultOutput) Bucket

func (GetBucketObjectContentResultOutput) CacheControl

func (GetBucketObjectContentResultOutput) Content

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

func (GetBucketObjectContentResultOutput) ContentDisposition

func (GetBucketObjectContentResultOutput) ContentEncoding

func (GetBucketObjectContentResultOutput) ContentLanguage

func (GetBucketObjectContentResultOutput) ContentType

func (GetBucketObjectContentResultOutput) Crc32c

func (GetBucketObjectContentResultOutput) CustomerEncryptions

func (GetBucketObjectContentResultOutput) DetectMd5hash

func (GetBucketObjectContentResultOutput) ElementType

func (GetBucketObjectContentResultOutput) EventBasedHold

func (GetBucketObjectContentResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetBucketObjectContentResultOutput) KmsKeyName

func (GetBucketObjectContentResultOutput) Md5hash

func (GetBucketObjectContentResultOutput) Metadata

func (GetBucketObjectContentResultOutput) Name

func (GetBucketObjectContentResultOutput) OutputName

func (GetBucketObjectContentResultOutput) Source

func (GetBucketObjectContentResultOutput) StorageClass

func (GetBucketObjectContentResultOutput) TemporaryHold

func (GetBucketObjectContentResultOutput) ToGetBucketObjectContentResultOutput

func (o GetBucketObjectContentResultOutput) ToGetBucketObjectContentResultOutput() GetBucketObjectContentResultOutput

func (GetBucketObjectContentResultOutput) ToGetBucketObjectContentResultOutputWithContext

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

func (GetBucketObjectContentResultOutput) ToOutput added in v6.65.1

type GetBucketObjectCustomerEncryption

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

type GetBucketObjectCustomerEncryptionArgs

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

func (GetBucketObjectCustomerEncryptionArgs) ElementType

func (GetBucketObjectCustomerEncryptionArgs) ToGetBucketObjectCustomerEncryptionOutput

func (i GetBucketObjectCustomerEncryptionArgs) ToGetBucketObjectCustomerEncryptionOutput() GetBucketObjectCustomerEncryptionOutput

func (GetBucketObjectCustomerEncryptionArgs) ToGetBucketObjectCustomerEncryptionOutputWithContext

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

func (GetBucketObjectCustomerEncryptionArgs) ToOutput added in v6.65.1

type GetBucketObjectCustomerEncryptionArray

type GetBucketObjectCustomerEncryptionArray []GetBucketObjectCustomerEncryptionInput

func (GetBucketObjectCustomerEncryptionArray) ElementType

func (GetBucketObjectCustomerEncryptionArray) ToGetBucketObjectCustomerEncryptionArrayOutput

func (i GetBucketObjectCustomerEncryptionArray) ToGetBucketObjectCustomerEncryptionArrayOutput() GetBucketObjectCustomerEncryptionArrayOutput

func (GetBucketObjectCustomerEncryptionArray) ToGetBucketObjectCustomerEncryptionArrayOutputWithContext

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

func (GetBucketObjectCustomerEncryptionArray) ToOutput added in v6.65.1

type GetBucketObjectCustomerEncryptionArrayInput

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

type GetBucketObjectCustomerEncryptionArrayOutput struct{ *pulumi.OutputState }

func (GetBucketObjectCustomerEncryptionArrayOutput) ElementType

func (GetBucketObjectCustomerEncryptionArrayOutput) Index

func (GetBucketObjectCustomerEncryptionArrayOutput) ToGetBucketObjectCustomerEncryptionArrayOutput

func (o GetBucketObjectCustomerEncryptionArrayOutput) ToGetBucketObjectCustomerEncryptionArrayOutput() GetBucketObjectCustomerEncryptionArrayOutput

func (GetBucketObjectCustomerEncryptionArrayOutput) ToGetBucketObjectCustomerEncryptionArrayOutputWithContext

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

func (GetBucketObjectCustomerEncryptionArrayOutput) ToOutput added in v6.65.1

type GetBucketObjectCustomerEncryptionInput

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

type GetBucketObjectCustomerEncryptionOutput struct{ *pulumi.OutputState }

func (GetBucketObjectCustomerEncryptionOutput) ElementType

func (GetBucketObjectCustomerEncryptionOutput) EncryptionAlgorithm

func (GetBucketObjectCustomerEncryptionOutput) EncryptionKey

func (GetBucketObjectCustomerEncryptionOutput) ToGetBucketObjectCustomerEncryptionOutput

func (o GetBucketObjectCustomerEncryptionOutput) ToGetBucketObjectCustomerEncryptionOutput() GetBucketObjectCustomerEncryptionOutput

func (GetBucketObjectCustomerEncryptionOutput) ToGetBucketObjectCustomerEncryptionOutputWithContext

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

func (GetBucketObjectCustomerEncryptionOutput) ToOutput added in v6.65.1

type GetBucketRetentionPolicy

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

type GetBucketRetentionPolicyArgs

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

func (GetBucketRetentionPolicyArgs) ElementType

func (GetBucketRetentionPolicyArgs) ToGetBucketRetentionPolicyOutput

func (i GetBucketRetentionPolicyArgs) ToGetBucketRetentionPolicyOutput() GetBucketRetentionPolicyOutput

func (GetBucketRetentionPolicyArgs) ToGetBucketRetentionPolicyOutputWithContext

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

func (GetBucketRetentionPolicyArgs) ToOutput added in v6.65.1

type GetBucketRetentionPolicyArray

type GetBucketRetentionPolicyArray []GetBucketRetentionPolicyInput

func (GetBucketRetentionPolicyArray) ElementType

func (GetBucketRetentionPolicyArray) ToGetBucketRetentionPolicyArrayOutput

func (i GetBucketRetentionPolicyArray) ToGetBucketRetentionPolicyArrayOutput() GetBucketRetentionPolicyArrayOutput

func (GetBucketRetentionPolicyArray) ToGetBucketRetentionPolicyArrayOutputWithContext

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

func (GetBucketRetentionPolicyArray) ToOutput added in v6.65.1

type GetBucketRetentionPolicyArrayInput

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

type GetBucketRetentionPolicyArrayOutput struct{ *pulumi.OutputState }

func (GetBucketRetentionPolicyArrayOutput) ElementType

func (GetBucketRetentionPolicyArrayOutput) Index

func (GetBucketRetentionPolicyArrayOutput) ToGetBucketRetentionPolicyArrayOutput

func (o GetBucketRetentionPolicyArrayOutput) ToGetBucketRetentionPolicyArrayOutput() GetBucketRetentionPolicyArrayOutput

func (GetBucketRetentionPolicyArrayOutput) ToGetBucketRetentionPolicyArrayOutputWithContext

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

func (GetBucketRetentionPolicyArrayOutput) ToOutput added in v6.65.1

type GetBucketRetentionPolicyInput

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

type GetBucketRetentionPolicyOutput struct{ *pulumi.OutputState }

func (GetBucketRetentionPolicyOutput) ElementType

func (GetBucketRetentionPolicyOutput) IsLocked

func (GetBucketRetentionPolicyOutput) RetentionPeriod

func (o GetBucketRetentionPolicyOutput) RetentionPeriod() pulumi.IntOutput

func (GetBucketRetentionPolicyOutput) ToGetBucketRetentionPolicyOutput

func (o GetBucketRetentionPolicyOutput) ToGetBucketRetentionPolicyOutput() GetBucketRetentionPolicyOutput

func (GetBucketRetentionPolicyOutput) ToGetBucketRetentionPolicyOutputWithContext

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

func (GetBucketRetentionPolicyOutput) ToOutput added in v6.65.1

type GetBucketVersioning

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

type GetBucketVersioningArgs

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

func (GetBucketVersioningArgs) ElementType

func (GetBucketVersioningArgs) ElementType() reflect.Type

func (GetBucketVersioningArgs) ToGetBucketVersioningOutput

func (i GetBucketVersioningArgs) ToGetBucketVersioningOutput() GetBucketVersioningOutput

func (GetBucketVersioningArgs) ToGetBucketVersioningOutputWithContext

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

func (GetBucketVersioningArgs) ToOutput added in v6.65.1

type GetBucketVersioningArray

type GetBucketVersioningArray []GetBucketVersioningInput

func (GetBucketVersioningArray) ElementType

func (GetBucketVersioningArray) ElementType() reflect.Type

func (GetBucketVersioningArray) ToGetBucketVersioningArrayOutput

func (i GetBucketVersioningArray) ToGetBucketVersioningArrayOutput() GetBucketVersioningArrayOutput

func (GetBucketVersioningArray) ToGetBucketVersioningArrayOutputWithContext

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

func (GetBucketVersioningArray) ToOutput added in v6.65.1

type GetBucketVersioningArrayInput

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

type GetBucketVersioningArrayOutput struct{ *pulumi.OutputState }

func (GetBucketVersioningArrayOutput) ElementType

func (GetBucketVersioningArrayOutput) Index

func (GetBucketVersioningArrayOutput) ToGetBucketVersioningArrayOutput

func (o GetBucketVersioningArrayOutput) ToGetBucketVersioningArrayOutput() GetBucketVersioningArrayOutput

func (GetBucketVersioningArrayOutput) ToGetBucketVersioningArrayOutputWithContext

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

func (GetBucketVersioningArrayOutput) ToOutput added in v6.65.1

type GetBucketVersioningInput

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

type GetBucketVersioningOutput struct{ *pulumi.OutputState }

func (GetBucketVersioningOutput) ElementType

func (GetBucketVersioningOutput) ElementType() reflect.Type

func (GetBucketVersioningOutput) Enabled

func (GetBucketVersioningOutput) ToGetBucketVersioningOutput

func (o GetBucketVersioningOutput) ToGetBucketVersioningOutput() GetBucketVersioningOutput

func (GetBucketVersioningOutput) ToGetBucketVersioningOutputWithContext

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

func (GetBucketVersioningOutput) ToOutput added in v6.65.1

type GetBucketWebsite

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

type GetBucketWebsiteArgs

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

func (GetBucketWebsiteArgs) ElementType

func (GetBucketWebsiteArgs) ElementType() reflect.Type

func (GetBucketWebsiteArgs) ToGetBucketWebsiteOutput

func (i GetBucketWebsiteArgs) ToGetBucketWebsiteOutput() GetBucketWebsiteOutput

func (GetBucketWebsiteArgs) ToGetBucketWebsiteOutputWithContext

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

func (GetBucketWebsiteArgs) ToOutput added in v6.65.1

type GetBucketWebsiteArray

type GetBucketWebsiteArray []GetBucketWebsiteInput

func (GetBucketWebsiteArray) ElementType

func (GetBucketWebsiteArray) ElementType() reflect.Type

func (GetBucketWebsiteArray) ToGetBucketWebsiteArrayOutput

func (i GetBucketWebsiteArray) ToGetBucketWebsiteArrayOutput() GetBucketWebsiteArrayOutput

func (GetBucketWebsiteArray) ToGetBucketWebsiteArrayOutputWithContext

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

func (GetBucketWebsiteArray) ToOutput added in v6.65.1

type GetBucketWebsiteArrayInput

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

type GetBucketWebsiteArrayOutput struct{ *pulumi.OutputState }

func (GetBucketWebsiteArrayOutput) ElementType

func (GetBucketWebsiteArrayOutput) Index

func (GetBucketWebsiteArrayOutput) ToGetBucketWebsiteArrayOutput

func (o GetBucketWebsiteArrayOutput) ToGetBucketWebsiteArrayOutput() GetBucketWebsiteArrayOutput

func (GetBucketWebsiteArrayOutput) ToGetBucketWebsiteArrayOutputWithContext

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

func (GetBucketWebsiteArrayOutput) ToOutput added in v6.65.1

type GetBucketWebsiteInput

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

type GetBucketWebsiteOutput struct{ *pulumi.OutputState }

func (GetBucketWebsiteOutput) ElementType

func (GetBucketWebsiteOutput) ElementType() reflect.Type

func (GetBucketWebsiteOutput) MainPageSuffix

func (o GetBucketWebsiteOutput) MainPageSuffix() pulumi.StringOutput

func (GetBucketWebsiteOutput) NotFoundPage

func (o GetBucketWebsiteOutput) NotFoundPage() pulumi.StringOutput

func (GetBucketWebsiteOutput) ToGetBucketWebsiteOutput

func (o GetBucketWebsiteOutput) ToGetBucketWebsiteOutput() GetBucketWebsiteOutput

func (GetBucketWebsiteOutput) ToGetBucketWebsiteOutputWithContext

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

func (GetBucketWebsiteOutput) ToOutput added in v6.65.1

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.
	//
	// > **NOTE** the default google credentials configured by `gcloud` sdk or the service account associated with a compute instance cannot be used, because these do not include the private key required to sign the URL. A valid `json` service account credentials key file must be used, as generated via Google cloud console.
	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

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.
	//
	// > **NOTE** the default google credentials configured by `gcloud` sdk or the service account associated with a compute instance cannot be used, because these do not include the private key required to sign the URL. A valid `json` service account credentials key file must be used, as generated via Google cloud console.
	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

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/v6/go/gcp/compute"
"github.com/pulumi/pulumi-gcp/sdk/v6/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 (

"os"

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

)

func readFileOrPanic(path string) pulumi.StringPtrInput {
	data, err := os.ReadFile(path)
	if err != nil {
		panic(err.Error())
	}
	return pulumi.String(string(data))
}

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

```

type GetObjectSignedUrlResultOutput

type GetObjectSignedUrlResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getObjectSignedUrl.

func (GetObjectSignedUrlResultOutput) Bucket

func (GetObjectSignedUrlResultOutput) ContentMd5

func (GetObjectSignedUrlResultOutput) ContentType

func (GetObjectSignedUrlResultOutput) Credentials

func (GetObjectSignedUrlResultOutput) Duration

func (GetObjectSignedUrlResultOutput) ElementType

func (GetObjectSignedUrlResultOutput) ExtensionHeaders

func (GetObjectSignedUrlResultOutput) HttpMethod

func (GetObjectSignedUrlResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetObjectSignedUrlResultOutput) Path

func (GetObjectSignedUrlResultOutput) SignedUrl

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

func (GetObjectSignedUrlResultOutput) ToGetObjectSignedUrlResultOutput

func (o GetObjectSignedUrlResultOutput) ToGetObjectSignedUrlResultOutput() GetObjectSignedUrlResultOutput

func (GetObjectSignedUrlResultOutput) ToGetObjectSignedUrlResultOutputWithContext

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

func (GetObjectSignedUrlResultOutput) ToOutput added in v6.65.1

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

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

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"`
	// The Identity of the service account in the form `serviceAccount:{email_address}`. This value is often used to refer to the service account in order to grant IAM permissions.
	Member      string  `pulumi:"member"`
	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/v6/go/gcp/pubsub"
"github.com/pulumi/pulumi-gcp/sdk/v6/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("serviceAccount:%v", gcsAccount.EmailAddress)),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Cloud KMS Keys

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/kms"
"github.com/pulumi/pulumi-gcp/sdk/v6/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("serviceAccount:%v", gcsAccount.EmailAddress)),
			},
		})
		if err != nil {
			return err
		}
		_, err = storage.NewBucket(ctx, "bucket", &storage.BucketArgs{
			Location: pulumi.String("US"),
			Encryption: &storage.BucketEncryptionArgs{
				DefaultKmsKeyName: pulumi.String("your-crypto-key-id"),
			},
		}, pulumi.DependsOn([]pulumi.Resource{
			binding,
		}))
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetProjectServiceAccountResultOutput

type GetProjectServiceAccountResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getProjectServiceAccount.

func (GetProjectServiceAccountResultOutput) ElementType

func (GetProjectServiceAccountResultOutput) EmailAddress

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

The provider-assigned unique ID for this managed resource.

func (GetProjectServiceAccountResultOutput) Member added in v6.42.0

The Identity of the service account in the form `serviceAccount:{email_address}`. This value is often used to refer to the service account in order to grant IAM permissions.

func (GetProjectServiceAccountResultOutput) Project

func (GetProjectServiceAccountResultOutput) ToGetProjectServiceAccountResultOutput

func (o GetProjectServiceAccountResultOutput) ToGetProjectServiceAccountResultOutput() GetProjectServiceAccountResultOutput

func (GetProjectServiceAccountResultOutput) ToGetProjectServiceAccountResultOutputWithContext

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

func (GetProjectServiceAccountResultOutput) ToOutput added in v6.65.1

func (GetProjectServiceAccountResultOutput) UserProject

type GetTransferProjectServiceAccountArgs added in v6.55.1

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

A collection of arguments for invoking getTransferProjectServiceAccount.

type GetTransferProjectServiceAccountOutputArgs added in v6.55.1

type GetTransferProjectServiceAccountOutputArgs 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 getTransferProjectServiceAccount.

func (GetTransferProjectServiceAccountOutputArgs) ElementType added in v6.55.1

type GetTransferProjectServiceAccountResult added in v6.55.1

type GetTransferProjectServiceAccountResult 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"`
	// The Identity of the service account in the form `serviceAccount:{email}`. This value is often used to refer to the service account in order to grant IAM permissions.
	Member  string `pulumi:"member"`
	Project string `pulumi:"project"`
	// Unique identifier for the service account.
	SubjectId string `pulumi:"subjectId"`
}

A collection of values returned by getTransferProjectServiceAccount.

func GetTransferProjectServiceAccount added in v6.55.1

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/v6/go/gcp/storage"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

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

```

type GetTransferProjectServiceAccountResultOutput added in v6.55.1

type GetTransferProjectServiceAccountResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getTransferProjectServiceAccount.

func (GetTransferProjectServiceAccountResultOutput) ElementType added in v6.55.1

func (GetTransferProjectServiceAccountResultOutput) Email added in v6.55.1

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

func (GetTransferProjectServiceAccountResultOutput) Id added in v6.55.1

The provider-assigned unique ID for this managed resource.

func (GetTransferProjectServiceAccountResultOutput) Member added in v6.55.1

The Identity of the service account in the form `serviceAccount:{email}`. This value is often used to refer to the service account in order to grant IAM permissions.

func (GetTransferProjectServiceAccountResultOutput) Project added in v6.55.1

func (GetTransferProjectServiceAccountResultOutput) SubjectId added in v6.55.1

Unique identifier for the service account.

func (GetTransferProjectServiceAccountResultOutput) ToGetTransferProjectServiceAccountResultOutput added in v6.55.1

func (o GetTransferProjectServiceAccountResultOutput) ToGetTransferProjectServiceAccountResultOutput() GetTransferProjectServiceAccountResultOutput

func (GetTransferProjectServiceAccountResultOutput) ToGetTransferProjectServiceAccountResultOutputWithContext added in v6.55.1

func (o GetTransferProjectServiceAccountResultOutput) ToGetTransferProjectServiceAccountResultOutputWithContext(ctx context.Context) GetTransferProjectServiceAccountResultOutput

func (GetTransferProjectServiceAccountResultOutput) ToOutput added in v6.65.1

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

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

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"`
	// The Identity of the service account in the form `serviceAccount:{email}`. This value is often used to refer to the service account in order to grant IAM permissions.
	Member  string `pulumi:"member"`
	Project string `pulumi:"project"`
	// Unique identifier for the service account.
	SubjectId string `pulumi:"subjectId"`
}

A collection of values returned by getTransferProjectServieAccount.

func GetTransferProjectServieAccount deprecated

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/v6/go/gcp/storage"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

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

```

Deprecated: gcp.storage.getTransferProjectServieAccount has been deprecated in favor of gcp.storage.getTransferProjectServiceAccount

type GetTransferProjectServieAccountResultOutput

type GetTransferProjectServieAccountResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getTransferProjectServieAccount.

func (GetTransferProjectServieAccountResultOutput) ElementType

func (GetTransferProjectServieAccountResultOutput) Email

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

func (GetTransferProjectServieAccountResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetTransferProjectServieAccountResultOutput) Member added in v6.42.0

The Identity of the service account in the form `serviceAccount:{email}`. This value is often used to refer to the service account in order to grant IAM permissions.

func (GetTransferProjectServieAccountResultOutput) Project

func (GetTransferProjectServieAccountResultOutput) SubjectId added in v6.15.1

Unique identifier for the service account.

func (GetTransferProjectServieAccountResultOutput) ToGetTransferProjectServieAccountResultOutput

func (o GetTransferProjectServieAccountResultOutput) ToGetTransferProjectServieAccountResultOutput() GetTransferProjectServieAccountResultOutput

func (GetTransferProjectServieAccountResultOutput) ToGetTransferProjectServieAccountResultOutputWithContext

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

func (GetTransferProjectServieAccountResultOutput) ToOutput added in v6.65.1

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.
	// **Note**: This property is sensitive and will not be displayed in the plan.
	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`, `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. On import, the `secret` value will not be retrieved.

> **Warning:** All arguments including `secret` will be stored in the raw state as plain-text.

## Example Usage ### Storage Hmac Key

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/serviceAccount"
"github.com/pulumi/pulumi-gcp/sdk/v6/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) ToOutput added in v6.65.1

func (i *HmacKey) ToOutput(ctx context.Context) pulumix.Output[*HmacKey]

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`, `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

func (HmacKeyArray) ToOutput added in v6.65.1

func (i HmacKeyArray) ToOutput(ctx context.Context) pulumix.Output[[]*HmacKey]

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

func (HmacKeyArrayOutput) ToOutput added in v6.65.1

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

func (HmacKeyMap) ToOutput added in v6.65.1

func (i HmacKeyMap) ToOutput(ctx context.Context) pulumix.Output[map[string]*HmacKey]

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

func (HmacKeyMapOutput) ToOutput added in v6.65.1

type HmacKeyOutput

type HmacKeyOutput struct{ *pulumi.OutputState }

func (HmacKeyOutput) AccessId added in v6.23.0

func (o HmacKeyOutput) AccessId() pulumi.StringOutput

The access ID of the HMAC Key.

func (HmacKeyOutput) ElementType

func (HmacKeyOutput) ElementType() reflect.Type

func (HmacKeyOutput) Project added in v6.23.0

func (o HmacKeyOutput) Project() pulumi.StringOutput

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

func (HmacKeyOutput) Secret added in v6.23.0

func (o HmacKeyOutput) Secret() pulumi.StringOutput

HMAC secret key material. **Note**: This property is sensitive and will not be displayed in the plan.

func (HmacKeyOutput) ServiceAccountEmail added in v6.23.0

func (o HmacKeyOutput) ServiceAccountEmail() pulumi.StringOutput

The email address of the key's associated service account.

***

func (HmacKeyOutput) State added in v6.23.0

The state of the key. Can be set to one of ACTIVE, INACTIVE. Default value is `ACTIVE`. Possible values are: `ACTIVE`, `INACTIVE`.

func (HmacKeyOutput) TimeCreated added in v6.23.0

func (o HmacKeyOutput) TimeCreated() pulumi.StringOutput

'The creation time of the HMAC key in RFC 3339 format. '

func (HmacKeyOutput) ToHmacKeyOutput

func (o HmacKeyOutput) ToHmacKeyOutput() HmacKeyOutput

func (HmacKeyOutput) ToHmacKeyOutputWithContext

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

func (HmacKeyOutput) ToOutput added in v6.65.1

func (o HmacKeyOutput) ToOutput(ctx context.Context) pulumix.Output[*HmacKey]

func (HmacKeyOutput) Updated added in v6.23.0

func (o HmacKeyOutput) Updated() pulumi.StringOutput

'The last modification time of the HMAC key metadata in RFC 3339 format.'

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.
	// **Note**: This property is sensitive and will not be displayed in the plan.
	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`, `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 InsightsReportConfig added in v6.67.0

type InsightsReportConfig struct {
	pulumi.CustomResourceState

	// Options for configuring the format of the inventory report CSV file.
	// Structure is documented below.
	CsvOptions InsightsReportConfigCsvOptionsOutput `pulumi:"csvOptions"`
	// The editable display name of the inventory report configuration. Has a limit of 256 characters. Can be empty.
	DisplayName pulumi.StringPtrOutput `pulumi:"displayName"`
	// Options for configuring how inventory reports are generated.
	// Structure is documented below.
	FrequencyOptions InsightsReportConfigFrequencyOptionsPtrOutput `pulumi:"frequencyOptions"`
	// The location of the ReportConfig. The source and destination buckets specified in the ReportConfig
	// must be in the same location.
	Location pulumi.StringOutput `pulumi:"location"`
	// The UUID of the inventory report configuration.
	Name pulumi.StringOutput `pulumi:"name"`
	// Options for including metadata in an inventory report.
	// Structure is documented below.
	ObjectMetadataReportOptions InsightsReportConfigObjectMetadataReportOptionsPtrOutput `pulumi:"objectMetadataReportOptions"`
	// 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"`
}

Represents an inventory report configuration.

To get more information about ReportConfig, see:

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

## Example Usage ### Storage Insights Report Config

```go package main

import (

"fmt"

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		project, err := organizations.LookupProject(ctx, nil, nil)
		if err != nil {
			return err
		}
		reportBucket, err := storage.NewBucket(ctx, "reportBucket", &storage.BucketArgs{
			Location:                 pulumi.String("us-central1"),
			ForceDestroy:             pulumi.Bool(true),
			UniformBucketLevelAccess: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		_, err = storage.NewInsightsReportConfig(ctx, "config", &storage.InsightsReportConfigArgs{
			DisplayName: pulumi.String("Test Report Config"),
			Location:    pulumi.String("us-central1"),
			FrequencyOptions: &storage.InsightsReportConfigFrequencyOptionsArgs{
				Frequency: pulumi.String("WEEKLY"),
				StartDate: &storage.InsightsReportConfigFrequencyOptionsStartDateArgs{
					Day:   pulumi.Int(15),
					Month: pulumi.Int(3),
					Year:  pulumi.Int(2050),
				},
				EndDate: &storage.InsightsReportConfigFrequencyOptionsEndDateArgs{
					Day:   pulumi.Int(15),
					Month: pulumi.Int(4),
					Year:  pulumi.Int(2050),
				},
			},
			CsvOptions: &storage.InsightsReportConfigCsvOptionsArgs{
				RecordSeparator: pulumi.String("\n"),
				Delimiter:       pulumi.String(","),
				HeaderRequired:  pulumi.Bool(false),
			},
			ObjectMetadataReportOptions: &storage.InsightsReportConfigObjectMetadataReportOptionsArgs{
				MetadataFields: pulumi.StringArray{
					pulumi.String("bucket"),
					pulumi.String("name"),
					pulumi.String("project"),
				},
				StorageFilters: &storage.InsightsReportConfigObjectMetadataReportOptionsStorageFiltersArgs{
					Bucket: reportBucket.Name,
				},
				StorageDestinationOptions: &storage.InsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsArgs{
					Bucket:          reportBucket.Name,
					DestinationPath: pulumi.String("test-insights-reports"),
				},
			},
		})
		if err != nil {
			return err
		}
		_, err = storage.NewBucketIAMMember(ctx, "admin", &storage.BucketIAMMemberArgs{
			Bucket: reportBucket.Name,
			Role:   pulumi.String("roles/storage.admin"),
			Member: pulumi.String(fmt.Sprintf("serviceAccount:service-%v@gcp-sa-storageinsights.iam.gserviceaccount.com", project.Number)),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

ReportConfig can be imported using any of these accepted formats

```sh

$ pulumi import gcp:storage/insightsReportConfig:InsightsReportConfig default projects/{{project}}/locations/{{location}}/reportConfigs/{{name}}

```

```sh

$ pulumi import gcp:storage/insightsReportConfig:InsightsReportConfig default {{project}}/{{location}}/{{name}}

```

```sh

$ pulumi import gcp:storage/insightsReportConfig:InsightsReportConfig default {{location}}/{{name}}

```

func GetInsightsReportConfig added in v6.67.0

func GetInsightsReportConfig(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *InsightsReportConfigState, opts ...pulumi.ResourceOption) (*InsightsReportConfig, error)

GetInsightsReportConfig gets an existing InsightsReportConfig 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 NewInsightsReportConfig added in v6.67.0

func NewInsightsReportConfig(ctx *pulumi.Context,
	name string, args *InsightsReportConfigArgs, opts ...pulumi.ResourceOption) (*InsightsReportConfig, error)

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

func (*InsightsReportConfig) ElementType added in v6.67.0

func (*InsightsReportConfig) ElementType() reflect.Type

func (*InsightsReportConfig) ToInsightsReportConfigOutput added in v6.67.0

func (i *InsightsReportConfig) ToInsightsReportConfigOutput() InsightsReportConfigOutput

func (*InsightsReportConfig) ToInsightsReportConfigOutputWithContext added in v6.67.0

func (i *InsightsReportConfig) ToInsightsReportConfigOutputWithContext(ctx context.Context) InsightsReportConfigOutput

func (*InsightsReportConfig) ToOutput added in v6.67.0

type InsightsReportConfigArgs added in v6.67.0

type InsightsReportConfigArgs struct {
	// Options for configuring the format of the inventory report CSV file.
	// Structure is documented below.
	CsvOptions InsightsReportConfigCsvOptionsInput
	// The editable display name of the inventory report configuration. Has a limit of 256 characters. Can be empty.
	DisplayName pulumi.StringPtrInput
	// Options for configuring how inventory reports are generated.
	// Structure is documented below.
	FrequencyOptions InsightsReportConfigFrequencyOptionsPtrInput
	// The location of the ReportConfig. The source and destination buckets specified in the ReportConfig
	// must be in the same location.
	Location pulumi.StringInput
	// Options for including metadata in an inventory report.
	// Structure is documented below.
	ObjectMetadataReportOptions InsightsReportConfigObjectMetadataReportOptionsPtrInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project pulumi.StringPtrInput
}

The set of arguments for constructing a InsightsReportConfig resource.

func (InsightsReportConfigArgs) ElementType added in v6.67.0

func (InsightsReportConfigArgs) ElementType() reflect.Type

type InsightsReportConfigArray added in v6.67.0

type InsightsReportConfigArray []InsightsReportConfigInput

func (InsightsReportConfigArray) ElementType added in v6.67.0

func (InsightsReportConfigArray) ElementType() reflect.Type

func (InsightsReportConfigArray) ToInsightsReportConfigArrayOutput added in v6.67.0

func (i InsightsReportConfigArray) ToInsightsReportConfigArrayOutput() InsightsReportConfigArrayOutput

func (InsightsReportConfigArray) ToInsightsReportConfigArrayOutputWithContext added in v6.67.0

func (i InsightsReportConfigArray) ToInsightsReportConfigArrayOutputWithContext(ctx context.Context) InsightsReportConfigArrayOutput

func (InsightsReportConfigArray) ToOutput added in v6.67.0

type InsightsReportConfigArrayInput added in v6.67.0

type InsightsReportConfigArrayInput interface {
	pulumi.Input

	ToInsightsReportConfigArrayOutput() InsightsReportConfigArrayOutput
	ToInsightsReportConfigArrayOutputWithContext(context.Context) InsightsReportConfigArrayOutput
}

InsightsReportConfigArrayInput is an input type that accepts InsightsReportConfigArray and InsightsReportConfigArrayOutput values. You can construct a concrete instance of `InsightsReportConfigArrayInput` via:

InsightsReportConfigArray{ InsightsReportConfigArgs{...} }

type InsightsReportConfigArrayOutput added in v6.67.0

type InsightsReportConfigArrayOutput struct{ *pulumi.OutputState }

func (InsightsReportConfigArrayOutput) ElementType added in v6.67.0

func (InsightsReportConfigArrayOutput) Index added in v6.67.0

func (InsightsReportConfigArrayOutput) ToInsightsReportConfigArrayOutput added in v6.67.0

func (o InsightsReportConfigArrayOutput) ToInsightsReportConfigArrayOutput() InsightsReportConfigArrayOutput

func (InsightsReportConfigArrayOutput) ToInsightsReportConfigArrayOutputWithContext added in v6.67.0

func (o InsightsReportConfigArrayOutput) ToInsightsReportConfigArrayOutputWithContext(ctx context.Context) InsightsReportConfigArrayOutput

func (InsightsReportConfigArrayOutput) ToOutput added in v6.67.0

type InsightsReportConfigCsvOptions added in v6.67.0

type InsightsReportConfigCsvOptions struct {
	// The delimiter used to separate the fields in the inventory report CSV file.
	Delimiter *string `pulumi:"delimiter"`
	// The boolean that indicates whether or not headers are included in the inventory report CSV file.
	//
	// ***
	HeaderRequired *bool `pulumi:"headerRequired"`
	// The character used to separate the records in the inventory report CSV file.
	RecordSeparator *string `pulumi:"recordSeparator"`
}

type InsightsReportConfigCsvOptionsArgs added in v6.67.0

type InsightsReportConfigCsvOptionsArgs struct {
	// The delimiter used to separate the fields in the inventory report CSV file.
	Delimiter pulumi.StringPtrInput `pulumi:"delimiter"`
	// The boolean that indicates whether or not headers are included in the inventory report CSV file.
	//
	// ***
	HeaderRequired pulumi.BoolPtrInput `pulumi:"headerRequired"`
	// The character used to separate the records in the inventory report CSV file.
	RecordSeparator pulumi.StringPtrInput `pulumi:"recordSeparator"`
}

func (InsightsReportConfigCsvOptionsArgs) ElementType added in v6.67.0

func (InsightsReportConfigCsvOptionsArgs) ToInsightsReportConfigCsvOptionsOutput added in v6.67.0

func (i InsightsReportConfigCsvOptionsArgs) ToInsightsReportConfigCsvOptionsOutput() InsightsReportConfigCsvOptionsOutput

func (InsightsReportConfigCsvOptionsArgs) ToInsightsReportConfigCsvOptionsOutputWithContext added in v6.67.0

func (i InsightsReportConfigCsvOptionsArgs) ToInsightsReportConfigCsvOptionsOutputWithContext(ctx context.Context) InsightsReportConfigCsvOptionsOutput

func (InsightsReportConfigCsvOptionsArgs) ToInsightsReportConfigCsvOptionsPtrOutput added in v6.67.0

func (i InsightsReportConfigCsvOptionsArgs) ToInsightsReportConfigCsvOptionsPtrOutput() InsightsReportConfigCsvOptionsPtrOutput

func (InsightsReportConfigCsvOptionsArgs) ToInsightsReportConfigCsvOptionsPtrOutputWithContext added in v6.67.0

func (i InsightsReportConfigCsvOptionsArgs) ToInsightsReportConfigCsvOptionsPtrOutputWithContext(ctx context.Context) InsightsReportConfigCsvOptionsPtrOutput

func (InsightsReportConfigCsvOptionsArgs) ToOutput added in v6.67.0

type InsightsReportConfigCsvOptionsInput added in v6.67.0

type InsightsReportConfigCsvOptionsInput interface {
	pulumi.Input

	ToInsightsReportConfigCsvOptionsOutput() InsightsReportConfigCsvOptionsOutput
	ToInsightsReportConfigCsvOptionsOutputWithContext(context.Context) InsightsReportConfigCsvOptionsOutput
}

InsightsReportConfigCsvOptionsInput is an input type that accepts InsightsReportConfigCsvOptionsArgs and InsightsReportConfigCsvOptionsOutput values. You can construct a concrete instance of `InsightsReportConfigCsvOptionsInput` via:

InsightsReportConfigCsvOptionsArgs{...}

type InsightsReportConfigCsvOptionsOutput added in v6.67.0

type InsightsReportConfigCsvOptionsOutput struct{ *pulumi.OutputState }

func (InsightsReportConfigCsvOptionsOutput) Delimiter added in v6.67.0

The delimiter used to separate the fields in the inventory report CSV file.

func (InsightsReportConfigCsvOptionsOutput) ElementType added in v6.67.0

func (InsightsReportConfigCsvOptionsOutput) HeaderRequired added in v6.67.0

The boolean that indicates whether or not headers are included in the inventory report CSV file.

***

func (InsightsReportConfigCsvOptionsOutput) RecordSeparator added in v6.67.0

The character used to separate the records in the inventory report CSV file.

func (InsightsReportConfigCsvOptionsOutput) ToInsightsReportConfigCsvOptionsOutput added in v6.67.0

func (o InsightsReportConfigCsvOptionsOutput) ToInsightsReportConfigCsvOptionsOutput() InsightsReportConfigCsvOptionsOutput

func (InsightsReportConfigCsvOptionsOutput) ToInsightsReportConfigCsvOptionsOutputWithContext added in v6.67.0

func (o InsightsReportConfigCsvOptionsOutput) ToInsightsReportConfigCsvOptionsOutputWithContext(ctx context.Context) InsightsReportConfigCsvOptionsOutput

func (InsightsReportConfigCsvOptionsOutput) ToInsightsReportConfigCsvOptionsPtrOutput added in v6.67.0

func (o InsightsReportConfigCsvOptionsOutput) ToInsightsReportConfigCsvOptionsPtrOutput() InsightsReportConfigCsvOptionsPtrOutput

func (InsightsReportConfigCsvOptionsOutput) ToInsightsReportConfigCsvOptionsPtrOutputWithContext added in v6.67.0

func (o InsightsReportConfigCsvOptionsOutput) ToInsightsReportConfigCsvOptionsPtrOutputWithContext(ctx context.Context) InsightsReportConfigCsvOptionsPtrOutput

func (InsightsReportConfigCsvOptionsOutput) ToOutput added in v6.67.0

type InsightsReportConfigCsvOptionsPtrInput added in v6.67.0

type InsightsReportConfigCsvOptionsPtrInput interface {
	pulumi.Input

	ToInsightsReportConfigCsvOptionsPtrOutput() InsightsReportConfigCsvOptionsPtrOutput
	ToInsightsReportConfigCsvOptionsPtrOutputWithContext(context.Context) InsightsReportConfigCsvOptionsPtrOutput
}

InsightsReportConfigCsvOptionsPtrInput is an input type that accepts InsightsReportConfigCsvOptionsArgs, InsightsReportConfigCsvOptionsPtr and InsightsReportConfigCsvOptionsPtrOutput values. You can construct a concrete instance of `InsightsReportConfigCsvOptionsPtrInput` via:

        InsightsReportConfigCsvOptionsArgs{...}

or:

        nil

type InsightsReportConfigCsvOptionsPtrOutput added in v6.67.0

type InsightsReportConfigCsvOptionsPtrOutput struct{ *pulumi.OutputState }

func (InsightsReportConfigCsvOptionsPtrOutput) Delimiter added in v6.67.0

The delimiter used to separate the fields in the inventory report CSV file.

func (InsightsReportConfigCsvOptionsPtrOutput) Elem added in v6.67.0

func (InsightsReportConfigCsvOptionsPtrOutput) ElementType added in v6.67.0

func (InsightsReportConfigCsvOptionsPtrOutput) HeaderRequired added in v6.67.0

The boolean that indicates whether or not headers are included in the inventory report CSV file.

***

func (InsightsReportConfigCsvOptionsPtrOutput) RecordSeparator added in v6.67.0

The character used to separate the records in the inventory report CSV file.

func (InsightsReportConfigCsvOptionsPtrOutput) ToInsightsReportConfigCsvOptionsPtrOutput added in v6.67.0

func (o InsightsReportConfigCsvOptionsPtrOutput) ToInsightsReportConfigCsvOptionsPtrOutput() InsightsReportConfigCsvOptionsPtrOutput

func (InsightsReportConfigCsvOptionsPtrOutput) ToInsightsReportConfigCsvOptionsPtrOutputWithContext added in v6.67.0

func (o InsightsReportConfigCsvOptionsPtrOutput) ToInsightsReportConfigCsvOptionsPtrOutputWithContext(ctx context.Context) InsightsReportConfigCsvOptionsPtrOutput

func (InsightsReportConfigCsvOptionsPtrOutput) ToOutput added in v6.67.0

type InsightsReportConfigFrequencyOptions added in v6.67.0

type InsightsReportConfigFrequencyOptions struct {
	// The date to stop generating inventory reports. For example, {"day": 15, "month": 9, "year": 2022}.
	// Structure is documented below.
	EndDate InsightsReportConfigFrequencyOptionsEndDate `pulumi:"endDate"`
	// The frequency in which inventory reports are generated. Values are DAILY or WEEKLY.
	// Possible values are: `DAILY`, `WEEKLY`.
	Frequency string `pulumi:"frequency"`
	// The date to start generating inventory reports. For example, {"day": 15, "month": 8, "year": 2022}.
	// Structure is documented below.
	StartDate InsightsReportConfigFrequencyOptionsStartDate `pulumi:"startDate"`
}

type InsightsReportConfigFrequencyOptionsArgs added in v6.67.0

type InsightsReportConfigFrequencyOptionsArgs struct {
	// The date to stop generating inventory reports. For example, {"day": 15, "month": 9, "year": 2022}.
	// Structure is documented below.
	EndDate InsightsReportConfigFrequencyOptionsEndDateInput `pulumi:"endDate"`
	// The frequency in which inventory reports are generated. Values are DAILY or WEEKLY.
	// Possible values are: `DAILY`, `WEEKLY`.
	Frequency pulumi.StringInput `pulumi:"frequency"`
	// The date to start generating inventory reports. For example, {"day": 15, "month": 8, "year": 2022}.
	// Structure is documented below.
	StartDate InsightsReportConfigFrequencyOptionsStartDateInput `pulumi:"startDate"`
}

func (InsightsReportConfigFrequencyOptionsArgs) ElementType added in v6.67.0

func (InsightsReportConfigFrequencyOptionsArgs) ToInsightsReportConfigFrequencyOptionsOutput added in v6.67.0

func (i InsightsReportConfigFrequencyOptionsArgs) ToInsightsReportConfigFrequencyOptionsOutput() InsightsReportConfigFrequencyOptionsOutput

func (InsightsReportConfigFrequencyOptionsArgs) ToInsightsReportConfigFrequencyOptionsOutputWithContext added in v6.67.0

func (i InsightsReportConfigFrequencyOptionsArgs) ToInsightsReportConfigFrequencyOptionsOutputWithContext(ctx context.Context) InsightsReportConfigFrequencyOptionsOutput

func (InsightsReportConfigFrequencyOptionsArgs) ToInsightsReportConfigFrequencyOptionsPtrOutput added in v6.67.0

func (i InsightsReportConfigFrequencyOptionsArgs) ToInsightsReportConfigFrequencyOptionsPtrOutput() InsightsReportConfigFrequencyOptionsPtrOutput

func (InsightsReportConfigFrequencyOptionsArgs) ToInsightsReportConfigFrequencyOptionsPtrOutputWithContext added in v6.67.0

func (i InsightsReportConfigFrequencyOptionsArgs) ToInsightsReportConfigFrequencyOptionsPtrOutputWithContext(ctx context.Context) InsightsReportConfigFrequencyOptionsPtrOutput

func (InsightsReportConfigFrequencyOptionsArgs) ToOutput added in v6.67.0

type InsightsReportConfigFrequencyOptionsEndDate added in v6.67.0

type InsightsReportConfigFrequencyOptionsEndDate struct {
	// The day of the month to stop generating inventory reports.
	Day int `pulumi:"day"`
	// The month to stop generating inventory reports.
	Month int `pulumi:"month"`
	// The year to stop generating inventory reports
	Year int `pulumi:"year"`
}

type InsightsReportConfigFrequencyOptionsEndDateArgs added in v6.67.0

type InsightsReportConfigFrequencyOptionsEndDateArgs struct {
	// The day of the month to stop generating inventory reports.
	Day pulumi.IntInput `pulumi:"day"`
	// The month to stop generating inventory reports.
	Month pulumi.IntInput `pulumi:"month"`
	// The year to stop generating inventory reports
	Year pulumi.IntInput `pulumi:"year"`
}

func (InsightsReportConfigFrequencyOptionsEndDateArgs) ElementType added in v6.67.0

func (InsightsReportConfigFrequencyOptionsEndDateArgs) ToInsightsReportConfigFrequencyOptionsEndDateOutput added in v6.67.0

func (i InsightsReportConfigFrequencyOptionsEndDateArgs) ToInsightsReportConfigFrequencyOptionsEndDateOutput() InsightsReportConfigFrequencyOptionsEndDateOutput

func (InsightsReportConfigFrequencyOptionsEndDateArgs) ToInsightsReportConfigFrequencyOptionsEndDateOutputWithContext added in v6.67.0

func (i InsightsReportConfigFrequencyOptionsEndDateArgs) ToInsightsReportConfigFrequencyOptionsEndDateOutputWithContext(ctx context.Context) InsightsReportConfigFrequencyOptionsEndDateOutput

func (InsightsReportConfigFrequencyOptionsEndDateArgs) ToInsightsReportConfigFrequencyOptionsEndDatePtrOutput added in v6.67.0

func (i InsightsReportConfigFrequencyOptionsEndDateArgs) ToInsightsReportConfigFrequencyOptionsEndDatePtrOutput() InsightsReportConfigFrequencyOptionsEndDatePtrOutput

func (InsightsReportConfigFrequencyOptionsEndDateArgs) ToInsightsReportConfigFrequencyOptionsEndDatePtrOutputWithContext added in v6.67.0

func (i InsightsReportConfigFrequencyOptionsEndDateArgs) ToInsightsReportConfigFrequencyOptionsEndDatePtrOutputWithContext(ctx context.Context) InsightsReportConfigFrequencyOptionsEndDatePtrOutput

func (InsightsReportConfigFrequencyOptionsEndDateArgs) ToOutput added in v6.67.0

type InsightsReportConfigFrequencyOptionsEndDateInput added in v6.67.0

type InsightsReportConfigFrequencyOptionsEndDateInput interface {
	pulumi.Input

	ToInsightsReportConfigFrequencyOptionsEndDateOutput() InsightsReportConfigFrequencyOptionsEndDateOutput
	ToInsightsReportConfigFrequencyOptionsEndDateOutputWithContext(context.Context) InsightsReportConfigFrequencyOptionsEndDateOutput
}

InsightsReportConfigFrequencyOptionsEndDateInput is an input type that accepts InsightsReportConfigFrequencyOptionsEndDateArgs and InsightsReportConfigFrequencyOptionsEndDateOutput values. You can construct a concrete instance of `InsightsReportConfigFrequencyOptionsEndDateInput` via:

InsightsReportConfigFrequencyOptionsEndDateArgs{...}

type InsightsReportConfigFrequencyOptionsEndDateOutput added in v6.67.0

type InsightsReportConfigFrequencyOptionsEndDateOutput struct{ *pulumi.OutputState }

func (InsightsReportConfigFrequencyOptionsEndDateOutput) Day added in v6.67.0

The day of the month to stop generating inventory reports.

func (InsightsReportConfigFrequencyOptionsEndDateOutput) ElementType added in v6.67.0

func (InsightsReportConfigFrequencyOptionsEndDateOutput) Month added in v6.67.0

The month to stop generating inventory reports.

func (InsightsReportConfigFrequencyOptionsEndDateOutput) ToInsightsReportConfigFrequencyOptionsEndDateOutput added in v6.67.0

func (o InsightsReportConfigFrequencyOptionsEndDateOutput) ToInsightsReportConfigFrequencyOptionsEndDateOutput() InsightsReportConfigFrequencyOptionsEndDateOutput

func (InsightsReportConfigFrequencyOptionsEndDateOutput) ToInsightsReportConfigFrequencyOptionsEndDateOutputWithContext added in v6.67.0

func (o InsightsReportConfigFrequencyOptionsEndDateOutput) ToInsightsReportConfigFrequencyOptionsEndDateOutputWithContext(ctx context.Context) InsightsReportConfigFrequencyOptionsEndDateOutput

func (InsightsReportConfigFrequencyOptionsEndDateOutput) ToInsightsReportConfigFrequencyOptionsEndDatePtrOutput added in v6.67.0

func (o InsightsReportConfigFrequencyOptionsEndDateOutput) ToInsightsReportConfigFrequencyOptionsEndDatePtrOutput() InsightsReportConfigFrequencyOptionsEndDatePtrOutput

func (InsightsReportConfigFrequencyOptionsEndDateOutput) ToInsightsReportConfigFrequencyOptionsEndDatePtrOutputWithContext added in v6.67.0

func (o InsightsReportConfigFrequencyOptionsEndDateOutput) ToInsightsReportConfigFrequencyOptionsEndDatePtrOutputWithContext(ctx context.Context) InsightsReportConfigFrequencyOptionsEndDatePtrOutput

func (InsightsReportConfigFrequencyOptionsEndDateOutput) ToOutput added in v6.67.0

func (InsightsReportConfigFrequencyOptionsEndDateOutput) Year added in v6.67.0

The year to stop generating inventory reports

type InsightsReportConfigFrequencyOptionsEndDatePtrInput added in v6.67.0

type InsightsReportConfigFrequencyOptionsEndDatePtrInput interface {
	pulumi.Input

	ToInsightsReportConfigFrequencyOptionsEndDatePtrOutput() InsightsReportConfigFrequencyOptionsEndDatePtrOutput
	ToInsightsReportConfigFrequencyOptionsEndDatePtrOutputWithContext(context.Context) InsightsReportConfigFrequencyOptionsEndDatePtrOutput
}

InsightsReportConfigFrequencyOptionsEndDatePtrInput is an input type that accepts InsightsReportConfigFrequencyOptionsEndDateArgs, InsightsReportConfigFrequencyOptionsEndDatePtr and InsightsReportConfigFrequencyOptionsEndDatePtrOutput values. You can construct a concrete instance of `InsightsReportConfigFrequencyOptionsEndDatePtrInput` via:

        InsightsReportConfigFrequencyOptionsEndDateArgs{...}

or:

        nil

type InsightsReportConfigFrequencyOptionsEndDatePtrOutput added in v6.67.0

type InsightsReportConfigFrequencyOptionsEndDatePtrOutput struct{ *pulumi.OutputState }

func (InsightsReportConfigFrequencyOptionsEndDatePtrOutput) Day added in v6.67.0

The day of the month to stop generating inventory reports.

func (InsightsReportConfigFrequencyOptionsEndDatePtrOutput) Elem added in v6.67.0

func (InsightsReportConfigFrequencyOptionsEndDatePtrOutput) ElementType added in v6.67.0

func (InsightsReportConfigFrequencyOptionsEndDatePtrOutput) Month added in v6.67.0

The month to stop generating inventory reports.

func (InsightsReportConfigFrequencyOptionsEndDatePtrOutput) ToInsightsReportConfigFrequencyOptionsEndDatePtrOutput added in v6.67.0

func (InsightsReportConfigFrequencyOptionsEndDatePtrOutput) ToInsightsReportConfigFrequencyOptionsEndDatePtrOutputWithContext added in v6.67.0

func (o InsightsReportConfigFrequencyOptionsEndDatePtrOutput) ToInsightsReportConfigFrequencyOptionsEndDatePtrOutputWithContext(ctx context.Context) InsightsReportConfigFrequencyOptionsEndDatePtrOutput

func (InsightsReportConfigFrequencyOptionsEndDatePtrOutput) ToOutput added in v6.67.0

func (InsightsReportConfigFrequencyOptionsEndDatePtrOutput) Year added in v6.67.0

The year to stop generating inventory reports

type InsightsReportConfigFrequencyOptionsInput added in v6.67.0

type InsightsReportConfigFrequencyOptionsInput interface {
	pulumi.Input

	ToInsightsReportConfigFrequencyOptionsOutput() InsightsReportConfigFrequencyOptionsOutput
	ToInsightsReportConfigFrequencyOptionsOutputWithContext(context.Context) InsightsReportConfigFrequencyOptionsOutput
}

InsightsReportConfigFrequencyOptionsInput is an input type that accepts InsightsReportConfigFrequencyOptionsArgs and InsightsReportConfigFrequencyOptionsOutput values. You can construct a concrete instance of `InsightsReportConfigFrequencyOptionsInput` via:

InsightsReportConfigFrequencyOptionsArgs{...}

type InsightsReportConfigFrequencyOptionsOutput added in v6.67.0

type InsightsReportConfigFrequencyOptionsOutput struct{ *pulumi.OutputState }

func (InsightsReportConfigFrequencyOptionsOutput) ElementType added in v6.67.0

func (InsightsReportConfigFrequencyOptionsOutput) EndDate added in v6.67.0

The date to stop generating inventory reports. For example, {"day": 15, "month": 9, "year": 2022}. Structure is documented below.

func (InsightsReportConfigFrequencyOptionsOutput) Frequency added in v6.67.0

The frequency in which inventory reports are generated. Values are DAILY or WEEKLY. Possible values are: `DAILY`, `WEEKLY`.

func (InsightsReportConfigFrequencyOptionsOutput) StartDate added in v6.67.0

The date to start generating inventory reports. For example, {"day": 15, "month": 8, "year": 2022}. Structure is documented below.

func (InsightsReportConfigFrequencyOptionsOutput) ToInsightsReportConfigFrequencyOptionsOutput added in v6.67.0

func (o InsightsReportConfigFrequencyOptionsOutput) ToInsightsReportConfigFrequencyOptionsOutput() InsightsReportConfigFrequencyOptionsOutput

func (InsightsReportConfigFrequencyOptionsOutput) ToInsightsReportConfigFrequencyOptionsOutputWithContext added in v6.67.0

func (o InsightsReportConfigFrequencyOptionsOutput) ToInsightsReportConfigFrequencyOptionsOutputWithContext(ctx context.Context) InsightsReportConfigFrequencyOptionsOutput

func (InsightsReportConfigFrequencyOptionsOutput) ToInsightsReportConfigFrequencyOptionsPtrOutput added in v6.67.0

func (o InsightsReportConfigFrequencyOptionsOutput) ToInsightsReportConfigFrequencyOptionsPtrOutput() InsightsReportConfigFrequencyOptionsPtrOutput

func (InsightsReportConfigFrequencyOptionsOutput) ToInsightsReportConfigFrequencyOptionsPtrOutputWithContext added in v6.67.0

func (o InsightsReportConfigFrequencyOptionsOutput) ToInsightsReportConfigFrequencyOptionsPtrOutputWithContext(ctx context.Context) InsightsReportConfigFrequencyOptionsPtrOutput

func (InsightsReportConfigFrequencyOptionsOutput) ToOutput added in v6.67.0

type InsightsReportConfigFrequencyOptionsPtrInput added in v6.67.0

type InsightsReportConfigFrequencyOptionsPtrInput interface {
	pulumi.Input

	ToInsightsReportConfigFrequencyOptionsPtrOutput() InsightsReportConfigFrequencyOptionsPtrOutput
	ToInsightsReportConfigFrequencyOptionsPtrOutputWithContext(context.Context) InsightsReportConfigFrequencyOptionsPtrOutput
}

InsightsReportConfigFrequencyOptionsPtrInput is an input type that accepts InsightsReportConfigFrequencyOptionsArgs, InsightsReportConfigFrequencyOptionsPtr and InsightsReportConfigFrequencyOptionsPtrOutput values. You can construct a concrete instance of `InsightsReportConfigFrequencyOptionsPtrInput` via:

        InsightsReportConfigFrequencyOptionsArgs{...}

or:

        nil

type InsightsReportConfigFrequencyOptionsPtrOutput added in v6.67.0

type InsightsReportConfigFrequencyOptionsPtrOutput struct{ *pulumi.OutputState }

func (InsightsReportConfigFrequencyOptionsPtrOutput) Elem added in v6.67.0

func (InsightsReportConfigFrequencyOptionsPtrOutput) ElementType added in v6.67.0

func (InsightsReportConfigFrequencyOptionsPtrOutput) EndDate added in v6.67.0

The date to stop generating inventory reports. For example, {"day": 15, "month": 9, "year": 2022}. Structure is documented below.

func (InsightsReportConfigFrequencyOptionsPtrOutput) Frequency added in v6.67.0

The frequency in which inventory reports are generated. Values are DAILY or WEEKLY. Possible values are: `DAILY`, `WEEKLY`.

func (InsightsReportConfigFrequencyOptionsPtrOutput) StartDate added in v6.67.0

The date to start generating inventory reports. For example, {"day": 15, "month": 8, "year": 2022}. Structure is documented below.

func (InsightsReportConfigFrequencyOptionsPtrOutput) ToInsightsReportConfigFrequencyOptionsPtrOutput added in v6.67.0

func (o InsightsReportConfigFrequencyOptionsPtrOutput) ToInsightsReportConfigFrequencyOptionsPtrOutput() InsightsReportConfigFrequencyOptionsPtrOutput

func (InsightsReportConfigFrequencyOptionsPtrOutput) ToInsightsReportConfigFrequencyOptionsPtrOutputWithContext added in v6.67.0

func (o InsightsReportConfigFrequencyOptionsPtrOutput) ToInsightsReportConfigFrequencyOptionsPtrOutputWithContext(ctx context.Context) InsightsReportConfigFrequencyOptionsPtrOutput

func (InsightsReportConfigFrequencyOptionsPtrOutput) ToOutput added in v6.67.0

type InsightsReportConfigFrequencyOptionsStartDate added in v6.67.0

type InsightsReportConfigFrequencyOptionsStartDate struct {
	// The day of the month to start generating inventory reports.
	Day int `pulumi:"day"`
	// The month to start generating inventory reports.
	Month int `pulumi:"month"`
	// The year to start generating inventory reports
	Year int `pulumi:"year"`
}

type InsightsReportConfigFrequencyOptionsStartDateArgs added in v6.67.0

type InsightsReportConfigFrequencyOptionsStartDateArgs struct {
	// The day of the month to start generating inventory reports.
	Day pulumi.IntInput `pulumi:"day"`
	// The month to start generating inventory reports.
	Month pulumi.IntInput `pulumi:"month"`
	// The year to start generating inventory reports
	Year pulumi.IntInput `pulumi:"year"`
}

func (InsightsReportConfigFrequencyOptionsStartDateArgs) ElementType added in v6.67.0

func (InsightsReportConfigFrequencyOptionsStartDateArgs) ToInsightsReportConfigFrequencyOptionsStartDateOutput added in v6.67.0

func (i InsightsReportConfigFrequencyOptionsStartDateArgs) ToInsightsReportConfigFrequencyOptionsStartDateOutput() InsightsReportConfigFrequencyOptionsStartDateOutput

func (InsightsReportConfigFrequencyOptionsStartDateArgs) ToInsightsReportConfigFrequencyOptionsStartDateOutputWithContext added in v6.67.0

func (i InsightsReportConfigFrequencyOptionsStartDateArgs) ToInsightsReportConfigFrequencyOptionsStartDateOutputWithContext(ctx context.Context) InsightsReportConfigFrequencyOptionsStartDateOutput

func (InsightsReportConfigFrequencyOptionsStartDateArgs) ToInsightsReportConfigFrequencyOptionsStartDatePtrOutput added in v6.67.0

func (i InsightsReportConfigFrequencyOptionsStartDateArgs) ToInsightsReportConfigFrequencyOptionsStartDatePtrOutput() InsightsReportConfigFrequencyOptionsStartDatePtrOutput

func (InsightsReportConfigFrequencyOptionsStartDateArgs) ToInsightsReportConfigFrequencyOptionsStartDatePtrOutputWithContext added in v6.67.0

func (i InsightsReportConfigFrequencyOptionsStartDateArgs) ToInsightsReportConfigFrequencyOptionsStartDatePtrOutputWithContext(ctx context.Context) InsightsReportConfigFrequencyOptionsStartDatePtrOutput

func (InsightsReportConfigFrequencyOptionsStartDateArgs) ToOutput added in v6.67.0

type InsightsReportConfigFrequencyOptionsStartDateInput added in v6.67.0

type InsightsReportConfigFrequencyOptionsStartDateInput interface {
	pulumi.Input

	ToInsightsReportConfigFrequencyOptionsStartDateOutput() InsightsReportConfigFrequencyOptionsStartDateOutput
	ToInsightsReportConfigFrequencyOptionsStartDateOutputWithContext(context.Context) InsightsReportConfigFrequencyOptionsStartDateOutput
}

InsightsReportConfigFrequencyOptionsStartDateInput is an input type that accepts InsightsReportConfigFrequencyOptionsStartDateArgs and InsightsReportConfigFrequencyOptionsStartDateOutput values. You can construct a concrete instance of `InsightsReportConfigFrequencyOptionsStartDateInput` via:

InsightsReportConfigFrequencyOptionsStartDateArgs{...}

type InsightsReportConfigFrequencyOptionsStartDateOutput added in v6.67.0

type InsightsReportConfigFrequencyOptionsStartDateOutput struct{ *pulumi.OutputState }

func (InsightsReportConfigFrequencyOptionsStartDateOutput) Day added in v6.67.0

The day of the month to start generating inventory reports.

func (InsightsReportConfigFrequencyOptionsStartDateOutput) ElementType added in v6.67.0

func (InsightsReportConfigFrequencyOptionsStartDateOutput) Month added in v6.67.0

The month to start generating inventory reports.

func (InsightsReportConfigFrequencyOptionsStartDateOutput) ToInsightsReportConfigFrequencyOptionsStartDateOutput added in v6.67.0

func (o InsightsReportConfigFrequencyOptionsStartDateOutput) ToInsightsReportConfigFrequencyOptionsStartDateOutput() InsightsReportConfigFrequencyOptionsStartDateOutput

func (InsightsReportConfigFrequencyOptionsStartDateOutput) ToInsightsReportConfigFrequencyOptionsStartDateOutputWithContext added in v6.67.0

func (o InsightsReportConfigFrequencyOptionsStartDateOutput) ToInsightsReportConfigFrequencyOptionsStartDateOutputWithContext(ctx context.Context) InsightsReportConfigFrequencyOptionsStartDateOutput

func (InsightsReportConfigFrequencyOptionsStartDateOutput) ToInsightsReportConfigFrequencyOptionsStartDatePtrOutput added in v6.67.0

func (o InsightsReportConfigFrequencyOptionsStartDateOutput) ToInsightsReportConfigFrequencyOptionsStartDatePtrOutput() InsightsReportConfigFrequencyOptionsStartDatePtrOutput

func (InsightsReportConfigFrequencyOptionsStartDateOutput) ToInsightsReportConfigFrequencyOptionsStartDatePtrOutputWithContext added in v6.67.0

func (o InsightsReportConfigFrequencyOptionsStartDateOutput) ToInsightsReportConfigFrequencyOptionsStartDatePtrOutputWithContext(ctx context.Context) InsightsReportConfigFrequencyOptionsStartDatePtrOutput

func (InsightsReportConfigFrequencyOptionsStartDateOutput) ToOutput added in v6.67.0

func (InsightsReportConfigFrequencyOptionsStartDateOutput) Year added in v6.67.0

The year to start generating inventory reports

type InsightsReportConfigFrequencyOptionsStartDatePtrInput added in v6.67.0

type InsightsReportConfigFrequencyOptionsStartDatePtrInput interface {
	pulumi.Input

	ToInsightsReportConfigFrequencyOptionsStartDatePtrOutput() InsightsReportConfigFrequencyOptionsStartDatePtrOutput
	ToInsightsReportConfigFrequencyOptionsStartDatePtrOutputWithContext(context.Context) InsightsReportConfigFrequencyOptionsStartDatePtrOutput
}

InsightsReportConfigFrequencyOptionsStartDatePtrInput is an input type that accepts InsightsReportConfigFrequencyOptionsStartDateArgs, InsightsReportConfigFrequencyOptionsStartDatePtr and InsightsReportConfigFrequencyOptionsStartDatePtrOutput values. You can construct a concrete instance of `InsightsReportConfigFrequencyOptionsStartDatePtrInput` via:

        InsightsReportConfigFrequencyOptionsStartDateArgs{...}

or:

        nil

type InsightsReportConfigFrequencyOptionsStartDatePtrOutput added in v6.67.0

type InsightsReportConfigFrequencyOptionsStartDatePtrOutput struct{ *pulumi.OutputState }

func (InsightsReportConfigFrequencyOptionsStartDatePtrOutput) Day added in v6.67.0

The day of the month to start generating inventory reports.

func (InsightsReportConfigFrequencyOptionsStartDatePtrOutput) Elem added in v6.67.0

func (InsightsReportConfigFrequencyOptionsStartDatePtrOutput) ElementType added in v6.67.0

func (InsightsReportConfigFrequencyOptionsStartDatePtrOutput) Month added in v6.67.0

The month to start generating inventory reports.

func (InsightsReportConfigFrequencyOptionsStartDatePtrOutput) ToInsightsReportConfigFrequencyOptionsStartDatePtrOutput added in v6.67.0

func (InsightsReportConfigFrequencyOptionsStartDatePtrOutput) ToInsightsReportConfigFrequencyOptionsStartDatePtrOutputWithContext added in v6.67.0

func (o InsightsReportConfigFrequencyOptionsStartDatePtrOutput) ToInsightsReportConfigFrequencyOptionsStartDatePtrOutputWithContext(ctx context.Context) InsightsReportConfigFrequencyOptionsStartDatePtrOutput

func (InsightsReportConfigFrequencyOptionsStartDatePtrOutput) ToOutput added in v6.67.0

func (InsightsReportConfigFrequencyOptionsStartDatePtrOutput) Year added in v6.67.0

The year to start generating inventory reports

type InsightsReportConfigInput added in v6.67.0

type InsightsReportConfigInput interface {
	pulumi.Input

	ToInsightsReportConfigOutput() InsightsReportConfigOutput
	ToInsightsReportConfigOutputWithContext(ctx context.Context) InsightsReportConfigOutput
}

type InsightsReportConfigMap added in v6.67.0

type InsightsReportConfigMap map[string]InsightsReportConfigInput

func (InsightsReportConfigMap) ElementType added in v6.67.0

func (InsightsReportConfigMap) ElementType() reflect.Type

func (InsightsReportConfigMap) ToInsightsReportConfigMapOutput added in v6.67.0

func (i InsightsReportConfigMap) ToInsightsReportConfigMapOutput() InsightsReportConfigMapOutput

func (InsightsReportConfigMap) ToInsightsReportConfigMapOutputWithContext added in v6.67.0

func (i InsightsReportConfigMap) ToInsightsReportConfigMapOutputWithContext(ctx context.Context) InsightsReportConfigMapOutput

func (InsightsReportConfigMap) ToOutput added in v6.67.0

type InsightsReportConfigMapInput added in v6.67.0

type InsightsReportConfigMapInput interface {
	pulumi.Input

	ToInsightsReportConfigMapOutput() InsightsReportConfigMapOutput
	ToInsightsReportConfigMapOutputWithContext(context.Context) InsightsReportConfigMapOutput
}

InsightsReportConfigMapInput is an input type that accepts InsightsReportConfigMap and InsightsReportConfigMapOutput values. You can construct a concrete instance of `InsightsReportConfigMapInput` via:

InsightsReportConfigMap{ "key": InsightsReportConfigArgs{...} }

type InsightsReportConfigMapOutput added in v6.67.0

type InsightsReportConfigMapOutput struct{ *pulumi.OutputState }

func (InsightsReportConfigMapOutput) ElementType added in v6.67.0

func (InsightsReportConfigMapOutput) MapIndex added in v6.67.0

func (InsightsReportConfigMapOutput) ToInsightsReportConfigMapOutput added in v6.67.0

func (o InsightsReportConfigMapOutput) ToInsightsReportConfigMapOutput() InsightsReportConfigMapOutput

func (InsightsReportConfigMapOutput) ToInsightsReportConfigMapOutputWithContext added in v6.67.0

func (o InsightsReportConfigMapOutput) ToInsightsReportConfigMapOutputWithContext(ctx context.Context) InsightsReportConfigMapOutput

func (InsightsReportConfigMapOutput) ToOutput added in v6.67.0

type InsightsReportConfigObjectMetadataReportOptions added in v6.67.0

type InsightsReportConfigObjectMetadataReportOptions struct {
	// The metadata fields included in an inventory report.
	MetadataFields []string `pulumi:"metadataFields"`
	// Options for where the inventory reports are stored.
	// Structure is documented below.
	StorageDestinationOptions InsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptions `pulumi:"storageDestinationOptions"`
	// A nested object resource
	// Structure is documented below.
	StorageFilters *InsightsReportConfigObjectMetadataReportOptionsStorageFilters `pulumi:"storageFilters"`
}

type InsightsReportConfigObjectMetadataReportOptionsArgs added in v6.67.0

type InsightsReportConfigObjectMetadataReportOptionsArgs struct {
	// The metadata fields included in an inventory report.
	MetadataFields pulumi.StringArrayInput `pulumi:"metadataFields"`
	// Options for where the inventory reports are stored.
	// Structure is documented below.
	StorageDestinationOptions InsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsInput `pulumi:"storageDestinationOptions"`
	// A nested object resource
	// Structure is documented below.
	StorageFilters InsightsReportConfigObjectMetadataReportOptionsStorageFiltersPtrInput `pulumi:"storageFilters"`
}

func (InsightsReportConfigObjectMetadataReportOptionsArgs) ElementType added in v6.67.0

func (InsightsReportConfigObjectMetadataReportOptionsArgs) ToInsightsReportConfigObjectMetadataReportOptionsOutput added in v6.67.0

func (i InsightsReportConfigObjectMetadataReportOptionsArgs) ToInsightsReportConfigObjectMetadataReportOptionsOutput() InsightsReportConfigObjectMetadataReportOptionsOutput

func (InsightsReportConfigObjectMetadataReportOptionsArgs) ToInsightsReportConfigObjectMetadataReportOptionsOutputWithContext added in v6.67.0

func (i InsightsReportConfigObjectMetadataReportOptionsArgs) ToInsightsReportConfigObjectMetadataReportOptionsOutputWithContext(ctx context.Context) InsightsReportConfigObjectMetadataReportOptionsOutput

func (InsightsReportConfigObjectMetadataReportOptionsArgs) ToInsightsReportConfigObjectMetadataReportOptionsPtrOutput added in v6.67.0

func (i InsightsReportConfigObjectMetadataReportOptionsArgs) ToInsightsReportConfigObjectMetadataReportOptionsPtrOutput() InsightsReportConfigObjectMetadataReportOptionsPtrOutput

func (InsightsReportConfigObjectMetadataReportOptionsArgs) ToInsightsReportConfigObjectMetadataReportOptionsPtrOutputWithContext added in v6.67.0

func (i InsightsReportConfigObjectMetadataReportOptionsArgs) ToInsightsReportConfigObjectMetadataReportOptionsPtrOutputWithContext(ctx context.Context) InsightsReportConfigObjectMetadataReportOptionsPtrOutput

func (InsightsReportConfigObjectMetadataReportOptionsArgs) ToOutput added in v6.67.0

type InsightsReportConfigObjectMetadataReportOptionsInput added in v6.67.0

type InsightsReportConfigObjectMetadataReportOptionsInput interface {
	pulumi.Input

	ToInsightsReportConfigObjectMetadataReportOptionsOutput() InsightsReportConfigObjectMetadataReportOptionsOutput
	ToInsightsReportConfigObjectMetadataReportOptionsOutputWithContext(context.Context) InsightsReportConfigObjectMetadataReportOptionsOutput
}

InsightsReportConfigObjectMetadataReportOptionsInput is an input type that accepts InsightsReportConfigObjectMetadataReportOptionsArgs and InsightsReportConfigObjectMetadataReportOptionsOutput values. You can construct a concrete instance of `InsightsReportConfigObjectMetadataReportOptionsInput` via:

InsightsReportConfigObjectMetadataReportOptionsArgs{...}

type InsightsReportConfigObjectMetadataReportOptionsOutput added in v6.67.0

type InsightsReportConfigObjectMetadataReportOptionsOutput struct{ *pulumi.OutputState }

func (InsightsReportConfigObjectMetadataReportOptionsOutput) ElementType added in v6.67.0

func (InsightsReportConfigObjectMetadataReportOptionsOutput) MetadataFields added in v6.67.0

The metadata fields included in an inventory report.

func (InsightsReportConfigObjectMetadataReportOptionsOutput) StorageDestinationOptions added in v6.67.0

Options for where the inventory reports are stored. Structure is documented below.

func (InsightsReportConfigObjectMetadataReportOptionsOutput) StorageFilters added in v6.67.0

A nested object resource Structure is documented below.

func (InsightsReportConfigObjectMetadataReportOptionsOutput) ToInsightsReportConfigObjectMetadataReportOptionsOutput added in v6.67.0

func (InsightsReportConfigObjectMetadataReportOptionsOutput) ToInsightsReportConfigObjectMetadataReportOptionsOutputWithContext added in v6.67.0

func (o InsightsReportConfigObjectMetadataReportOptionsOutput) ToInsightsReportConfigObjectMetadataReportOptionsOutputWithContext(ctx context.Context) InsightsReportConfigObjectMetadataReportOptionsOutput

func (InsightsReportConfigObjectMetadataReportOptionsOutput) ToInsightsReportConfigObjectMetadataReportOptionsPtrOutput added in v6.67.0

func (o InsightsReportConfigObjectMetadataReportOptionsOutput) ToInsightsReportConfigObjectMetadataReportOptionsPtrOutput() InsightsReportConfigObjectMetadataReportOptionsPtrOutput

func (InsightsReportConfigObjectMetadataReportOptionsOutput) ToInsightsReportConfigObjectMetadataReportOptionsPtrOutputWithContext added in v6.67.0

func (o InsightsReportConfigObjectMetadataReportOptionsOutput) ToInsightsReportConfigObjectMetadataReportOptionsPtrOutputWithContext(ctx context.Context) InsightsReportConfigObjectMetadataReportOptionsPtrOutput

func (InsightsReportConfigObjectMetadataReportOptionsOutput) ToOutput added in v6.67.0

type InsightsReportConfigObjectMetadataReportOptionsPtrInput added in v6.67.0

type InsightsReportConfigObjectMetadataReportOptionsPtrInput interface {
	pulumi.Input

	ToInsightsReportConfigObjectMetadataReportOptionsPtrOutput() InsightsReportConfigObjectMetadataReportOptionsPtrOutput
	ToInsightsReportConfigObjectMetadataReportOptionsPtrOutputWithContext(context.Context) InsightsReportConfigObjectMetadataReportOptionsPtrOutput
}

InsightsReportConfigObjectMetadataReportOptionsPtrInput is an input type that accepts InsightsReportConfigObjectMetadataReportOptionsArgs, InsightsReportConfigObjectMetadataReportOptionsPtr and InsightsReportConfigObjectMetadataReportOptionsPtrOutput values. You can construct a concrete instance of `InsightsReportConfigObjectMetadataReportOptionsPtrInput` via:

        InsightsReportConfigObjectMetadataReportOptionsArgs{...}

or:

        nil

type InsightsReportConfigObjectMetadataReportOptionsPtrOutput added in v6.67.0

type InsightsReportConfigObjectMetadataReportOptionsPtrOutput struct{ *pulumi.OutputState }

func (InsightsReportConfigObjectMetadataReportOptionsPtrOutput) Elem added in v6.67.0

func (InsightsReportConfigObjectMetadataReportOptionsPtrOutput) ElementType added in v6.67.0

func (InsightsReportConfigObjectMetadataReportOptionsPtrOutput) MetadataFields added in v6.67.0

The metadata fields included in an inventory report.

func (InsightsReportConfigObjectMetadataReportOptionsPtrOutput) StorageDestinationOptions added in v6.67.0

Options for where the inventory reports are stored. Structure is documented below.

func (InsightsReportConfigObjectMetadataReportOptionsPtrOutput) StorageFilters added in v6.67.0

A nested object resource Structure is documented below.

func (InsightsReportConfigObjectMetadataReportOptionsPtrOutput) ToInsightsReportConfigObjectMetadataReportOptionsPtrOutput added in v6.67.0

func (InsightsReportConfigObjectMetadataReportOptionsPtrOutput) ToInsightsReportConfigObjectMetadataReportOptionsPtrOutputWithContext added in v6.67.0

func (o InsightsReportConfigObjectMetadataReportOptionsPtrOutput) ToInsightsReportConfigObjectMetadataReportOptionsPtrOutputWithContext(ctx context.Context) InsightsReportConfigObjectMetadataReportOptionsPtrOutput

func (InsightsReportConfigObjectMetadataReportOptionsPtrOutput) ToOutput added in v6.67.0

type InsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptions added in v6.67.0

type InsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptions struct {
	// The destination bucket that stores the generated inventory reports.
	Bucket string `pulumi:"bucket"`
	// The path within the destination bucket to store generated inventory reports.
	DestinationPath *string `pulumi:"destinationPath"`
}

type InsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsArgs added in v6.67.0

type InsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsArgs struct {
	// The destination bucket that stores the generated inventory reports.
	Bucket pulumi.StringInput `pulumi:"bucket"`
	// The path within the destination bucket to store generated inventory reports.
	DestinationPath pulumi.StringPtrInput `pulumi:"destinationPath"`
}

func (InsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsArgs) ElementType added in v6.67.0

func (InsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsArgs) ToInsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsOutput added in v6.67.0

func (InsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsArgs) ToInsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsOutputWithContext added in v6.67.0

func (InsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsArgs) ToInsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsPtrOutput added in v6.67.0

func (InsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsArgs) ToInsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsPtrOutputWithContext added in v6.67.0

func (i InsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsArgs) ToInsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsPtrOutputWithContext(ctx context.Context) InsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsPtrOutput

func (InsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsArgs) ToOutput added in v6.67.0

type InsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsInput added in v6.67.0

type InsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsInput interface {
	pulumi.Input

	ToInsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsOutput() InsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsOutput
	ToInsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsOutputWithContext(context.Context) InsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsOutput
}

InsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsInput is an input type that accepts InsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsArgs and InsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsOutput values. You can construct a concrete instance of `InsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsInput` via:

InsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsArgs{...}

type InsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsOutput added in v6.67.0

type InsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsOutput struct{ *pulumi.OutputState }

func (InsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsOutput) Bucket added in v6.67.0

The destination bucket that stores the generated inventory reports.

func (InsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsOutput) DestinationPath added in v6.67.0

The path within the destination bucket to store generated inventory reports.

func (InsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsOutput) ElementType added in v6.67.0

func (InsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsOutput) ToInsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsOutput added in v6.67.0

func (InsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsOutput) ToInsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsOutputWithContext added in v6.67.0

func (InsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsOutput) ToInsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsPtrOutput added in v6.67.0

func (InsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsOutput) ToInsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsPtrOutputWithContext added in v6.67.0

func (InsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsOutput) ToOutput added in v6.67.0

type InsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsPtrInput added in v6.67.0

type InsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsPtrInput interface {
	pulumi.Input

	ToInsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsPtrOutput() InsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsPtrOutput
	ToInsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsPtrOutputWithContext(context.Context) InsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsPtrOutput
}

InsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsPtrInput is an input type that accepts InsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsArgs, InsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsPtr and InsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsPtrOutput values. You can construct a concrete instance of `InsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsPtrInput` via:

        InsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsArgs{...}

or:

        nil

type InsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsPtrOutput added in v6.67.0

type InsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsPtrOutput struct{ *pulumi.OutputState }

func (InsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsPtrOutput) Bucket added in v6.67.0

The destination bucket that stores the generated inventory reports.

func (InsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsPtrOutput) DestinationPath added in v6.67.0

The path within the destination bucket to store generated inventory reports.

func (InsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsPtrOutput) Elem added in v6.67.0

func (InsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsPtrOutput) ElementType added in v6.67.0

func (InsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsPtrOutput) ToInsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsPtrOutput added in v6.67.0

func (InsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsPtrOutput) ToInsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsPtrOutputWithContext added in v6.67.0

func (InsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsPtrOutput) ToOutput added in v6.67.0

type InsightsReportConfigObjectMetadataReportOptionsStorageFilters added in v6.67.0

type InsightsReportConfigObjectMetadataReportOptionsStorageFilters struct {
	// The filter to use when specifying which bucket to generate inventory reports for.
	Bucket *string `pulumi:"bucket"`
}

type InsightsReportConfigObjectMetadataReportOptionsStorageFiltersArgs added in v6.67.0

type InsightsReportConfigObjectMetadataReportOptionsStorageFiltersArgs struct {
	// The filter to use when specifying which bucket to generate inventory reports for.
	Bucket pulumi.StringPtrInput `pulumi:"bucket"`
}

func (InsightsReportConfigObjectMetadataReportOptionsStorageFiltersArgs) ElementType added in v6.67.0

func (InsightsReportConfigObjectMetadataReportOptionsStorageFiltersArgs) ToInsightsReportConfigObjectMetadataReportOptionsStorageFiltersOutput added in v6.67.0

func (InsightsReportConfigObjectMetadataReportOptionsStorageFiltersArgs) ToInsightsReportConfigObjectMetadataReportOptionsStorageFiltersOutputWithContext added in v6.67.0

func (i InsightsReportConfigObjectMetadataReportOptionsStorageFiltersArgs) ToInsightsReportConfigObjectMetadataReportOptionsStorageFiltersOutputWithContext(ctx context.Context) InsightsReportConfigObjectMetadataReportOptionsStorageFiltersOutput

func (InsightsReportConfigObjectMetadataReportOptionsStorageFiltersArgs) ToInsightsReportConfigObjectMetadataReportOptionsStorageFiltersPtrOutput added in v6.67.0

func (InsightsReportConfigObjectMetadataReportOptionsStorageFiltersArgs) ToInsightsReportConfigObjectMetadataReportOptionsStorageFiltersPtrOutputWithContext added in v6.67.0

func (i InsightsReportConfigObjectMetadataReportOptionsStorageFiltersArgs) ToInsightsReportConfigObjectMetadataReportOptionsStorageFiltersPtrOutputWithContext(ctx context.Context) InsightsReportConfigObjectMetadataReportOptionsStorageFiltersPtrOutput

func (InsightsReportConfigObjectMetadataReportOptionsStorageFiltersArgs) ToOutput added in v6.67.0

type InsightsReportConfigObjectMetadataReportOptionsStorageFiltersInput added in v6.67.0

type InsightsReportConfigObjectMetadataReportOptionsStorageFiltersInput interface {
	pulumi.Input

	ToInsightsReportConfigObjectMetadataReportOptionsStorageFiltersOutput() InsightsReportConfigObjectMetadataReportOptionsStorageFiltersOutput
	ToInsightsReportConfigObjectMetadataReportOptionsStorageFiltersOutputWithContext(context.Context) InsightsReportConfigObjectMetadataReportOptionsStorageFiltersOutput
}

InsightsReportConfigObjectMetadataReportOptionsStorageFiltersInput is an input type that accepts InsightsReportConfigObjectMetadataReportOptionsStorageFiltersArgs and InsightsReportConfigObjectMetadataReportOptionsStorageFiltersOutput values. You can construct a concrete instance of `InsightsReportConfigObjectMetadataReportOptionsStorageFiltersInput` via:

InsightsReportConfigObjectMetadataReportOptionsStorageFiltersArgs{...}

type InsightsReportConfigObjectMetadataReportOptionsStorageFiltersOutput added in v6.67.0

type InsightsReportConfigObjectMetadataReportOptionsStorageFiltersOutput struct{ *pulumi.OutputState }

func (InsightsReportConfigObjectMetadataReportOptionsStorageFiltersOutput) Bucket added in v6.67.0

The filter to use when specifying which bucket to generate inventory reports for.

func (InsightsReportConfigObjectMetadataReportOptionsStorageFiltersOutput) ElementType added in v6.67.0

func (InsightsReportConfigObjectMetadataReportOptionsStorageFiltersOutput) ToInsightsReportConfigObjectMetadataReportOptionsStorageFiltersOutput added in v6.67.0

func (InsightsReportConfigObjectMetadataReportOptionsStorageFiltersOutput) ToInsightsReportConfigObjectMetadataReportOptionsStorageFiltersOutputWithContext added in v6.67.0

func (o InsightsReportConfigObjectMetadataReportOptionsStorageFiltersOutput) ToInsightsReportConfigObjectMetadataReportOptionsStorageFiltersOutputWithContext(ctx context.Context) InsightsReportConfigObjectMetadataReportOptionsStorageFiltersOutput

func (InsightsReportConfigObjectMetadataReportOptionsStorageFiltersOutput) ToInsightsReportConfigObjectMetadataReportOptionsStorageFiltersPtrOutput added in v6.67.0

func (InsightsReportConfigObjectMetadataReportOptionsStorageFiltersOutput) ToInsightsReportConfigObjectMetadataReportOptionsStorageFiltersPtrOutputWithContext added in v6.67.0

func (o InsightsReportConfigObjectMetadataReportOptionsStorageFiltersOutput) ToInsightsReportConfigObjectMetadataReportOptionsStorageFiltersPtrOutputWithContext(ctx context.Context) InsightsReportConfigObjectMetadataReportOptionsStorageFiltersPtrOutput

func (InsightsReportConfigObjectMetadataReportOptionsStorageFiltersOutput) ToOutput added in v6.67.0

type InsightsReportConfigObjectMetadataReportOptionsStorageFiltersPtrInput added in v6.67.0

type InsightsReportConfigObjectMetadataReportOptionsStorageFiltersPtrInput interface {
	pulumi.Input

	ToInsightsReportConfigObjectMetadataReportOptionsStorageFiltersPtrOutput() InsightsReportConfigObjectMetadataReportOptionsStorageFiltersPtrOutput
	ToInsightsReportConfigObjectMetadataReportOptionsStorageFiltersPtrOutputWithContext(context.Context) InsightsReportConfigObjectMetadataReportOptionsStorageFiltersPtrOutput
}

InsightsReportConfigObjectMetadataReportOptionsStorageFiltersPtrInput is an input type that accepts InsightsReportConfigObjectMetadataReportOptionsStorageFiltersArgs, InsightsReportConfigObjectMetadataReportOptionsStorageFiltersPtr and InsightsReportConfigObjectMetadataReportOptionsStorageFiltersPtrOutput values. You can construct a concrete instance of `InsightsReportConfigObjectMetadataReportOptionsStorageFiltersPtrInput` via:

        InsightsReportConfigObjectMetadataReportOptionsStorageFiltersArgs{...}

or:

        nil

type InsightsReportConfigObjectMetadataReportOptionsStorageFiltersPtrOutput added in v6.67.0

type InsightsReportConfigObjectMetadataReportOptionsStorageFiltersPtrOutput struct{ *pulumi.OutputState }

func (InsightsReportConfigObjectMetadataReportOptionsStorageFiltersPtrOutput) Bucket added in v6.67.0

The filter to use when specifying which bucket to generate inventory reports for.

func (InsightsReportConfigObjectMetadataReportOptionsStorageFiltersPtrOutput) Elem added in v6.67.0

func (InsightsReportConfigObjectMetadataReportOptionsStorageFiltersPtrOutput) ElementType added in v6.67.0

func (InsightsReportConfigObjectMetadataReportOptionsStorageFiltersPtrOutput) ToInsightsReportConfigObjectMetadataReportOptionsStorageFiltersPtrOutput added in v6.67.0

func (InsightsReportConfigObjectMetadataReportOptionsStorageFiltersPtrOutput) ToInsightsReportConfigObjectMetadataReportOptionsStorageFiltersPtrOutputWithContext added in v6.67.0

func (o InsightsReportConfigObjectMetadataReportOptionsStorageFiltersPtrOutput) ToInsightsReportConfigObjectMetadataReportOptionsStorageFiltersPtrOutputWithContext(ctx context.Context) InsightsReportConfigObjectMetadataReportOptionsStorageFiltersPtrOutput

func (InsightsReportConfigObjectMetadataReportOptionsStorageFiltersPtrOutput) ToOutput added in v6.67.0

type InsightsReportConfigOutput added in v6.67.0

type InsightsReportConfigOutput struct{ *pulumi.OutputState }

func (InsightsReportConfigOutput) CsvOptions added in v6.67.0

Options for configuring the format of the inventory report CSV file. Structure is documented below.

func (InsightsReportConfigOutput) DisplayName added in v6.67.0

The editable display name of the inventory report configuration. Has a limit of 256 characters. Can be empty.

func (InsightsReportConfigOutput) ElementType added in v6.67.0

func (InsightsReportConfigOutput) ElementType() reflect.Type

func (InsightsReportConfigOutput) FrequencyOptions added in v6.67.0

Options for configuring how inventory reports are generated. Structure is documented below.

func (InsightsReportConfigOutput) Location added in v6.67.0

The location of the ReportConfig. The source and destination buckets specified in the ReportConfig must be in the same location.

func (InsightsReportConfigOutput) Name added in v6.67.0

The UUID of the inventory report configuration.

func (InsightsReportConfigOutput) ObjectMetadataReportOptions added in v6.67.0

Options for including metadata in an inventory report. Structure is documented below.

func (InsightsReportConfigOutput) Project added in v6.67.0

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

func (InsightsReportConfigOutput) ToInsightsReportConfigOutput added in v6.67.0

func (o InsightsReportConfigOutput) ToInsightsReportConfigOutput() InsightsReportConfigOutput

func (InsightsReportConfigOutput) ToInsightsReportConfigOutputWithContext added in v6.67.0

func (o InsightsReportConfigOutput) ToInsightsReportConfigOutputWithContext(ctx context.Context) InsightsReportConfigOutput

func (InsightsReportConfigOutput) ToOutput added in v6.67.0

type InsightsReportConfigState added in v6.67.0

type InsightsReportConfigState struct {
	// Options for configuring the format of the inventory report CSV file.
	// Structure is documented below.
	CsvOptions InsightsReportConfigCsvOptionsPtrInput
	// The editable display name of the inventory report configuration. Has a limit of 256 characters. Can be empty.
	DisplayName pulumi.StringPtrInput
	// Options for configuring how inventory reports are generated.
	// Structure is documented below.
	FrequencyOptions InsightsReportConfigFrequencyOptionsPtrInput
	// The location of the ReportConfig. The source and destination buckets specified in the ReportConfig
	// must be in the same location.
	Location pulumi.StringPtrInput
	// The UUID of the inventory report configuration.
	Name pulumi.StringPtrInput
	// Options for including metadata in an inventory report.
	// Structure is documented below.
	ObjectMetadataReportOptions InsightsReportConfigObjectMetadataReportOptionsPtrInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project pulumi.StringPtrInput
}

func (InsightsReportConfigState) ElementType added in v6.67.0

func (InsightsReportConfigState) ElementType() reflect.Type

type LookupBucketArgs

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

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

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"`
	// (Computed) Whether an object is under [event-based hold](https://cloud.google.com/storage/docs/object-holds#hold-types). 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 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"`
	// (Computed) Whether an object is under [temporary hold](https://cloud.google.com/storage/docs/object-holds#hold-types). While this flag is set to true, the object is protected against deletion and overwrites.
	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/v6/go/gcp/storage"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

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

```

type LookupBucketObjectResultOutput

type LookupBucketObjectResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getBucketObject.

func (LookupBucketObjectResultOutput) Bucket

func (LookupBucketObjectResultOutput) CacheControl

(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

func (LookupBucketObjectResultOutput) ContentDisposition

func (o LookupBucketObjectResultOutput) ContentDisposition() pulumi.StringOutput

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

func (LookupBucketObjectResultOutput) ContentEncoding

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

func (LookupBucketObjectResultOutput) ContentLanguage

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

func (LookupBucketObjectResultOutput) ContentType

(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

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

func (LookupBucketObjectResultOutput) CustomerEncryptions

func (LookupBucketObjectResultOutput) DetectMd5hash

func (LookupBucketObjectResultOutput) ElementType

func (LookupBucketObjectResultOutput) EventBasedHold

(Computed) Whether an object is under [event-based hold](https://cloud.google.com/storage/docs/object-holds#hold-types). 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).

func (LookupBucketObjectResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupBucketObjectResultOutput) KmsKeyName

func (LookupBucketObjectResultOutput) Md5hash

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

(Computed) A url reference to download this object.

func (LookupBucketObjectResultOutput) Metadata

func (LookupBucketObjectResultOutput) Name

func (LookupBucketObjectResultOutput) OutputName

(Computed) A url reference to this object.

func (LookupBucketObjectResultOutput) Source

func (LookupBucketObjectResultOutput) StorageClass

(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

(Computed) Whether an object is under [temporary hold](https://cloud.google.com/storage/docs/object-holds#hold-types). While this flag is set to true, the object is protected against deletion and overwrites.

func (LookupBucketObjectResultOutput) ToLookupBucketObjectResultOutput

func (o LookupBucketObjectResultOutput) ToLookupBucketObjectResultOutput() LookupBucketObjectResultOutput

func (LookupBucketObjectResultOutput) ToLookupBucketObjectResultOutputWithContext

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

func (LookupBucketObjectResultOutput) ToOutput added in v6.65.1

type LookupBucketOutputArgs

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

A collection of arguments for invoking getBucket.

func (LookupBucketOutputArgs) ElementType

func (LookupBucketOutputArgs) ElementType() reflect.Type

type LookupBucketResult

type LookupBucketResult struct {
	Autoclasses            []GetBucketAutoclass             `pulumi:"autoclasses"`
	Cors                   []GetBucketCor                   `pulumi:"cors"`
	CustomPlacementConfigs []GetBucketCustomPlacementConfig `pulumi:"customPlacementConfigs"`
	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"`
	PublicAccessPrevention   string                     `pulumi:"publicAccessPrevention"`
	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

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/v6/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

type LookupBucketResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getBucket.

func (LookupBucketResultOutput) Autoclasses added in v6.45.0

func (LookupBucketResultOutput) Cors

func (LookupBucketResultOutput) CustomPlacementConfigs added in v6.41.0

func (LookupBucketResultOutput) DefaultEventBasedHold

func (o LookupBucketResultOutput) DefaultEventBasedHold() pulumi.BoolOutput

func (LookupBucketResultOutput) ElementType

func (LookupBucketResultOutput) ElementType() reflect.Type

func (LookupBucketResultOutput) Encryptions

func (LookupBucketResultOutput) ForceDestroy

func (o LookupBucketResultOutput) ForceDestroy() pulumi.BoolOutput

func (LookupBucketResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupBucketResultOutput) Labels

func (LookupBucketResultOutput) LifecycleRules

func (LookupBucketResultOutput) Location

func (LookupBucketResultOutput) Loggings

func (LookupBucketResultOutput) Name

func (LookupBucketResultOutput) Project

func (LookupBucketResultOutput) PublicAccessPrevention added in v6.6.0

func (o LookupBucketResultOutput) PublicAccessPrevention() pulumi.StringOutput

func (LookupBucketResultOutput) RequesterPays

func (o LookupBucketResultOutput) RequesterPays() pulumi.BoolOutput

func (LookupBucketResultOutput) RetentionPolicies

func (LookupBucketResultOutput) StorageClass

func (o LookupBucketResultOutput) StorageClass() pulumi.StringOutput

func (LookupBucketResultOutput) ToLookupBucketResultOutput

func (o LookupBucketResultOutput) ToLookupBucketResultOutput() LookupBucketResultOutput

func (LookupBucketResultOutput) ToLookupBucketResultOutputWithContext

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

func (LookupBucketResultOutput) ToOutput added in v6.65.1

func (LookupBucketResultOutput) UniformBucketLevelAccess

func (o LookupBucketResultOutput) UniformBucketLevelAccess() pulumi.BoolOutput

func (LookupBucketResultOutput) Url

func (LookupBucketResultOutput) Versionings

func (LookupBucketResultOutput) Websites

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/v6/go/gcp/pubsub"
"github.com/pulumi/pulumi-gcp/sdk/v6/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("serviceAccount:%v", gcsAccount.EmailAddress)),
			},
		})
		if err != nil {
			return err
		}
		bucket, err := storage.NewBucket(ctx, "bucket", &storage.BucketArgs{
			Location: pulumi.String("US"),
		})
		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) ToOutput added in v6.65.1

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

func (NotificationArray) ToOutput added in v6.65.1

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

func (NotificationArrayOutput) ToOutput added in v6.65.1

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

func (NotificationMap) ToOutput added in v6.65.1

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

func (NotificationMapOutput) ToOutput added in v6.65.1

type NotificationOutput

type NotificationOutput struct{ *pulumi.OutputState }

func (NotificationOutput) Bucket added in v6.23.0

The name of the bucket.

func (NotificationOutput) CustomAttributes added in v6.23.0

func (o NotificationOutput) CustomAttributes() pulumi.StringMapOutput

A set of key/value attribute pairs to attach to each Cloud PubSub message published for this notification subscription

func (NotificationOutput) ElementType

func (NotificationOutput) ElementType() reflect.Type

func (NotificationOutput) EventTypes added in v6.23.0

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"`

func (NotificationOutput) NotificationId added in v6.23.0

func (o NotificationOutput) NotificationId() pulumi.StringOutput

The ID of the created notification.

func (NotificationOutput) ObjectNamePrefix added in v6.23.0

func (o NotificationOutput) ObjectNamePrefix() pulumi.StringPtrOutput

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.

func (NotificationOutput) PayloadFormat added in v6.23.0

func (o NotificationOutput) PayloadFormat() pulumi.StringOutput

The desired content of the Payload. One of `"JSON_API_V1"` or `"NONE"`.

func (o NotificationOutput) SelfLink() pulumi.StringOutput

The URI of the created resource.

func (NotificationOutput) ToNotificationOutput

func (o NotificationOutput) ToNotificationOutput() NotificationOutput

func (NotificationOutput) ToNotificationOutputWithContext

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

func (NotificationOutput) ToOutput added in v6.65.1

func (NotificationOutput) Topic added in v6.23.0

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.

***

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/v6/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) ToOutput added in v6.65.1

func (i *ObjectACL) ToOutput(ctx context.Context) pulumix.Output[*ObjectACL]

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

func (ObjectACLArray) ToOutput added in v6.65.1

func (i ObjectACLArray) ToOutput(ctx context.Context) pulumix.Output[[]*ObjectACL]

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

func (ObjectACLArrayOutput) ToOutput added in v6.65.1

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

func (ObjectACLMap) ToOutput added in v6.65.1

func (i ObjectACLMap) ToOutput(ctx context.Context) pulumix.Output[map[string]*ObjectACL]

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

func (ObjectACLMapOutput) ToOutput added in v6.65.1

type ObjectACLOutput

type ObjectACLOutput struct{ *pulumi.OutputState }

func (ObjectACLOutput) Bucket added in v6.23.0

func (o ObjectACLOutput) Bucket() pulumi.StringOutput

The name of the bucket the object is stored in.

func (ObjectACLOutput) ElementType

func (ObjectACLOutput) ElementType() reflect.Type

func (ObjectACLOutput) Object added in v6.23.0

func (o ObjectACLOutput) Object() pulumi.StringOutput

The name of the object to apply the acl to.

***

func (ObjectACLOutput) PredefinedAcl added in v6.23.0

func (o ObjectACLOutput) PredefinedAcl() pulumi.StringPtrOutput

The "canned" [predefined ACL](https://cloud.google.com/storage/docs/access-control#predefined-acl) to apply. Must be set if `roleEntity` is not.

func (ObjectACLOutput) RoleEntities added in v6.23.0

func (o ObjectACLOutput) RoleEntities() pulumi.StringArrayOutput

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.

func (ObjectACLOutput) ToObjectACLOutput

func (o ObjectACLOutput) ToObjectACLOutput() ObjectACLOutput

func (ObjectACLOutput) ToObjectACLOutputWithContext

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

func (ObjectACLOutput) ToOutput added in v6.65.1

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
	// Structure is documented below.
	ProjectTeams ObjectAccessControlProjectTeamArrayOutput `pulumi:"projectTeams"`
	// The access permission for the entity.
	// Possible values are: `OWNER`, `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/v6/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", &storage.BucketArgs{
			Location: pulumi.String("US"),
		})
		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) ToOutput added in v6.65.1

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`, `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

func (ObjectAccessControlArray) ToOutput added in v6.65.1

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

func (ObjectAccessControlArrayOutput) ToOutput added in v6.65.1

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

func (ObjectAccessControlMap) ToOutput added in v6.65.1

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

func (ObjectAccessControlMapOutput) ToOutput added in v6.65.1

type ObjectAccessControlOutput

type ObjectAccessControlOutput struct{ *pulumi.OutputState }

func (ObjectAccessControlOutput) Bucket added in v6.23.0

The name of the bucket.

func (ObjectAccessControlOutput) Domain added in v6.23.0

The domain associated with the entity.

func (ObjectAccessControlOutput) ElementType

func (ObjectAccessControlOutput) ElementType() reflect.Type

func (ObjectAccessControlOutput) Email added in v6.23.0

The email address associated with the entity.

func (ObjectAccessControlOutput) Entity added in v6.23.0

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

func (ObjectAccessControlOutput) EntityId added in v6.23.0

The ID for the entity

func (ObjectAccessControlOutput) Generation added in v6.23.0

The content generation of the object, if applied to an object.

func (ObjectAccessControlOutput) Object added in v6.23.0

The name of the object to apply the access control to.

func (ObjectAccessControlOutput) ProjectTeams added in v6.23.0

The project team associated with the entity Structure is documented below.

func (ObjectAccessControlOutput) Role added in v6.23.0

The access permission for the entity. Possible values are: `OWNER`, `READER`.

***

func (ObjectAccessControlOutput) ToObjectAccessControlOutput

func (o ObjectAccessControlOutput) ToObjectAccessControlOutput() ObjectAccessControlOutput

func (ObjectAccessControlOutput) ToObjectAccessControlOutputWithContext

func (o ObjectAccessControlOutput) ToObjectAccessControlOutputWithContext(ctx context.Context) ObjectAccessControlOutput

func (ObjectAccessControlOutput) ToOutput added in v6.65.1

type ObjectAccessControlProjectTeam

type ObjectAccessControlProjectTeam struct {
	// The project team associated with the entity
	ProjectNumber *string `pulumi:"projectNumber"`
	// The team.
	// Possible values are: `editors`, `owners`, `viewers`.
	Team *string `pulumi:"team"`
}

type ObjectAccessControlProjectTeamArgs

type ObjectAccessControlProjectTeamArgs struct {
	// The project team associated with the entity
	ProjectNumber pulumi.StringPtrInput `pulumi:"projectNumber"`
	// The team.
	// Possible values are: `editors`, `owners`, `viewers`.
	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

func (ObjectAccessControlProjectTeamArgs) ToOutput added in v6.65.1

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

func (ObjectAccessControlProjectTeamArray) ToOutput added in v6.65.1

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

func (ObjectAccessControlProjectTeamArrayOutput) ToOutput added in v6.65.1

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

The project team associated with the entity

func (ObjectAccessControlProjectTeamOutput) Team

The team. Possible values are: `editors`, `owners`, `viewers`.

func (ObjectAccessControlProjectTeamOutput) ToObjectAccessControlProjectTeamOutput

func (o ObjectAccessControlProjectTeamOutput) ToObjectAccessControlProjectTeamOutput() ObjectAccessControlProjectTeamOutput

func (ObjectAccessControlProjectTeamOutput) ToObjectAccessControlProjectTeamOutputWithContext

func (o ObjectAccessControlProjectTeamOutput) ToObjectAccessControlProjectTeamOutputWithContext(ctx context.Context) ObjectAccessControlProjectTeamOutput

func (ObjectAccessControlProjectTeamOutput) ToOutput added in v6.65.1

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
	// Structure is documented below.
	ProjectTeams ObjectAccessControlProjectTeamArrayInput
	// The access permission for the entity.
	// Possible values are: `OWNER`, `READER`.
	//
	// ***
	Role pulumi.StringPtrInput
}

func (ObjectAccessControlState) ElementType

func (ObjectAccessControlState) ElementType() reflect.Type

type TransferAgentPool added in v6.44.0

type TransferAgentPool struct {
	pulumi.CustomResourceState

	// Specifies the bandwidth limit details. If this field is unspecified, the default value is set as 'No Limit'.
	// Structure is documented below.
	BandwidthLimit TransferAgentPoolBandwidthLimitPtrOutput `pulumi:"bandwidthLimit"`
	// Specifies the client-specified AgentPool description.
	DisplayName pulumi.StringPtrOutput `pulumi:"displayName"`
	// The ID of the agent pool to create.
	// The agentPoolId must meet the following requirements:
	// * Length of 128 characters or less.
	// * Not start with the string goog.
	// * Start with a lowercase ASCII character, followed by:
	// * Zero or more: lowercase Latin alphabet characters, numerals, hyphens (-), periods (.), underscores (_), or tildes (~).
	// * One or more numerals or lowercase ASCII characters.
	//   As expressed by the regular expression: ^(?!goog)a-z?$.
	//
	// ***
	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"`
	// Specifies the state of the AgentPool.
	State pulumi.StringOutput `pulumi:"state"`
}

Represents an On-Premises Agent pool.

To get more information about AgentPool, see:

* [API documentation](https://cloud.google.com/storage-transfer/docs/reference/rest/v1/projects.agentPools) * How-to Guides

## Example Usage ### Agent Pool Basic

```go package main

import (

"fmt"

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_default, err := storage.GetTransferProjectServiceAccount(ctx, &storage.GetTransferProjectServiceAccountArgs{
			Project: pulumi.StringRef("my-project-name"),
		}, nil)
		if err != nil {
			return err
		}
		pubsubEditorRole, err := projects.NewIAMMember(ctx, "pubsubEditorRole", &projects.IAMMemberArgs{
			Project: pulumi.String("my-project-name"),
			Role:    pulumi.String("roles/pubsub.editor"),
			Member:  pulumi.String(fmt.Sprintf("serviceAccount:%v", _default.Email)),
		})
		if err != nil {
			return err
		}
		_, err = storage.NewTransferAgentPool(ctx, "example", &storage.TransferAgentPoolArgs{
			DisplayName: pulumi.String("Source A to destination Z"),
			BandwidthLimit: &storage.TransferAgentPoolBandwidthLimitArgs{
				LimitMbps: pulumi.String("120"),
			},
		}, pulumi.DependsOn([]pulumi.Resource{
			pubsubEditorRole,
		}))
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

AgentPool can be imported using any of these accepted formats

```sh

$ pulumi import gcp:storage/transferAgentPool:TransferAgentPool default projects/{{project}}/agentPools/{{name}}

```

```sh

$ pulumi import gcp:storage/transferAgentPool:TransferAgentPool default {{project}}/{{name}}

```

```sh

$ pulumi import gcp:storage/transferAgentPool:TransferAgentPool default {{name}}

```

func GetTransferAgentPool added in v6.44.0

func GetTransferAgentPool(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *TransferAgentPoolState, opts ...pulumi.ResourceOption) (*TransferAgentPool, error)

GetTransferAgentPool gets an existing TransferAgentPool 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 NewTransferAgentPool added in v6.44.0

func NewTransferAgentPool(ctx *pulumi.Context,
	name string, args *TransferAgentPoolArgs, opts ...pulumi.ResourceOption) (*TransferAgentPool, error)

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

func (*TransferAgentPool) ElementType added in v6.44.0

func (*TransferAgentPool) ElementType() reflect.Type

func (*TransferAgentPool) ToOutput added in v6.65.1

func (*TransferAgentPool) ToTransferAgentPoolOutput added in v6.44.0

func (i *TransferAgentPool) ToTransferAgentPoolOutput() TransferAgentPoolOutput

func (*TransferAgentPool) ToTransferAgentPoolOutputWithContext added in v6.44.0

func (i *TransferAgentPool) ToTransferAgentPoolOutputWithContext(ctx context.Context) TransferAgentPoolOutput

type TransferAgentPoolArgs added in v6.44.0

type TransferAgentPoolArgs struct {
	// Specifies the bandwidth limit details. If this field is unspecified, the default value is set as 'No Limit'.
	// Structure is documented below.
	BandwidthLimit TransferAgentPoolBandwidthLimitPtrInput
	// Specifies the client-specified AgentPool description.
	DisplayName pulumi.StringPtrInput
	// The ID of the agent pool to create.
	// The agentPoolId must meet the following requirements:
	// * Length of 128 characters or less.
	// * Not start with the string goog.
	// * Start with a lowercase ASCII character, followed by:
	// * Zero or more: lowercase Latin alphabet characters, numerals, hyphens (-), periods (.), underscores (_), or tildes (~).
	// * One or more numerals or lowercase ASCII characters.
	//   As expressed by the regular expression: ^(?!goog)a-z?$.
	//
	// ***
	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
}

The set of arguments for constructing a TransferAgentPool resource.

func (TransferAgentPoolArgs) ElementType added in v6.44.0

func (TransferAgentPoolArgs) ElementType() reflect.Type

type TransferAgentPoolArray added in v6.44.0

type TransferAgentPoolArray []TransferAgentPoolInput

func (TransferAgentPoolArray) ElementType added in v6.44.0

func (TransferAgentPoolArray) ElementType() reflect.Type

func (TransferAgentPoolArray) ToOutput added in v6.65.1

func (TransferAgentPoolArray) ToTransferAgentPoolArrayOutput added in v6.44.0

func (i TransferAgentPoolArray) ToTransferAgentPoolArrayOutput() TransferAgentPoolArrayOutput

func (TransferAgentPoolArray) ToTransferAgentPoolArrayOutputWithContext added in v6.44.0

func (i TransferAgentPoolArray) ToTransferAgentPoolArrayOutputWithContext(ctx context.Context) TransferAgentPoolArrayOutput

type TransferAgentPoolArrayInput added in v6.44.0

type TransferAgentPoolArrayInput interface {
	pulumi.Input

	ToTransferAgentPoolArrayOutput() TransferAgentPoolArrayOutput
	ToTransferAgentPoolArrayOutputWithContext(context.Context) TransferAgentPoolArrayOutput
}

TransferAgentPoolArrayInput is an input type that accepts TransferAgentPoolArray and TransferAgentPoolArrayOutput values. You can construct a concrete instance of `TransferAgentPoolArrayInput` via:

TransferAgentPoolArray{ TransferAgentPoolArgs{...} }

type TransferAgentPoolArrayOutput added in v6.44.0

type TransferAgentPoolArrayOutput struct{ *pulumi.OutputState }

func (TransferAgentPoolArrayOutput) ElementType added in v6.44.0

func (TransferAgentPoolArrayOutput) Index added in v6.44.0

func (TransferAgentPoolArrayOutput) ToOutput added in v6.65.1

func (TransferAgentPoolArrayOutput) ToTransferAgentPoolArrayOutput added in v6.44.0

func (o TransferAgentPoolArrayOutput) ToTransferAgentPoolArrayOutput() TransferAgentPoolArrayOutput

func (TransferAgentPoolArrayOutput) ToTransferAgentPoolArrayOutputWithContext added in v6.44.0

func (o TransferAgentPoolArrayOutput) ToTransferAgentPoolArrayOutputWithContext(ctx context.Context) TransferAgentPoolArrayOutput

type TransferAgentPoolBandwidthLimit added in v6.44.0

type TransferAgentPoolBandwidthLimit struct {
	// Bandwidth rate in megabytes per second, distributed across all the agents in the pool.
	LimitMbps string `pulumi:"limitMbps"`
}

type TransferAgentPoolBandwidthLimitArgs added in v6.44.0

type TransferAgentPoolBandwidthLimitArgs struct {
	// Bandwidth rate in megabytes per second, distributed across all the agents in the pool.
	LimitMbps pulumi.StringInput `pulumi:"limitMbps"`
}

func (TransferAgentPoolBandwidthLimitArgs) ElementType added in v6.44.0

func (TransferAgentPoolBandwidthLimitArgs) ToOutput added in v6.65.1

func (TransferAgentPoolBandwidthLimitArgs) ToTransferAgentPoolBandwidthLimitOutput added in v6.44.0

func (i TransferAgentPoolBandwidthLimitArgs) ToTransferAgentPoolBandwidthLimitOutput() TransferAgentPoolBandwidthLimitOutput

func (TransferAgentPoolBandwidthLimitArgs) ToTransferAgentPoolBandwidthLimitOutputWithContext added in v6.44.0

func (i TransferAgentPoolBandwidthLimitArgs) ToTransferAgentPoolBandwidthLimitOutputWithContext(ctx context.Context) TransferAgentPoolBandwidthLimitOutput

func (TransferAgentPoolBandwidthLimitArgs) ToTransferAgentPoolBandwidthLimitPtrOutput added in v6.44.0

func (i TransferAgentPoolBandwidthLimitArgs) ToTransferAgentPoolBandwidthLimitPtrOutput() TransferAgentPoolBandwidthLimitPtrOutput

func (TransferAgentPoolBandwidthLimitArgs) ToTransferAgentPoolBandwidthLimitPtrOutputWithContext added in v6.44.0

func (i TransferAgentPoolBandwidthLimitArgs) ToTransferAgentPoolBandwidthLimitPtrOutputWithContext(ctx context.Context) TransferAgentPoolBandwidthLimitPtrOutput

type TransferAgentPoolBandwidthLimitInput added in v6.44.0

type TransferAgentPoolBandwidthLimitInput interface {
	pulumi.Input

	ToTransferAgentPoolBandwidthLimitOutput() TransferAgentPoolBandwidthLimitOutput
	ToTransferAgentPoolBandwidthLimitOutputWithContext(context.Context) TransferAgentPoolBandwidthLimitOutput
}

TransferAgentPoolBandwidthLimitInput is an input type that accepts TransferAgentPoolBandwidthLimitArgs and TransferAgentPoolBandwidthLimitOutput values. You can construct a concrete instance of `TransferAgentPoolBandwidthLimitInput` via:

TransferAgentPoolBandwidthLimitArgs{...}

type TransferAgentPoolBandwidthLimitOutput added in v6.44.0

type TransferAgentPoolBandwidthLimitOutput struct{ *pulumi.OutputState }

func (TransferAgentPoolBandwidthLimitOutput) ElementType added in v6.44.0

func (TransferAgentPoolBandwidthLimitOutput) LimitMbps added in v6.44.0

Bandwidth rate in megabytes per second, distributed across all the agents in the pool.

func (TransferAgentPoolBandwidthLimitOutput) ToOutput added in v6.65.1

func (TransferAgentPoolBandwidthLimitOutput) ToTransferAgentPoolBandwidthLimitOutput added in v6.44.0

func (o TransferAgentPoolBandwidthLimitOutput) ToTransferAgentPoolBandwidthLimitOutput() TransferAgentPoolBandwidthLimitOutput

func (TransferAgentPoolBandwidthLimitOutput) ToTransferAgentPoolBandwidthLimitOutputWithContext added in v6.44.0

func (o TransferAgentPoolBandwidthLimitOutput) ToTransferAgentPoolBandwidthLimitOutputWithContext(ctx context.Context) TransferAgentPoolBandwidthLimitOutput

func (TransferAgentPoolBandwidthLimitOutput) ToTransferAgentPoolBandwidthLimitPtrOutput added in v6.44.0

func (o TransferAgentPoolBandwidthLimitOutput) ToTransferAgentPoolBandwidthLimitPtrOutput() TransferAgentPoolBandwidthLimitPtrOutput

func (TransferAgentPoolBandwidthLimitOutput) ToTransferAgentPoolBandwidthLimitPtrOutputWithContext added in v6.44.0

func (o TransferAgentPoolBandwidthLimitOutput) ToTransferAgentPoolBandwidthLimitPtrOutputWithContext(ctx context.Context) TransferAgentPoolBandwidthLimitPtrOutput

type TransferAgentPoolBandwidthLimitPtrInput added in v6.44.0

type TransferAgentPoolBandwidthLimitPtrInput interface {
	pulumi.Input

	ToTransferAgentPoolBandwidthLimitPtrOutput() TransferAgentPoolBandwidthLimitPtrOutput
	ToTransferAgentPoolBandwidthLimitPtrOutputWithContext(context.Context) TransferAgentPoolBandwidthLimitPtrOutput
}

TransferAgentPoolBandwidthLimitPtrInput is an input type that accepts TransferAgentPoolBandwidthLimitArgs, TransferAgentPoolBandwidthLimitPtr and TransferAgentPoolBandwidthLimitPtrOutput values. You can construct a concrete instance of `TransferAgentPoolBandwidthLimitPtrInput` via:

        TransferAgentPoolBandwidthLimitArgs{...}

or:

        nil

type TransferAgentPoolBandwidthLimitPtrOutput added in v6.44.0

type TransferAgentPoolBandwidthLimitPtrOutput struct{ *pulumi.OutputState }

func (TransferAgentPoolBandwidthLimitPtrOutput) Elem added in v6.44.0

func (TransferAgentPoolBandwidthLimitPtrOutput) ElementType added in v6.44.0

func (TransferAgentPoolBandwidthLimitPtrOutput) LimitMbps added in v6.44.0

Bandwidth rate in megabytes per second, distributed across all the agents in the pool.

func (TransferAgentPoolBandwidthLimitPtrOutput) ToOutput added in v6.65.1

func (TransferAgentPoolBandwidthLimitPtrOutput) ToTransferAgentPoolBandwidthLimitPtrOutput added in v6.44.0

func (o TransferAgentPoolBandwidthLimitPtrOutput) ToTransferAgentPoolBandwidthLimitPtrOutput() TransferAgentPoolBandwidthLimitPtrOutput

func (TransferAgentPoolBandwidthLimitPtrOutput) ToTransferAgentPoolBandwidthLimitPtrOutputWithContext added in v6.44.0

func (o TransferAgentPoolBandwidthLimitPtrOutput) ToTransferAgentPoolBandwidthLimitPtrOutputWithContext(ctx context.Context) TransferAgentPoolBandwidthLimitPtrOutput

type TransferAgentPoolInput added in v6.44.0

type TransferAgentPoolInput interface {
	pulumi.Input

	ToTransferAgentPoolOutput() TransferAgentPoolOutput
	ToTransferAgentPoolOutputWithContext(ctx context.Context) TransferAgentPoolOutput
}

type TransferAgentPoolMap added in v6.44.0

type TransferAgentPoolMap map[string]TransferAgentPoolInput

func (TransferAgentPoolMap) ElementType added in v6.44.0

func (TransferAgentPoolMap) ElementType() reflect.Type

func (TransferAgentPoolMap) ToOutput added in v6.65.1

func (TransferAgentPoolMap) ToTransferAgentPoolMapOutput added in v6.44.0

func (i TransferAgentPoolMap) ToTransferAgentPoolMapOutput() TransferAgentPoolMapOutput

func (TransferAgentPoolMap) ToTransferAgentPoolMapOutputWithContext added in v6.44.0

func (i TransferAgentPoolMap) ToTransferAgentPoolMapOutputWithContext(ctx context.Context) TransferAgentPoolMapOutput

type TransferAgentPoolMapInput added in v6.44.0

type TransferAgentPoolMapInput interface {
	pulumi.Input

	ToTransferAgentPoolMapOutput() TransferAgentPoolMapOutput
	ToTransferAgentPoolMapOutputWithContext(context.Context) TransferAgentPoolMapOutput
}

TransferAgentPoolMapInput is an input type that accepts TransferAgentPoolMap and TransferAgentPoolMapOutput values. You can construct a concrete instance of `TransferAgentPoolMapInput` via:

TransferAgentPoolMap{ "key": TransferAgentPoolArgs{...} }

type TransferAgentPoolMapOutput added in v6.44.0

type TransferAgentPoolMapOutput struct{ *pulumi.OutputState }

func (TransferAgentPoolMapOutput) ElementType added in v6.44.0

func (TransferAgentPoolMapOutput) ElementType() reflect.Type

func (TransferAgentPoolMapOutput) MapIndex added in v6.44.0

func (TransferAgentPoolMapOutput) ToOutput added in v6.65.1

func (TransferAgentPoolMapOutput) ToTransferAgentPoolMapOutput added in v6.44.0

func (o TransferAgentPoolMapOutput) ToTransferAgentPoolMapOutput() TransferAgentPoolMapOutput

func (TransferAgentPoolMapOutput) ToTransferAgentPoolMapOutputWithContext added in v6.44.0

func (o TransferAgentPoolMapOutput) ToTransferAgentPoolMapOutputWithContext(ctx context.Context) TransferAgentPoolMapOutput

type TransferAgentPoolOutput added in v6.44.0

type TransferAgentPoolOutput struct{ *pulumi.OutputState }

func (TransferAgentPoolOutput) BandwidthLimit added in v6.44.0

Specifies the bandwidth limit details. If this field is unspecified, the default value is set as 'No Limit'. Structure is documented below.

func (TransferAgentPoolOutput) DisplayName added in v6.44.0

Specifies the client-specified AgentPool description.

func (TransferAgentPoolOutput) ElementType added in v6.44.0

func (TransferAgentPoolOutput) ElementType() reflect.Type

func (TransferAgentPoolOutput) Name added in v6.44.0

The ID of the agent pool to create. The agentPoolId must meet the following requirements:

  • Length of 128 characters or less.
  • Not start with the string goog.
  • Start with a lowercase ASCII character, followed by:
  • Zero or more: lowercase Latin alphabet characters, numerals, hyphens (-), periods (.), underscores (_), or tildes (~).
  • One or more numerals or lowercase ASCII characters. As expressed by the regular expression: ^(?!goog)a-z?$.

***

func (TransferAgentPoolOutput) Project added in v6.44.0

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

func (TransferAgentPoolOutput) State added in v6.44.0

Specifies the state of the AgentPool.

func (TransferAgentPoolOutput) ToOutput added in v6.65.1

func (TransferAgentPoolOutput) ToTransferAgentPoolOutput added in v6.44.0

func (o TransferAgentPoolOutput) ToTransferAgentPoolOutput() TransferAgentPoolOutput

func (TransferAgentPoolOutput) ToTransferAgentPoolOutputWithContext added in v6.44.0

func (o TransferAgentPoolOutput) ToTransferAgentPoolOutputWithContext(ctx context.Context) TransferAgentPoolOutput

type TransferAgentPoolState added in v6.44.0

type TransferAgentPoolState struct {
	// Specifies the bandwidth limit details. If this field is unspecified, the default value is set as 'No Limit'.
	// Structure is documented below.
	BandwidthLimit TransferAgentPoolBandwidthLimitPtrInput
	// Specifies the client-specified AgentPool description.
	DisplayName pulumi.StringPtrInput
	// The ID of the agent pool to create.
	// The agentPoolId must meet the following requirements:
	// * Length of 128 characters or less.
	// * Not start with the string goog.
	// * Start with a lowercase ASCII character, followed by:
	// * Zero or more: lowercase Latin alphabet characters, numerals, hyphens (-), periods (.), underscores (_), or tildes (~).
	// * One or more numerals or lowercase ASCII characters.
	//   As expressed by the regular expression: ^(?!goog)a-z?$.
	//
	// ***
	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
	// Specifies the state of the AgentPool.
	State pulumi.StringPtrInput
}

func (TransferAgentPoolState) ElementType added in v6.44.0

func (TransferAgentPoolState) 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"`
	// Notification configuration. This is not supported for transfers involving PosixFilesystem. Structure documented below.
	NotificationConfig TransferJobNotificationConfigPtrOutput `pulumi:"notificationConfig"`
	// 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 TransferJobSchedulePtrOutput `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/v6/go/gcp/pubsub"
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/storage"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_default, err := storage.GetTransferProjectServiceAccount(ctx, &storage.GetTransferProjectServiceAccountArgs{
			Project: pulumi.StringRef(_var.Project),
		}, nil)
		if err != nil {
			return err
		}
		_, err = storage.NewBucket(ctx, "s3-backup-bucketBucket", &storage.BucketArgs{
			StorageClass: pulumi.String("NEARLINE"),
			Project:      pulumi.Any(_var.Project),
			Location:     pulumi.String("US"),
		})
		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("serviceAccount:%v", _default.Email)),
		}, pulumi.DependsOn([]pulumi.Resource{
			s3_backup_bucketBucket,
		}))
		if err != nil {
			return err
		}
		topic, err := pubsub.NewTopic(ctx, "topic", nil)
		if err != nil {
			return err
		}
		notificationConfig, err := pubsub.NewTopicIAMMember(ctx, "notificationConfig", &pubsub.TopicIAMMemberArgs{
			Topic:  topic.ID(),
			Role:   pulumi.String("roles/pubsub.publisher"),
			Member: pulumi.String(fmt.Sprintf("serviceAccount:%v", _default.Email)),
		})
		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),
				},
				RepeatInterval: pulumi.String("604800s"),
			},
			NotificationConfig: &storage.TransferJobNotificationConfigArgs{
				PubsubTopic: topic.ID(),
				EventTypes: pulumi.StringArray{
					pulumi.String("TRANSFER_OPERATION_SUCCESS"),
					pulumi.String("TRANSFER_OPERATION_FAILED"),
				},
				PayloadFormat: pulumi.String("JSON"),
			},
		}, pulumi.DependsOn([]pulumi.Resource{
			s3_backup_bucketBucketIAMMember,
			notificationConfig,
		}))
		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) ToOutput added in v6.65.1

func (i *TransferJob) ToOutput(ctx context.Context) pulumix.Output[*TransferJob]

func (*TransferJob) ToTransferJobOutput

func (i *TransferJob) ToTransferJobOutput() TransferJobOutput

func (*TransferJob) ToTransferJobOutputWithContext

func (i *TransferJob) ToTransferJobOutputWithContext(ctx context.Context) TransferJobOutput

type TransferJobArgs

type TransferJobArgs struct {
	// Unique description to identify the Transfer Job.
	Description pulumi.StringInput
	// Notification configuration. This is not supported for transfers involving PosixFilesystem. Structure documented below.
	NotificationConfig TransferJobNotificationConfigPtrInput
	// 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 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) ToOutput added in v6.65.1

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) ToOutput added in v6.65.1

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) ToOutput added in v6.65.1

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) ToOutput added in v6.65.1

func (TransferJobMapOutput) ToTransferJobMapOutput

func (o TransferJobMapOutput) ToTransferJobMapOutput() TransferJobMapOutput

func (TransferJobMapOutput) ToTransferJobMapOutputWithContext

func (o TransferJobMapOutput) ToTransferJobMapOutputWithContext(ctx context.Context) TransferJobMapOutput

type TransferJobNotificationConfig added in v6.40.0

type TransferJobNotificationConfig struct {
	// Event types for which a notification is desired. If empty, send notifications for all event types. The valid types are "TRANSFER_OPERATION_SUCCESS", "TRANSFER_OPERATION_FAILED", "TRANSFER_OPERATION_ABORTED".
	EventTypes []string `pulumi:"eventTypes"`
	// The desired format of the notification message payloads. One of "NONE" or "JSON".
	PayloadFormat string `pulumi:"payloadFormat"`
	// The Topic.name of the Pub/Sub topic to which to publish notifications. Must be of the format: projects/{project}/topics/{topic}. Not matching this format results in an INVALID_ARGUMENT error.
	PubsubTopic string `pulumi:"pubsubTopic"`
}

type TransferJobNotificationConfigArgs added in v6.40.0

type TransferJobNotificationConfigArgs struct {
	// Event types for which a notification is desired. If empty, send notifications for all event types. The valid types are "TRANSFER_OPERATION_SUCCESS", "TRANSFER_OPERATION_FAILED", "TRANSFER_OPERATION_ABORTED".
	EventTypes pulumi.StringArrayInput `pulumi:"eventTypes"`
	// The desired format of the notification message payloads. One of "NONE" or "JSON".
	PayloadFormat pulumi.StringInput `pulumi:"payloadFormat"`
	// The Topic.name of the Pub/Sub topic to which to publish notifications. Must be of the format: projects/{project}/topics/{topic}. Not matching this format results in an INVALID_ARGUMENT error.
	PubsubTopic pulumi.StringInput `pulumi:"pubsubTopic"`
}

func (TransferJobNotificationConfigArgs) ElementType added in v6.40.0

func (TransferJobNotificationConfigArgs) ToOutput added in v6.65.1

func (TransferJobNotificationConfigArgs) ToTransferJobNotificationConfigOutput added in v6.40.0

func (i TransferJobNotificationConfigArgs) ToTransferJobNotificationConfigOutput() TransferJobNotificationConfigOutput

func (TransferJobNotificationConfigArgs) ToTransferJobNotificationConfigOutputWithContext added in v6.40.0

func (i TransferJobNotificationConfigArgs) ToTransferJobNotificationConfigOutputWithContext(ctx context.Context) TransferJobNotificationConfigOutput

func (TransferJobNotificationConfigArgs) ToTransferJobNotificationConfigPtrOutput added in v6.40.0

func (i TransferJobNotificationConfigArgs) ToTransferJobNotificationConfigPtrOutput() TransferJobNotificationConfigPtrOutput

func (TransferJobNotificationConfigArgs) ToTransferJobNotificationConfigPtrOutputWithContext added in v6.40.0

func (i TransferJobNotificationConfigArgs) ToTransferJobNotificationConfigPtrOutputWithContext(ctx context.Context) TransferJobNotificationConfigPtrOutput

type TransferJobNotificationConfigInput added in v6.40.0

type TransferJobNotificationConfigInput interface {
	pulumi.Input

	ToTransferJobNotificationConfigOutput() TransferJobNotificationConfigOutput
	ToTransferJobNotificationConfigOutputWithContext(context.Context) TransferJobNotificationConfigOutput
}

TransferJobNotificationConfigInput is an input type that accepts TransferJobNotificationConfigArgs and TransferJobNotificationConfigOutput values. You can construct a concrete instance of `TransferJobNotificationConfigInput` via:

TransferJobNotificationConfigArgs{...}

type TransferJobNotificationConfigOutput added in v6.40.0

type TransferJobNotificationConfigOutput struct{ *pulumi.OutputState }

func (TransferJobNotificationConfigOutput) ElementType added in v6.40.0

func (TransferJobNotificationConfigOutput) EventTypes added in v6.40.0

Event types for which a notification is desired. If empty, send notifications for all event types. The valid types are "TRANSFER_OPERATION_SUCCESS", "TRANSFER_OPERATION_FAILED", "TRANSFER_OPERATION_ABORTED".

func (TransferJobNotificationConfigOutput) PayloadFormat added in v6.40.0

The desired format of the notification message payloads. One of "NONE" or "JSON".

func (TransferJobNotificationConfigOutput) PubsubTopic added in v6.40.0

The Topic.name of the Pub/Sub topic to which to publish notifications. Must be of the format: projects/{project}/topics/{topic}. Not matching this format results in an INVALID_ARGUMENT error.

func (TransferJobNotificationConfigOutput) ToOutput added in v6.65.1

func (TransferJobNotificationConfigOutput) ToTransferJobNotificationConfigOutput added in v6.40.0

func (o TransferJobNotificationConfigOutput) ToTransferJobNotificationConfigOutput() TransferJobNotificationConfigOutput

func (TransferJobNotificationConfigOutput) ToTransferJobNotificationConfigOutputWithContext added in v6.40.0

func (o TransferJobNotificationConfigOutput) ToTransferJobNotificationConfigOutputWithContext(ctx context.Context) TransferJobNotificationConfigOutput

func (TransferJobNotificationConfigOutput) ToTransferJobNotificationConfigPtrOutput added in v6.40.0

func (o TransferJobNotificationConfigOutput) ToTransferJobNotificationConfigPtrOutput() TransferJobNotificationConfigPtrOutput

func (TransferJobNotificationConfigOutput) ToTransferJobNotificationConfigPtrOutputWithContext added in v6.40.0

func (o TransferJobNotificationConfigOutput) ToTransferJobNotificationConfigPtrOutputWithContext(ctx context.Context) TransferJobNotificationConfigPtrOutput

type TransferJobNotificationConfigPtrInput added in v6.40.0

type TransferJobNotificationConfigPtrInput interface {
	pulumi.Input

	ToTransferJobNotificationConfigPtrOutput() TransferJobNotificationConfigPtrOutput
	ToTransferJobNotificationConfigPtrOutputWithContext(context.Context) TransferJobNotificationConfigPtrOutput
}

TransferJobNotificationConfigPtrInput is an input type that accepts TransferJobNotificationConfigArgs, TransferJobNotificationConfigPtr and TransferJobNotificationConfigPtrOutput values. You can construct a concrete instance of `TransferJobNotificationConfigPtrInput` via:

        TransferJobNotificationConfigArgs{...}

or:

        nil

type TransferJobNotificationConfigPtrOutput added in v6.40.0

type TransferJobNotificationConfigPtrOutput struct{ *pulumi.OutputState }

func (TransferJobNotificationConfigPtrOutput) Elem added in v6.40.0

func (TransferJobNotificationConfigPtrOutput) ElementType added in v6.40.0

func (TransferJobNotificationConfigPtrOutput) EventTypes added in v6.40.0

Event types for which a notification is desired. If empty, send notifications for all event types. The valid types are "TRANSFER_OPERATION_SUCCESS", "TRANSFER_OPERATION_FAILED", "TRANSFER_OPERATION_ABORTED".

func (TransferJobNotificationConfigPtrOutput) PayloadFormat added in v6.40.0

The desired format of the notification message payloads. One of "NONE" or "JSON".

func (TransferJobNotificationConfigPtrOutput) PubsubTopic added in v6.40.0

The Topic.name of the Pub/Sub topic to which to publish notifications. Must be of the format: projects/{project}/topics/{topic}. Not matching this format results in an INVALID_ARGUMENT error.

func (TransferJobNotificationConfigPtrOutput) ToOutput added in v6.65.1

func (TransferJobNotificationConfigPtrOutput) ToTransferJobNotificationConfigPtrOutput added in v6.40.0

func (o TransferJobNotificationConfigPtrOutput) ToTransferJobNotificationConfigPtrOutput() TransferJobNotificationConfigPtrOutput

func (TransferJobNotificationConfigPtrOutput) ToTransferJobNotificationConfigPtrOutputWithContext added in v6.40.0

func (o TransferJobNotificationConfigPtrOutput) ToTransferJobNotificationConfigPtrOutputWithContext(ctx context.Context) TransferJobNotificationConfigPtrOutput

type TransferJobOutput

type TransferJobOutput struct{ *pulumi.OutputState }

func (TransferJobOutput) CreationTime added in v6.23.0

func (o TransferJobOutput) CreationTime() pulumi.StringOutput

When the Transfer Job was created.

func (TransferJobOutput) DeletionTime added in v6.23.0

func (o TransferJobOutput) DeletionTime() pulumi.StringOutput

When the Transfer Job was deleted.

func (TransferJobOutput) Description added in v6.23.0

func (o TransferJobOutput) Description() pulumi.StringOutput

Unique description to identify the Transfer Job.

func (TransferJobOutput) ElementType

func (TransferJobOutput) ElementType() reflect.Type

func (TransferJobOutput) LastModificationTime added in v6.23.0

func (o TransferJobOutput) LastModificationTime() pulumi.StringOutput

When the Transfer Job was last modified.

func (TransferJobOutput) Name added in v6.23.0

The name of the Transfer Job.

func (TransferJobOutput) NotificationConfig added in v6.40.0

Notification configuration. This is not supported for transfers involving PosixFilesystem. Structure documented below.

func (TransferJobOutput) Project added in v6.23.0

The project in which the resource belongs. If it is not provided, the provider project is used.

func (TransferJobOutput) Schedule added in v6.23.0

Schedule specification defining when the Transfer Job should be scheduled to start, end and what time to run. Structure documented below.

***

func (TransferJobOutput) Status added in v6.23.0

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.**

func (TransferJobOutput) ToOutput added in v6.65.1

func (TransferJobOutput) ToTransferJobOutput

func (o TransferJobOutput) ToTransferJobOutput() TransferJobOutput

func (TransferJobOutput) ToTransferJobOutputWithContext

func (o TransferJobOutput) ToTransferJobOutputWithContext(ctx context.Context) TransferJobOutput

func (TransferJobOutput) TransferSpec added in v6.23.0

Transfer specification. Structure documented below.

type TransferJobSchedule

type TransferJobSchedule struct {
	// Interval between the start of each scheduled transfer. If unspecified, the default value is 24 hours. This value may not be less than 1 hour. A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".
	RepeatInterval *string `pulumi:"repeatInterval"`
	// 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 {
	// Interval between the start of each scheduled transfer. If unspecified, the default value is 24 hours. This value may not be less than 1 hour. A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".
	RepeatInterval pulumi.StringPtrInput `pulumi:"repeatInterval"`
	// 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) ToOutput added in v6.65.1

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) RepeatInterval added in v6.18.0

Interval between the start of each scheduled transfer. If unspecified, the default value is 24 hours. This value may not be less than 1 hour. A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".

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) ToOutput added in v6.65.1

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) RepeatInterval added in v6.18.0

Interval between the start of each scheduled transfer. If unspecified, the default value is 24 hours. This value may not be less than 1 hour. A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".

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) ToOutput added in v6.65.1

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.
	//
	// <a name="nestedStartTimeOfDay"></a>The `startTimeOfDay` blocks support:
	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.
	//
	// <a name="nestedStartTimeOfDay"></a>The `startTimeOfDay` blocks support:
	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) ToOutput added in v6.65.1

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.

<a name="nestedStartTimeOfDay"></a>The `startTimeOfDay` blocks support:

func (TransferJobScheduleScheduleEndDateOutput) ElementType

func (TransferJobScheduleScheduleEndDateOutput) Month

Month of year. Must be from 1 to 12.

func (TransferJobScheduleScheduleEndDateOutput) ToOutput added in v6.65.1

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.

<a name="nestedStartTimeOfDay"></a>The `startTimeOfDay` blocks support:

func (TransferJobScheduleScheduleEndDatePtrOutput) Elem

func (TransferJobScheduleScheduleEndDatePtrOutput) ElementType

func (TransferJobScheduleScheduleEndDatePtrOutput) Month

Month of year. Must be from 1 to 12.

func (TransferJobScheduleScheduleEndDatePtrOutput) ToOutput added in v6.65.1

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.
	//
	// <a name="nestedStartTimeOfDay"></a>The `startTimeOfDay` blocks support:
	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.
	//
	// <a name="nestedStartTimeOfDay"></a>The `startTimeOfDay` blocks support:
	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) ToOutput added in v6.65.1

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.

<a name="nestedStartTimeOfDay"></a>The `startTimeOfDay` blocks support:

func (TransferJobScheduleScheduleStartDateOutput) ElementType

func (TransferJobScheduleScheduleStartDateOutput) Month

Month of year. Must be from 1 to 12.

func (TransferJobScheduleScheduleStartDateOutput) ToOutput added in v6.65.1

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.

<a name="nestedStartTimeOfDay"></a>The `startTimeOfDay` blocks support:

func (TransferJobScheduleScheduleStartDatePtrOutput) Elem

func (TransferJobScheduleScheduleStartDatePtrOutput) ElementType

func (TransferJobScheduleScheduleStartDatePtrOutput) Month

Month of year. Must be from 1 to 12.

func (TransferJobScheduleScheduleStartDatePtrOutput) ToOutput added in v6.65.1

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) ToOutput added in v6.65.1

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) ToOutput added in v6.65.1

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) ToOutput added in v6.65.1

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
	// Notification configuration. This is not supported for transfers involving PosixFilesystem. Structure documented below.
	NotificationConfig TransferJobNotificationConfigPtrInput
	// 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"`
	// A POSIX data sink. Structure documented below.
	PosixDataSink *TransferJobTransferSpecPosixDataSink `pulumi:"posixDataSink"`
	// A POSIX filesystem data source. Structure documented below.
	PosixDataSource *TransferJobTransferSpecPosixDataSource `pulumi:"posixDataSource"`
	// Specifies the agent pool name associated with the posix data sink. When unspecified, the default name is used.
	SinkAgentPoolName *string `pulumi:"sinkAgentPoolName"`
	// Specifies the agent pool name associated with the posix data source. When unspecified, the default name is used.
	SourceAgentPoolName *string `pulumi:"sourceAgentPoolName"`
	// 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"`
	// A POSIX data sink. Structure documented below.
	PosixDataSink TransferJobTransferSpecPosixDataSinkPtrInput `pulumi:"posixDataSink"`
	// A POSIX filesystem data source. Structure documented below.
	PosixDataSource TransferJobTransferSpecPosixDataSourcePtrInput `pulumi:"posixDataSource"`
	// Specifies the agent pool name associated with the posix data sink. When unspecified, the default name is used.
	SinkAgentPoolName pulumi.StringPtrInput `pulumi:"sinkAgentPoolName"`
	// Specifies the agent pool name associated with the posix data source. When unspecified, the default name is used.
	SourceAgentPoolName pulumi.StringPtrInput `pulumi:"sourceAgentPoolName"`
	// 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) ToOutput added in v6.65.1

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"`
	// Google Cloud Storage 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"`
	// The Amazon Resource Name (ARN) of the role to support temporary credentials via 'AssumeRoleWithWebIdentity'. For more information about ARNs, see [IAM ARNs](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-arns). When a role ARN is provided, Transfer Service fetches temporary credentials for the session using a 'AssumeRoleWithWebIdentity' call for the provided role using the [GoogleServiceAccount][] for this project.
	RoleArn *string `pulumi:"roleArn"`
}

type TransferJobTransferSpecAwsS3DataSourceArgs

type TransferJobTransferSpecAwsS3DataSourceArgs struct {
	// AWS credentials block.
	AwsAccessKey TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyPtrInput `pulumi:"awsAccessKey"`
	// Google Cloud Storage 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"`
	// The Amazon Resource Name (ARN) of the role to support temporary credentials via 'AssumeRoleWithWebIdentity'. For more information about ARNs, see [IAM ARNs](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-arns). When a role ARN is provided, Transfer Service fetches temporary credentials for the session using a 'AssumeRoleWithWebIdentity' call for the provided role using the [GoogleServiceAccount][] for this project.
	RoleArn pulumi.StringPtrInput `pulumi:"roleArn"`
}

func (TransferJobTransferSpecAwsS3DataSourceArgs) ElementType

func (TransferJobTransferSpecAwsS3DataSourceArgs) ToOutput added in v6.65.1

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) ToOutput added in v6.65.1

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) ToOutput added in v6.65.1

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) ToOutput added in v6.65.1

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

Google Cloud Storage bucket name.

func (TransferJobTransferSpecAwsS3DataSourceOutput) ElementType

func (TransferJobTransferSpecAwsS3DataSourceOutput) Path added in v6.57.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 (TransferJobTransferSpecAwsS3DataSourceOutput) RoleArn added in v6.10.0

The Amazon Resource Name (ARN) of the role to support temporary credentials via 'AssumeRoleWithWebIdentity'. For more information about ARNs, see [IAM ARNs](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-arns). When a role ARN is provided, Transfer Service fetches temporary credentials for the session using a 'AssumeRoleWithWebIdentity' call for the provided role using the [GoogleServiceAccount][] for this project.

func (TransferJobTransferSpecAwsS3DataSourceOutput) ToOutput added in v6.65.1

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

Google Cloud Storage bucket name.

func (TransferJobTransferSpecAwsS3DataSourcePtrOutput) Elem

func (TransferJobTransferSpecAwsS3DataSourcePtrOutput) ElementType

func (TransferJobTransferSpecAwsS3DataSourcePtrOutput) Path added in v6.57.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 (TransferJobTransferSpecAwsS3DataSourcePtrOutput) RoleArn added in v6.10.0

The Amazon Resource Name (ARN) of the role to support temporary credentials via 'AssumeRoleWithWebIdentity'. For more information about ARNs, see [IAM ARNs](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-arns). When a role ARN is provided, Transfer Service fetches temporary credentials for the session using a 'AssumeRoleWithWebIdentity' call for the provided role using the [GoogleServiceAccount][] for this project.

func (TransferJobTransferSpecAwsS3DataSourcePtrOutput) ToOutput added in v6.65.1

func (TransferJobTransferSpecAwsS3DataSourcePtrOutput) ToTransferJobTransferSpecAwsS3DataSourcePtrOutput

func (o TransferJobTransferSpecAwsS3DataSourcePtrOutput) ToTransferJobTransferSpecAwsS3DataSourcePtrOutput() TransferJobTransferSpecAwsS3DataSourcePtrOutput

func (TransferJobTransferSpecAwsS3DataSourcePtrOutput) ToTransferJobTransferSpecAwsS3DataSourcePtrOutputWithContext

func (o TransferJobTransferSpecAwsS3DataSourcePtrOutput) ToTransferJobTransferSpecAwsS3DataSourcePtrOutputWithContext(ctx context.Context) TransferJobTransferSpecAwsS3DataSourcePtrOutput

type TransferJobTransferSpecAzureBlobStorageDataSource

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

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

func (TransferJobTransferSpecAzureBlobStorageDataSourceArgs) ToOutput added in v6.65.1

func (TransferJobTransferSpecAzureBlobStorageDataSourceArgs) ToTransferJobTransferSpecAzureBlobStorageDataSourceOutput

func (i TransferJobTransferSpecAzureBlobStorageDataSourceArgs) ToTransferJobTransferSpecAzureBlobStorageDataSourceOutput() TransferJobTransferSpecAzureBlobStorageDataSourceOutput

func (TransferJobTransferSpecAzureBlobStorageDataSourceArgs) ToTransferJobTransferSpecAzureBlobStorageDataSourceOutputWithContext

func (i TransferJobTransferSpecAzureBlobStorageDataSourceArgs) ToTransferJobTransferSpecAzureBlobStorageDataSourceOutputWithContext(ctx context.Context) TransferJobTransferSpecAzureBlobStorageDataSourceOutput

func (TransferJobTransferSpecAzureBlobStorageDataSourceArgs) ToTransferJobTransferSpecAzureBlobStorageDataSourcePtrOutput

func (i TransferJobTransferSpecAzureBlobStorageDataSourceArgs) ToTransferJobTransferSpecAzureBlobStorageDataSourcePtrOutput() TransferJobTransferSpecAzureBlobStorageDataSourcePtrOutput

func (TransferJobTransferSpecAzureBlobStorageDataSourceArgs) ToTransferJobTransferSpecAzureBlobStorageDataSourcePtrOutputWithContext

func (i TransferJobTransferSpecAzureBlobStorageDataSourceArgs) ToTransferJobTransferSpecAzureBlobStorageDataSourcePtrOutputWithContext(ctx context.Context) TransferJobTransferSpecAzureBlobStorageDataSourcePtrOutput

type TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentials

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).
	//
	// <a name="nestedScheduleStartEndDate"></a>The `scheduleStartDate` and `scheduleEndDate` blocks support:
	SasToken string `pulumi:"sasToken"`
}

type TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsArgs

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).
	//
	// <a name="nestedScheduleStartEndDate"></a>The `scheduleStartDate` and `scheduleEndDate` blocks support:
	SasToken pulumi.StringInput `pulumi:"sasToken"`
}

func (TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsArgs) ElementType

func (TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsArgs) ToOutput added in v6.65.1

func (TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsArgs) ToTransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsOutput

func (TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsArgs) ToTransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsOutputWithContext

func (i TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsArgs) ToTransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsOutputWithContext(ctx context.Context) TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsOutput

func (TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsArgs) ToTransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsPtrOutput

func (TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsArgs) ToTransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsPtrOutputWithContext

func (i TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsArgs) ToTransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsPtrOutputWithContext(ctx context.Context) TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsPtrOutput

type TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsInput

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

type TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsOutput struct{ *pulumi.OutputState }

func (TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsOutput) ElementType

func (TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsOutput) SasToken

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).

<a name="nestedScheduleStartEndDate"></a>The `scheduleStartDate` and `scheduleEndDate` blocks support:

func (TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsOutput) ToOutput added in v6.65.1

func (TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsOutput) ToTransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsOutput

func (TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsOutput) ToTransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsOutputWithContext

func (o TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsOutput) ToTransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsOutputWithContext(ctx context.Context) TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsOutput

func (TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsOutput) ToTransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsPtrOutput

func (TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsOutput) ToTransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsPtrOutputWithContext

func (o TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsOutput) ToTransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsPtrOutputWithContext(ctx context.Context) TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsPtrOutput

type TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsPtrInput

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

type TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsPtrOutput struct{ *pulumi.OutputState }

func (TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsPtrOutput) Elem

func (TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsPtrOutput) ElementType

func (TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsPtrOutput) SasToken

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).

<a name="nestedScheduleStartEndDate"></a>The `scheduleStartDate` and `scheduleEndDate` blocks support:

func (TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsPtrOutput) ToOutput added in v6.65.1

func (TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsPtrOutput) ToTransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsPtrOutput

func (TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsPtrOutput) ToTransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsPtrOutputWithContext

type TransferJobTransferSpecAzureBlobStorageDataSourceInput

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

type TransferJobTransferSpecAzureBlobStorageDataSourceOutput struct{ *pulumi.OutputState }

func (TransferJobTransferSpecAzureBlobStorageDataSourceOutput) AzureCredentials

Credentials used to authenticate API requests to Azure block.

func (TransferJobTransferSpecAzureBlobStorageDataSourceOutput) Container

The container to transfer from the Azure Storage account.`

func (TransferJobTransferSpecAzureBlobStorageDataSourceOutput) ElementType

func (TransferJobTransferSpecAzureBlobStorageDataSourceOutput) Path

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

The name of the Azure Storage account.

func (TransferJobTransferSpecAzureBlobStorageDataSourceOutput) ToOutput added in v6.65.1

func (TransferJobTransferSpecAzureBlobStorageDataSourceOutput) ToTransferJobTransferSpecAzureBlobStorageDataSourceOutput

func (TransferJobTransferSpecAzureBlobStorageDataSourceOutput) ToTransferJobTransferSpecAzureBlobStorageDataSourceOutputWithContext

func (o TransferJobTransferSpecAzureBlobStorageDataSourceOutput) ToTransferJobTransferSpecAzureBlobStorageDataSourceOutputWithContext(ctx context.Context) TransferJobTransferSpecAzureBlobStorageDataSourceOutput

func (TransferJobTransferSpecAzureBlobStorageDataSourceOutput) ToTransferJobTransferSpecAzureBlobStorageDataSourcePtrOutput

func (TransferJobTransferSpecAzureBlobStorageDataSourceOutput) ToTransferJobTransferSpecAzureBlobStorageDataSourcePtrOutputWithContext

func (o TransferJobTransferSpecAzureBlobStorageDataSourceOutput) ToTransferJobTransferSpecAzureBlobStorageDataSourcePtrOutputWithContext(ctx context.Context) TransferJobTransferSpecAzureBlobStorageDataSourcePtrOutput

type TransferJobTransferSpecAzureBlobStorageDataSourcePtrInput

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

type TransferJobTransferSpecAzureBlobStorageDataSourcePtrOutput struct{ *pulumi.OutputState }

func (TransferJobTransferSpecAzureBlobStorageDataSourcePtrOutput) AzureCredentials

Credentials used to authenticate API requests to Azure block.

func (TransferJobTransferSpecAzureBlobStorageDataSourcePtrOutput) Container

The container to transfer from the Azure Storage account.`

func (TransferJobTransferSpecAzureBlobStorageDataSourcePtrOutput) Elem

func (TransferJobTransferSpecAzureBlobStorageDataSourcePtrOutput) ElementType

func (TransferJobTransferSpecAzureBlobStorageDataSourcePtrOutput) Path

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

The name of the Azure Storage account.

func (TransferJobTransferSpecAzureBlobStorageDataSourcePtrOutput) ToOutput added in v6.65.1

func (TransferJobTransferSpecAzureBlobStorageDataSourcePtrOutput) ToTransferJobTransferSpecAzureBlobStorageDataSourcePtrOutput

func (TransferJobTransferSpecAzureBlobStorageDataSourcePtrOutput) ToTransferJobTransferSpecAzureBlobStorageDataSourcePtrOutputWithContext

func (o TransferJobTransferSpecAzureBlobStorageDataSourcePtrOutput) ToTransferJobTransferSpecAzureBlobStorageDataSourcePtrOutputWithContext(ctx context.Context) TransferJobTransferSpecAzureBlobStorageDataSourcePtrOutput

type TransferJobTransferSpecGcsDataSink

type TransferJobTransferSpecGcsDataSink struct {
	// Google Cloud Storage 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 {
	// Google Cloud Storage 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) ToOutput added in v6.65.1

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

Google Cloud Storage bucket name.

func (TransferJobTransferSpecGcsDataSinkOutput) ElementType

func (TransferJobTransferSpecGcsDataSinkOutput) Path

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) ToOutput added in v6.65.1

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

Google Cloud Storage bucket name.

func (TransferJobTransferSpecGcsDataSinkPtrOutput) Elem

func (TransferJobTransferSpecGcsDataSinkPtrOutput) ElementType

func (TransferJobTransferSpecGcsDataSinkPtrOutput) Path

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) ToOutput added in v6.65.1

func (TransferJobTransferSpecGcsDataSinkPtrOutput) ToTransferJobTransferSpecGcsDataSinkPtrOutput

func (o TransferJobTransferSpecGcsDataSinkPtrOutput) ToTransferJobTransferSpecGcsDataSinkPtrOutput() TransferJobTransferSpecGcsDataSinkPtrOutput

func (TransferJobTransferSpecGcsDataSinkPtrOutput) ToTransferJobTransferSpecGcsDataSinkPtrOutputWithContext

func (o TransferJobTransferSpecGcsDataSinkPtrOutput) ToTransferJobTransferSpecGcsDataSinkPtrOutputWithContext(ctx context.Context) TransferJobTransferSpecGcsDataSinkPtrOutput

type TransferJobTransferSpecGcsDataSource

type TransferJobTransferSpecGcsDataSource struct {
	// Google Cloud Storage 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 {
	// Google Cloud Storage 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) ToOutput added in v6.65.1

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

Google Cloud Storage bucket name.

func (TransferJobTransferSpecGcsDataSourceOutput) ElementType

func (TransferJobTransferSpecGcsDataSourceOutput) Path

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) ToOutput added in v6.65.1

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

Google Cloud Storage bucket name.

func (TransferJobTransferSpecGcsDataSourcePtrOutput) Elem

func (TransferJobTransferSpecGcsDataSourcePtrOutput) ElementType

func (TransferJobTransferSpecGcsDataSourcePtrOutput) Path

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) ToOutput added in v6.65.1

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) ToOutput added in v6.65.1

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) ToOutput added in v6.65.1

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) ToOutput added in v6.65.1

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"`
	// If specified, only objects with a "last modification time" before this timestamp and objects that don't have a "last modification time" are transferred. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
	LastModifiedBefore *string `pulumi:"lastModifiedBefore"`
	// If specified, only objects with a "last modification time" on or after this timestamp and objects that don't have a "last modification time" are transferred. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
	LastModifiedSince *string `pulumi:"lastModifiedSince"`
	// 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"`
	// If specified, only objects with a "last modification time" before this timestamp and objects that don't have a "last modification time" are transferred. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
	LastModifiedBefore pulumi.StringPtrInput `pulumi:"lastModifiedBefore"`
	// If specified, only objects with a "last modification time" on or after this timestamp and objects that don't have a "last modification time" are transferred. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
	LastModifiedSince pulumi.StringPtrInput `pulumi:"lastModifiedSince"`
	// 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) ToOutput added in v6.65.1

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) LastModifiedBefore added in v6.54.0

If specified, only objects with a "last modification time" before this timestamp and objects that don't have a "last modification time" are transferred. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".

func (TransferJobTransferSpecObjectConditionsOutput) LastModifiedSince added in v6.54.0

If specified, only objects with a "last modification time" on or after this timestamp and objects that don't have a "last modification time" are transferred. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".

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) ToOutput added in v6.65.1

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) LastModifiedBefore added in v6.54.0

If specified, only objects with a "last modification time" before this timestamp and objects that don't have a "last modification time" are transferred. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".

func (TransferJobTransferSpecObjectConditionsPtrOutput) LastModifiedSince added in v6.54.0

If specified, only objects with a "last modification time" on or after this timestamp and objects that don't have a "last modification time" are transferred. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".

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) ToOutput added in v6.65.1

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

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) PosixDataSink added in v6.12.0

A POSIX data sink. Structure documented below.

func (TransferJobTransferSpecOutput) PosixDataSource added in v6.12.0

A POSIX filesystem data source. Structure documented below.

func (TransferJobTransferSpecOutput) SinkAgentPoolName added in v6.51.0

Specifies the agent pool name associated with the posix data sink. When unspecified, the default name is used.

func (TransferJobTransferSpecOutput) SourceAgentPoolName added in v6.51.0

func (o TransferJobTransferSpecOutput) SourceAgentPoolName() pulumi.StringPtrOutput

Specifies the agent pool name associated with the posix data source. When unspecified, the default name is used.

func (TransferJobTransferSpecOutput) ToOutput added in v6.65.1

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 TransferJobTransferSpecPosixDataSink added in v6.12.0

type TransferJobTransferSpecPosixDataSink struct {
	// Root directory path to the filesystem.
	RootDirectory string `pulumi:"rootDirectory"`
}

type TransferJobTransferSpecPosixDataSinkArgs added in v6.12.0

type TransferJobTransferSpecPosixDataSinkArgs struct {
	// Root directory path to the filesystem.
	RootDirectory pulumi.StringInput `pulumi:"rootDirectory"`
}

func (TransferJobTransferSpecPosixDataSinkArgs) ElementType added in v6.12.0

func (TransferJobTransferSpecPosixDataSinkArgs) ToOutput added in v6.65.1

func (TransferJobTransferSpecPosixDataSinkArgs) ToTransferJobTransferSpecPosixDataSinkOutput added in v6.12.0

func (i TransferJobTransferSpecPosixDataSinkArgs) ToTransferJobTransferSpecPosixDataSinkOutput() TransferJobTransferSpecPosixDataSinkOutput

func (TransferJobTransferSpecPosixDataSinkArgs) ToTransferJobTransferSpecPosixDataSinkOutputWithContext added in v6.12.0

func (i TransferJobTransferSpecPosixDataSinkArgs) ToTransferJobTransferSpecPosixDataSinkOutputWithContext(ctx context.Context) TransferJobTransferSpecPosixDataSinkOutput

func (TransferJobTransferSpecPosixDataSinkArgs) ToTransferJobTransferSpecPosixDataSinkPtrOutput added in v6.12.0

func (i TransferJobTransferSpecPosixDataSinkArgs) ToTransferJobTransferSpecPosixDataSinkPtrOutput() TransferJobTransferSpecPosixDataSinkPtrOutput

func (TransferJobTransferSpecPosixDataSinkArgs) ToTransferJobTransferSpecPosixDataSinkPtrOutputWithContext added in v6.12.0

func (i TransferJobTransferSpecPosixDataSinkArgs) ToTransferJobTransferSpecPosixDataSinkPtrOutputWithContext(ctx context.Context) TransferJobTransferSpecPosixDataSinkPtrOutput

type TransferJobTransferSpecPosixDataSinkInput added in v6.12.0

type TransferJobTransferSpecPosixDataSinkInput interface {
	pulumi.Input

	ToTransferJobTransferSpecPosixDataSinkOutput() TransferJobTransferSpecPosixDataSinkOutput
	ToTransferJobTransferSpecPosixDataSinkOutputWithContext(context.Context) TransferJobTransferSpecPosixDataSinkOutput
}

TransferJobTransferSpecPosixDataSinkInput is an input type that accepts TransferJobTransferSpecPosixDataSinkArgs and TransferJobTransferSpecPosixDataSinkOutput values. You can construct a concrete instance of `TransferJobTransferSpecPosixDataSinkInput` via:

TransferJobTransferSpecPosixDataSinkArgs{...}

type TransferJobTransferSpecPosixDataSinkOutput added in v6.12.0

type TransferJobTransferSpecPosixDataSinkOutput struct{ *pulumi.OutputState }

func (TransferJobTransferSpecPosixDataSinkOutput) ElementType added in v6.12.0

func (TransferJobTransferSpecPosixDataSinkOutput) RootDirectory added in v6.12.0

Root directory path to the filesystem.

func (TransferJobTransferSpecPosixDataSinkOutput) ToOutput added in v6.65.1

func (TransferJobTransferSpecPosixDataSinkOutput) ToTransferJobTransferSpecPosixDataSinkOutput added in v6.12.0

func (o TransferJobTransferSpecPosixDataSinkOutput) ToTransferJobTransferSpecPosixDataSinkOutput() TransferJobTransferSpecPosixDataSinkOutput

func (TransferJobTransferSpecPosixDataSinkOutput) ToTransferJobTransferSpecPosixDataSinkOutputWithContext added in v6.12.0

func (o TransferJobTransferSpecPosixDataSinkOutput) ToTransferJobTransferSpecPosixDataSinkOutputWithContext(ctx context.Context) TransferJobTransferSpecPosixDataSinkOutput

func (TransferJobTransferSpecPosixDataSinkOutput) ToTransferJobTransferSpecPosixDataSinkPtrOutput added in v6.12.0

func (o TransferJobTransferSpecPosixDataSinkOutput) ToTransferJobTransferSpecPosixDataSinkPtrOutput() TransferJobTransferSpecPosixDataSinkPtrOutput

func (TransferJobTransferSpecPosixDataSinkOutput) ToTransferJobTransferSpecPosixDataSinkPtrOutputWithContext added in v6.12.0

func (o TransferJobTransferSpecPosixDataSinkOutput) ToTransferJobTransferSpecPosixDataSinkPtrOutputWithContext(ctx context.Context) TransferJobTransferSpecPosixDataSinkPtrOutput

type TransferJobTransferSpecPosixDataSinkPtrInput added in v6.12.0

type TransferJobTransferSpecPosixDataSinkPtrInput interface {
	pulumi.Input

	ToTransferJobTransferSpecPosixDataSinkPtrOutput() TransferJobTransferSpecPosixDataSinkPtrOutput
	ToTransferJobTransferSpecPosixDataSinkPtrOutputWithContext(context.Context) TransferJobTransferSpecPosixDataSinkPtrOutput
}

TransferJobTransferSpecPosixDataSinkPtrInput is an input type that accepts TransferJobTransferSpecPosixDataSinkArgs, TransferJobTransferSpecPosixDataSinkPtr and TransferJobTransferSpecPosixDataSinkPtrOutput values. You can construct a concrete instance of `TransferJobTransferSpecPosixDataSinkPtrInput` via:

        TransferJobTransferSpecPosixDataSinkArgs{...}

or:

        nil

type TransferJobTransferSpecPosixDataSinkPtrOutput added in v6.12.0

type TransferJobTransferSpecPosixDataSinkPtrOutput struct{ *pulumi.OutputState }

func (TransferJobTransferSpecPosixDataSinkPtrOutput) Elem added in v6.12.0

func (TransferJobTransferSpecPosixDataSinkPtrOutput) ElementType added in v6.12.0

func (TransferJobTransferSpecPosixDataSinkPtrOutput) RootDirectory added in v6.12.0

Root directory path to the filesystem.

func (TransferJobTransferSpecPosixDataSinkPtrOutput) ToOutput added in v6.65.1

func (TransferJobTransferSpecPosixDataSinkPtrOutput) ToTransferJobTransferSpecPosixDataSinkPtrOutput added in v6.12.0

func (o TransferJobTransferSpecPosixDataSinkPtrOutput) ToTransferJobTransferSpecPosixDataSinkPtrOutput() TransferJobTransferSpecPosixDataSinkPtrOutput

func (TransferJobTransferSpecPosixDataSinkPtrOutput) ToTransferJobTransferSpecPosixDataSinkPtrOutputWithContext added in v6.12.0

func (o TransferJobTransferSpecPosixDataSinkPtrOutput) ToTransferJobTransferSpecPosixDataSinkPtrOutputWithContext(ctx context.Context) TransferJobTransferSpecPosixDataSinkPtrOutput

type TransferJobTransferSpecPosixDataSource added in v6.12.0

type TransferJobTransferSpecPosixDataSource struct {
	// Root directory path to the filesystem.
	//
	// <a name="nestedAwsS3DataSource"></a>The `awsS3DataSource` block supports:
	RootDirectory string `pulumi:"rootDirectory"`
}

type TransferJobTransferSpecPosixDataSourceArgs added in v6.12.0

type TransferJobTransferSpecPosixDataSourceArgs struct {
	// Root directory path to the filesystem.
	//
	// <a name="nestedAwsS3DataSource"></a>The `awsS3DataSource` block supports:
	RootDirectory pulumi.StringInput `pulumi:"rootDirectory"`
}

func (TransferJobTransferSpecPosixDataSourceArgs) ElementType added in v6.12.0

func (TransferJobTransferSpecPosixDataSourceArgs) ToOutput added in v6.65.1

func (TransferJobTransferSpecPosixDataSourceArgs) ToTransferJobTransferSpecPosixDataSourceOutput added in v6.12.0

func (i TransferJobTransferSpecPosixDataSourceArgs) ToTransferJobTransferSpecPosixDataSourceOutput() TransferJobTransferSpecPosixDataSourceOutput

func (TransferJobTransferSpecPosixDataSourceArgs) ToTransferJobTransferSpecPosixDataSourceOutputWithContext added in v6.12.0

func (i TransferJobTransferSpecPosixDataSourceArgs) ToTransferJobTransferSpecPosixDataSourceOutputWithContext(ctx context.Context) TransferJobTransferSpecPosixDataSourceOutput

func (TransferJobTransferSpecPosixDataSourceArgs) ToTransferJobTransferSpecPosixDataSourcePtrOutput added in v6.12.0

func (i TransferJobTransferSpecPosixDataSourceArgs) ToTransferJobTransferSpecPosixDataSourcePtrOutput() TransferJobTransferSpecPosixDataSourcePtrOutput

func (TransferJobTransferSpecPosixDataSourceArgs) ToTransferJobTransferSpecPosixDataSourcePtrOutputWithContext added in v6.12.0

func (i TransferJobTransferSpecPosixDataSourceArgs) ToTransferJobTransferSpecPosixDataSourcePtrOutputWithContext(ctx context.Context) TransferJobTransferSpecPosixDataSourcePtrOutput

type TransferJobTransferSpecPosixDataSourceInput added in v6.12.0

type TransferJobTransferSpecPosixDataSourceInput interface {
	pulumi.Input

	ToTransferJobTransferSpecPosixDataSourceOutput() TransferJobTransferSpecPosixDataSourceOutput
	ToTransferJobTransferSpecPosixDataSourceOutputWithContext(context.Context) TransferJobTransferSpecPosixDataSourceOutput
}

TransferJobTransferSpecPosixDataSourceInput is an input type that accepts TransferJobTransferSpecPosixDataSourceArgs and TransferJobTransferSpecPosixDataSourceOutput values. You can construct a concrete instance of `TransferJobTransferSpecPosixDataSourceInput` via:

TransferJobTransferSpecPosixDataSourceArgs{...}

type TransferJobTransferSpecPosixDataSourceOutput added in v6.12.0

type TransferJobTransferSpecPosixDataSourceOutput struct{ *pulumi.OutputState }

func (TransferJobTransferSpecPosixDataSourceOutput) ElementType added in v6.12.0

func (TransferJobTransferSpecPosixDataSourceOutput) RootDirectory added in v6.12.0

Root directory path to the filesystem.

<a name="nestedAwsS3DataSource"></a>The `awsS3DataSource` block supports:

func (TransferJobTransferSpecPosixDataSourceOutput) ToOutput added in v6.65.1

func (TransferJobTransferSpecPosixDataSourceOutput) ToTransferJobTransferSpecPosixDataSourceOutput added in v6.12.0

func (o TransferJobTransferSpecPosixDataSourceOutput) ToTransferJobTransferSpecPosixDataSourceOutput() TransferJobTransferSpecPosixDataSourceOutput

func (TransferJobTransferSpecPosixDataSourceOutput) ToTransferJobTransferSpecPosixDataSourceOutputWithContext added in v6.12.0

func (o TransferJobTransferSpecPosixDataSourceOutput) ToTransferJobTransferSpecPosixDataSourceOutputWithContext(ctx context.Context) TransferJobTransferSpecPosixDataSourceOutput

func (TransferJobTransferSpecPosixDataSourceOutput) ToTransferJobTransferSpecPosixDataSourcePtrOutput added in v6.12.0

func (o TransferJobTransferSpecPosixDataSourceOutput) ToTransferJobTransferSpecPosixDataSourcePtrOutput() TransferJobTransferSpecPosixDataSourcePtrOutput

func (TransferJobTransferSpecPosixDataSourceOutput) ToTransferJobTransferSpecPosixDataSourcePtrOutputWithContext added in v6.12.0

func (o TransferJobTransferSpecPosixDataSourceOutput) ToTransferJobTransferSpecPosixDataSourcePtrOutputWithContext(ctx context.Context) TransferJobTransferSpecPosixDataSourcePtrOutput

type TransferJobTransferSpecPosixDataSourcePtrInput added in v6.12.0

type TransferJobTransferSpecPosixDataSourcePtrInput interface {
	pulumi.Input

	ToTransferJobTransferSpecPosixDataSourcePtrOutput() TransferJobTransferSpecPosixDataSourcePtrOutput
	ToTransferJobTransferSpecPosixDataSourcePtrOutputWithContext(context.Context) TransferJobTransferSpecPosixDataSourcePtrOutput
}

TransferJobTransferSpecPosixDataSourcePtrInput is an input type that accepts TransferJobTransferSpecPosixDataSourceArgs, TransferJobTransferSpecPosixDataSourcePtr and TransferJobTransferSpecPosixDataSourcePtrOutput values. You can construct a concrete instance of `TransferJobTransferSpecPosixDataSourcePtrInput` via:

        TransferJobTransferSpecPosixDataSourceArgs{...}

or:

        nil

type TransferJobTransferSpecPosixDataSourcePtrOutput added in v6.12.0

type TransferJobTransferSpecPosixDataSourcePtrOutput struct{ *pulumi.OutputState }

func (TransferJobTransferSpecPosixDataSourcePtrOutput) Elem added in v6.12.0

func (TransferJobTransferSpecPosixDataSourcePtrOutput) ElementType added in v6.12.0

func (TransferJobTransferSpecPosixDataSourcePtrOutput) RootDirectory added in v6.12.0

Root directory path to the filesystem.

<a name="nestedAwsS3DataSource"></a>The `awsS3DataSource` block supports:

func (TransferJobTransferSpecPosixDataSourcePtrOutput) ToOutput added in v6.65.1

func (TransferJobTransferSpecPosixDataSourcePtrOutput) ToTransferJobTransferSpecPosixDataSourcePtrOutput added in v6.12.0

func (o TransferJobTransferSpecPosixDataSourcePtrOutput) ToTransferJobTransferSpecPosixDataSourcePtrOutput() TransferJobTransferSpecPosixDataSourcePtrOutput

func (TransferJobTransferSpecPosixDataSourcePtrOutput) ToTransferJobTransferSpecPosixDataSourcePtrOutputWithContext added in v6.12.0

func (o TransferJobTransferSpecPosixDataSourcePtrOutput) ToTransferJobTransferSpecPosixDataSourcePtrOutputWithContext(ctx context.Context) TransferJobTransferSpecPosixDataSourcePtrOutput

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

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) PosixDataSink added in v6.12.0

A POSIX data sink. Structure documented below.

func (TransferJobTransferSpecPtrOutput) PosixDataSource added in v6.12.0

A POSIX filesystem data source. Structure documented below.

func (TransferJobTransferSpecPtrOutput) SinkAgentPoolName added in v6.51.0

Specifies the agent pool name associated with the posix data sink. When unspecified, the default name is used.

func (TransferJobTransferSpecPtrOutput) SourceAgentPoolName added in v6.51.0

Specifies the agent pool name associated with the posix data source. When unspecified, the default name is used.

func (TransferJobTransferSpecPtrOutput) ToOutput added in v6.65.1

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"`
	// When to overwrite objects that already exist in the sink. If not set, overwrite behavior is determined by `overwriteObjectsAlreadyExistingInSink`. Possible values: ALWAYS, DIFFERENT, NEVER.
	OverwriteWhen *string `pulumi:"overwriteWhen"`
}

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"`
	// When to overwrite objects that already exist in the sink. If not set, overwrite behavior is determined by `overwriteObjectsAlreadyExistingInSink`. Possible values: ALWAYS, DIFFERENT, NEVER.
	OverwriteWhen pulumi.StringPtrInput `pulumi:"overwriteWhen"`
}

func (TransferJobTransferSpecTransferOptionsArgs) ElementType

func (TransferJobTransferSpecTransferOptionsArgs) ToOutput added in v6.65.1

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) OverwriteWhen added in v6.39.0

When to overwrite objects that already exist in the sink. If not set, overwrite behavior is determined by `overwriteObjectsAlreadyExistingInSink`. Possible values: ALWAYS, DIFFERENT, NEVER.

func (TransferJobTransferSpecTransferOptionsOutput) ToOutput added in v6.65.1

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) OverwriteWhen added in v6.39.0

When to overwrite objects that already exist in the sink. If not set, overwrite behavior is determined by `overwriteObjectsAlreadyExistingInSink`. Possible values: ALWAYS, DIFFERENT, NEVER.

func (TransferJobTransferSpecTransferOptionsPtrOutput) ToOutput added in v6.65.1

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