storage

package
v8.13.0 Latest Latest
Warning

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

Go to latest
Published: Jan 7, 2025 License: Apache-2.0 Imports: 7 Imported by: 2

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"`
	EffectiveLabels       pulumi.StringMapOutput `pulumi:"effectiveLabels"`
	// Enables [object retention](https://cloud.google.com/storage/docs/object-lock) on a storage bucket.
	EnableObjectRetention pulumi.BoolPtrOutput `pulumi:"enableObjectRetention"`
	// 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"`
	// The bucket's hierarchical namespace policy, which defines the bucket capability to handle folders in logical structure. Structure is documented below. To use this configuration, `uniformBucketLevelAccess` must be enabled on bucket.
	HierarchicalNamespace BucketHierarchicalNamespacePtrOutput `pulumi:"hierarchicalNamespace"`
	// 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"`
	// The project number of the project in which the resource belongs.
	ProjectNumber pulumi.IntOutput `pulumi:"projectNumber"`
	// 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"`
	// The combination of labels configured directly on the resource and default labels configured on the provider.
	PulumiLabels pulumi.StringMapOutput `pulumi:"pulumiLabels"`
	// 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 recovery point objective for cross-region replication of the bucket. Applicable only for dual and multi-region buckets. `"DEFAULT"` sets default replication. `"ASYNC_TURBO"` value enables turbo replication, valid for dual-region buckets only. See [Turbo Replication](https://cloud.google.com/storage/docs/managing-turbo-replication) for more information. If rpo is not specified at bucket creation, it defaults to `"DEFAULT"` for dual and multi-region buckets. **NOTE** If used with single-region bucket, It will throw an error.
	Rpo pulumi.StringOutput `pulumi:"rpo"`
	// The URI of the created resource.
	SelfLink pulumi.StringOutput `pulumi:"selfLink"`
	// The bucket's soft delete policy, which defines the period of time that soft-deleted objects will be retained, and cannot
	// be permanently deleted. If it is not provided, by default Google Cloud Storage sets this to default soft delete policy
	SoftDeletePolicy BucketSoftDeletePolicyOutput `pulumi:"softDeletePolicy"`
	// 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/v8/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{
			Name:                     pulumi.String("image-store.com"),
			Location:                 pulumi.String("EU"),
			ForceDestroy:             pulumi.Bool(true),
			UniformBucketLevelAccess: pulumi.Bool(true),
			Website: &storage.BucketWebsiteArgs{
				MainPageSuffix: pulumi.String("index.html"),
				NotFoundPage:   pulumi.String("404.html"),
			},
			Cors: storage.BucketCorArray{
				&storage.BucketCorArgs{
					Origins: pulumi.StringArray{
						pulumi.String("http://image-store.com"),
					},
					Methods: pulumi.StringArray{
						pulumi.String("GET"),
						pulumi.String("HEAD"),
						pulumi.String("PUT"),
						pulumi.String("POST"),
						pulumi.String("DELETE"),
					},
					ResponseHeaders: pulumi.StringArray{
						pulumi.String("*"),
					},
					MaxAgeSeconds: pulumi.Int(3600),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

### Life Cycle Settings For Storage Bucket Objects

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v8/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{
			Name:         pulumi.String("auto-expiring-bucket"),
			Location:     pulumi.String("US"),
			ForceDestroy: pulumi.Bool(true),
			LifecycleRules: storage.BucketLifecycleRuleArray{
				&storage.BucketLifecycleRuleArgs{
					Condition: &storage.BucketLifecycleRuleConditionArgs{
						Age: pulumi.Int(3),
					},
					Action: &storage.BucketLifecycleRuleActionArgs{
						Type: pulumi.String("Delete"),
					},
				},
				&storage.BucketLifecycleRuleArgs{
					Condition: &storage.BucketLifecycleRuleConditionArgs{
						Age: pulumi.Int(1),
					},
					Action: &storage.BucketLifecycleRuleActionArgs{
						Type: pulumi.String("AbortIncompleteMultipartUpload"),
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

### Life Cycle Settings For Storage Bucket Objects With `Send_age_if_zero` Disabled When creating a life cycle condition that does not also include an `age` field, a default `age` of 0 will be set. Set the `sendAgeIfZero` flag to `false` to prevent this and avoid any potentially unintended interactions.

```go package main

import (

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

)

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

```

### Enabling Public Access Prevention

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v8/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{
			Name:                   pulumi.String("no-public-access-bucket"),
			Location:               pulumi.String("US"),
			ForceDestroy:           pulumi.Bool(true),
			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).

* `{{project_id}}/{{bucket}}`

* `{{bucket}}`

When using the `pulumi import` command, Storage buckets can be imported using one of the formats above. For example:

```sh $ pulumi import gcp:storage/bucket:Bucket default {{bucket}} ```

```sh $ pulumi import gcp:storage/bucket:Bucket default {{project_id}}/{{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

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/v8/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{
			Name:     pulumi.String("image-store-bucket"),
			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

type BucketACLArgs

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

The set of arguments for constructing a BucketACL resource.

func (BucketACLArgs) ElementType

func (BucketACLArgs) ElementType() reflect.Type

type BucketACLArray

type BucketACLArray []BucketACLInput

func (BucketACLArray) ElementType

func (BucketACLArray) ElementType() reflect.Type

func (BucketACLArray) ToBucketACLArrayOutput

func (i BucketACLArray) ToBucketACLArrayOutput() BucketACLArrayOutput

func (BucketACLArray) ToBucketACLArrayOutputWithContext

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

type BucketACLArrayInput

type BucketACLArrayInput interface {
	pulumi.Input

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

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

BucketACLArray{ BucketACLArgs{...} }

type BucketACLArrayOutput

type BucketACLArrayOutput struct{ *pulumi.OutputState }

func (BucketACLArrayOutput) ElementType

func (BucketACLArrayOutput) ElementType() reflect.Type

func (BucketACLArrayOutput) Index

func (BucketACLArrayOutput) ToBucketACLArrayOutput

func (o BucketACLArrayOutput) ToBucketACLArrayOutput() BucketACLArrayOutput

func (BucketACLArrayOutput) ToBucketACLArrayOutputWithContext

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

type BucketACLInput

type BucketACLInput interface {
	pulumi.Input

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

type BucketACLMap

type BucketACLMap map[string]BucketACLInput

func (BucketACLMap) ElementType

func (BucketACLMap) ElementType() reflect.Type

func (BucketACLMap) ToBucketACLMapOutput

func (i BucketACLMap) ToBucketACLMapOutput() BucketACLMapOutput

func (BucketACLMap) ToBucketACLMapOutputWithContext

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

type BucketACLMapInput

type BucketACLMapInput interface {
	pulumi.Input

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

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

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

type BucketACLMapOutput

type BucketACLMapOutput struct{ *pulumi.OutputState }

func (BucketACLMapOutput) ElementType

func (BucketACLMapOutput) ElementType() reflect.Type

func (BucketACLMapOutput) MapIndex

func (BucketACLMapOutput) ToBucketACLMapOutput

func (o BucketACLMapOutput) ToBucketACLMapOutput() BucketACLMapOutput

func (BucketACLMapOutput) ToBucketACLMapOutputWithContext

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

type BucketACLOutput

type BucketACLOutput struct{ *pulumi.OutputState }

func (BucketACLOutput) Bucket

func (o BucketACLOutput) Bucket() pulumi.StringOutput

The name of the bucket it applies to.

***

func (BucketACLOutput) DefaultAcl

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

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

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

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/v8/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{
			Name:     pulumi.String("static-content-bucket"),
			Location: pulumi.String("US"),
		})
		if err != nil {
			return err
		}
		_, err = storage.NewBucketAccessControl(ctx, "public_rule", &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:

* `{{bucket}}/{{entity}}`

When using the `pulumi import` command, BucketAccessControl can be imported using one of the formats above. For example:

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

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

type BucketAccessControlArrayInput

type BucketAccessControlArrayInput interface {
	pulumi.Input

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

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

BucketAccessControlArray{ BucketAccessControlArgs{...} }

type BucketAccessControlArrayOutput

type BucketAccessControlArrayOutput struct{ *pulumi.OutputState }

func (BucketAccessControlArrayOutput) ElementType

func (BucketAccessControlArrayOutput) Index

func (BucketAccessControlArrayOutput) ToBucketAccessControlArrayOutput

func (o BucketAccessControlArrayOutput) ToBucketAccessControlArrayOutput() BucketAccessControlArrayOutput

func (BucketAccessControlArrayOutput) ToBucketAccessControlArrayOutputWithContext

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

type BucketAccessControlInput

type BucketAccessControlInput interface {
	pulumi.Input

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

type BucketAccessControlMap

type BucketAccessControlMap map[string]BucketAccessControlInput

func (BucketAccessControlMap) ElementType

func (BucketAccessControlMap) ElementType() reflect.Type

func (BucketAccessControlMap) ToBucketAccessControlMapOutput

func (i BucketAccessControlMap) ToBucketAccessControlMapOutput() BucketAccessControlMapOutput

func (BucketAccessControlMap) ToBucketAccessControlMapOutputWithContext

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

type BucketAccessControlMapInput

type BucketAccessControlMapInput interface {
	pulumi.Input

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

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

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

type BucketAccessControlMapOutput

type BucketAccessControlMapOutput struct{ *pulumi.OutputState }

func (BucketAccessControlMapOutput) ElementType

func (BucketAccessControlMapOutput) MapIndex

func (BucketAccessControlMapOutput) ToBucketAccessControlMapOutput

func (o BucketAccessControlMapOutput) ToBucketAccessControlMapOutput() BucketAccessControlMapOutput

func (BucketAccessControlMapOutput) ToBucketAccessControlMapOutputWithContext

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

type BucketAccessControlOutput

type BucketAccessControlOutput struct{ *pulumi.OutputState }

func (BucketAccessControlOutput) Bucket

The name of the bucket.

func (BucketAccessControlOutput) Domain

The domain associated with the entity.

func (BucketAccessControlOutput) ElementType

func (BucketAccessControlOutput) ElementType() reflect.Type

func (BucketAccessControlOutput) Email

The email address associated with the entity.

func (BucketAccessControlOutput) Entity

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

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

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
	// Enables [object retention](https://cloud.google.com/storage/docs/object-lock) on a storage bucket.
	EnableObjectRetention 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
	// The bucket's hierarchical namespace policy, which defines the bucket capability to handle folders in logical structure. Structure is documented below. To use this configuration, `uniformBucketLevelAccess` must be enabled on bucket.
	HierarchicalNamespace BucketHierarchicalNamespacePtrInput
	// 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 recovery point objective for cross-region replication of the bucket. Applicable only for dual and multi-region buckets. `"DEFAULT"` sets default replication. `"ASYNC_TURBO"` value enables turbo replication, valid for dual-region buckets only. See [Turbo Replication](https://cloud.google.com/storage/docs/managing-turbo-replication) for more information. If rpo is not specified at bucket creation, it defaults to `"DEFAULT"` for dual and multi-region buckets. **NOTE** If used with single-region bucket, It will throw an error.
	Rpo pulumi.StringPtrInput
	// The bucket's soft delete policy, which defines the period of time that soft-deleted objects will be retained, and cannot
	// be permanently deleted. If it is not provided, by default Google Cloud Storage sets this to default soft delete policy
	SoftDeletePolicy BucketSoftDeletePolicyPtrInput
	// 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

type BucketArrayInput

type BucketArrayInput interface {
	pulumi.Input

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

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

BucketArray{ BucketArgs{...} }

type BucketArrayOutput

type BucketArrayOutput struct{ *pulumi.OutputState }

func (BucketArrayOutput) ElementType

func (BucketArrayOutput) ElementType() reflect.Type

func (BucketArrayOutput) Index

func (BucketArrayOutput) ToBucketArrayOutput

func (o BucketArrayOutput) ToBucketArrayOutput() BucketArrayOutput

func (BucketArrayOutput) ToBucketArrayOutputWithContext

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

type BucketAutoclass

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"`
	// The storage class that objects in the bucket eventually transition to if they are not read for a certain length of time. Supported values include: `NEARLINE`, `ARCHIVE`.
	TerminalStorageClass *string `pulumi:"terminalStorageClass"`
}

type BucketAutoclassArgs

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"`
	// The storage class that objects in the bucket eventually transition to if they are not read for a certain length of time. Supported values include: `NEARLINE`, `ARCHIVE`.
	TerminalStorageClass pulumi.StringPtrInput `pulumi:"terminalStorageClass"`
}

func (BucketAutoclassArgs) ElementType

func (BucketAutoclassArgs) ElementType() reflect.Type

func (BucketAutoclassArgs) ToBucketAutoclassOutput

func (i BucketAutoclassArgs) ToBucketAutoclassOutput() BucketAutoclassOutput

func (BucketAutoclassArgs) ToBucketAutoclassOutputWithContext

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

func (BucketAutoclassArgs) ToBucketAutoclassPtrOutput

func (i BucketAutoclassArgs) ToBucketAutoclassPtrOutput() BucketAutoclassPtrOutput

func (BucketAutoclassArgs) ToBucketAutoclassPtrOutputWithContext

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

type BucketAutoclassInput

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

type BucketAutoclassOutput struct{ *pulumi.OutputState }

func (BucketAutoclassOutput) ElementType

func (BucketAutoclassOutput) ElementType() reflect.Type

func (BucketAutoclassOutput) Enabled

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

func (BucketAutoclassOutput) TerminalStorageClass

func (o BucketAutoclassOutput) TerminalStorageClass() pulumi.StringPtrOutput

The storage class that objects in the bucket eventually transition to if they are not read for a certain length of time. Supported values include: `NEARLINE`, `ARCHIVE`.

func (BucketAutoclassOutput) ToBucketAutoclassOutput

func (o BucketAutoclassOutput) ToBucketAutoclassOutput() BucketAutoclassOutput

func (BucketAutoclassOutput) ToBucketAutoclassOutputWithContext

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

func (BucketAutoclassOutput) ToBucketAutoclassPtrOutput

func (o BucketAutoclassOutput) ToBucketAutoclassPtrOutput() BucketAutoclassPtrOutput

func (BucketAutoclassOutput) ToBucketAutoclassPtrOutputWithContext

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

type BucketAutoclassPtrInput

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

type BucketAutoclassPtrOutput

type BucketAutoclassPtrOutput struct{ *pulumi.OutputState }

func (BucketAutoclassPtrOutput) Elem

func (BucketAutoclassPtrOutput) ElementType

func (BucketAutoclassPtrOutput) ElementType() reflect.Type

func (BucketAutoclassPtrOutput) Enabled

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

func (BucketAutoclassPtrOutput) TerminalStorageClass

func (o BucketAutoclassPtrOutput) TerminalStorageClass() pulumi.StringPtrOutput

The storage class that objects in the bucket eventually transition to if they are not read for a certain length of time. Supported values include: `NEARLINE`, `ARCHIVE`.

func (BucketAutoclassPtrOutput) ToBucketAutoclassPtrOutput

func (o BucketAutoclassPtrOutput) ToBucketAutoclassPtrOutput() BucketAutoclassPtrOutput

func (BucketAutoclassPtrOutput) ToBucketAutoclassPtrOutputWithContext

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

type BucketCor

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

type BucketCorArgs

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

func (BucketCorArgs) ElementType

func (BucketCorArgs) ElementType() reflect.Type

func (BucketCorArgs) ToBucketCorOutput

func (i BucketCorArgs) ToBucketCorOutput() BucketCorOutput

func (BucketCorArgs) ToBucketCorOutputWithContext

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

type BucketCorArray

type BucketCorArray []BucketCorInput

func (BucketCorArray) ElementType

func (BucketCorArray) ElementType() reflect.Type

func (BucketCorArray) ToBucketCorArrayOutput

func (i BucketCorArray) ToBucketCorArrayOutput() BucketCorArrayOutput

func (BucketCorArray) ToBucketCorArrayOutputWithContext

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

type BucketCorArrayInput

type BucketCorArrayInput interface {
	pulumi.Input

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

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

BucketCorArray{ BucketCorArgs{...} }

type BucketCorArrayOutput

type BucketCorArrayOutput struct{ *pulumi.OutputState }

func (BucketCorArrayOutput) ElementType

func (BucketCorArrayOutput) ElementType() reflect.Type

func (BucketCorArrayOutput) Index

func (BucketCorArrayOutput) ToBucketCorArrayOutput

func (o BucketCorArrayOutput) ToBucketCorArrayOutput() BucketCorArrayOutput

func (BucketCorArrayOutput) ToBucketCorArrayOutputWithContext

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

type BucketCorInput

type BucketCorInput interface {
	pulumi.Input

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

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

BucketCorArgs{...}

type BucketCorOutput

type BucketCorOutput struct{ *pulumi.OutputState }

func (BucketCorOutput) ElementType

func (BucketCorOutput) ElementType() reflect.Type

func (BucketCorOutput) MaxAgeSeconds

func (o BucketCorOutput) MaxAgeSeconds() pulumi.IntPtrOutput

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

func (BucketCorOutput) Methods

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

func (BucketCorOutput) Origins

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

func (BucketCorOutput) ResponseHeaders

func (o BucketCorOutput) ResponseHeaders() pulumi.StringArrayOutput

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

func (BucketCorOutput) ToBucketCorOutput

func (o BucketCorOutput) ToBucketCorOutput() BucketCorOutput

func (BucketCorOutput) ToBucketCorOutputWithContext

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

type BucketCustomPlacementConfig

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

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

func (BucketCustomPlacementConfigArgs) ToBucketCustomPlacementConfigOutput

func (i BucketCustomPlacementConfigArgs) ToBucketCustomPlacementConfigOutput() BucketCustomPlacementConfigOutput

func (BucketCustomPlacementConfigArgs) ToBucketCustomPlacementConfigOutputWithContext

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

func (BucketCustomPlacementConfigArgs) ToBucketCustomPlacementConfigPtrOutput

func (i BucketCustomPlacementConfigArgs) ToBucketCustomPlacementConfigPtrOutput() BucketCustomPlacementConfigPtrOutput

func (BucketCustomPlacementConfigArgs) ToBucketCustomPlacementConfigPtrOutputWithContext

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

type BucketCustomPlacementConfigInput

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

type BucketCustomPlacementConfigOutput struct{ *pulumi.OutputState }

func (BucketCustomPlacementConfigOutput) DataLocations

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

func (BucketCustomPlacementConfigOutput) ToBucketCustomPlacementConfigOutput

func (o BucketCustomPlacementConfigOutput) ToBucketCustomPlacementConfigOutput() BucketCustomPlacementConfigOutput

func (BucketCustomPlacementConfigOutput) ToBucketCustomPlacementConfigOutputWithContext

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

func (BucketCustomPlacementConfigOutput) ToBucketCustomPlacementConfigPtrOutput

func (o BucketCustomPlacementConfigOutput) ToBucketCustomPlacementConfigPtrOutput() BucketCustomPlacementConfigPtrOutput

func (BucketCustomPlacementConfigOutput) ToBucketCustomPlacementConfigPtrOutputWithContext

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

type BucketCustomPlacementConfigPtrInput

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

type BucketCustomPlacementConfigPtrOutput

type BucketCustomPlacementConfigPtrOutput struct{ *pulumi.OutputState }

func (BucketCustomPlacementConfigPtrOutput) DataLocations

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

func (BucketCustomPlacementConfigPtrOutput) ElementType

func (BucketCustomPlacementConfigPtrOutput) ToBucketCustomPlacementConfigPtrOutput

func (o BucketCustomPlacementConfigPtrOutput) ToBucketCustomPlacementConfigPtrOutput() BucketCustomPlacementConfigPtrOutput

func (BucketCustomPlacementConfigPtrOutput) ToBucketCustomPlacementConfigPtrOutputWithContext

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

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

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

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

type BucketHierarchicalNamespace added in v8.7.0

type BucketHierarchicalNamespace struct {
	// Enables hierarchical namespace for the bucket.
	Enabled bool `pulumi:"enabled"`
}

type BucketHierarchicalNamespaceArgs added in v8.7.0

type BucketHierarchicalNamespaceArgs struct {
	// Enables hierarchical namespace for the bucket.
	Enabled pulumi.BoolInput `pulumi:"enabled"`
}

func (BucketHierarchicalNamespaceArgs) ElementType added in v8.7.0

func (BucketHierarchicalNamespaceArgs) ToBucketHierarchicalNamespaceOutput added in v8.7.0

func (i BucketHierarchicalNamespaceArgs) ToBucketHierarchicalNamespaceOutput() BucketHierarchicalNamespaceOutput

func (BucketHierarchicalNamespaceArgs) ToBucketHierarchicalNamespaceOutputWithContext added in v8.7.0

func (i BucketHierarchicalNamespaceArgs) ToBucketHierarchicalNamespaceOutputWithContext(ctx context.Context) BucketHierarchicalNamespaceOutput

func (BucketHierarchicalNamespaceArgs) ToBucketHierarchicalNamespacePtrOutput added in v8.7.0

func (i BucketHierarchicalNamespaceArgs) ToBucketHierarchicalNamespacePtrOutput() BucketHierarchicalNamespacePtrOutput

func (BucketHierarchicalNamespaceArgs) ToBucketHierarchicalNamespacePtrOutputWithContext added in v8.7.0

func (i BucketHierarchicalNamespaceArgs) ToBucketHierarchicalNamespacePtrOutputWithContext(ctx context.Context) BucketHierarchicalNamespacePtrOutput

type BucketHierarchicalNamespaceInput added in v8.7.0

type BucketHierarchicalNamespaceInput interface {
	pulumi.Input

	ToBucketHierarchicalNamespaceOutput() BucketHierarchicalNamespaceOutput
	ToBucketHierarchicalNamespaceOutputWithContext(context.Context) BucketHierarchicalNamespaceOutput
}

BucketHierarchicalNamespaceInput is an input type that accepts BucketHierarchicalNamespaceArgs and BucketHierarchicalNamespaceOutput values. You can construct a concrete instance of `BucketHierarchicalNamespaceInput` via:

BucketHierarchicalNamespaceArgs{...}

type BucketHierarchicalNamespaceOutput added in v8.7.0

type BucketHierarchicalNamespaceOutput struct{ *pulumi.OutputState }

func (BucketHierarchicalNamespaceOutput) ElementType added in v8.7.0

func (BucketHierarchicalNamespaceOutput) Enabled added in v8.7.0

Enables hierarchical namespace for the bucket.

func (BucketHierarchicalNamespaceOutput) ToBucketHierarchicalNamespaceOutput added in v8.7.0

func (o BucketHierarchicalNamespaceOutput) ToBucketHierarchicalNamespaceOutput() BucketHierarchicalNamespaceOutput

func (BucketHierarchicalNamespaceOutput) ToBucketHierarchicalNamespaceOutputWithContext added in v8.7.0

func (o BucketHierarchicalNamespaceOutput) ToBucketHierarchicalNamespaceOutputWithContext(ctx context.Context) BucketHierarchicalNamespaceOutput

func (BucketHierarchicalNamespaceOutput) ToBucketHierarchicalNamespacePtrOutput added in v8.7.0

func (o BucketHierarchicalNamespaceOutput) ToBucketHierarchicalNamespacePtrOutput() BucketHierarchicalNamespacePtrOutput

func (BucketHierarchicalNamespaceOutput) ToBucketHierarchicalNamespacePtrOutputWithContext added in v8.7.0

func (o BucketHierarchicalNamespaceOutput) ToBucketHierarchicalNamespacePtrOutputWithContext(ctx context.Context) BucketHierarchicalNamespacePtrOutput

type BucketHierarchicalNamespacePtrInput added in v8.7.0

type BucketHierarchicalNamespacePtrInput interface {
	pulumi.Input

	ToBucketHierarchicalNamespacePtrOutput() BucketHierarchicalNamespacePtrOutput
	ToBucketHierarchicalNamespacePtrOutputWithContext(context.Context) BucketHierarchicalNamespacePtrOutput
}

BucketHierarchicalNamespacePtrInput is an input type that accepts BucketHierarchicalNamespaceArgs, BucketHierarchicalNamespacePtr and BucketHierarchicalNamespacePtrOutput values. You can construct a concrete instance of `BucketHierarchicalNamespacePtrInput` via:

        BucketHierarchicalNamespaceArgs{...}

or:

        nil

func BucketHierarchicalNamespacePtr added in v8.7.0

type BucketHierarchicalNamespacePtrOutput added in v8.7.0

type BucketHierarchicalNamespacePtrOutput struct{ *pulumi.OutputState }

func (BucketHierarchicalNamespacePtrOutput) Elem added in v8.7.0

func (BucketHierarchicalNamespacePtrOutput) ElementType added in v8.7.0

func (BucketHierarchicalNamespacePtrOutput) Enabled added in v8.7.0

Enables hierarchical namespace for the bucket.

func (BucketHierarchicalNamespacePtrOutput) ToBucketHierarchicalNamespacePtrOutput added in v8.7.0

func (o BucketHierarchicalNamespacePtrOutput) ToBucketHierarchicalNamespacePtrOutput() BucketHierarchicalNamespacePtrOutput

func (BucketHierarchicalNamespacePtrOutput) ToBucketHierarchicalNamespacePtrOutputWithContext added in v8.7.0

func (o BucketHierarchicalNamespacePtrOutput) ToBucketHierarchicalNamespacePtrOutputWithContext(ctx context.Context) BucketHierarchicalNamespacePtrOutput

type BucketIAMBinding

type BucketIAMBinding struct {
	pulumi.CustomResourceState

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

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

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

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.

## storage.BucketIAMPolicy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/organizations"
"github.com/pulumi/pulumi-gcp/sdk/v8/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(_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/v8/go/gcp/organizations"
"github.com/pulumi/pulumi-gcp/sdk/v8/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(_default.Name),
			PolicyData: pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ## storage.BucketIAMBinding

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v8/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(_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/v8/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(_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
	})
}

``` ## storage.BucketIAMMember

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v8/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(_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/v8/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(_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
	})
}

```

## This resource supports User Project Overrides.

-

# IAM policy for Cloud Storage Bucket 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.

## storage.BucketIAMPolicy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/organizations"
"github.com/pulumi/pulumi-gcp/sdk/v8/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(_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/v8/go/gcp/organizations"
"github.com/pulumi/pulumi-gcp/sdk/v8/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(_default.Name),
			PolicyData: pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ## storage.BucketIAMBinding

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v8/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(_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/v8/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(_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
	})
}

``` ## storage.BucketIAMMember

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v8/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(_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/v8/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(_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 identifiers: the 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 identifiers: the 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

type BucketIAMBindingArgs

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

The set of arguments for constructing a BucketIAMBinding resource.

func (BucketIAMBindingArgs) ElementType

func (BucketIAMBindingArgs) ElementType() reflect.Type

type BucketIAMBindingArray

type BucketIAMBindingArray []BucketIAMBindingInput

func (BucketIAMBindingArray) ElementType

func (BucketIAMBindingArray) ElementType() reflect.Type

func (BucketIAMBindingArray) ToBucketIAMBindingArrayOutput

func (i BucketIAMBindingArray) ToBucketIAMBindingArrayOutput() BucketIAMBindingArrayOutput

func (BucketIAMBindingArray) ToBucketIAMBindingArrayOutputWithContext

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

type BucketIAMBindingArrayInput

type BucketIAMBindingArrayInput interface {
	pulumi.Input

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

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

BucketIAMBindingArray{ BucketIAMBindingArgs{...} }

type BucketIAMBindingArrayOutput

type BucketIAMBindingArrayOutput struct{ *pulumi.OutputState }

func (BucketIAMBindingArrayOutput) ElementType

func (BucketIAMBindingArrayOutput) Index

func (BucketIAMBindingArrayOutput) ToBucketIAMBindingArrayOutput

func (o BucketIAMBindingArrayOutput) ToBucketIAMBindingArrayOutput() BucketIAMBindingArrayOutput

func (BucketIAMBindingArrayOutput) ToBucketIAMBindingArrayOutputWithContext

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

type BucketIAMBindingCondition

type BucketIAMBindingCondition struct {
	// An optional description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.
	//
	// > **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

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

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

type BucketIAMBindingInput

type BucketIAMBindingInput interface {
	pulumi.Input

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

type BucketIAMBindingMap

type BucketIAMBindingMap map[string]BucketIAMBindingInput

func (BucketIAMBindingMap) ElementType

func (BucketIAMBindingMap) ElementType() reflect.Type

func (BucketIAMBindingMap) ToBucketIAMBindingMapOutput

func (i BucketIAMBindingMap) ToBucketIAMBindingMapOutput() BucketIAMBindingMapOutput

func (BucketIAMBindingMap) ToBucketIAMBindingMapOutputWithContext

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

type BucketIAMBindingMapInput

type BucketIAMBindingMapInput interface {
	pulumi.Input

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

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

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

type BucketIAMBindingMapOutput

type BucketIAMBindingMapOutput struct{ *pulumi.OutputState }

func (BucketIAMBindingMapOutput) ElementType

func (BucketIAMBindingMapOutput) ElementType() reflect.Type

func (BucketIAMBindingMapOutput) MapIndex

func (BucketIAMBindingMapOutput) ToBucketIAMBindingMapOutput

func (o BucketIAMBindingMapOutput) ToBucketIAMBindingMapOutput() BucketIAMBindingMapOutput

func (BucketIAMBindingMapOutput) ToBucketIAMBindingMapOutputWithContext

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

type BucketIAMBindingOutput

type BucketIAMBindingOutput struct{ *pulumi.OutputState }

func (BucketIAMBindingOutput) Bucket

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

func (BucketIAMBindingOutput) Condition

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

(Computed) The etag of the IAM policy.

func (BucketIAMBindingOutput) Members

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

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

type BucketIAMBindingState

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

func (BucketIAMBindingState) ElementType

func (BucketIAMBindingState) ElementType() reflect.Type

type BucketIAMMember

type BucketIAMMember struct {
	pulumi.CustomResourceState

	// Used to find the parent resource to bind the IAM policy to
	Bucket pulumi.StringOutput `pulumi:"bucket"`
	// An [IAM Condition](https://cloud.google.com/iam/docs/conditions-overview) for a given binding.
	// Structure is documented below.
	Condition BucketIAMMemberConditionPtrOutput `pulumi:"condition"`
	// (Computed) The etag of the IAM policy.
	Etag pulumi.StringOutput `pulumi:"etag"`
	// 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"
	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.

## storage.BucketIAMPolicy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/organizations"
"github.com/pulumi/pulumi-gcp/sdk/v8/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(_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/v8/go/gcp/organizations"
"github.com/pulumi/pulumi-gcp/sdk/v8/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(_default.Name),
			PolicyData: pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ## storage.BucketIAMBinding

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v8/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(_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/v8/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(_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
	})
}

``` ## storage.BucketIAMMember

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v8/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(_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/v8/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(_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
	})
}

```

## This resource supports User Project Overrides.

-

# IAM policy for Cloud Storage Bucket 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.

## storage.BucketIAMPolicy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/organizations"
"github.com/pulumi/pulumi-gcp/sdk/v8/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(_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/v8/go/gcp/organizations"
"github.com/pulumi/pulumi-gcp/sdk/v8/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(_default.Name),
			PolicyData: pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ## storage.BucketIAMBinding

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v8/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(_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/v8/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(_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
	})
}

``` ## storage.BucketIAMMember

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v8/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(_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/v8/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(_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 identifiers: the 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 identifiers: the 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

type BucketIAMMemberArgs

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

The set of arguments for constructing a BucketIAMMember resource.

func (BucketIAMMemberArgs) ElementType

func (BucketIAMMemberArgs) ElementType() reflect.Type

type BucketIAMMemberArray

type BucketIAMMemberArray []BucketIAMMemberInput

func (BucketIAMMemberArray) ElementType

func (BucketIAMMemberArray) ElementType() reflect.Type

func (BucketIAMMemberArray) ToBucketIAMMemberArrayOutput

func (i BucketIAMMemberArray) ToBucketIAMMemberArrayOutput() BucketIAMMemberArrayOutput

func (BucketIAMMemberArray) ToBucketIAMMemberArrayOutputWithContext

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

type BucketIAMMemberArrayInput

type BucketIAMMemberArrayInput interface {
	pulumi.Input

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

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

BucketIAMMemberArray{ BucketIAMMemberArgs{...} }

type BucketIAMMemberArrayOutput

type BucketIAMMemberArrayOutput struct{ *pulumi.OutputState }

func (BucketIAMMemberArrayOutput) ElementType

func (BucketIAMMemberArrayOutput) ElementType() reflect.Type

func (BucketIAMMemberArrayOutput) Index

func (BucketIAMMemberArrayOutput) ToBucketIAMMemberArrayOutput

func (o BucketIAMMemberArrayOutput) ToBucketIAMMemberArrayOutput() BucketIAMMemberArrayOutput

func (BucketIAMMemberArrayOutput) ToBucketIAMMemberArrayOutputWithContext

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

type BucketIAMMemberCondition

type BucketIAMMemberCondition struct {
	// An optional description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.
	//
	// > **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

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

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

type BucketIAMMemberInput

type BucketIAMMemberInput interface {
	pulumi.Input

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

type BucketIAMMemberMap

type BucketIAMMemberMap map[string]BucketIAMMemberInput

func (BucketIAMMemberMap) ElementType

func (BucketIAMMemberMap) ElementType() reflect.Type

func (BucketIAMMemberMap) ToBucketIAMMemberMapOutput

func (i BucketIAMMemberMap) ToBucketIAMMemberMapOutput() BucketIAMMemberMapOutput

func (BucketIAMMemberMap) ToBucketIAMMemberMapOutputWithContext

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

type BucketIAMMemberMapInput

type BucketIAMMemberMapInput interface {
	pulumi.Input

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

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

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

type BucketIAMMemberMapOutput

type BucketIAMMemberMapOutput struct{ *pulumi.OutputState }

func (BucketIAMMemberMapOutput) ElementType

func (BucketIAMMemberMapOutput) ElementType() reflect.Type

func (BucketIAMMemberMapOutput) MapIndex

func (BucketIAMMemberMapOutput) ToBucketIAMMemberMapOutput

func (o BucketIAMMemberMapOutput) ToBucketIAMMemberMapOutput() BucketIAMMemberMapOutput

func (BucketIAMMemberMapOutput) ToBucketIAMMemberMapOutputWithContext

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

type BucketIAMMemberOutput

type BucketIAMMemberOutput struct{ *pulumi.OutputState }

func (BucketIAMMemberOutput) Bucket

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

func (BucketIAMMemberOutput) Condition

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

(Computed) The etag of the IAM policy.

func (BucketIAMMemberOutput) Member

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

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

type BucketIAMMemberState

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

func (BucketIAMMemberState) ElementType

func (BucketIAMMemberState) ElementType() reflect.Type

type BucketIAMPolicy

type BucketIAMPolicy struct {
	pulumi.CustomResourceState

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

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

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

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.

## storage.BucketIAMPolicy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/organizations"
"github.com/pulumi/pulumi-gcp/sdk/v8/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(_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/v8/go/gcp/organizations"
"github.com/pulumi/pulumi-gcp/sdk/v8/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(_default.Name),
			PolicyData: pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ## storage.BucketIAMBinding

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v8/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(_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/v8/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(_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
	})
}

``` ## storage.BucketIAMMember

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v8/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(_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/v8/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(_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
	})
}

```

## This resource supports User Project Overrides.

-

# IAM policy for Cloud Storage Bucket 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.

## storage.BucketIAMPolicy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/organizations"
"github.com/pulumi/pulumi-gcp/sdk/v8/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(_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/v8/go/gcp/organizations"
"github.com/pulumi/pulumi-gcp/sdk/v8/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(_default.Name),
			PolicyData: pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ## storage.BucketIAMBinding

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v8/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(_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/v8/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(_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
	})
}

``` ## storage.BucketIAMMember

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v8/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(_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/v8/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(_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 identifiers: the 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 identifiers: the 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

type BucketIAMPolicyArgs

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

The set of arguments for constructing a BucketIAMPolicy resource.

func (BucketIAMPolicyArgs) ElementType

func (BucketIAMPolicyArgs) ElementType() reflect.Type

type BucketIAMPolicyArray

type BucketIAMPolicyArray []BucketIAMPolicyInput

func (BucketIAMPolicyArray) ElementType

func (BucketIAMPolicyArray) ElementType() reflect.Type

func (BucketIAMPolicyArray) ToBucketIAMPolicyArrayOutput

func (i BucketIAMPolicyArray) ToBucketIAMPolicyArrayOutput() BucketIAMPolicyArrayOutput

func (BucketIAMPolicyArray) ToBucketIAMPolicyArrayOutputWithContext

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

type BucketIAMPolicyArrayInput

type BucketIAMPolicyArrayInput interface {
	pulumi.Input

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

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

BucketIAMPolicyArray{ BucketIAMPolicyArgs{...} }

type BucketIAMPolicyArrayOutput

type BucketIAMPolicyArrayOutput struct{ *pulumi.OutputState }

func (BucketIAMPolicyArrayOutput) ElementType

func (BucketIAMPolicyArrayOutput) ElementType() reflect.Type

func (BucketIAMPolicyArrayOutput) Index

func (BucketIAMPolicyArrayOutput) ToBucketIAMPolicyArrayOutput

func (o BucketIAMPolicyArrayOutput) ToBucketIAMPolicyArrayOutput() BucketIAMPolicyArrayOutput

func (BucketIAMPolicyArrayOutput) ToBucketIAMPolicyArrayOutputWithContext

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

type BucketIAMPolicyInput

type BucketIAMPolicyInput interface {
	pulumi.Input

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

type BucketIAMPolicyMap

type BucketIAMPolicyMap map[string]BucketIAMPolicyInput

func (BucketIAMPolicyMap) ElementType

func (BucketIAMPolicyMap) ElementType() reflect.Type

func (BucketIAMPolicyMap) ToBucketIAMPolicyMapOutput

func (i BucketIAMPolicyMap) ToBucketIAMPolicyMapOutput() BucketIAMPolicyMapOutput

func (BucketIAMPolicyMap) ToBucketIAMPolicyMapOutputWithContext

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

type BucketIAMPolicyMapInput

type BucketIAMPolicyMapInput interface {
	pulumi.Input

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

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

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

type BucketIAMPolicyMapOutput

type BucketIAMPolicyMapOutput struct{ *pulumi.OutputState }

func (BucketIAMPolicyMapOutput) ElementType

func (BucketIAMPolicyMapOutput) ElementType() reflect.Type

func (BucketIAMPolicyMapOutput) MapIndex

func (BucketIAMPolicyMapOutput) ToBucketIAMPolicyMapOutput

func (o BucketIAMPolicyMapOutput) ToBucketIAMPolicyMapOutput() BucketIAMPolicyMapOutput

func (BucketIAMPolicyMapOutput) ToBucketIAMPolicyMapOutputWithContext

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

type BucketIAMPolicyOutput

type BucketIAMPolicyOutput struct{ *pulumi.OutputState }

func (BucketIAMPolicyOutput) Bucket

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

func (BucketIAMPolicyOutput) ElementType

func (BucketIAMPolicyOutput) ElementType() reflect.Type

func (BucketIAMPolicyOutput) Etag

(Computed) The etag of the IAM policy.

func (BucketIAMPolicyOutput) PolicyData

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

type BucketIAMPolicyState

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

func (BucketIAMPolicyState) ElementType

func (BucketIAMPolicyState) ElementType() reflect.Type

type BucketInput

type BucketInput interface {
	pulumi.Input

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

type BucketLifecycleRule

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

type BucketLifecycleRuleAction

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

type BucketLifecycleRuleActionInput

type BucketLifecycleRuleActionInput interface {
	pulumi.Input

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

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

BucketLifecycleRuleActionArgs{...}

type BucketLifecycleRuleActionOutput

type BucketLifecycleRuleActionOutput struct{ *pulumi.OutputState }

func (BucketLifecycleRuleActionOutput) ElementType

func (BucketLifecycleRuleActionOutput) StorageClass

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

func (BucketLifecycleRuleActionOutput) ToBucketLifecycleRuleActionOutput

func (o BucketLifecycleRuleActionOutput) ToBucketLifecycleRuleActionOutput() BucketLifecycleRuleActionOutput

func (BucketLifecycleRuleActionOutput) ToBucketLifecycleRuleActionOutputWithContext

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

func (BucketLifecycleRuleActionOutput) Type

The type of the action of this Lifecycle Rule. Supported values include: `Delete`, `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

type BucketLifecycleRuleArray

type BucketLifecycleRuleArray []BucketLifecycleRuleInput

func (BucketLifecycleRuleArray) ElementType

func (BucketLifecycleRuleArray) ElementType() reflect.Type

func (BucketLifecycleRuleArray) ToBucketLifecycleRuleArrayOutput

func (i BucketLifecycleRuleArray) ToBucketLifecycleRuleArrayOutput() BucketLifecycleRuleArrayOutput

func (BucketLifecycleRuleArray) ToBucketLifecycleRuleArrayOutputWithContext

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

type BucketLifecycleRuleArrayInput

type BucketLifecycleRuleArrayInput interface {
	pulumi.Input

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

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

BucketLifecycleRuleArray{ BucketLifecycleRuleArgs{...} }

type BucketLifecycleRuleArrayOutput

type BucketLifecycleRuleArrayOutput struct{ *pulumi.OutputState }

func (BucketLifecycleRuleArrayOutput) ElementType

func (BucketLifecycleRuleArrayOutput) Index

func (BucketLifecycleRuleArrayOutput) ToBucketLifecycleRuleArrayOutput

func (o BucketLifecycleRuleArrayOutput) ToBucketLifecycleRuleArrayOutput() BucketLifecycleRuleArrayOutput

func (BucketLifecycleRuleArrayOutput) ToBucketLifecycleRuleArrayOutputWithContext

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

type BucketLifecycleRuleCondition

type BucketLifecycleRuleCondition struct {
	// Minimum age of an object in days to satisfy this condition. **Note** To set `0` value of `age`, `sendAgeIfZero` should be set `true` otherwise `0` value of `age` field will be ignored.
	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"`
	// Number of days elapsed since the user-specified timestamp set on an object.
	DaysSinceCustomTime *int `pulumi:"daysSinceCustomTime"`
	// Number of days elapsed since the noncurrent timestamp of an object. This
	// 										condition is relevant only for versioned objects.
	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"`
	// Creation date of an object in RFC 3339 (e.g. 2017-06-13) to satisfy this condition.
	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"`
	// While set true, `age` value will be sent in the request even for zero value of the field. This field is only useful and required for setting 0 value to the `age` field. It can be used alone or together with `age` attribute. **NOTE** `age` attibute with `0` value will be ommitted from the API request if `sendAgeIfZero` field is having `false` value.
	SendAgeIfZero *bool `pulumi:"sendAgeIfZero"`
	// While set true, `daysSinceCustomTime` value will be sent in the request even for zero value of the field. This field is only useful for setting 0 value to the `daysSinceCustomTime` field. It can be used alone or together with `daysSinceCustomTime`.
	SendDaysSinceCustomTimeIfZero *bool `pulumi:"sendDaysSinceCustomTimeIfZero"`
	// While set true, `daysSinceNoncurrentTime` value will be sent in the request even for zero value of the field. This field is only useful for setting 0 value to the `daysSinceNoncurrentTime` field. It can be used alone or together with `daysSinceNoncurrentTime`.
	SendDaysSinceNoncurrentTimeIfZero *bool `pulumi:"sendDaysSinceNoncurrentTimeIfZero"`
	// While set true, `numNewerVersions` value will be sent in the request even for zero value of the field. This field is only useful for setting 0 value to the `numNewerVersions` field. It can be used alone or together with `numNewerVersions`.
	SendNumNewerVersionsIfZero *bool `pulumi:"sendNumNewerVersionsIfZero"`
	// 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. **Note** To set `0` value of `age`, `sendAgeIfZero` should be set `true` otherwise `0` value of `age` field will be ignored.
	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"`
	// Number of days elapsed since the user-specified timestamp set on an object.
	DaysSinceCustomTime pulumi.IntPtrInput `pulumi:"daysSinceCustomTime"`
	// Number of days elapsed since the noncurrent timestamp of an object. This
	// 										condition is relevant only for versioned objects.
	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"`
	// Creation date of an object in RFC 3339 (e.g. 2017-06-13) to satisfy this condition.
	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"`
	// While set true, `age` value will be sent in the request even for zero value of the field. This field is only useful and required for setting 0 value to the `age` field. It can be used alone or together with `age` attribute. **NOTE** `age` attibute with `0` value will be ommitted from the API request if `sendAgeIfZero` field is having `false` value.
	SendAgeIfZero pulumi.BoolPtrInput `pulumi:"sendAgeIfZero"`
	// While set true, `daysSinceCustomTime` value will be sent in the request even for zero value of the field. This field is only useful for setting 0 value to the `daysSinceCustomTime` field. It can be used alone or together with `daysSinceCustomTime`.
	SendDaysSinceCustomTimeIfZero pulumi.BoolPtrInput `pulumi:"sendDaysSinceCustomTimeIfZero"`
	// While set true, `daysSinceNoncurrentTime` value will be sent in the request even for zero value of the field. This field is only useful for setting 0 value to the `daysSinceNoncurrentTime` field. It can be used alone or together with `daysSinceNoncurrentTime`.
	SendDaysSinceNoncurrentTimeIfZero pulumi.BoolPtrInput `pulumi:"sendDaysSinceNoncurrentTimeIfZero"`
	// While set true, `numNewerVersions` value will be sent in the request even for zero value of the field. This field is only useful for setting 0 value to the `numNewerVersions` field. It can be used alone or together with `numNewerVersions`.
	SendNumNewerVersionsIfZero pulumi.BoolPtrInput `pulumi:"sendNumNewerVersionsIfZero"`
	// Match to live and/or archived objects. Unversioned buckets have only live objects. Supported values include: `"LIVE"`, `"ARCHIVED"`, `"ANY"`.
	WithState pulumi.StringPtrInput `pulumi:"withState"`
}

func (BucketLifecycleRuleConditionArgs) ElementType

func (BucketLifecycleRuleConditionArgs) ToBucketLifecycleRuleConditionOutput

func (i BucketLifecycleRuleConditionArgs) ToBucketLifecycleRuleConditionOutput() BucketLifecycleRuleConditionOutput

func (BucketLifecycleRuleConditionArgs) ToBucketLifecycleRuleConditionOutputWithContext

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

type BucketLifecycleRuleConditionInput

type BucketLifecycleRuleConditionInput interface {
	pulumi.Input

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

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

BucketLifecycleRuleConditionArgs{...}

type BucketLifecycleRuleConditionOutput

type BucketLifecycleRuleConditionOutput struct{ *pulumi.OutputState }

func (BucketLifecycleRuleConditionOutput) Age

Minimum age of an object in days to satisfy this condition. **Note** To set `0` value of `age`, `sendAgeIfZero` should be set `true` otherwise `0` value of `age` field will be ignored.

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

Number of days elapsed since the user-specified timestamp set on an object.

func (BucketLifecycleRuleConditionOutput) DaysSinceNoncurrentTime

func (o BucketLifecycleRuleConditionOutput) DaysSinceNoncurrentTime() pulumi.IntPtrOutput

Number of days elapsed since the noncurrent timestamp of an object. This

condition is relevant only for versioned objects.

func (BucketLifecycleRuleConditionOutput) ElementType

func (BucketLifecycleRuleConditionOutput) MatchesPrefixes

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

One or more matching name suffixes to satisfy this condition.

func (BucketLifecycleRuleConditionOutput) NoncurrentTimeBefore

Creation date of an object in RFC 3339 (e.g. 2017-06-13) to satisfy this condition.

func (BucketLifecycleRuleConditionOutput) NumNewerVersions

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

func (BucketLifecycleRuleConditionOutput) SendAgeIfZero

While set true, `age` value will be sent in the request even for zero value of the field. This field is only useful and required for setting 0 value to the `age` field. It can be used alone or together with `age` attribute. **NOTE** `age` attibute with `0` value will be ommitted from the API request if `sendAgeIfZero` field is having `false` value.

func (BucketLifecycleRuleConditionOutput) SendDaysSinceCustomTimeIfZero

func (o BucketLifecycleRuleConditionOutput) SendDaysSinceCustomTimeIfZero() pulumi.BoolPtrOutput

While set true, `daysSinceCustomTime` value will be sent in the request even for zero value of the field. This field is only useful for setting 0 value to the `daysSinceCustomTime` field. It can be used alone or together with `daysSinceCustomTime`.

func (BucketLifecycleRuleConditionOutput) SendDaysSinceNoncurrentTimeIfZero

func (o BucketLifecycleRuleConditionOutput) SendDaysSinceNoncurrentTimeIfZero() pulumi.BoolPtrOutput

While set true, `daysSinceNoncurrentTime` value will be sent in the request even for zero value of the field. This field is only useful for setting 0 value to the `daysSinceNoncurrentTime` field. It can be used alone or together with `daysSinceNoncurrentTime`.

func (BucketLifecycleRuleConditionOutput) SendNumNewerVersionsIfZero

func (o BucketLifecycleRuleConditionOutput) SendNumNewerVersionsIfZero() pulumi.BoolPtrOutput

While set true, `numNewerVersions` value will be sent in the request even for zero value of the field. This field is only useful for setting 0 value to the `numNewerVersions` field. It can be used alone or together with `numNewerVersions`.

func (BucketLifecycleRuleConditionOutput) ToBucketLifecycleRuleConditionOutput

func (o BucketLifecycleRuleConditionOutput) ToBucketLifecycleRuleConditionOutput() BucketLifecycleRuleConditionOutput

func (BucketLifecycleRuleConditionOutput) ToBucketLifecycleRuleConditionOutputWithContext

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

func (BucketLifecycleRuleConditionOutput) WithState

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

type BucketLifecycleRuleInput

type BucketLifecycleRuleInput interface {
	pulumi.Input

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

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

BucketLifecycleRuleArgs{...}

type BucketLifecycleRuleOutput

type BucketLifecycleRuleOutput struct{ *pulumi.OutputState }

func (BucketLifecycleRuleOutput) Action

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

func (BucketLifecycleRuleOutput) Condition

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

func (BucketLifecycleRuleOutput) ElementType

func (BucketLifecycleRuleOutput) ElementType() reflect.Type

func (BucketLifecycleRuleOutput) ToBucketLifecycleRuleOutput

func (o BucketLifecycleRuleOutput) ToBucketLifecycleRuleOutput() BucketLifecycleRuleOutput

func (BucketLifecycleRuleOutput) ToBucketLifecycleRuleOutputWithContext

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

type BucketLogging

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

type BucketLoggingArgs

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

func (BucketLoggingArgs) ElementType

func (BucketLoggingArgs) ElementType() reflect.Type

func (BucketLoggingArgs) ToBucketLoggingOutput

func (i BucketLoggingArgs) ToBucketLoggingOutput() BucketLoggingOutput

func (BucketLoggingArgs) ToBucketLoggingOutputWithContext

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

func (BucketLoggingArgs) ToBucketLoggingPtrOutput

func (i BucketLoggingArgs) ToBucketLoggingPtrOutput() BucketLoggingPtrOutput

func (BucketLoggingArgs) ToBucketLoggingPtrOutputWithContext

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

type BucketLoggingInput

type BucketLoggingInput interface {
	pulumi.Input

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

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

BucketLoggingArgs{...}

type BucketLoggingOutput

type BucketLoggingOutput struct{ *pulumi.OutputState }

func (BucketLoggingOutput) ElementType

func (BucketLoggingOutput) ElementType() reflect.Type

func (BucketLoggingOutput) LogBucket

func (o BucketLoggingOutput) LogBucket() pulumi.StringOutput

The bucket that will receive log objects.

func (BucketLoggingOutput) LogObjectPrefix

func (o BucketLoggingOutput) LogObjectPrefix() pulumi.StringPtrOutput

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

func (BucketLoggingOutput) ToBucketLoggingOutput

func (o BucketLoggingOutput) ToBucketLoggingOutput() BucketLoggingOutput

func (BucketLoggingOutput) ToBucketLoggingOutputWithContext

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

func (BucketLoggingOutput) ToBucketLoggingPtrOutput

func (o BucketLoggingOutput) ToBucketLoggingPtrOutput() BucketLoggingPtrOutput

func (BucketLoggingOutput) ToBucketLoggingPtrOutputWithContext

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

type BucketLoggingPtrInput

type BucketLoggingPtrInput interface {
	pulumi.Input

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

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

        BucketLoggingArgs{...}

or:

        nil

type BucketLoggingPtrOutput

type BucketLoggingPtrOutput struct{ *pulumi.OutputState }

func (BucketLoggingPtrOutput) Elem

func (BucketLoggingPtrOutput) ElementType

func (BucketLoggingPtrOutput) ElementType() reflect.Type

func (BucketLoggingPtrOutput) LogBucket

The bucket that will receive log objects.

func (BucketLoggingPtrOutput) LogObjectPrefix

func (o BucketLoggingPtrOutput) LogObjectPrefix() pulumi.StringPtrOutput

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

func (BucketLoggingPtrOutput) ToBucketLoggingPtrOutput

func (o BucketLoggingPtrOutput) ToBucketLoggingPtrOutput() BucketLoggingPtrOutput

func (BucketLoggingPtrOutput) ToBucketLoggingPtrOutputWithContext

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

type BucketMap

type BucketMap map[string]BucketInput

func (BucketMap) ElementType

func (BucketMap) ElementType() reflect.Type

func (BucketMap) ToBucketMapOutput

func (i BucketMap) ToBucketMapOutput() BucketMapOutput

func (BucketMap) ToBucketMapOutputWithContext

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

type BucketMapInput

type BucketMapInput interface {
	pulumi.Input

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

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

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

type BucketMapOutput

type BucketMapOutput struct{ *pulumi.OutputState }

func (BucketMapOutput) ElementType

func (BucketMapOutput) ElementType() reflect.Type

func (BucketMapOutput) MapIndex

func (BucketMapOutput) ToBucketMapOutput

func (o BucketMapOutput) ToBucketMapOutput() BucketMapOutput

func (BucketMapOutput) ToBucketMapOutputWithContext

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

type BucketObject

type BucketObject struct {
	pulumi.CustomResourceState

	// The name of the containing bucket.
	Bucket pulumi.StringOutput `pulumi:"bucket"`
	// [Cache-Control](https://tools.ietf.org/html/rfc7234#section-5.2)
	// directive to specify caching behavior of object data. If omitted and object is accessible to all anonymous users, the default will be public, max-age=3600
	CacheControl pulumi.StringPtrOutput `pulumi:"cacheControl"`
	// Data as `string` to be uploaded. Must be defined if `source` is not. **Note**: The `content` field is marked as sensitive.
	Content pulumi.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"`
	// (Computed) The content generation of this object. Used for object [versioning](https://cloud.google.com/storage/docs/object-versioning) and [soft delete](https://cloud.google.com/storage/docs/soft-delete).
	Generation pulumi.IntOutput `pulumi:"generation"`
	// 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"`
	// The [object retention](http://cloud.google.com/storage/docs/object-lock) settings for the object. The retention settings allow an object to be retained until a provided date. Structure is documented below.
	Retention BucketObjectRetentionPtrOutput `pulumi:"retention"`
	// (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/v8/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{
			Name:   pulumi.String("butterfly01"),
			Source: pulumi.NewFileAsset("/images/nature/garden-tiger-moth.jpg"),
			Bucket: pulumi.String("image-store"),
		})
		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/v8/go/gcp/storage"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

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

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
	// The [object retention](http://cloud.google.com/storage/docs/object-lock) settings for the object. The retention settings allow an object to be retained until a provided date. Structure is documented below.
	Retention BucketObjectRetentionPtrInput
	// 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

type BucketObjectArrayInput

type BucketObjectArrayInput interface {
	pulumi.Input

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

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

BucketObjectArray{ BucketObjectArgs{...} }

type BucketObjectArrayOutput

type BucketObjectArrayOutput struct{ *pulumi.OutputState }

func (BucketObjectArrayOutput) ElementType

func (BucketObjectArrayOutput) ElementType() reflect.Type

func (BucketObjectArrayOutput) Index

func (BucketObjectArrayOutput) ToBucketObjectArrayOutput

func (o BucketObjectArrayOutput) ToBucketObjectArrayOutput() BucketObjectArrayOutput

func (BucketObjectArrayOutput) ToBucketObjectArrayOutputWithContext

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

type BucketObjectCustomerEncryption

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

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

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

type BucketObjectInput

type BucketObjectInput interface {
	pulumi.Input

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

type BucketObjectMap

type BucketObjectMap map[string]BucketObjectInput

func (BucketObjectMap) ElementType

func (BucketObjectMap) ElementType() reflect.Type

func (BucketObjectMap) ToBucketObjectMapOutput

func (i BucketObjectMap) ToBucketObjectMapOutput() BucketObjectMapOutput

func (BucketObjectMap) ToBucketObjectMapOutputWithContext

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

type BucketObjectMapInput

type BucketObjectMapInput interface {
	pulumi.Input

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

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

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

type BucketObjectMapOutput

type BucketObjectMapOutput struct{ *pulumi.OutputState }

func (BucketObjectMapOutput) ElementType

func (BucketObjectMapOutput) ElementType() reflect.Type

func (BucketObjectMapOutput) MapIndex

func (BucketObjectMapOutput) ToBucketObjectMapOutput

func (o BucketObjectMapOutput) ToBucketObjectMapOutput() BucketObjectMapOutput

func (BucketObjectMapOutput) ToBucketObjectMapOutputWithContext

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

type BucketObjectOutput

type BucketObjectOutput struct{ *pulumi.OutputState }

func (BucketObjectOutput) Bucket

The name of the containing bucket.

func (BucketObjectOutput) CacheControl

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

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

func (BucketObjectOutput) ContentDisposition

func (o BucketObjectOutput) ContentDisposition() pulumi.StringPtrOutput

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

func (BucketObjectOutput) ContentEncoding

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

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

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

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

func (BucketObjectOutput) CustomerEncryption

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

func (o BucketObjectOutput) DetectMd5hash() pulumi.StringPtrOutput

func (BucketObjectOutput) ElementType

func (BucketObjectOutput) ElementType() reflect.Type

func (BucketObjectOutput) EventBasedHold

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

func (o BucketObjectOutput) Generation() pulumi.IntOutput

(Computed) The content generation of this object. Used for object [versioning](https://cloud.google.com/storage/docs/object-versioning) and [soft delete](https://cloud.google.com/storage/docs/soft-delete).

func (BucketObjectOutput) KmsKeyName

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

(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

User-provided metadata, in key/value pairs.

One of the following is required:

func (BucketObjectOutput) Name

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

func (BucketObjectOutput) OutputName

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 (BucketObjectOutput) Retention

The [object retention](http://cloud.google.com/storage/docs/object-lock) settings for the object. The retention settings allow an object to be retained until a provided date. Structure is documented below.

func (o BucketObjectOutput) SelfLink() pulumi.StringOutput

(Computed) A url reference to this object.

func (BucketObjectOutput) Source

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

***

func (BucketObjectOutput) StorageClass

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

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

type BucketObjectRetention

type BucketObjectRetention struct {
	// The retention policy mode. Either `Locked` or `Unlocked`.
	Mode string `pulumi:"mode"`
	// The time to retain the object until in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
	//
	// <a name>
	RetainUntilTime string `pulumi:"retainUntilTime"`
}

type BucketObjectRetentionArgs

type BucketObjectRetentionArgs struct {
	// The retention policy mode. Either `Locked` or `Unlocked`.
	Mode pulumi.StringInput `pulumi:"mode"`
	// The time to retain the object until in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
	//
	// <a name>
	RetainUntilTime pulumi.StringInput `pulumi:"retainUntilTime"`
}

func (BucketObjectRetentionArgs) ElementType

func (BucketObjectRetentionArgs) ElementType() reflect.Type

func (BucketObjectRetentionArgs) ToBucketObjectRetentionOutput

func (i BucketObjectRetentionArgs) ToBucketObjectRetentionOutput() BucketObjectRetentionOutput

func (BucketObjectRetentionArgs) ToBucketObjectRetentionOutputWithContext

func (i BucketObjectRetentionArgs) ToBucketObjectRetentionOutputWithContext(ctx context.Context) BucketObjectRetentionOutput

func (BucketObjectRetentionArgs) ToBucketObjectRetentionPtrOutput

func (i BucketObjectRetentionArgs) ToBucketObjectRetentionPtrOutput() BucketObjectRetentionPtrOutput

func (BucketObjectRetentionArgs) ToBucketObjectRetentionPtrOutputWithContext

func (i BucketObjectRetentionArgs) ToBucketObjectRetentionPtrOutputWithContext(ctx context.Context) BucketObjectRetentionPtrOutput

type BucketObjectRetentionInput

type BucketObjectRetentionInput interface {
	pulumi.Input

	ToBucketObjectRetentionOutput() BucketObjectRetentionOutput
	ToBucketObjectRetentionOutputWithContext(context.Context) BucketObjectRetentionOutput
}

BucketObjectRetentionInput is an input type that accepts BucketObjectRetentionArgs and BucketObjectRetentionOutput values. You can construct a concrete instance of `BucketObjectRetentionInput` via:

BucketObjectRetentionArgs{...}

type BucketObjectRetentionOutput

type BucketObjectRetentionOutput struct{ *pulumi.OutputState }

func (BucketObjectRetentionOutput) ElementType

func (BucketObjectRetentionOutput) Mode

The retention policy mode. Either `Locked` or `Unlocked`.

func (BucketObjectRetentionOutput) RetainUntilTime

func (o BucketObjectRetentionOutput) RetainUntilTime() pulumi.StringOutput

The time to retain the object until in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.

<a name>

func (BucketObjectRetentionOutput) ToBucketObjectRetentionOutput

func (o BucketObjectRetentionOutput) ToBucketObjectRetentionOutput() BucketObjectRetentionOutput

func (BucketObjectRetentionOutput) ToBucketObjectRetentionOutputWithContext

func (o BucketObjectRetentionOutput) ToBucketObjectRetentionOutputWithContext(ctx context.Context) BucketObjectRetentionOutput

func (BucketObjectRetentionOutput) ToBucketObjectRetentionPtrOutput

func (o BucketObjectRetentionOutput) ToBucketObjectRetentionPtrOutput() BucketObjectRetentionPtrOutput

func (BucketObjectRetentionOutput) ToBucketObjectRetentionPtrOutputWithContext

func (o BucketObjectRetentionOutput) ToBucketObjectRetentionPtrOutputWithContext(ctx context.Context) BucketObjectRetentionPtrOutput

type BucketObjectRetentionPtrInput

type BucketObjectRetentionPtrInput interface {
	pulumi.Input

	ToBucketObjectRetentionPtrOutput() BucketObjectRetentionPtrOutput
	ToBucketObjectRetentionPtrOutputWithContext(context.Context) BucketObjectRetentionPtrOutput
}

BucketObjectRetentionPtrInput is an input type that accepts BucketObjectRetentionArgs, BucketObjectRetentionPtr and BucketObjectRetentionPtrOutput values. You can construct a concrete instance of `BucketObjectRetentionPtrInput` via:

        BucketObjectRetentionArgs{...}

or:

        nil

type BucketObjectRetentionPtrOutput

type BucketObjectRetentionPtrOutput struct{ *pulumi.OutputState }

func (BucketObjectRetentionPtrOutput) Elem

func (BucketObjectRetentionPtrOutput) ElementType

func (BucketObjectRetentionPtrOutput) Mode

The retention policy mode. Either `Locked` or `Unlocked`.

func (BucketObjectRetentionPtrOutput) RetainUntilTime

The time to retain the object until in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.

<a name>

func (BucketObjectRetentionPtrOutput) ToBucketObjectRetentionPtrOutput

func (o BucketObjectRetentionPtrOutput) ToBucketObjectRetentionPtrOutput() BucketObjectRetentionPtrOutput

func (BucketObjectRetentionPtrOutput) ToBucketObjectRetentionPtrOutputWithContext

func (o BucketObjectRetentionPtrOutput) ToBucketObjectRetentionPtrOutputWithContext(ctx context.Context) BucketObjectRetentionPtrOutput

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
	// (Computed) The content generation of this object. Used for object [versioning](https://cloud.google.com/storage/docs/object-versioning) and [soft delete](https://cloud.google.com/storage/docs/soft-delete).
	Generation pulumi.IntPtrInput
	// 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
	// The [object retention](http://cloud.google.com/storage/docs/object-lock) settings for the object. The retention settings allow an object to be retained until a provided date. Structure is documented below.
	Retention BucketObjectRetentionPtrInput
	// (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

func (o BucketOutput) Autoclass() BucketAutoclassPtrOutput

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

func (BucketOutput) Cors

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

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

func (o BucketOutput) DefaultEventBasedHold() pulumi.BoolPtrOutput

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

func (BucketOutput) EffectiveLabels

func (o BucketOutput) EffectiveLabels() pulumi.StringMapOutput

func (BucketOutput) ElementType

func (BucketOutput) ElementType() reflect.Type

func (BucketOutput) EnableObjectRetention

func (o BucketOutput) EnableObjectRetention() pulumi.BoolPtrOutput

Enables [object retention](https://cloud.google.com/storage/docs/object-lock) on a storage bucket.

func (BucketOutput) Encryption

func (o BucketOutput) Encryption() BucketEncryptionPtrOutput

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

func (BucketOutput) ForceDestroy

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) HierarchicalNamespace added in v8.7.0

func (o BucketOutput) HierarchicalNamespace() BucketHierarchicalNamespacePtrOutput

The bucket's hierarchical namespace policy, which defines the bucket capability to handle folders in logical structure. Structure is documented below. To use this configuration, `uniformBucketLevelAccess` must be enabled on bucket.

func (BucketOutput) Labels

func (o BucketOutput) Labels() pulumi.StringMapOutput

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

func (BucketOutput) LifecycleRules

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

func (o BucketOutput) Location() pulumi.StringOutput

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

***

func (BucketOutput) Logging

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

func (BucketOutput) Name

func (o BucketOutput) Name() pulumi.StringOutput

The name of the bucket.

func (BucketOutput) Project

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

func (o BucketOutput) ProjectNumber() pulumi.IntOutput

The project number of the project in which the resource belongs.

func (BucketOutput) PublicAccessPrevention

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

func (o BucketOutput) PulumiLabels() pulumi.StringMapOutput

The combination of labels configured directly on the resource and default labels configured on the provider.

func (BucketOutput) RequesterPays

func (o BucketOutput) RequesterPays() pulumi.BoolPtrOutput

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

func (BucketOutput) RetentionPolicy

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 (BucketOutput) Rpo

The recovery point objective for cross-region replication of the bucket. Applicable only for dual and multi-region buckets. `"DEFAULT"` sets default replication. `"ASYNC_TURBO"` value enables turbo replication, valid for dual-region buckets only. See [Turbo Replication](https://cloud.google.com/storage/docs/managing-turbo-replication) for more information. If rpo is not specified at bucket creation, it defaults to `"DEFAULT"` for dual and multi-region buckets. **NOTE** If used with single-region bucket, It will throw an error.

func (o BucketOutput) SelfLink() pulumi.StringOutput

The URI of the created resource.

func (BucketOutput) SoftDeletePolicy

func (o BucketOutput) SoftDeletePolicy() BucketSoftDeletePolicyOutput

The bucket's soft delete policy, which defines the period of time that soft-deleted objects will be retained, and cannot be permanently deleted. If it is not provided, by default Google Cloud Storage sets this to default soft delete policy

func (BucketOutput) StorageClass

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

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

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

func (BucketOutput) Versioning

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

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

type BucketRetentionPolicyInput

type BucketRetentionPolicyInput interface {
	pulumi.Input

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

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

BucketRetentionPolicyArgs{...}

type BucketRetentionPolicyOutput

type BucketRetentionPolicyOutput struct{ *pulumi.OutputState }

func (BucketRetentionPolicyOutput) ElementType

func (BucketRetentionPolicyOutput) IsLocked

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

func (BucketRetentionPolicyOutput) RetentionPeriod

func (o BucketRetentionPolicyOutput) RetentionPeriod() pulumi.IntOutput

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

func (BucketRetentionPolicyOutput) ToBucketRetentionPolicyOutput

func (o BucketRetentionPolicyOutput) ToBucketRetentionPolicyOutput() BucketRetentionPolicyOutput

func (BucketRetentionPolicyOutput) ToBucketRetentionPolicyOutputWithContext

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

func (BucketRetentionPolicyOutput) ToBucketRetentionPolicyPtrOutput

func (o BucketRetentionPolicyOutput) ToBucketRetentionPolicyPtrOutput() BucketRetentionPolicyPtrOutput

func (BucketRetentionPolicyOutput) ToBucketRetentionPolicyPtrOutputWithContext

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

type BucketRetentionPolicyPtrInput

type BucketRetentionPolicyPtrInput interface {
	pulumi.Input

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

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

        BucketRetentionPolicyArgs{...}

or:

        nil

type BucketRetentionPolicyPtrOutput

type BucketRetentionPolicyPtrOutput struct{ *pulumi.OutputState }

func (BucketRetentionPolicyPtrOutput) Elem

func (BucketRetentionPolicyPtrOutput) ElementType

func (BucketRetentionPolicyPtrOutput) IsLocked

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

func (BucketRetentionPolicyPtrOutput) RetentionPeriod

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

func (BucketRetentionPolicyPtrOutput) ToBucketRetentionPolicyPtrOutput

func (o BucketRetentionPolicyPtrOutput) ToBucketRetentionPolicyPtrOutput() BucketRetentionPolicyPtrOutput

func (BucketRetentionPolicyPtrOutput) ToBucketRetentionPolicyPtrOutputWithContext

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

type BucketSoftDeletePolicy

type BucketSoftDeletePolicy struct {
	// Server-determined value that indicates the time from which the policy, or one with a greater retention, was effective. This value is in RFC 3339 format.
	EffectiveTime *string `pulumi:"effectiveTime"`
	// The duration in seconds that soft-deleted objects in the bucket will be retained and cannot be permanently deleted. Default value is 604800. The value must be in between 604800(7 days) and 7776000(90 days). **Note**: To disable the soft delete policy on a bucket, This field must be set to 0.
	RetentionDurationSeconds *int `pulumi:"retentionDurationSeconds"`
}

type BucketSoftDeletePolicyArgs

type BucketSoftDeletePolicyArgs struct {
	// Server-determined value that indicates the time from which the policy, or one with a greater retention, was effective. This value is in RFC 3339 format.
	EffectiveTime pulumi.StringPtrInput `pulumi:"effectiveTime"`
	// The duration in seconds that soft-deleted objects in the bucket will be retained and cannot be permanently deleted. Default value is 604800. The value must be in between 604800(7 days) and 7776000(90 days). **Note**: To disable the soft delete policy on a bucket, This field must be set to 0.
	RetentionDurationSeconds pulumi.IntPtrInput `pulumi:"retentionDurationSeconds"`
}

func (BucketSoftDeletePolicyArgs) ElementType

func (BucketSoftDeletePolicyArgs) ElementType() reflect.Type

func (BucketSoftDeletePolicyArgs) ToBucketSoftDeletePolicyOutput

func (i BucketSoftDeletePolicyArgs) ToBucketSoftDeletePolicyOutput() BucketSoftDeletePolicyOutput

func (BucketSoftDeletePolicyArgs) ToBucketSoftDeletePolicyOutputWithContext

func (i BucketSoftDeletePolicyArgs) ToBucketSoftDeletePolicyOutputWithContext(ctx context.Context) BucketSoftDeletePolicyOutput

func (BucketSoftDeletePolicyArgs) ToBucketSoftDeletePolicyPtrOutput

func (i BucketSoftDeletePolicyArgs) ToBucketSoftDeletePolicyPtrOutput() BucketSoftDeletePolicyPtrOutput

func (BucketSoftDeletePolicyArgs) ToBucketSoftDeletePolicyPtrOutputWithContext

func (i BucketSoftDeletePolicyArgs) ToBucketSoftDeletePolicyPtrOutputWithContext(ctx context.Context) BucketSoftDeletePolicyPtrOutput

type BucketSoftDeletePolicyInput

type BucketSoftDeletePolicyInput interface {
	pulumi.Input

	ToBucketSoftDeletePolicyOutput() BucketSoftDeletePolicyOutput
	ToBucketSoftDeletePolicyOutputWithContext(context.Context) BucketSoftDeletePolicyOutput
}

BucketSoftDeletePolicyInput is an input type that accepts BucketSoftDeletePolicyArgs and BucketSoftDeletePolicyOutput values. You can construct a concrete instance of `BucketSoftDeletePolicyInput` via:

BucketSoftDeletePolicyArgs{...}

type BucketSoftDeletePolicyOutput

type BucketSoftDeletePolicyOutput struct{ *pulumi.OutputState }

func (BucketSoftDeletePolicyOutput) EffectiveTime

Server-determined value that indicates the time from which the policy, or one with a greater retention, was effective. This value is in RFC 3339 format.

func (BucketSoftDeletePolicyOutput) ElementType

func (BucketSoftDeletePolicyOutput) RetentionDurationSeconds

func (o BucketSoftDeletePolicyOutput) RetentionDurationSeconds() pulumi.IntPtrOutput

The duration in seconds that soft-deleted objects in the bucket will be retained and cannot be permanently deleted. Default value is 604800. The value must be in between 604800(7 days) and 7776000(90 days). **Note**: To disable the soft delete policy on a bucket, This field must be set to 0.

func (BucketSoftDeletePolicyOutput) ToBucketSoftDeletePolicyOutput

func (o BucketSoftDeletePolicyOutput) ToBucketSoftDeletePolicyOutput() BucketSoftDeletePolicyOutput

func (BucketSoftDeletePolicyOutput) ToBucketSoftDeletePolicyOutputWithContext

func (o BucketSoftDeletePolicyOutput) ToBucketSoftDeletePolicyOutputWithContext(ctx context.Context) BucketSoftDeletePolicyOutput

func (BucketSoftDeletePolicyOutput) ToBucketSoftDeletePolicyPtrOutput

func (o BucketSoftDeletePolicyOutput) ToBucketSoftDeletePolicyPtrOutput() BucketSoftDeletePolicyPtrOutput

func (BucketSoftDeletePolicyOutput) ToBucketSoftDeletePolicyPtrOutputWithContext

func (o BucketSoftDeletePolicyOutput) ToBucketSoftDeletePolicyPtrOutputWithContext(ctx context.Context) BucketSoftDeletePolicyPtrOutput

type BucketSoftDeletePolicyPtrInput

type BucketSoftDeletePolicyPtrInput interface {
	pulumi.Input

	ToBucketSoftDeletePolicyPtrOutput() BucketSoftDeletePolicyPtrOutput
	ToBucketSoftDeletePolicyPtrOutputWithContext(context.Context) BucketSoftDeletePolicyPtrOutput
}

BucketSoftDeletePolicyPtrInput is an input type that accepts BucketSoftDeletePolicyArgs, BucketSoftDeletePolicyPtr and BucketSoftDeletePolicyPtrOutput values. You can construct a concrete instance of `BucketSoftDeletePolicyPtrInput` via:

        BucketSoftDeletePolicyArgs{...}

or:

        nil

type BucketSoftDeletePolicyPtrOutput

type BucketSoftDeletePolicyPtrOutput struct{ *pulumi.OutputState }

func (BucketSoftDeletePolicyPtrOutput) EffectiveTime

Server-determined value that indicates the time from which the policy, or one with a greater retention, was effective. This value is in RFC 3339 format.

func (BucketSoftDeletePolicyPtrOutput) Elem

func (BucketSoftDeletePolicyPtrOutput) ElementType

func (BucketSoftDeletePolicyPtrOutput) RetentionDurationSeconds

func (o BucketSoftDeletePolicyPtrOutput) RetentionDurationSeconds() pulumi.IntPtrOutput

The duration in seconds that soft-deleted objects in the bucket will be retained and cannot be permanently deleted. Default value is 604800. The value must be in between 604800(7 days) and 7776000(90 days). **Note**: To disable the soft delete policy on a bucket, This field must be set to 0.

func (BucketSoftDeletePolicyPtrOutput) ToBucketSoftDeletePolicyPtrOutput

func (o BucketSoftDeletePolicyPtrOutput) ToBucketSoftDeletePolicyPtrOutput() BucketSoftDeletePolicyPtrOutput

func (BucketSoftDeletePolicyPtrOutput) ToBucketSoftDeletePolicyPtrOutputWithContext

func (o BucketSoftDeletePolicyPtrOutput) ToBucketSoftDeletePolicyPtrOutputWithContext(ctx context.Context) BucketSoftDeletePolicyPtrOutput

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
	EffectiveLabels       pulumi.StringMapInput
	// Enables [object retention](https://cloud.google.com/storage/docs/object-lock) on a storage bucket.
	EnableObjectRetention 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
	// The bucket's hierarchical namespace policy, which defines the bucket capability to handle folders in logical structure. Structure is documented below. To use this configuration, `uniformBucketLevelAccess` must be enabled on bucket.
	HierarchicalNamespace BucketHierarchicalNamespacePtrInput
	// 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
	// The project number of the project in which the resource belongs.
	ProjectNumber pulumi.IntPtrInput
	// 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
	// The combination of labels configured directly on the resource and default labels configured on the provider.
	PulumiLabels pulumi.StringMapInput
	// 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 recovery point objective for cross-region replication of the bucket. Applicable only for dual and multi-region buckets. `"DEFAULT"` sets default replication. `"ASYNC_TURBO"` value enables turbo replication, valid for dual-region buckets only. See [Turbo Replication](https://cloud.google.com/storage/docs/managing-turbo-replication) for more information. If rpo is not specified at bucket creation, it defaults to `"DEFAULT"` for dual and multi-region buckets. **NOTE** If used with single-region bucket, It will throw an error.
	Rpo pulumi.StringPtrInput
	// The URI of the created resource.
	SelfLink pulumi.StringPtrInput
	// The bucket's soft delete policy, which defines the period of time that soft-deleted objects will be retained, and cannot
	// be permanently deleted. If it is not provided, by default Google Cloud Storage sets this to default soft delete policy
	SoftDeletePolicy BucketSoftDeletePolicyPtrInput
	// 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

type BucketVersioningInput

type BucketVersioningInput interface {
	pulumi.Input

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

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

BucketVersioningArgs{...}

type BucketVersioningOutput

type BucketVersioningOutput struct{ *pulumi.OutputState }

func (BucketVersioningOutput) ElementType

func (BucketVersioningOutput) ElementType() reflect.Type

func (BucketVersioningOutput) Enabled

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

func (BucketVersioningOutput) ToBucketVersioningOutput

func (o BucketVersioningOutput) ToBucketVersioningOutput() BucketVersioningOutput

func (BucketVersioningOutput) ToBucketVersioningOutputWithContext

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

func (BucketVersioningOutput) ToBucketVersioningPtrOutput

func (o BucketVersioningOutput) ToBucketVersioningPtrOutput() BucketVersioningPtrOutput

func (BucketVersioningOutput) ToBucketVersioningPtrOutputWithContext

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

type BucketVersioningPtrInput

type BucketVersioningPtrInput interface {
	pulumi.Input

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

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

        BucketVersioningArgs{...}

or:

        nil

type BucketVersioningPtrOutput

type BucketVersioningPtrOutput struct{ *pulumi.OutputState }

func (BucketVersioningPtrOutput) Elem

func (BucketVersioningPtrOutput) ElementType

func (BucketVersioningPtrOutput) ElementType() reflect.Type

func (BucketVersioningPtrOutput) Enabled

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

func (BucketVersioningPtrOutput) ToBucketVersioningPtrOutput

func (o BucketVersioningPtrOutput) ToBucketVersioningPtrOutput() BucketVersioningPtrOutput

func (BucketVersioningPtrOutput) ToBucketVersioningPtrOutputWithContext

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

type BucketWebsite

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

type BucketWebsiteArgs

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

func (BucketWebsiteArgs) ElementType

func (BucketWebsiteArgs) ElementType() reflect.Type

func (BucketWebsiteArgs) ToBucketWebsiteOutput

func (i BucketWebsiteArgs) ToBucketWebsiteOutput() BucketWebsiteOutput

func (BucketWebsiteArgs) ToBucketWebsiteOutputWithContext

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

func (BucketWebsiteArgs) ToBucketWebsitePtrOutput

func (i BucketWebsiteArgs) ToBucketWebsitePtrOutput() BucketWebsitePtrOutput

func (BucketWebsiteArgs) ToBucketWebsitePtrOutputWithContext

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

type BucketWebsiteInput

type BucketWebsiteInput interface {
	pulumi.Input

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

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

BucketWebsiteArgs{...}

type BucketWebsiteOutput

type BucketWebsiteOutput struct{ *pulumi.OutputState }

func (BucketWebsiteOutput) ElementType

func (BucketWebsiteOutput) ElementType() reflect.Type

func (BucketWebsiteOutput) MainPageSuffix

func (o BucketWebsiteOutput) MainPageSuffix() pulumi.StringPtrOutput

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

func (BucketWebsiteOutput) NotFoundPage

func (o BucketWebsiteOutput) NotFoundPage() pulumi.StringPtrOutput

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

func (BucketWebsiteOutput) ToBucketWebsiteOutput

func (o BucketWebsiteOutput) ToBucketWebsiteOutput() BucketWebsiteOutput

func (BucketWebsiteOutput) ToBucketWebsiteOutputWithContext

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

func (BucketWebsiteOutput) ToBucketWebsitePtrOutput

func (o BucketWebsiteOutput) ToBucketWebsitePtrOutput() BucketWebsitePtrOutput

func (BucketWebsiteOutput) ToBucketWebsitePtrOutputWithContext

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

type BucketWebsitePtrInput

type BucketWebsitePtrInput interface {
	pulumi.Input

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

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

        BucketWebsiteArgs{...}

or:

        nil

type BucketWebsitePtrOutput

type BucketWebsitePtrOutput struct{ *pulumi.OutputState }

func (BucketWebsitePtrOutput) Elem

func (BucketWebsitePtrOutput) ElementType

func (BucketWebsitePtrOutput) ElementType() reflect.Type

func (BucketWebsitePtrOutput) MainPageSuffix

func (o BucketWebsitePtrOutput) MainPageSuffix() pulumi.StringPtrOutput

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

func (BucketWebsitePtrOutput) NotFoundPage

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

func (BucketWebsitePtrOutput) ToBucketWebsitePtrOutput

func (o BucketWebsitePtrOutput) ToBucketWebsitePtrOutput() BucketWebsitePtrOutput

func (BucketWebsitePtrOutput) ToBucketWebsitePtrOutputWithContext

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

type DefaultObjectACL

type DefaultObjectACL struct {
	pulumi.CustomResourceState

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

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

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

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

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

## Example Usage

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

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v8/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{
			Name:     pulumi.String("image-store-bucket"),
			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

type DefaultObjectACLArgs

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

The set of arguments for constructing a DefaultObjectACL resource.

func (DefaultObjectACLArgs) ElementType

func (DefaultObjectACLArgs) ElementType() reflect.Type

type DefaultObjectACLArray

type DefaultObjectACLArray []DefaultObjectACLInput

func (DefaultObjectACLArray) ElementType

func (DefaultObjectACLArray) ElementType() reflect.Type

func (DefaultObjectACLArray) ToDefaultObjectACLArrayOutput

func (i DefaultObjectACLArray) ToDefaultObjectACLArrayOutput() DefaultObjectACLArrayOutput

func (DefaultObjectACLArray) ToDefaultObjectACLArrayOutputWithContext

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

type DefaultObjectACLArrayInput

type DefaultObjectACLArrayInput interface {
	pulumi.Input

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

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

DefaultObjectACLArray{ DefaultObjectACLArgs{...} }

type DefaultObjectACLArrayOutput

type DefaultObjectACLArrayOutput struct{ *pulumi.OutputState }

func (DefaultObjectACLArrayOutput) ElementType

func (DefaultObjectACLArrayOutput) Index

func (DefaultObjectACLArrayOutput) ToDefaultObjectACLArrayOutput

func (o DefaultObjectACLArrayOutput) ToDefaultObjectACLArrayOutput() DefaultObjectACLArrayOutput

func (DefaultObjectACLArrayOutput) ToDefaultObjectACLArrayOutputWithContext

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

type DefaultObjectACLInput

type DefaultObjectACLInput interface {
	pulumi.Input

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

type DefaultObjectACLMap

type DefaultObjectACLMap map[string]DefaultObjectACLInput

func (DefaultObjectACLMap) ElementType

func (DefaultObjectACLMap) ElementType() reflect.Type

func (DefaultObjectACLMap) ToDefaultObjectACLMapOutput

func (i DefaultObjectACLMap) ToDefaultObjectACLMapOutput() DefaultObjectACLMapOutput

func (DefaultObjectACLMap) ToDefaultObjectACLMapOutputWithContext

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

type DefaultObjectACLMapInput

type DefaultObjectACLMapInput interface {
	pulumi.Input

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

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

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

type DefaultObjectACLMapOutput

type DefaultObjectACLMapOutput struct{ *pulumi.OutputState }

func (DefaultObjectACLMapOutput) ElementType

func (DefaultObjectACLMapOutput) ElementType() reflect.Type

func (DefaultObjectACLMapOutput) MapIndex

func (DefaultObjectACLMapOutput) ToDefaultObjectACLMapOutput

func (o DefaultObjectACLMapOutput) ToDefaultObjectACLMapOutput() DefaultObjectACLMapOutput

func (DefaultObjectACLMapOutput) ToDefaultObjectACLMapOutputWithContext

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

type DefaultObjectACLOutput

type DefaultObjectACLOutput struct{ *pulumi.OutputState }

func (DefaultObjectACLOutput) Bucket

The name of the bucket it applies to.

func (DefaultObjectACLOutput) ElementType

func (DefaultObjectACLOutput) ElementType() reflect.Type

func (DefaultObjectACLOutput) RoleEntities

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

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/v8/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{
			Name:     pulumi.String("static-content-bucket"),
			Location: pulumi.String("US"),
		})
		if err != nil {
			return err
		}
		_, err = storage.NewDefaultObjectAccessControl(ctx, "public_rule", &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:

* `{{bucket}}/{{entity}}`

When using the `pulumi import` command, DefaultObjectAccessControl can be imported using one of the formats above. For example:

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

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

type DefaultObjectAccessControlArrayInput

type DefaultObjectAccessControlArrayInput interface {
	pulumi.Input

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

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

DefaultObjectAccessControlArray{ DefaultObjectAccessControlArgs{...} }

type DefaultObjectAccessControlArrayOutput

type DefaultObjectAccessControlArrayOutput struct{ *pulumi.OutputState }

func (DefaultObjectAccessControlArrayOutput) ElementType

func (DefaultObjectAccessControlArrayOutput) Index

func (DefaultObjectAccessControlArrayOutput) ToDefaultObjectAccessControlArrayOutput

func (o DefaultObjectAccessControlArrayOutput) ToDefaultObjectAccessControlArrayOutput() DefaultObjectAccessControlArrayOutput

func (DefaultObjectAccessControlArrayOutput) ToDefaultObjectAccessControlArrayOutputWithContext

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

type DefaultObjectAccessControlInput

type DefaultObjectAccessControlInput interface {
	pulumi.Input

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

type DefaultObjectAccessControlMap

type DefaultObjectAccessControlMap map[string]DefaultObjectAccessControlInput

func (DefaultObjectAccessControlMap) ElementType

func (DefaultObjectAccessControlMap) ToDefaultObjectAccessControlMapOutput

func (i DefaultObjectAccessControlMap) ToDefaultObjectAccessControlMapOutput() DefaultObjectAccessControlMapOutput

func (DefaultObjectAccessControlMap) ToDefaultObjectAccessControlMapOutputWithContext

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

type DefaultObjectAccessControlMapInput

type DefaultObjectAccessControlMapInput interface {
	pulumi.Input

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

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

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

type DefaultObjectAccessControlMapOutput

type DefaultObjectAccessControlMapOutput struct{ *pulumi.OutputState }

func (DefaultObjectAccessControlMapOutput) ElementType

func (DefaultObjectAccessControlMapOutput) MapIndex

func (DefaultObjectAccessControlMapOutput) ToDefaultObjectAccessControlMapOutput

func (o DefaultObjectAccessControlMapOutput) ToDefaultObjectAccessControlMapOutput() DefaultObjectAccessControlMapOutput

func (DefaultObjectAccessControlMapOutput) ToDefaultObjectAccessControlMapOutputWithContext

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

type DefaultObjectAccessControlOutput

type DefaultObjectAccessControlOutput struct{ *pulumi.OutputState }

func (DefaultObjectAccessControlOutput) Bucket

The name of the bucket.

func (DefaultObjectAccessControlOutput) Domain

The domain associated with the entity.

func (DefaultObjectAccessControlOutput) ElementType

func (DefaultObjectAccessControlOutput) Email

The email address associated with the entity.

func (DefaultObjectAccessControlOutput) Entity

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

The ID for the entity

func (DefaultObjectAccessControlOutput) Generation

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

func (DefaultObjectAccessControlOutput) Object

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

func (DefaultObjectAccessControlOutput) ProjectTeams

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

func (DefaultObjectAccessControlOutput) Role

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

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

type DefaultObjectAccessControlProjectTeamArray

type DefaultObjectAccessControlProjectTeamArray []DefaultObjectAccessControlProjectTeamInput

func (DefaultObjectAccessControlProjectTeamArray) ElementType

func (DefaultObjectAccessControlProjectTeamArray) ToDefaultObjectAccessControlProjectTeamArrayOutput

func (i DefaultObjectAccessControlProjectTeamArray) ToDefaultObjectAccessControlProjectTeamArrayOutput() DefaultObjectAccessControlProjectTeamArrayOutput

func (DefaultObjectAccessControlProjectTeamArray) ToDefaultObjectAccessControlProjectTeamArrayOutputWithContext

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

type DefaultObjectAccessControlProjectTeamArrayInput

type DefaultObjectAccessControlProjectTeamArrayInput interface {
	pulumi.Input

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

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

DefaultObjectAccessControlProjectTeamArray{ DefaultObjectAccessControlProjectTeamArgs{...} }

type DefaultObjectAccessControlProjectTeamArrayOutput

type DefaultObjectAccessControlProjectTeamArrayOutput struct{ *pulumi.OutputState }

func (DefaultObjectAccessControlProjectTeamArrayOutput) ElementType

func (DefaultObjectAccessControlProjectTeamArrayOutput) Index

func (DefaultObjectAccessControlProjectTeamArrayOutput) ToDefaultObjectAccessControlProjectTeamArrayOutput

func (o DefaultObjectAccessControlProjectTeamArrayOutput) ToDefaultObjectAccessControlProjectTeamArrayOutput() DefaultObjectAccessControlProjectTeamArrayOutput

func (DefaultObjectAccessControlProjectTeamArrayOutput) ToDefaultObjectAccessControlProjectTeamArrayOutputWithContext

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

type DefaultObjectAccessControlProjectTeamInput

type DefaultObjectAccessControlProjectTeamInput interface {
	pulumi.Input

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

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

DefaultObjectAccessControlProjectTeamArgs{...}

type DefaultObjectAccessControlProjectTeamOutput

type DefaultObjectAccessControlProjectTeamOutput struct{ *pulumi.OutputState }

func (DefaultObjectAccessControlProjectTeamOutput) ElementType

func (DefaultObjectAccessControlProjectTeamOutput) ProjectNumber

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

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 Folder added in v8.13.0

type Folder struct {
	pulumi.CustomResourceState

	// The name of the bucket that contains the folder.
	Bucket pulumi.StringOutput `pulumi:"bucket"`
	// The timestamp at which this folder was created.
	CreateTime pulumi.StringOutput `pulumi:"createTime"`
	// If set to true, items within folder if any will be force destroyed.
	ForceDestroy pulumi.BoolPtrOutput `pulumi:"forceDestroy"`
	// The metadata generation of the folder.
	Metageneration pulumi.StringOutput `pulumi:"metageneration"`
	// The name of the folder expressed as a path. Must include
	// trailing '/'. For example, `example_dir/example_dir2/`, `example@#/`, `a-b/d-f/`.
	//
	// ***
	Name pulumi.StringOutput `pulumi:"name"`
	// The URI of the created resource.
	SelfLink pulumi.StringOutput `pulumi:"selfLink"`
	// The timestamp at which this folder was most recently updated.
	UpdateTime pulumi.StringOutput `pulumi:"updateTime"`
}

A Google Cloud Storage Folder.

The Folder resource represents a folder in a Cloud Storage bucket with hierarchical namespace enabled

To get more information about Folder, see:

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

## Example Usage

### Storage Folder Basic

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-gcp/sdk/v8/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{
			Name:                     pulumi.String("my-bucket"),
			Location:                 pulumi.String("EU"),
			UniformBucketLevelAccess: pulumi.Bool(true),
			HierarchicalNamespace: &storage.BucketHierarchicalNamespaceArgs{
				Enabled: pulumi.Bool(true),
			},
		})
		if err != nil {
			return err
		}
		folder, err := storage.NewFolder(ctx, "folder", &storage.FolderArgs{
			Bucket: bucket.Name,
			Name:   pulumi.String("parent-folder/"),
		})
		if err != nil {
			return err
		}
		_, err = storage.NewFolder(ctx, "subfolder", &storage.FolderArgs{
			Bucket: bucket.Name,
			Name: folder.Name.ApplyT(func(name string) (string, error) {
				return fmt.Sprintf("%vsubfolder/", name), nil
			}).(pulumi.StringOutput),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Folder can be imported using any of these accepted formats:

* `{{bucket}}/folders/{{name}}`

* `{{bucket}}/{{name}}`

When using the `pulumi import` command, Folder can be imported using one of the formats above. For example:

```sh $ pulumi import gcp:storage/folder:Folder default {{bucket}}/folders/{{name}} ```

```sh $ pulumi import gcp:storage/folder:Folder default {{bucket}}/{{name}} ```

func GetFolder added in v8.13.0

func GetFolder(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *FolderState, opts ...pulumi.ResourceOption) (*Folder, error)

GetFolder gets an existing Folder 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 NewFolder added in v8.13.0

func NewFolder(ctx *pulumi.Context,
	name string, args *FolderArgs, opts ...pulumi.ResourceOption) (*Folder, error)

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

func (*Folder) ElementType added in v8.13.0

func (*Folder) ElementType() reflect.Type

func (*Folder) ToFolderOutput added in v8.13.0

func (i *Folder) ToFolderOutput() FolderOutput

func (*Folder) ToFolderOutputWithContext added in v8.13.0

func (i *Folder) ToFolderOutputWithContext(ctx context.Context) FolderOutput

type FolderArgs added in v8.13.0

type FolderArgs struct {
	// The name of the bucket that contains the folder.
	Bucket pulumi.StringInput
	// If set to true, items within folder if any will be force destroyed.
	ForceDestroy pulumi.BoolPtrInput
	// The name of the folder expressed as a path. Must include
	// trailing '/'. For example, `example_dir/example_dir2/`, `example@#/`, `a-b/d-f/`.
	//
	// ***
	Name pulumi.StringPtrInput
}

The set of arguments for constructing a Folder resource.

func (FolderArgs) ElementType added in v8.13.0

func (FolderArgs) ElementType() reflect.Type

type FolderArray added in v8.13.0

type FolderArray []FolderInput

func (FolderArray) ElementType added in v8.13.0

func (FolderArray) ElementType() reflect.Type

func (FolderArray) ToFolderArrayOutput added in v8.13.0

func (i FolderArray) ToFolderArrayOutput() FolderArrayOutput

func (FolderArray) ToFolderArrayOutputWithContext added in v8.13.0

func (i FolderArray) ToFolderArrayOutputWithContext(ctx context.Context) FolderArrayOutput

type FolderArrayInput added in v8.13.0

type FolderArrayInput interface {
	pulumi.Input

	ToFolderArrayOutput() FolderArrayOutput
	ToFolderArrayOutputWithContext(context.Context) FolderArrayOutput
}

FolderArrayInput is an input type that accepts FolderArray and FolderArrayOutput values. You can construct a concrete instance of `FolderArrayInput` via:

FolderArray{ FolderArgs{...} }

type FolderArrayOutput added in v8.13.0

type FolderArrayOutput struct{ *pulumi.OutputState }

func (FolderArrayOutput) ElementType added in v8.13.0

func (FolderArrayOutput) ElementType() reflect.Type

func (FolderArrayOutput) Index added in v8.13.0

func (FolderArrayOutput) ToFolderArrayOutput added in v8.13.0

func (o FolderArrayOutput) ToFolderArrayOutput() FolderArrayOutput

func (FolderArrayOutput) ToFolderArrayOutputWithContext added in v8.13.0

func (o FolderArrayOutput) ToFolderArrayOutputWithContext(ctx context.Context) FolderArrayOutput

type FolderInput added in v8.13.0

type FolderInput interface {
	pulumi.Input

	ToFolderOutput() FolderOutput
	ToFolderOutputWithContext(ctx context.Context) FolderOutput
}

type FolderMap added in v8.13.0

type FolderMap map[string]FolderInput

func (FolderMap) ElementType added in v8.13.0

func (FolderMap) ElementType() reflect.Type

func (FolderMap) ToFolderMapOutput added in v8.13.0

func (i FolderMap) ToFolderMapOutput() FolderMapOutput

func (FolderMap) ToFolderMapOutputWithContext added in v8.13.0

func (i FolderMap) ToFolderMapOutputWithContext(ctx context.Context) FolderMapOutput

type FolderMapInput added in v8.13.0

type FolderMapInput interface {
	pulumi.Input

	ToFolderMapOutput() FolderMapOutput
	ToFolderMapOutputWithContext(context.Context) FolderMapOutput
}

FolderMapInput is an input type that accepts FolderMap and FolderMapOutput values. You can construct a concrete instance of `FolderMapInput` via:

FolderMap{ "key": FolderArgs{...} }

type FolderMapOutput added in v8.13.0

type FolderMapOutput struct{ *pulumi.OutputState }

func (FolderMapOutput) ElementType added in v8.13.0

func (FolderMapOutput) ElementType() reflect.Type

func (FolderMapOutput) MapIndex added in v8.13.0

func (FolderMapOutput) ToFolderMapOutput added in v8.13.0

func (o FolderMapOutput) ToFolderMapOutput() FolderMapOutput

func (FolderMapOutput) ToFolderMapOutputWithContext added in v8.13.0

func (o FolderMapOutput) ToFolderMapOutputWithContext(ctx context.Context) FolderMapOutput

type FolderOutput added in v8.13.0

type FolderOutput struct{ *pulumi.OutputState }

func (FolderOutput) Bucket added in v8.13.0

func (o FolderOutput) Bucket() pulumi.StringOutput

The name of the bucket that contains the folder.

func (FolderOutput) CreateTime added in v8.13.0

func (o FolderOutput) CreateTime() pulumi.StringOutput

The timestamp at which this folder was created.

func (FolderOutput) ElementType added in v8.13.0

func (FolderOutput) ElementType() reflect.Type

func (FolderOutput) ForceDestroy added in v8.13.0

func (o FolderOutput) ForceDestroy() pulumi.BoolPtrOutput

If set to true, items within folder if any will be force destroyed.

func (FolderOutput) Metageneration added in v8.13.0

func (o FolderOutput) Metageneration() pulumi.StringOutput

The metadata generation of the folder.

func (FolderOutput) Name added in v8.13.0

func (o FolderOutput) Name() pulumi.StringOutput

The name of the folder expressed as a path. Must include trailing '/'. For example, `example_dir/example_dir2/`, `example@#/`, `a-b/d-f/`.

***

func (o FolderOutput) SelfLink() pulumi.StringOutput

The URI of the created resource.

func (FolderOutput) ToFolderOutput added in v8.13.0

func (o FolderOutput) ToFolderOutput() FolderOutput

func (FolderOutput) ToFolderOutputWithContext added in v8.13.0

func (o FolderOutput) ToFolderOutputWithContext(ctx context.Context) FolderOutput

func (FolderOutput) UpdateTime added in v8.13.0

func (o FolderOutput) UpdateTime() pulumi.StringOutput

The timestamp at which this folder was most recently updated.

type FolderState added in v8.13.0

type FolderState struct {
	// The name of the bucket that contains the folder.
	Bucket pulumi.StringPtrInput
	// The timestamp at which this folder was created.
	CreateTime pulumi.StringPtrInput
	// If set to true, items within folder if any will be force destroyed.
	ForceDestroy pulumi.BoolPtrInput
	// The metadata generation of the folder.
	Metageneration pulumi.StringPtrInput
	// The name of the folder expressed as a path. Must include
	// trailing '/'. For example, `example_dir/example_dir2/`, `example@#/`, `a-b/d-f/`.
	//
	// ***
	Name pulumi.StringPtrInput
	// The URI of the created resource.
	SelfLink pulumi.StringPtrInput
	// The timestamp at which this folder was most recently updated.
	UpdateTime pulumi.StringPtrInput
}

func (FolderState) ElementType added in v8.13.0

func (FolderState) ElementType() reflect.Type

type GetBucketAutoclass

type GetBucketAutoclass 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"`
	// The storage class that objects in the bucket eventually transition to if they are not read for a certain length of time. Supported values include: NEARLINE, ARCHIVE.
	TerminalStorageClass string `pulumi:"terminalStorageClass"`
}

type GetBucketAutoclassArgs

type GetBucketAutoclassArgs 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"`
	// The storage class that objects in the bucket eventually transition to if they are not read for a certain length of time. Supported values include: NEARLINE, ARCHIVE.
	TerminalStorageClass pulumi.StringInput `pulumi:"terminalStorageClass"`
}

func (GetBucketAutoclassArgs) ElementType

func (GetBucketAutoclassArgs) ElementType() reflect.Type

func (GetBucketAutoclassArgs) ToGetBucketAutoclassOutput

func (i GetBucketAutoclassArgs) ToGetBucketAutoclassOutput() GetBucketAutoclassOutput

func (GetBucketAutoclassArgs) ToGetBucketAutoclassOutputWithContext

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

type GetBucketAutoclassArray

type GetBucketAutoclassArray []GetBucketAutoclassInput

func (GetBucketAutoclassArray) ElementType

func (GetBucketAutoclassArray) ElementType() reflect.Type

func (GetBucketAutoclassArray) ToGetBucketAutoclassArrayOutput

func (i GetBucketAutoclassArray) ToGetBucketAutoclassArrayOutput() GetBucketAutoclassArrayOutput

func (GetBucketAutoclassArray) ToGetBucketAutoclassArrayOutputWithContext

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

type GetBucketAutoclassArrayInput

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

type GetBucketAutoclassArrayOutput struct{ *pulumi.OutputState }

func (GetBucketAutoclassArrayOutput) ElementType

func (GetBucketAutoclassArrayOutput) Index

func (GetBucketAutoclassArrayOutput) ToGetBucketAutoclassArrayOutput

func (o GetBucketAutoclassArrayOutput) ToGetBucketAutoclassArrayOutput() GetBucketAutoclassArrayOutput

func (GetBucketAutoclassArrayOutput) ToGetBucketAutoclassArrayOutputWithContext

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

type GetBucketAutoclassInput

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

type GetBucketAutoclassOutput struct{ *pulumi.OutputState }

func (GetBucketAutoclassOutput) ElementType

func (GetBucketAutoclassOutput) ElementType() reflect.Type

func (GetBucketAutoclassOutput) Enabled

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

func (GetBucketAutoclassOutput) TerminalStorageClass

func (o GetBucketAutoclassOutput) TerminalStorageClass() pulumi.StringOutput

The storage class that objects in the bucket eventually transition to if they are not read for a certain length of time. Supported values include: NEARLINE, ARCHIVE.

func (GetBucketAutoclassOutput) ToGetBucketAutoclassOutput

func (o GetBucketAutoclassOutput) ToGetBucketAutoclassOutput() GetBucketAutoclassOutput

func (GetBucketAutoclassOutput) ToGetBucketAutoclassOutputWithContext

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

type GetBucketCor

type GetBucketCor struct {
	// The value, in seconds, to return in the Access-Control-Max-Age 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 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 to give permission for the user-agent to share across domains.
	ResponseHeaders []string `pulumi:"responseHeaders"`
}

type GetBucketCorArgs

type GetBucketCorArgs struct {
	// The value, in seconds, to return in the Access-Control-Max-Age header used in preflight responses.
	MaxAgeSeconds pulumi.IntInput `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 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 to give permission for the user-agent to share across domains.
	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

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

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

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

The value, in seconds, to return in the Access-Control-Max-Age header used in preflight responses.

func (GetBucketCorOutput) 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 (GetBucketCorOutput) Origins

The list of Origins eligible to receive CORS response headers. Note: "*" is permitted in the list of origins, and means "any Origin".

func (GetBucketCorOutput) ResponseHeaders

func (o GetBucketCorOutput) ResponseHeaders() pulumi.StringArrayOutput

The list of HTTP headers other than the simple response headers to give permission for the user-agent to share across domains.

func (GetBucketCorOutput) ToGetBucketCorOutput

func (o GetBucketCorOutput) ToGetBucketCorOutput() GetBucketCorOutput

func (GetBucketCorOutput) ToGetBucketCorOutputWithContext

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

type GetBucketCustomPlacementConfig

type GetBucketCustomPlacementConfig struct {
	// The list of individual regions that comprise a dual-region bucket. See the docs for a list of acceptable regions. Note: If any of the dataLocations changes, it will recreate the bucket.
	DataLocations []string `pulumi:"dataLocations"`
}

type GetBucketCustomPlacementConfigArgs

type GetBucketCustomPlacementConfigArgs struct {
	// The list of individual regions that comprise a dual-region bucket. See the docs for a list of acceptable regions. Note: If any of the dataLocations changes, it will recreate the bucket.
	DataLocations pulumi.StringArrayInput `pulumi:"dataLocations"`
}

func (GetBucketCustomPlacementConfigArgs) ElementType

func (GetBucketCustomPlacementConfigArgs) ToGetBucketCustomPlacementConfigOutput

func (i GetBucketCustomPlacementConfigArgs) ToGetBucketCustomPlacementConfigOutput() GetBucketCustomPlacementConfigOutput

func (GetBucketCustomPlacementConfigArgs) ToGetBucketCustomPlacementConfigOutputWithContext

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

type GetBucketCustomPlacementConfigArray

type GetBucketCustomPlacementConfigArray []GetBucketCustomPlacementConfigInput

func (GetBucketCustomPlacementConfigArray) ElementType

func (GetBucketCustomPlacementConfigArray) ToGetBucketCustomPlacementConfigArrayOutput

func (i GetBucketCustomPlacementConfigArray) ToGetBucketCustomPlacementConfigArrayOutput() GetBucketCustomPlacementConfigArrayOutput

func (GetBucketCustomPlacementConfigArray) ToGetBucketCustomPlacementConfigArrayOutputWithContext

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

type GetBucketCustomPlacementConfigArrayInput

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

type GetBucketCustomPlacementConfigArrayOutput struct{ *pulumi.OutputState }

func (GetBucketCustomPlacementConfigArrayOutput) ElementType

func (GetBucketCustomPlacementConfigArrayOutput) Index

func (GetBucketCustomPlacementConfigArrayOutput) ToGetBucketCustomPlacementConfigArrayOutput

func (o GetBucketCustomPlacementConfigArrayOutput) ToGetBucketCustomPlacementConfigArrayOutput() GetBucketCustomPlacementConfigArrayOutput

func (GetBucketCustomPlacementConfigArrayOutput) ToGetBucketCustomPlacementConfigArrayOutputWithContext

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

type GetBucketCustomPlacementConfigInput

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

type GetBucketCustomPlacementConfigOutput struct{ *pulumi.OutputState }

func (GetBucketCustomPlacementConfigOutput) DataLocations

The list of individual regions that comprise a dual-region bucket. See the docs for a list of acceptable regions. Note: If any of the dataLocations changes, it will recreate the bucket.

func (GetBucketCustomPlacementConfigOutput) ElementType

func (GetBucketCustomPlacementConfigOutput) ToGetBucketCustomPlacementConfigOutput

func (o GetBucketCustomPlacementConfigOutput) ToGetBucketCustomPlacementConfigOutput() GetBucketCustomPlacementConfigOutput

func (GetBucketCustomPlacementConfigOutput) ToGetBucketCustomPlacementConfigOutputWithContext

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

type GetBucketEncryption

type GetBucketEncryption struct {
	// 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 for more details.
	DefaultKmsKeyName string `pulumi:"defaultKmsKeyName"`
}

type GetBucketEncryptionArgs

type GetBucketEncryptionArgs struct {
	// 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 for more details.
	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

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

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

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

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 for more details.

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

type GetBucketHierarchicalNamespace added in v8.7.0

type GetBucketHierarchicalNamespace struct {
	// Set this field true to organize bucket with logical file system structure.
	Enabled bool `pulumi:"enabled"`
}

type GetBucketHierarchicalNamespaceArgs added in v8.7.0

type GetBucketHierarchicalNamespaceArgs struct {
	// Set this field true to organize bucket with logical file system structure.
	Enabled pulumi.BoolInput `pulumi:"enabled"`
}

func (GetBucketHierarchicalNamespaceArgs) ElementType added in v8.7.0

func (GetBucketHierarchicalNamespaceArgs) ToGetBucketHierarchicalNamespaceOutput added in v8.7.0

func (i GetBucketHierarchicalNamespaceArgs) ToGetBucketHierarchicalNamespaceOutput() GetBucketHierarchicalNamespaceOutput

func (GetBucketHierarchicalNamespaceArgs) ToGetBucketHierarchicalNamespaceOutputWithContext added in v8.7.0

func (i GetBucketHierarchicalNamespaceArgs) ToGetBucketHierarchicalNamespaceOutputWithContext(ctx context.Context) GetBucketHierarchicalNamespaceOutput

type GetBucketHierarchicalNamespaceArray added in v8.7.0

type GetBucketHierarchicalNamespaceArray []GetBucketHierarchicalNamespaceInput

func (GetBucketHierarchicalNamespaceArray) ElementType added in v8.7.0

func (GetBucketHierarchicalNamespaceArray) ToGetBucketHierarchicalNamespaceArrayOutput added in v8.7.0

func (i GetBucketHierarchicalNamespaceArray) ToGetBucketHierarchicalNamespaceArrayOutput() GetBucketHierarchicalNamespaceArrayOutput

func (GetBucketHierarchicalNamespaceArray) ToGetBucketHierarchicalNamespaceArrayOutputWithContext added in v8.7.0

func (i GetBucketHierarchicalNamespaceArray) ToGetBucketHierarchicalNamespaceArrayOutputWithContext(ctx context.Context) GetBucketHierarchicalNamespaceArrayOutput

type GetBucketHierarchicalNamespaceArrayInput added in v8.7.0

type GetBucketHierarchicalNamespaceArrayInput interface {
	pulumi.Input

	ToGetBucketHierarchicalNamespaceArrayOutput() GetBucketHierarchicalNamespaceArrayOutput
	ToGetBucketHierarchicalNamespaceArrayOutputWithContext(context.Context) GetBucketHierarchicalNamespaceArrayOutput
}

GetBucketHierarchicalNamespaceArrayInput is an input type that accepts GetBucketHierarchicalNamespaceArray and GetBucketHierarchicalNamespaceArrayOutput values. You can construct a concrete instance of `GetBucketHierarchicalNamespaceArrayInput` via:

GetBucketHierarchicalNamespaceArray{ GetBucketHierarchicalNamespaceArgs{...} }

type GetBucketHierarchicalNamespaceArrayOutput added in v8.7.0

type GetBucketHierarchicalNamespaceArrayOutput struct{ *pulumi.OutputState }

func (GetBucketHierarchicalNamespaceArrayOutput) ElementType added in v8.7.0

func (GetBucketHierarchicalNamespaceArrayOutput) Index added in v8.7.0

func (GetBucketHierarchicalNamespaceArrayOutput) ToGetBucketHierarchicalNamespaceArrayOutput added in v8.7.0

func (o GetBucketHierarchicalNamespaceArrayOutput) ToGetBucketHierarchicalNamespaceArrayOutput() GetBucketHierarchicalNamespaceArrayOutput

func (GetBucketHierarchicalNamespaceArrayOutput) ToGetBucketHierarchicalNamespaceArrayOutputWithContext added in v8.7.0

func (o GetBucketHierarchicalNamespaceArrayOutput) ToGetBucketHierarchicalNamespaceArrayOutputWithContext(ctx context.Context) GetBucketHierarchicalNamespaceArrayOutput

type GetBucketHierarchicalNamespaceInput added in v8.7.0

type GetBucketHierarchicalNamespaceInput interface {
	pulumi.Input

	ToGetBucketHierarchicalNamespaceOutput() GetBucketHierarchicalNamespaceOutput
	ToGetBucketHierarchicalNamespaceOutputWithContext(context.Context) GetBucketHierarchicalNamespaceOutput
}

GetBucketHierarchicalNamespaceInput is an input type that accepts GetBucketHierarchicalNamespaceArgs and GetBucketHierarchicalNamespaceOutput values. You can construct a concrete instance of `GetBucketHierarchicalNamespaceInput` via:

GetBucketHierarchicalNamespaceArgs{...}

type GetBucketHierarchicalNamespaceOutput added in v8.7.0

type GetBucketHierarchicalNamespaceOutput struct{ *pulumi.OutputState }

func (GetBucketHierarchicalNamespaceOutput) ElementType added in v8.7.0

func (GetBucketHierarchicalNamespaceOutput) Enabled added in v8.7.0

Set this field true to organize bucket with logical file system structure.

func (GetBucketHierarchicalNamespaceOutput) ToGetBucketHierarchicalNamespaceOutput added in v8.7.0

func (o GetBucketHierarchicalNamespaceOutput) ToGetBucketHierarchicalNamespaceOutput() GetBucketHierarchicalNamespaceOutput

func (GetBucketHierarchicalNamespaceOutput) ToGetBucketHierarchicalNamespaceOutputWithContext added in v8.7.0

func (o GetBucketHierarchicalNamespaceOutput) ToGetBucketHierarchicalNamespaceOutputWithContext(ctx context.Context) GetBucketHierarchicalNamespaceOutput

type GetBucketIamPolicyArgs

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

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

type GetBucketIamPolicyResult

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

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/v8/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: _default.Name,
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetBucketIamPolicyResultOutput

type GetBucketIamPolicyResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getBucketIamPolicy.

func (GetBucketIamPolicyResultOutput) Bucket

func (GetBucketIamPolicyResultOutput) ElementType

func (GetBucketIamPolicyResultOutput) Etag

(Computed) The etag of the IAM policy.

func (GetBucketIamPolicyResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetBucketIamPolicyResultOutput) PolicyData

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

func (GetBucketIamPolicyResultOutput) ToGetBucketIamPolicyResultOutput

func (o GetBucketIamPolicyResultOutput) ToGetBucketIamPolicyResultOutput() GetBucketIamPolicyResultOutput

func (GetBucketIamPolicyResultOutput) ToGetBucketIamPolicyResultOutputWithContext

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

type GetBucketLifecycleRule

type GetBucketLifecycleRule struct {
	// The Lifecycle Rule's action configuration. A single block of this type is supported.
	Actions []GetBucketLifecycleRuleAction `pulumi:"actions"`
	// The Lifecycle Rule's condition configuration.
	Conditions []GetBucketLifecycleRuleCondition `pulumi:"conditions"`
}

type GetBucketLifecycleRuleAction

type GetBucketLifecycleRuleAction struct {
	// The target Storage Class of objects affected by this Lifecycle Rule. Supported values include: 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 GetBucketLifecycleRuleActionArgs

type GetBucketLifecycleRuleActionArgs struct {
	// The target Storage Class of objects affected by this Lifecycle Rule. Supported values include: MULTI_REGIONAL, REGIONAL, NEARLINE, COLDLINE, ARCHIVE.
	StorageClass pulumi.StringInput `pulumi:"storageClass"`
	// The type of the action of this Lifecycle Rule. Supported values include: Delete, SetStorageClass and AbortIncompleteMultipartUpload.
	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

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

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

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

The target Storage Class of objects affected by this Lifecycle Rule. Supported values include: MULTI_REGIONAL, REGIONAL, NEARLINE, COLDLINE, ARCHIVE.

func (GetBucketLifecycleRuleActionOutput) ToGetBucketLifecycleRuleActionOutput

func (o GetBucketLifecycleRuleActionOutput) ToGetBucketLifecycleRuleActionOutput() GetBucketLifecycleRuleActionOutput

func (GetBucketLifecycleRuleActionOutput) ToGetBucketLifecycleRuleActionOutputWithContext

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

func (GetBucketLifecycleRuleActionOutput) Type

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

type GetBucketLifecycleRuleArgs

type GetBucketLifecycleRuleArgs struct {
	// The Lifecycle Rule's action configuration. A single block of this type is supported.
	Actions GetBucketLifecycleRuleActionArrayInput `pulumi:"actions"`
	// The Lifecycle Rule's condition configuration.
	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

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

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

type GetBucketLifecycleRuleCondition

type GetBucketLifecycleRuleCondition struct {
	// Minimum age of an object in days to satisfy this condition.
	Age int `pulumi:"age"`
	// Creation date of an object in RFC 3339 (e.g. 2017-06-13) to satisfy this condition.
	CreatedBefore string `pulumi:"createdBefore"`
	// Creation date of an object in RFC 3339 (e.g. 2017-06-13) to satisfy this condition.
	CustomTimeBefore string `pulumi:"customTimeBefore"`
	// Number of days elapsed since the user-specified timestamp set on an object.
	DaysSinceCustomTime int `pulumi:"daysSinceCustomTime"`
	// Number of days elapsed since the noncurrent timestamp of an object. This
	// 										condition is relevant only for versioned objects.
	DaysSinceNoncurrentTime int `pulumi:"daysSinceNoncurrentTime"`
	// One or more matching name prefixes to satisfy this condition.
	MatchesPrefixes []string `pulumi:"matchesPrefixes"`
	// Storage Class of objects to satisfy this condition. Supported values include: MULTI_REGIONAL, REGIONAL, NEARLINE, COLDLINE, ARCHIVE, STANDARD, DURABLE_REDUCED_AVAILABILITY.
	MatchesStorageClasses []string `pulumi:"matchesStorageClasses"`
	// One or more matching name suffixes to satisfy this condition.
	MatchesSuffixes []string `pulumi:"matchesSuffixes"`
	// Creation date of an object in RFC 3339 (e.g. 2017-06-13) to satisfy this condition.
	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"`
	// While set true, age value will be sent in the request even for zero value of the field. This field is only useful for setting 0 value to the age field. It can be used alone or together with age.
	SendAgeIfZero bool `pulumi:"sendAgeIfZero"`
	// While set true, daysSinceCustomTime value will be sent in the request even for zero value of the field. This field is only useful for setting 0 value to the daysSinceCustomTime field. It can be used alone or together with days_since_custom_time.
	SendDaysSinceCustomTimeIfZero bool `pulumi:"sendDaysSinceCustomTimeIfZero"`
	// While set true, daysSinceNoncurrentTime value will be sent in the request even for zero value of the field. This field is only useful for setting 0 value to the daysSinceNoncurrentTime field. It can be used alone or together with days_since_noncurrent_time.
	SendDaysSinceNoncurrentTimeIfZero bool `pulumi:"sendDaysSinceNoncurrentTimeIfZero"`
	// While set true, numNewerVersions value will be sent in the request even for zero value of the field. This field is only useful for setting 0 value to the numNewerVersions field. It can be used alone or together with num_newer_versions.
	SendNumNewerVersionsIfZero bool `pulumi:"sendNumNewerVersionsIfZero"`
	// Match to live and/or archived objects. Unversioned buckets have only live objects. Supported values include: "LIVE", "ARCHIVED", "ANY".
	WithState string `pulumi:"withState"`
}

type GetBucketLifecycleRuleConditionArgs

type GetBucketLifecycleRuleConditionArgs struct {
	// Minimum age of an object in days to satisfy this condition.
	Age pulumi.IntInput `pulumi:"age"`
	// Creation date of an object in RFC 3339 (e.g. 2017-06-13) to satisfy this condition.
	CreatedBefore pulumi.StringInput `pulumi:"createdBefore"`
	// Creation date of an object in RFC 3339 (e.g. 2017-06-13) to satisfy this condition.
	CustomTimeBefore pulumi.StringInput `pulumi:"customTimeBefore"`
	// Number of days elapsed since the user-specified timestamp set on an object.
	DaysSinceCustomTime pulumi.IntInput `pulumi:"daysSinceCustomTime"`
	// Number of days elapsed since the noncurrent timestamp of an object. This
	// 										condition is relevant only for versioned objects.
	DaysSinceNoncurrentTime pulumi.IntInput `pulumi:"daysSinceNoncurrentTime"`
	// One or more matching name prefixes to satisfy this condition.
	MatchesPrefixes pulumi.StringArrayInput `pulumi:"matchesPrefixes"`
	// Storage Class of objects to satisfy this condition. Supported values include: MULTI_REGIONAL, REGIONAL, NEARLINE, COLDLINE, ARCHIVE, STANDARD, DURABLE_REDUCED_AVAILABILITY.
	MatchesStorageClasses pulumi.StringArrayInput `pulumi:"matchesStorageClasses"`
	// One or more matching name suffixes to satisfy this condition.
	MatchesSuffixes pulumi.StringArrayInput `pulumi:"matchesSuffixes"`
	// Creation date of an object in RFC 3339 (e.g. 2017-06-13) to satisfy this condition.
	NoncurrentTimeBefore pulumi.StringInput `pulumi:"noncurrentTimeBefore"`
	// Relevant only for versioned objects. The number of newer versions of an object to satisfy this condition.
	NumNewerVersions pulumi.IntInput `pulumi:"numNewerVersions"`
	// While set true, age value will be sent in the request even for zero value of the field. This field is only useful for setting 0 value to the age field. It can be used alone or together with age.
	SendAgeIfZero pulumi.BoolInput `pulumi:"sendAgeIfZero"`
	// While set true, daysSinceCustomTime value will be sent in the request even for zero value of the field. This field is only useful for setting 0 value to the daysSinceCustomTime field. It can be used alone or together with days_since_custom_time.
	SendDaysSinceCustomTimeIfZero pulumi.BoolInput `pulumi:"sendDaysSinceCustomTimeIfZero"`
	// While set true, daysSinceNoncurrentTime value will be sent in the request even for zero value of the field. This field is only useful for setting 0 value to the daysSinceNoncurrentTime field. It can be used alone or together with days_since_noncurrent_time.
	SendDaysSinceNoncurrentTimeIfZero pulumi.BoolInput `pulumi:"sendDaysSinceNoncurrentTimeIfZero"`
	// While set true, numNewerVersions value will be sent in the request even for zero value of the field. This field is only useful for setting 0 value to the numNewerVersions field. It can be used alone or together with num_newer_versions.
	SendNumNewerVersionsIfZero pulumi.BoolInput `pulumi:"sendNumNewerVersionsIfZero"`
	// Match to live and/or archived objects. Unversioned buckets have only live objects. Supported values include: "LIVE", "ARCHIVED", "ANY".
	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

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

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

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

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

func (GetBucketLifecycleRuleConditionOutput) CreatedBefore

Creation date of an object in RFC 3339 (e.g. 2017-06-13) to satisfy this condition.

func (GetBucketLifecycleRuleConditionOutput) CustomTimeBefore

Creation date of an object in RFC 3339 (e.g. 2017-06-13) to satisfy this condition.

func (GetBucketLifecycleRuleConditionOutput) DaysSinceCustomTime

func (o GetBucketLifecycleRuleConditionOutput) DaysSinceCustomTime() pulumi.IntOutput

Number of days elapsed since the user-specified timestamp set on an object.

func (GetBucketLifecycleRuleConditionOutput) DaysSinceNoncurrentTime

func (o GetBucketLifecycleRuleConditionOutput) DaysSinceNoncurrentTime() pulumi.IntOutput

Number of days elapsed since the noncurrent timestamp of an object. This

condition is relevant only for versioned objects.

func (GetBucketLifecycleRuleConditionOutput) ElementType

func (GetBucketLifecycleRuleConditionOutput) MatchesPrefixes

One or more matching name prefixes to satisfy this condition.

func (GetBucketLifecycleRuleConditionOutput) MatchesStorageClasses

Storage Class of objects to satisfy this condition. Supported values include: MULTI_REGIONAL, REGIONAL, NEARLINE, COLDLINE, ARCHIVE, STANDARD, DURABLE_REDUCED_AVAILABILITY.

func (GetBucketLifecycleRuleConditionOutput) MatchesSuffixes

One or more matching name suffixes to satisfy this condition.

func (GetBucketLifecycleRuleConditionOutput) NoncurrentTimeBefore

Creation date of an object in RFC 3339 (e.g. 2017-06-13) to satisfy this condition.

func (GetBucketLifecycleRuleConditionOutput) NumNewerVersions

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

func (GetBucketLifecycleRuleConditionOutput) SendAgeIfZero

While set true, age value will be sent in the request even for zero value of the field. This field is only useful for setting 0 value to the age field. It can be used alone or together with age.

func (GetBucketLifecycleRuleConditionOutput) SendDaysSinceCustomTimeIfZero

func (o GetBucketLifecycleRuleConditionOutput) SendDaysSinceCustomTimeIfZero() pulumi.BoolOutput

While set true, daysSinceCustomTime value will be sent in the request even for zero value of the field. This field is only useful for setting 0 value to the daysSinceCustomTime field. It can be used alone or together with days_since_custom_time.

func (GetBucketLifecycleRuleConditionOutput) SendDaysSinceNoncurrentTimeIfZero

func (o GetBucketLifecycleRuleConditionOutput) SendDaysSinceNoncurrentTimeIfZero() pulumi.BoolOutput

While set true, daysSinceNoncurrentTime value will be sent in the request even for zero value of the field. This field is only useful for setting 0 value to the daysSinceNoncurrentTime field. It can be used alone or together with days_since_noncurrent_time.

func (GetBucketLifecycleRuleConditionOutput) SendNumNewerVersionsIfZero

func (o GetBucketLifecycleRuleConditionOutput) SendNumNewerVersionsIfZero() pulumi.BoolOutput

While set true, numNewerVersions value will be sent in the request even for zero value of the field. This field is only useful for setting 0 value to the numNewerVersions field. It can be used alone or together with num_newer_versions.

func (GetBucketLifecycleRuleConditionOutput) ToGetBucketLifecycleRuleConditionOutput

func (o GetBucketLifecycleRuleConditionOutput) ToGetBucketLifecycleRuleConditionOutput() GetBucketLifecycleRuleConditionOutput

func (GetBucketLifecycleRuleConditionOutput) ToGetBucketLifecycleRuleConditionOutputWithContext

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

func (GetBucketLifecycleRuleConditionOutput) WithState

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

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

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

func (GetBucketLifecycleRuleOutput) Conditions

The Lifecycle Rule's condition configuration.

func (GetBucketLifecycleRuleOutput) ElementType

func (GetBucketLifecycleRuleOutput) ToGetBucketLifecycleRuleOutput

func (o GetBucketLifecycleRuleOutput) ToGetBucketLifecycleRuleOutput() GetBucketLifecycleRuleOutput

func (GetBucketLifecycleRuleOutput) ToGetBucketLifecycleRuleOutputWithContext

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

type GetBucketLogging

type GetBucketLogging 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 Google Cloud Storage sets this to this bucket's name.
	LogObjectPrefix string `pulumi:"logObjectPrefix"`
}

type GetBucketLoggingArgs

type GetBucketLoggingArgs 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 Google Cloud Storage sets this to this bucket's name.
	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

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

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

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

The bucket that will receive log objects.

func (GetBucketLoggingOutput) LogObjectPrefix

func (o GetBucketLoggingOutput) LogObjectPrefix() pulumi.StringOutput

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

func (GetBucketLoggingOutput) ToGetBucketLoggingOutput

func (o GetBucketLoggingOutput) ToGetBucketLoggingOutput() GetBucketLoggingOutput

func (GetBucketLoggingOutput) ToGetBucketLoggingOutputWithContext

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

type GetBucketObjectContentArgs

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

A collection of arguments for invoking getBucketObjectContent.

type GetBucketObjectContentCustomerEncryption

type GetBucketObjectContentCustomerEncryption struct {
	// The encryption algorithm. Default: AES256
	EncryptionAlgorithm string `pulumi:"encryptionAlgorithm"`
	// Base64 encoded customer supplied encryption key.
	EncryptionKey string `pulumi:"encryptionKey"`
}

type GetBucketObjectContentCustomerEncryptionArgs

type GetBucketObjectContentCustomerEncryptionArgs struct {
	// The encryption algorithm. Default: AES256
	EncryptionAlgorithm pulumi.StringInput `pulumi:"encryptionAlgorithm"`
	// Base64 encoded customer supplied encryption key.
	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

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

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

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

The encryption algorithm. Default: AES256

func (GetBucketObjectContentCustomerEncryptionOutput) EncryptionKey

Base64 encoded customer supplied encryption key.

func (GetBucketObjectContentCustomerEncryptionOutput) ToGetBucketObjectContentCustomerEncryptionOutput

func (o GetBucketObjectContentCustomerEncryptionOutput) ToGetBucketObjectContentCustomerEncryptionOutput() GetBucketObjectContentCustomerEncryptionOutput

func (GetBucketObjectContentCustomerEncryptionOutput) ToGetBucketObjectContentCustomerEncryptionOutputWithContext

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

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"`
	Generation          int                                        `pulumi:"generation"`
	// 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"`
	Retentions    []GetBucketObjectContentRetention `pulumi:"retentions"`
	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 visible 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/v8/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) Generation

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

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

type GetBucketObjectContentRetention

type GetBucketObjectContentRetention struct {
	// The object retention mode. Supported values include: "Unlocked", "Locked".
	Mode string `pulumi:"mode"`
	// Time in RFC 3339 (e.g. 2030-01-01T02:03:04Z) until which object retention protects this object.
	RetainUntilTime string `pulumi:"retainUntilTime"`
}

type GetBucketObjectContentRetentionArgs

type GetBucketObjectContentRetentionArgs struct {
	// The object retention mode. Supported values include: "Unlocked", "Locked".
	Mode pulumi.StringInput `pulumi:"mode"`
	// Time in RFC 3339 (e.g. 2030-01-01T02:03:04Z) until which object retention protects this object.
	RetainUntilTime pulumi.StringInput `pulumi:"retainUntilTime"`
}

func (GetBucketObjectContentRetentionArgs) ElementType

func (GetBucketObjectContentRetentionArgs) ToGetBucketObjectContentRetentionOutput

func (i GetBucketObjectContentRetentionArgs) ToGetBucketObjectContentRetentionOutput() GetBucketObjectContentRetentionOutput

func (GetBucketObjectContentRetentionArgs) ToGetBucketObjectContentRetentionOutputWithContext

func (i GetBucketObjectContentRetentionArgs) ToGetBucketObjectContentRetentionOutputWithContext(ctx context.Context) GetBucketObjectContentRetentionOutput

type GetBucketObjectContentRetentionArray

type GetBucketObjectContentRetentionArray []GetBucketObjectContentRetentionInput

func (GetBucketObjectContentRetentionArray) ElementType

func (GetBucketObjectContentRetentionArray) ToGetBucketObjectContentRetentionArrayOutput

func (i GetBucketObjectContentRetentionArray) ToGetBucketObjectContentRetentionArrayOutput() GetBucketObjectContentRetentionArrayOutput

func (GetBucketObjectContentRetentionArray) ToGetBucketObjectContentRetentionArrayOutputWithContext

func (i GetBucketObjectContentRetentionArray) ToGetBucketObjectContentRetentionArrayOutputWithContext(ctx context.Context) GetBucketObjectContentRetentionArrayOutput

type GetBucketObjectContentRetentionArrayInput

type GetBucketObjectContentRetentionArrayInput interface {
	pulumi.Input

	ToGetBucketObjectContentRetentionArrayOutput() GetBucketObjectContentRetentionArrayOutput
	ToGetBucketObjectContentRetentionArrayOutputWithContext(context.Context) GetBucketObjectContentRetentionArrayOutput
}

GetBucketObjectContentRetentionArrayInput is an input type that accepts GetBucketObjectContentRetentionArray and GetBucketObjectContentRetentionArrayOutput values. You can construct a concrete instance of `GetBucketObjectContentRetentionArrayInput` via:

GetBucketObjectContentRetentionArray{ GetBucketObjectContentRetentionArgs{...} }

type GetBucketObjectContentRetentionArrayOutput

type GetBucketObjectContentRetentionArrayOutput struct{ *pulumi.OutputState }

func (GetBucketObjectContentRetentionArrayOutput) ElementType

func (GetBucketObjectContentRetentionArrayOutput) Index

func (GetBucketObjectContentRetentionArrayOutput) ToGetBucketObjectContentRetentionArrayOutput

func (o GetBucketObjectContentRetentionArrayOutput) ToGetBucketObjectContentRetentionArrayOutput() GetBucketObjectContentRetentionArrayOutput

func (GetBucketObjectContentRetentionArrayOutput) ToGetBucketObjectContentRetentionArrayOutputWithContext

func (o GetBucketObjectContentRetentionArrayOutput) ToGetBucketObjectContentRetentionArrayOutputWithContext(ctx context.Context) GetBucketObjectContentRetentionArrayOutput

type GetBucketObjectContentRetentionInput

type GetBucketObjectContentRetentionInput interface {
	pulumi.Input

	ToGetBucketObjectContentRetentionOutput() GetBucketObjectContentRetentionOutput
	ToGetBucketObjectContentRetentionOutputWithContext(context.Context) GetBucketObjectContentRetentionOutput
}

GetBucketObjectContentRetentionInput is an input type that accepts GetBucketObjectContentRetentionArgs and GetBucketObjectContentRetentionOutput values. You can construct a concrete instance of `GetBucketObjectContentRetentionInput` via:

GetBucketObjectContentRetentionArgs{...}

type GetBucketObjectContentRetentionOutput

type GetBucketObjectContentRetentionOutput struct{ *pulumi.OutputState }

func (GetBucketObjectContentRetentionOutput) ElementType

func (GetBucketObjectContentRetentionOutput) Mode

The object retention mode. Supported values include: "Unlocked", "Locked".

func (GetBucketObjectContentRetentionOutput) RetainUntilTime

Time in RFC 3339 (e.g. 2030-01-01T02:03:04Z) until which object retention protects this object.

func (GetBucketObjectContentRetentionOutput) ToGetBucketObjectContentRetentionOutput

func (o GetBucketObjectContentRetentionOutput) ToGetBucketObjectContentRetentionOutput() GetBucketObjectContentRetentionOutput

func (GetBucketObjectContentRetentionOutput) ToGetBucketObjectContentRetentionOutputWithContext

func (o GetBucketObjectContentRetentionOutput) ToGetBucketObjectContentRetentionOutputWithContext(ctx context.Context) GetBucketObjectContentRetentionOutput

type GetBucketObjectCustomerEncryption

type GetBucketObjectCustomerEncryption struct {
	// The encryption algorithm. Default: AES256
	EncryptionAlgorithm string `pulumi:"encryptionAlgorithm"`
	// Base64 encoded customer supplied encryption key.
	EncryptionKey string `pulumi:"encryptionKey"`
}

type GetBucketObjectCustomerEncryptionArgs

type GetBucketObjectCustomerEncryptionArgs struct {
	// The encryption algorithm. Default: AES256
	EncryptionAlgorithm pulumi.StringInput `pulumi:"encryptionAlgorithm"`
	// Base64 encoded customer supplied encryption key.
	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

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

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

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

The encryption algorithm. Default: AES256

func (GetBucketObjectCustomerEncryptionOutput) EncryptionKey

Base64 encoded customer supplied encryption key.

func (GetBucketObjectCustomerEncryptionOutput) ToGetBucketObjectCustomerEncryptionOutput

func (o GetBucketObjectCustomerEncryptionOutput) ToGetBucketObjectCustomerEncryptionOutput() GetBucketObjectCustomerEncryptionOutput

func (GetBucketObjectCustomerEncryptionOutput) ToGetBucketObjectCustomerEncryptionOutputWithContext

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

type GetBucketObjectRetention

type GetBucketObjectRetention struct {
	// The object retention mode. Supported values include: "Unlocked", "Locked".
	Mode string `pulumi:"mode"`
	// Time in RFC 3339 (e.g. 2030-01-01T02:03:04Z) until which object retention protects this object.
	RetainUntilTime string `pulumi:"retainUntilTime"`
}

type GetBucketObjectRetentionArgs

type GetBucketObjectRetentionArgs struct {
	// The object retention mode. Supported values include: "Unlocked", "Locked".
	Mode pulumi.StringInput `pulumi:"mode"`
	// Time in RFC 3339 (e.g. 2030-01-01T02:03:04Z) until which object retention protects this object.
	RetainUntilTime pulumi.StringInput `pulumi:"retainUntilTime"`
}

func (GetBucketObjectRetentionArgs) ElementType

func (GetBucketObjectRetentionArgs) ToGetBucketObjectRetentionOutput

func (i GetBucketObjectRetentionArgs) ToGetBucketObjectRetentionOutput() GetBucketObjectRetentionOutput

func (GetBucketObjectRetentionArgs) ToGetBucketObjectRetentionOutputWithContext

func (i GetBucketObjectRetentionArgs) ToGetBucketObjectRetentionOutputWithContext(ctx context.Context) GetBucketObjectRetentionOutput

type GetBucketObjectRetentionArray

type GetBucketObjectRetentionArray []GetBucketObjectRetentionInput

func (GetBucketObjectRetentionArray) ElementType

func (GetBucketObjectRetentionArray) ToGetBucketObjectRetentionArrayOutput

func (i GetBucketObjectRetentionArray) ToGetBucketObjectRetentionArrayOutput() GetBucketObjectRetentionArrayOutput

func (GetBucketObjectRetentionArray) ToGetBucketObjectRetentionArrayOutputWithContext

func (i GetBucketObjectRetentionArray) ToGetBucketObjectRetentionArrayOutputWithContext(ctx context.Context) GetBucketObjectRetentionArrayOutput

type GetBucketObjectRetentionArrayInput

type GetBucketObjectRetentionArrayInput interface {
	pulumi.Input

	ToGetBucketObjectRetentionArrayOutput() GetBucketObjectRetentionArrayOutput
	ToGetBucketObjectRetentionArrayOutputWithContext(context.Context) GetBucketObjectRetentionArrayOutput
}

GetBucketObjectRetentionArrayInput is an input type that accepts GetBucketObjectRetentionArray and GetBucketObjectRetentionArrayOutput values. You can construct a concrete instance of `GetBucketObjectRetentionArrayInput` via:

GetBucketObjectRetentionArray{ GetBucketObjectRetentionArgs{...} }

type GetBucketObjectRetentionArrayOutput

type GetBucketObjectRetentionArrayOutput struct{ *pulumi.OutputState }

func (GetBucketObjectRetentionArrayOutput) ElementType

func (GetBucketObjectRetentionArrayOutput) Index

func (GetBucketObjectRetentionArrayOutput) ToGetBucketObjectRetentionArrayOutput

func (o GetBucketObjectRetentionArrayOutput) ToGetBucketObjectRetentionArrayOutput() GetBucketObjectRetentionArrayOutput

func (GetBucketObjectRetentionArrayOutput) ToGetBucketObjectRetentionArrayOutputWithContext

func (o GetBucketObjectRetentionArrayOutput) ToGetBucketObjectRetentionArrayOutputWithContext(ctx context.Context) GetBucketObjectRetentionArrayOutput

type GetBucketObjectRetentionInput

type GetBucketObjectRetentionInput interface {
	pulumi.Input

	ToGetBucketObjectRetentionOutput() GetBucketObjectRetentionOutput
	ToGetBucketObjectRetentionOutputWithContext(context.Context) GetBucketObjectRetentionOutput
}

GetBucketObjectRetentionInput is an input type that accepts GetBucketObjectRetentionArgs and GetBucketObjectRetentionOutput values. You can construct a concrete instance of `GetBucketObjectRetentionInput` via:

GetBucketObjectRetentionArgs{...}

type GetBucketObjectRetentionOutput

type GetBucketObjectRetentionOutput struct{ *pulumi.OutputState }

func (GetBucketObjectRetentionOutput) ElementType

func (GetBucketObjectRetentionOutput) Mode

The object retention mode. Supported values include: "Unlocked", "Locked".

func (GetBucketObjectRetentionOutput) RetainUntilTime

Time in RFC 3339 (e.g. 2030-01-01T02:03:04Z) until which object retention protects this object.

func (GetBucketObjectRetentionOutput) ToGetBucketObjectRetentionOutput

func (o GetBucketObjectRetentionOutput) ToGetBucketObjectRetentionOutput() GetBucketObjectRetentionOutput

func (GetBucketObjectRetentionOutput) ToGetBucketObjectRetentionOutputWithContext

func (o GetBucketObjectRetentionOutput) ToGetBucketObjectRetentionOutputWithContext(ctx context.Context) GetBucketObjectRetentionOutput

type GetBucketObjectsArgs

type GetBucketObjectsArgs struct {
	// The name of the containing bucket.
	Bucket string `pulumi:"bucket"`
	// A glob pattern used to filter results (for example, `foo*bar`).
	MatchGlob *string `pulumi:"matchGlob"`
	// Filter results to include only objects whose names begin with this prefix.
	Prefix *string `pulumi:"prefix"`
}

A collection of arguments for invoking getBucketObjects.

type GetBucketObjectsBucketObject

type GetBucketObjectsBucketObject struct {
	// [Content-Type](https://tools.ietf.org/html/rfc7231#section-3.1.1.5) of the object data.
	ContentType string `pulumi:"contentType"`
	// A url reference to download this object.
	MediaLink string `pulumi:"mediaLink"`
	// The name of the object.
	Name string `pulumi:"name"`
	// A url reference to this object.
	SelfLink string `pulumi:"selfLink"`
	// The [StorageClass](https://cloud.google.com/storage/docs/storage-classes) of the bucket object.
	StorageClass string `pulumi:"storageClass"`
}

type GetBucketObjectsBucketObjectArgs

type GetBucketObjectsBucketObjectArgs struct {
	// [Content-Type](https://tools.ietf.org/html/rfc7231#section-3.1.1.5) of the object data.
	ContentType pulumi.StringInput `pulumi:"contentType"`
	// A url reference to download this object.
	MediaLink pulumi.StringInput `pulumi:"mediaLink"`
	// The name of the object.
	Name pulumi.StringInput `pulumi:"name"`
	// A url reference to this object.
	SelfLink pulumi.StringInput `pulumi:"selfLink"`
	// The [StorageClass](https://cloud.google.com/storage/docs/storage-classes) of the bucket object.
	StorageClass pulumi.StringInput `pulumi:"storageClass"`
}

func (GetBucketObjectsBucketObjectArgs) ElementType

func (GetBucketObjectsBucketObjectArgs) ToGetBucketObjectsBucketObjectOutput

func (i GetBucketObjectsBucketObjectArgs) ToGetBucketObjectsBucketObjectOutput() GetBucketObjectsBucketObjectOutput

func (GetBucketObjectsBucketObjectArgs) ToGetBucketObjectsBucketObjectOutputWithContext

func (i GetBucketObjectsBucketObjectArgs) ToGetBucketObjectsBucketObjectOutputWithContext(ctx context.Context) GetBucketObjectsBucketObjectOutput

type GetBucketObjectsBucketObjectArray

type GetBucketObjectsBucketObjectArray []GetBucketObjectsBucketObjectInput

func (GetBucketObjectsBucketObjectArray) ElementType

func (GetBucketObjectsBucketObjectArray) ToGetBucketObjectsBucketObjectArrayOutput

func (i GetBucketObjectsBucketObjectArray) ToGetBucketObjectsBucketObjectArrayOutput() GetBucketObjectsBucketObjectArrayOutput

func (GetBucketObjectsBucketObjectArray) ToGetBucketObjectsBucketObjectArrayOutputWithContext

func (i GetBucketObjectsBucketObjectArray) ToGetBucketObjectsBucketObjectArrayOutputWithContext(ctx context.Context) GetBucketObjectsBucketObjectArrayOutput

type GetBucketObjectsBucketObjectArrayInput

type GetBucketObjectsBucketObjectArrayInput interface {
	pulumi.Input

	ToGetBucketObjectsBucketObjectArrayOutput() GetBucketObjectsBucketObjectArrayOutput
	ToGetBucketObjectsBucketObjectArrayOutputWithContext(context.Context) GetBucketObjectsBucketObjectArrayOutput
}

GetBucketObjectsBucketObjectArrayInput is an input type that accepts GetBucketObjectsBucketObjectArray and GetBucketObjectsBucketObjectArrayOutput values. You can construct a concrete instance of `GetBucketObjectsBucketObjectArrayInput` via:

GetBucketObjectsBucketObjectArray{ GetBucketObjectsBucketObjectArgs{...} }

type GetBucketObjectsBucketObjectArrayOutput

type GetBucketObjectsBucketObjectArrayOutput struct{ *pulumi.OutputState }

func (GetBucketObjectsBucketObjectArrayOutput) ElementType

func (GetBucketObjectsBucketObjectArrayOutput) Index

func (GetBucketObjectsBucketObjectArrayOutput) ToGetBucketObjectsBucketObjectArrayOutput

func (o GetBucketObjectsBucketObjectArrayOutput) ToGetBucketObjectsBucketObjectArrayOutput() GetBucketObjectsBucketObjectArrayOutput

func (GetBucketObjectsBucketObjectArrayOutput) ToGetBucketObjectsBucketObjectArrayOutputWithContext

func (o GetBucketObjectsBucketObjectArrayOutput) ToGetBucketObjectsBucketObjectArrayOutputWithContext(ctx context.Context) GetBucketObjectsBucketObjectArrayOutput

type GetBucketObjectsBucketObjectInput

type GetBucketObjectsBucketObjectInput interface {
	pulumi.Input

	ToGetBucketObjectsBucketObjectOutput() GetBucketObjectsBucketObjectOutput
	ToGetBucketObjectsBucketObjectOutputWithContext(context.Context) GetBucketObjectsBucketObjectOutput
}

GetBucketObjectsBucketObjectInput is an input type that accepts GetBucketObjectsBucketObjectArgs and GetBucketObjectsBucketObjectOutput values. You can construct a concrete instance of `GetBucketObjectsBucketObjectInput` via:

GetBucketObjectsBucketObjectArgs{...}

type GetBucketObjectsBucketObjectOutput

type GetBucketObjectsBucketObjectOutput struct{ *pulumi.OutputState }

func (GetBucketObjectsBucketObjectOutput) ContentType

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

func (GetBucketObjectsBucketObjectOutput) ElementType

A url reference to download this object.

func (GetBucketObjectsBucketObjectOutput) Name

The name of the object.

A url reference to this object.

func (GetBucketObjectsBucketObjectOutput) StorageClass

The [StorageClass](https://cloud.google.com/storage/docs/storage-classes) of the bucket object.

func (GetBucketObjectsBucketObjectOutput) ToGetBucketObjectsBucketObjectOutput

func (o GetBucketObjectsBucketObjectOutput) ToGetBucketObjectsBucketObjectOutput() GetBucketObjectsBucketObjectOutput

func (GetBucketObjectsBucketObjectOutput) ToGetBucketObjectsBucketObjectOutputWithContext

func (o GetBucketObjectsBucketObjectOutput) ToGetBucketObjectsBucketObjectOutputWithContext(ctx context.Context) GetBucketObjectsBucketObjectOutput

type GetBucketObjectsOutputArgs

type GetBucketObjectsOutputArgs struct {
	// The name of the containing bucket.
	Bucket pulumi.StringInput `pulumi:"bucket"`
	// A glob pattern used to filter results (for example, `foo*bar`).
	MatchGlob pulumi.StringPtrInput `pulumi:"matchGlob"`
	// Filter results to include only objects whose names begin with this prefix.
	Prefix pulumi.StringPtrInput `pulumi:"prefix"`
}

A collection of arguments for invoking getBucketObjects.

func (GetBucketObjectsOutputArgs) ElementType

func (GetBucketObjectsOutputArgs) ElementType() reflect.Type

type GetBucketObjectsResult

type GetBucketObjectsResult struct {
	Bucket string `pulumi:"bucket"`
	// A list of retrieved objects contained in the provided GCS bucket. Structure is defined below.
	BucketObjects []GetBucketObjectsBucketObject `pulumi:"bucketObjects"`
	// The provider-assigned unique ID for this managed resource.
	Id        string  `pulumi:"id"`
	MatchGlob *string `pulumi:"matchGlob"`
	Prefix    *string `pulumi:"prefix"`
}

A collection of values returned by getBucketObjects.

func GetBucketObjects

func GetBucketObjects(ctx *pulumi.Context, args *GetBucketObjectsArgs, opts ...pulumi.InvokeOption) (*GetBucketObjectsResult, error)

Gets existing objects 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/list).

## Example Usage

Example files stored within a bucket.

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := storage.GetBucketObjects(ctx, &storage.GetBucketObjectsArgs{
			Bucket: "file-store",
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetBucketObjectsResultOutput

type GetBucketObjectsResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getBucketObjects.

func (GetBucketObjectsResultOutput) Bucket

func (GetBucketObjectsResultOutput) BucketObjects

A list of retrieved objects contained in the provided GCS bucket. Structure is defined below.

func (GetBucketObjectsResultOutput) ElementType

func (GetBucketObjectsResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetBucketObjectsResultOutput) MatchGlob

func (GetBucketObjectsResultOutput) Prefix

func (GetBucketObjectsResultOutput) ToGetBucketObjectsResultOutput

func (o GetBucketObjectsResultOutput) ToGetBucketObjectsResultOutput() GetBucketObjectsResultOutput

func (GetBucketObjectsResultOutput) ToGetBucketObjectsResultOutputWithContext

func (o GetBucketObjectsResultOutput) ToGetBucketObjectsResultOutputWithContext(ctx context.Context) GetBucketObjectsResultOutput

type GetBucketRetentionPolicy

type GetBucketRetentionPolicy struct {
	// If set to true, the bucket will be locked 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 3,155,760,000 seconds.
	RetentionPeriod int `pulumi:"retentionPeriod"`
}

type GetBucketRetentionPolicyArgs

type GetBucketRetentionPolicyArgs struct {
	// If set to true, the bucket will be locked and permanently restrict edits to the bucket's retention policy.  Caution: Locking a bucket is an irreversible action.
	IsLocked pulumi.BoolInput `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 3,155,760,000 seconds.
	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

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

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

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

If set to true, the bucket will be locked and permanently restrict edits to the bucket's retention policy. Caution: Locking a bucket is an irreversible action.

func (GetBucketRetentionPolicyOutput) RetentionPeriod

func (o GetBucketRetentionPolicyOutput) 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 3,155,760,000 seconds.

func (GetBucketRetentionPolicyOutput) ToGetBucketRetentionPolicyOutput

func (o GetBucketRetentionPolicyOutput) ToGetBucketRetentionPolicyOutput() GetBucketRetentionPolicyOutput

func (GetBucketRetentionPolicyOutput) ToGetBucketRetentionPolicyOutputWithContext

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

type GetBucketSoftDeletePolicy

type GetBucketSoftDeletePolicy struct {
	// Server-determined value that indicates the time from which the policy, or one with a greater retention, was effective. This value is in RFC 3339 format.
	EffectiveTime string `pulumi:"effectiveTime"`
	// The duration in seconds that soft-deleted objects in the bucket will be retained and cannot be permanently deleted. Default value is 604800.
	RetentionDurationSeconds int `pulumi:"retentionDurationSeconds"`
}

type GetBucketSoftDeletePolicyArgs

type GetBucketSoftDeletePolicyArgs struct {
	// Server-determined value that indicates the time from which the policy, or one with a greater retention, was effective. This value is in RFC 3339 format.
	EffectiveTime pulumi.StringInput `pulumi:"effectiveTime"`
	// The duration in seconds that soft-deleted objects in the bucket will be retained and cannot be permanently deleted. Default value is 604800.
	RetentionDurationSeconds pulumi.IntInput `pulumi:"retentionDurationSeconds"`
}

func (GetBucketSoftDeletePolicyArgs) ElementType

func (GetBucketSoftDeletePolicyArgs) ToGetBucketSoftDeletePolicyOutput

func (i GetBucketSoftDeletePolicyArgs) ToGetBucketSoftDeletePolicyOutput() GetBucketSoftDeletePolicyOutput

func (GetBucketSoftDeletePolicyArgs) ToGetBucketSoftDeletePolicyOutputWithContext

func (i GetBucketSoftDeletePolicyArgs) ToGetBucketSoftDeletePolicyOutputWithContext(ctx context.Context) GetBucketSoftDeletePolicyOutput

type GetBucketSoftDeletePolicyArray

type GetBucketSoftDeletePolicyArray []GetBucketSoftDeletePolicyInput

func (GetBucketSoftDeletePolicyArray) ElementType

func (GetBucketSoftDeletePolicyArray) ToGetBucketSoftDeletePolicyArrayOutput

func (i GetBucketSoftDeletePolicyArray) ToGetBucketSoftDeletePolicyArrayOutput() GetBucketSoftDeletePolicyArrayOutput

func (GetBucketSoftDeletePolicyArray) ToGetBucketSoftDeletePolicyArrayOutputWithContext

func (i GetBucketSoftDeletePolicyArray) ToGetBucketSoftDeletePolicyArrayOutputWithContext(ctx context.Context) GetBucketSoftDeletePolicyArrayOutput

type GetBucketSoftDeletePolicyArrayInput

type GetBucketSoftDeletePolicyArrayInput interface {
	pulumi.Input

	ToGetBucketSoftDeletePolicyArrayOutput() GetBucketSoftDeletePolicyArrayOutput
	ToGetBucketSoftDeletePolicyArrayOutputWithContext(context.Context) GetBucketSoftDeletePolicyArrayOutput
}

GetBucketSoftDeletePolicyArrayInput is an input type that accepts GetBucketSoftDeletePolicyArray and GetBucketSoftDeletePolicyArrayOutput values. You can construct a concrete instance of `GetBucketSoftDeletePolicyArrayInput` via:

GetBucketSoftDeletePolicyArray{ GetBucketSoftDeletePolicyArgs{...} }

type GetBucketSoftDeletePolicyArrayOutput

type GetBucketSoftDeletePolicyArrayOutput struct{ *pulumi.OutputState }

func (GetBucketSoftDeletePolicyArrayOutput) ElementType

func (GetBucketSoftDeletePolicyArrayOutput) Index

func (GetBucketSoftDeletePolicyArrayOutput) ToGetBucketSoftDeletePolicyArrayOutput

func (o GetBucketSoftDeletePolicyArrayOutput) ToGetBucketSoftDeletePolicyArrayOutput() GetBucketSoftDeletePolicyArrayOutput

func (GetBucketSoftDeletePolicyArrayOutput) ToGetBucketSoftDeletePolicyArrayOutputWithContext

func (o GetBucketSoftDeletePolicyArrayOutput) ToGetBucketSoftDeletePolicyArrayOutputWithContext(ctx context.Context) GetBucketSoftDeletePolicyArrayOutput

type GetBucketSoftDeletePolicyInput

type GetBucketSoftDeletePolicyInput interface {
	pulumi.Input

	ToGetBucketSoftDeletePolicyOutput() GetBucketSoftDeletePolicyOutput
	ToGetBucketSoftDeletePolicyOutputWithContext(context.Context) GetBucketSoftDeletePolicyOutput
}

GetBucketSoftDeletePolicyInput is an input type that accepts GetBucketSoftDeletePolicyArgs and GetBucketSoftDeletePolicyOutput values. You can construct a concrete instance of `GetBucketSoftDeletePolicyInput` via:

GetBucketSoftDeletePolicyArgs{...}

type GetBucketSoftDeletePolicyOutput

type GetBucketSoftDeletePolicyOutput struct{ *pulumi.OutputState }

func (GetBucketSoftDeletePolicyOutput) EffectiveTime

Server-determined value that indicates the time from which the policy, or one with a greater retention, was effective. This value is in RFC 3339 format.

func (GetBucketSoftDeletePolicyOutput) ElementType

func (GetBucketSoftDeletePolicyOutput) RetentionDurationSeconds

func (o GetBucketSoftDeletePolicyOutput) RetentionDurationSeconds() pulumi.IntOutput

The duration in seconds that soft-deleted objects in the bucket will be retained and cannot be permanently deleted. Default value is 604800.

func (GetBucketSoftDeletePolicyOutput) ToGetBucketSoftDeletePolicyOutput

func (o GetBucketSoftDeletePolicyOutput) ToGetBucketSoftDeletePolicyOutput() GetBucketSoftDeletePolicyOutput

func (GetBucketSoftDeletePolicyOutput) ToGetBucketSoftDeletePolicyOutputWithContext

func (o GetBucketSoftDeletePolicyOutput) ToGetBucketSoftDeletePolicyOutputWithContext(ctx context.Context) GetBucketSoftDeletePolicyOutput

type GetBucketVersioning

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

type GetBucketVersioningArgs

type GetBucketVersioningArgs struct {
	// While set to true, versioning is fully enabled for this bucket.
	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

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

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

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

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

func (GetBucketVersioningOutput) ToGetBucketVersioningOutput

func (o GetBucketVersioningOutput) ToGetBucketVersioningOutput() GetBucketVersioningOutput

func (GetBucketVersioningOutput) ToGetBucketVersioningOutputWithContext

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

type GetBucketWebsite

type GetBucketWebsite 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 GetBucketWebsiteArgs

type GetBucketWebsiteArgs struct {
	// Behaves as the bucket's directory index where missing objects are treated as potential directories.
	MainPageSuffix pulumi.StringInput `pulumi:"mainPageSuffix"`
	// The custom object to return when a requested resource is not found.
	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

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

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

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

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

func (GetBucketWebsiteOutput) NotFoundPage

func (o GetBucketWebsiteOutput) NotFoundPage() pulumi.StringOutput

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

func (GetBucketWebsiteOutput) ToGetBucketWebsiteOutput

func (o GetBucketWebsiteOutput) ToGetBucketWebsiteOutput() GetBucketWebsiteOutput

func (GetBucketWebsiteOutput) ToGetBucketWebsiteOutputWithContext

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

type GetBucketsArgs

type GetBucketsArgs struct {
	// Filter results to buckets whose names begin with this prefix.
	Prefix *string `pulumi:"prefix"`
	// The ID of the project. If it is not provided, the provider project is used.
	Project *string `pulumi:"project"`
}

A collection of arguments for invoking getBuckets.

type GetBucketsBucket

type GetBucketsBucket struct {
	// User-provided bucket labels, in key/value pairs.
	Labels map[string]string `pulumi:"labels"`
	// The location of the bucket.
	Location string `pulumi:"location"`
	// The name of the bucket.
	Name string `pulumi:"name"`
	// A url reference to the bucket.
	SelfLink string `pulumi:"selfLink"`
	// The [StorageClass](https://cloud.google.com/storage/docs/storage-classes) of the bucket.
	StorageClass string `pulumi:"storageClass"`
}

type GetBucketsBucketArgs

type GetBucketsBucketArgs struct {
	// User-provided bucket labels, in key/value pairs.
	Labels pulumi.StringMapInput `pulumi:"labels"`
	// The location of the bucket.
	Location pulumi.StringInput `pulumi:"location"`
	// The name of the bucket.
	Name pulumi.StringInput `pulumi:"name"`
	// A url reference to the bucket.
	SelfLink pulumi.StringInput `pulumi:"selfLink"`
	// The [StorageClass](https://cloud.google.com/storage/docs/storage-classes) of the bucket.
	StorageClass pulumi.StringInput `pulumi:"storageClass"`
}

func (GetBucketsBucketArgs) ElementType

func (GetBucketsBucketArgs) ElementType() reflect.Type

func (GetBucketsBucketArgs) ToGetBucketsBucketOutput

func (i GetBucketsBucketArgs) ToGetBucketsBucketOutput() GetBucketsBucketOutput

func (GetBucketsBucketArgs) ToGetBucketsBucketOutputWithContext

func (i GetBucketsBucketArgs) ToGetBucketsBucketOutputWithContext(ctx context.Context) GetBucketsBucketOutput

type GetBucketsBucketArray

type GetBucketsBucketArray []GetBucketsBucketInput

func (GetBucketsBucketArray) ElementType

func (GetBucketsBucketArray) ElementType() reflect.Type

func (GetBucketsBucketArray) ToGetBucketsBucketArrayOutput

func (i GetBucketsBucketArray) ToGetBucketsBucketArrayOutput() GetBucketsBucketArrayOutput

func (GetBucketsBucketArray) ToGetBucketsBucketArrayOutputWithContext

func (i GetBucketsBucketArray) ToGetBucketsBucketArrayOutputWithContext(ctx context.Context) GetBucketsBucketArrayOutput

type GetBucketsBucketArrayInput

type GetBucketsBucketArrayInput interface {
	pulumi.Input

	ToGetBucketsBucketArrayOutput() GetBucketsBucketArrayOutput
	ToGetBucketsBucketArrayOutputWithContext(context.Context) GetBucketsBucketArrayOutput
}

GetBucketsBucketArrayInput is an input type that accepts GetBucketsBucketArray and GetBucketsBucketArrayOutput values. You can construct a concrete instance of `GetBucketsBucketArrayInput` via:

GetBucketsBucketArray{ GetBucketsBucketArgs{...} }

type GetBucketsBucketArrayOutput

type GetBucketsBucketArrayOutput struct{ *pulumi.OutputState }

func (GetBucketsBucketArrayOutput) ElementType

func (GetBucketsBucketArrayOutput) Index

func (GetBucketsBucketArrayOutput) ToGetBucketsBucketArrayOutput

func (o GetBucketsBucketArrayOutput) ToGetBucketsBucketArrayOutput() GetBucketsBucketArrayOutput

func (GetBucketsBucketArrayOutput) ToGetBucketsBucketArrayOutputWithContext

func (o GetBucketsBucketArrayOutput) ToGetBucketsBucketArrayOutputWithContext(ctx context.Context) GetBucketsBucketArrayOutput

type GetBucketsBucketInput

type GetBucketsBucketInput interface {
	pulumi.Input

	ToGetBucketsBucketOutput() GetBucketsBucketOutput
	ToGetBucketsBucketOutputWithContext(context.Context) GetBucketsBucketOutput
}

GetBucketsBucketInput is an input type that accepts GetBucketsBucketArgs and GetBucketsBucketOutput values. You can construct a concrete instance of `GetBucketsBucketInput` via:

GetBucketsBucketArgs{...}

type GetBucketsBucketOutput

type GetBucketsBucketOutput struct{ *pulumi.OutputState }

func (GetBucketsBucketOutput) ElementType

func (GetBucketsBucketOutput) ElementType() reflect.Type

func (GetBucketsBucketOutput) Labels

User-provided bucket labels, in key/value pairs.

func (GetBucketsBucketOutput) Location

The location of the bucket.

func (GetBucketsBucketOutput) Name

The name of the bucket.

A url reference to the bucket.

func (GetBucketsBucketOutput) StorageClass

func (o GetBucketsBucketOutput) StorageClass() pulumi.StringOutput

The [StorageClass](https://cloud.google.com/storage/docs/storage-classes) of the bucket.

func (GetBucketsBucketOutput) ToGetBucketsBucketOutput

func (o GetBucketsBucketOutput) ToGetBucketsBucketOutput() GetBucketsBucketOutput

func (GetBucketsBucketOutput) ToGetBucketsBucketOutputWithContext

func (o GetBucketsBucketOutput) ToGetBucketsBucketOutputWithContext(ctx context.Context) GetBucketsBucketOutput

type GetBucketsOutputArgs

type GetBucketsOutputArgs struct {
	// Filter results to buckets whose names begin with this prefix.
	Prefix pulumi.StringPtrInput `pulumi:"prefix"`
	// The ID of the project. If it is not provided, the provider project is used.
	Project pulumi.StringPtrInput `pulumi:"project"`
}

A collection of arguments for invoking getBuckets.

func (GetBucketsOutputArgs) ElementType

func (GetBucketsOutputArgs) ElementType() reflect.Type

type GetBucketsResult

type GetBucketsResult struct {
	// A list of all retrieved GCS buckets. Structure is defined below.
	Buckets []GetBucketsBucket `pulumi:"buckets"`
	// The provider-assigned unique ID for this managed resource.
	Id      string  `pulumi:"id"`
	Prefix  *string `pulumi:"prefix"`
	Project *string `pulumi:"project"`
}

A collection of values returned by getBuckets.

func GetBuckets

func GetBuckets(ctx *pulumi.Context, args *GetBucketsArgs, opts ...pulumi.InvokeOption) (*GetBucketsResult, error)

Gets a list of existing GCS buckets. See [the official documentation](https://cloud.google.com/storage/docs/introduction) and [API](https://cloud.google.com/storage/docs/json_api/v1/buckets/list).

## Example Usage

Example GCS buckets.

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := storage.GetBuckets(ctx, &storage.GetBucketsArgs{
			Project: pulumi.StringRef("example-project"),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetBucketsResultOutput

type GetBucketsResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getBuckets.

func (GetBucketsResultOutput) Buckets

A list of all retrieved GCS buckets. Structure is defined below.

func (GetBucketsResultOutput) ElementType

func (GetBucketsResultOutput) ElementType() reflect.Type

func (GetBucketsResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetBucketsResultOutput) Prefix

func (GetBucketsResultOutput) Project

func (GetBucketsResultOutput) ToGetBucketsResultOutput

func (o GetBucketsResultOutput) ToGetBucketsResultOutput() GetBucketsResultOutput

func (GetBucketsResultOutput) ToGetBucketsResultOutputWithContext

func (o GetBucketsResultOutput) ToGetBucketsResultOutputWithContext(ctx context.Context) GetBucketsResultOutput

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/v8/go/gcp/compute"
"github.com/pulumi/pulumi-gcp/sdk/v8/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", &compute.InstanceArgs{
			Name: pulumi.String("vm"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Full Example

```go package main

import (

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

)

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(std.File(ctx, &std.FileArgs{
				Input: "path/to/credentials.json",
			}, nil).Result),
			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

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/v8/go/gcp/pubsub"
"github.com/pulumi/pulumi-gcp/sdk/v8/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, &storage.GetProjectServiceAccountArgs{}, nil)
		if err != nil {
			return err
		}
		_, err = pubsub.NewTopicIAMBinding(ctx, "binding", &pubsub.TopicIAMBindingArgs{
			Topic: pulumi.Any(topic.Name),
			Role:  pulumi.String("roles/pubsub.publisher"),
			Members: pulumi.StringArray{
				pulumi.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/v8/go/gcp/kms"
"github.com/pulumi/pulumi-gcp/sdk/v8/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, &storage.GetProjectServiceAccountArgs{}, 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.Sprintf("serviceAccount:%v", gcsAccount.EmailAddress),
			},
		})
		if err != nil {
			return err
		}
		_, err = storage.NewBucket(ctx, "bucket", &storage.BucketArgs{
			Name:     pulumi.String("kms-protected-bucket"),
			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

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

type GetTransferProjectServiceAccountArgs

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

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

type GetTransferProjectServiceAccountResult

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

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/v8/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{}, nil)
		if err != nil {
			return err
		}
		ctx.Export("defaultAccount", _default.Email)
		return nil
	})
}

```

type GetTransferProjectServiceAccountResultOutput

type GetTransferProjectServiceAccountResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getTransferProjectServiceAccount.

func (GetTransferProjectServiceAccountResultOutput) ElementType

func (GetTransferProjectServiceAccountResultOutput) Email

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

func (GetTransferProjectServiceAccountResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetTransferProjectServiceAccountResultOutput) Member

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

func (GetTransferProjectServiceAccountResultOutput) SubjectId

Unique identifier for the service account.

func (GetTransferProjectServiceAccountResultOutput) ToGetTransferProjectServiceAccountResultOutput

func (o GetTransferProjectServiceAccountResultOutput) ToGetTransferProjectServiceAccountResultOutput() GetTransferProjectServiceAccountResultOutput

func (GetTransferProjectServiceAccountResultOutput) ToGetTransferProjectServiceAccountResultOutputWithContext

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

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/v8/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{}, 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

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

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

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

## Example Usage

### Storage Hmac Key

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		// Create a new service account
		serviceAccount, err := serviceaccount.NewAccount(ctx, "service_account", &serviceaccount.AccountArgs{
			AccountId: pulumi.String("my-svc-acc"),
		})
		if err != nil {
			return err
		}
		// Create the HMAC key for the associated service account
		_, 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:

* `projects/{{project}}/hmacKeys/{{access_id}}`

* `{{project}}/{{access_id}}`

* `{{access_id}}`

When using the `pulumi import` command, HmacKey can be imported using one of the formats above. For example:

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

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

type HmacKeyArrayInput

type HmacKeyArrayInput interface {
	pulumi.Input

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

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

HmacKeyArray{ HmacKeyArgs{...} }

type HmacKeyArrayOutput

type HmacKeyArrayOutput struct{ *pulumi.OutputState }

func (HmacKeyArrayOutput) ElementType

func (HmacKeyArrayOutput) ElementType() reflect.Type

func (HmacKeyArrayOutput) Index

func (HmacKeyArrayOutput) ToHmacKeyArrayOutput

func (o HmacKeyArrayOutput) ToHmacKeyArrayOutput() HmacKeyArrayOutput

func (HmacKeyArrayOutput) ToHmacKeyArrayOutputWithContext

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

type HmacKeyInput

type HmacKeyInput interface {
	pulumi.Input

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

type HmacKeyMap

type HmacKeyMap map[string]HmacKeyInput

func (HmacKeyMap) ElementType

func (HmacKeyMap) ElementType() reflect.Type

func (HmacKeyMap) ToHmacKeyMapOutput

func (i HmacKeyMap) ToHmacKeyMapOutput() HmacKeyMapOutput

func (HmacKeyMap) ToHmacKeyMapOutputWithContext

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

type HmacKeyMapInput

type HmacKeyMapInput interface {
	pulumi.Input

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

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

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

type HmacKeyMapOutput

type HmacKeyMapOutput struct{ *pulumi.OutputState }

func (HmacKeyMapOutput) ElementType

func (HmacKeyMapOutput) ElementType() reflect.Type

func (HmacKeyMapOutput) MapIndex

func (HmacKeyMapOutput) ToHmacKeyMapOutput

func (o HmacKeyMapOutput) ToHmacKeyMapOutput() HmacKeyMapOutput

func (HmacKeyMapOutput) ToHmacKeyMapOutputWithContext

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

type HmacKeyOutput

type HmacKeyOutput struct{ *pulumi.OutputState }

func (HmacKeyOutput) AccessId

func (o HmacKeyOutput) AccessId() pulumi.StringOutput

The access ID of the HMAC Key.

func (HmacKeyOutput) ElementType

func (HmacKeyOutput) ElementType() reflect.Type

func (HmacKeyOutput) Project

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

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

func (o HmacKeyOutput) ServiceAccountEmail() pulumi.StringOutput

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

***

func (HmacKeyOutput) State

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

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

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

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.
	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.
	ObjectMetadataReportOptions InsightsReportConfigObjectMetadataReportOptionsPtrOutput `pulumi:"objectMetadataReportOptions"`
	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/v8/go/gcp/organizations"
"github.com/pulumi/pulumi-gcp/sdk/v8/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, &organizations.LookupProjectArgs{}, nil)
		if err != nil {
			return err
		}
		reportBucket, err := storage.NewBucket(ctx, "report_bucket", &storage.BucketArgs{
			Name:                     pulumi.String("my-bucket"),
			Location:                 pulumi.String("us-central1"),
			ForceDestroy:             pulumi.Bool(true),
			UniformBucketLevelAccess: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		admin, err := storage.NewBucketIAMMember(ctx, "admin", &storage.BucketIAMMemberArgs{
			Bucket: reportBucket.Name,
			Role:   pulumi.String("roles/storage.admin"),
			Member: pulumi.Sprintf("serviceAccount:service-%v@gcp-sa-storageinsights.iam.gserviceaccount.com", project.Number),
		})
		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"),
				},
			},
		}, pulumi.DependsOn([]pulumi.Resource{
			admin,
		}))
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

ReportConfig can be imported using any of these accepted formats:

* `projects/{{project}}/locations/{{location}}/reportConfigs/{{name}}`

* `{{project}}/{{location}}/{{name}}`

* `{{location}}/{{name}}`

When using the `pulumi import` command, ReportConfig can be imported using one of the formats above. For example:

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

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

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

func (*InsightsReportConfig) ElementType() reflect.Type

func (*InsightsReportConfig) ToInsightsReportConfigOutput

func (i *InsightsReportConfig) ToInsightsReportConfigOutput() InsightsReportConfigOutput

func (*InsightsReportConfig) ToInsightsReportConfigOutputWithContext

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

type InsightsReportConfigArgs

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.
	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.
	ObjectMetadataReportOptions InsightsReportConfigObjectMetadataReportOptionsPtrInput
	Project                     pulumi.StringPtrInput
}

The set of arguments for constructing a InsightsReportConfig resource.

func (InsightsReportConfigArgs) ElementType

func (InsightsReportConfigArgs) ElementType() reflect.Type

type InsightsReportConfigArray

type InsightsReportConfigArray []InsightsReportConfigInput

func (InsightsReportConfigArray) ElementType

func (InsightsReportConfigArray) ElementType() reflect.Type

func (InsightsReportConfigArray) ToInsightsReportConfigArrayOutput

func (i InsightsReportConfigArray) ToInsightsReportConfigArrayOutput() InsightsReportConfigArrayOutput

func (InsightsReportConfigArray) ToInsightsReportConfigArrayOutputWithContext

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

type InsightsReportConfigArrayInput

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

type InsightsReportConfigArrayOutput struct{ *pulumi.OutputState }

func (InsightsReportConfigArrayOutput) ElementType

func (InsightsReportConfigArrayOutput) Index

func (InsightsReportConfigArrayOutput) ToInsightsReportConfigArrayOutput

func (o InsightsReportConfigArrayOutput) ToInsightsReportConfigArrayOutput() InsightsReportConfigArrayOutput

func (InsightsReportConfigArrayOutput) ToInsightsReportConfigArrayOutputWithContext

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

type InsightsReportConfigCsvOptions

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

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

func (InsightsReportConfigCsvOptionsArgs) ToInsightsReportConfigCsvOptionsOutput

func (i InsightsReportConfigCsvOptionsArgs) ToInsightsReportConfigCsvOptionsOutput() InsightsReportConfigCsvOptionsOutput

func (InsightsReportConfigCsvOptionsArgs) ToInsightsReportConfigCsvOptionsOutputWithContext

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

func (InsightsReportConfigCsvOptionsArgs) ToInsightsReportConfigCsvOptionsPtrOutput

func (i InsightsReportConfigCsvOptionsArgs) ToInsightsReportConfigCsvOptionsPtrOutput() InsightsReportConfigCsvOptionsPtrOutput

func (InsightsReportConfigCsvOptionsArgs) ToInsightsReportConfigCsvOptionsPtrOutputWithContext

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

type InsightsReportConfigCsvOptionsInput

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

type InsightsReportConfigCsvOptionsOutput struct{ *pulumi.OutputState }

func (InsightsReportConfigCsvOptionsOutput) Delimiter

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

func (InsightsReportConfigCsvOptionsOutput) ElementType

func (InsightsReportConfigCsvOptionsOutput) HeaderRequired

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

***

func (InsightsReportConfigCsvOptionsOutput) RecordSeparator

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

func (InsightsReportConfigCsvOptionsOutput) ToInsightsReportConfigCsvOptionsOutput

func (o InsightsReportConfigCsvOptionsOutput) ToInsightsReportConfigCsvOptionsOutput() InsightsReportConfigCsvOptionsOutput

func (InsightsReportConfigCsvOptionsOutput) ToInsightsReportConfigCsvOptionsOutputWithContext

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

func (InsightsReportConfigCsvOptionsOutput) ToInsightsReportConfigCsvOptionsPtrOutput

func (o InsightsReportConfigCsvOptionsOutput) ToInsightsReportConfigCsvOptionsPtrOutput() InsightsReportConfigCsvOptionsPtrOutput

func (InsightsReportConfigCsvOptionsOutput) ToInsightsReportConfigCsvOptionsPtrOutputWithContext

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

type InsightsReportConfigCsvOptionsPtrInput

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

type InsightsReportConfigCsvOptionsPtrOutput struct{ *pulumi.OutputState }

func (InsightsReportConfigCsvOptionsPtrOutput) Delimiter

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

func (InsightsReportConfigCsvOptionsPtrOutput) Elem

func (InsightsReportConfigCsvOptionsPtrOutput) ElementType

func (InsightsReportConfigCsvOptionsPtrOutput) HeaderRequired

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

***

func (InsightsReportConfigCsvOptionsPtrOutput) RecordSeparator

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

func (InsightsReportConfigCsvOptionsPtrOutput) ToInsightsReportConfigCsvOptionsPtrOutput

func (o InsightsReportConfigCsvOptionsPtrOutput) ToInsightsReportConfigCsvOptionsPtrOutput() InsightsReportConfigCsvOptionsPtrOutput

func (InsightsReportConfigCsvOptionsPtrOutput) ToInsightsReportConfigCsvOptionsPtrOutputWithContext

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

type InsightsReportConfigFrequencyOptions

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

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

func (InsightsReportConfigFrequencyOptionsArgs) ToInsightsReportConfigFrequencyOptionsOutput

func (i InsightsReportConfigFrequencyOptionsArgs) ToInsightsReportConfigFrequencyOptionsOutput() InsightsReportConfigFrequencyOptionsOutput

func (InsightsReportConfigFrequencyOptionsArgs) ToInsightsReportConfigFrequencyOptionsOutputWithContext

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

func (InsightsReportConfigFrequencyOptionsArgs) ToInsightsReportConfigFrequencyOptionsPtrOutput

func (i InsightsReportConfigFrequencyOptionsArgs) ToInsightsReportConfigFrequencyOptionsPtrOutput() InsightsReportConfigFrequencyOptionsPtrOutput

func (InsightsReportConfigFrequencyOptionsArgs) ToInsightsReportConfigFrequencyOptionsPtrOutputWithContext

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

type InsightsReportConfigFrequencyOptionsEndDate

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

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

func (InsightsReportConfigFrequencyOptionsEndDateArgs) ToInsightsReportConfigFrequencyOptionsEndDateOutput

func (i InsightsReportConfigFrequencyOptionsEndDateArgs) ToInsightsReportConfigFrequencyOptionsEndDateOutput() InsightsReportConfigFrequencyOptionsEndDateOutput

func (InsightsReportConfigFrequencyOptionsEndDateArgs) ToInsightsReportConfigFrequencyOptionsEndDateOutputWithContext

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

func (InsightsReportConfigFrequencyOptionsEndDateArgs) ToInsightsReportConfigFrequencyOptionsEndDatePtrOutput

func (i InsightsReportConfigFrequencyOptionsEndDateArgs) ToInsightsReportConfigFrequencyOptionsEndDatePtrOutput() InsightsReportConfigFrequencyOptionsEndDatePtrOutput

func (InsightsReportConfigFrequencyOptionsEndDateArgs) ToInsightsReportConfigFrequencyOptionsEndDatePtrOutputWithContext

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

type InsightsReportConfigFrequencyOptionsEndDateInput

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

type InsightsReportConfigFrequencyOptionsEndDateOutput struct{ *pulumi.OutputState }

func (InsightsReportConfigFrequencyOptionsEndDateOutput) Day

The day of the month to stop generating inventory reports.

func (InsightsReportConfigFrequencyOptionsEndDateOutput) ElementType

func (InsightsReportConfigFrequencyOptionsEndDateOutput) Month

The month to stop generating inventory reports.

func (InsightsReportConfigFrequencyOptionsEndDateOutput) ToInsightsReportConfigFrequencyOptionsEndDateOutput

func (o InsightsReportConfigFrequencyOptionsEndDateOutput) ToInsightsReportConfigFrequencyOptionsEndDateOutput() InsightsReportConfigFrequencyOptionsEndDateOutput

func (InsightsReportConfigFrequencyOptionsEndDateOutput) ToInsightsReportConfigFrequencyOptionsEndDateOutputWithContext

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

func (InsightsReportConfigFrequencyOptionsEndDateOutput) ToInsightsReportConfigFrequencyOptionsEndDatePtrOutput

func (o InsightsReportConfigFrequencyOptionsEndDateOutput) ToInsightsReportConfigFrequencyOptionsEndDatePtrOutput() InsightsReportConfigFrequencyOptionsEndDatePtrOutput

func (InsightsReportConfigFrequencyOptionsEndDateOutput) ToInsightsReportConfigFrequencyOptionsEndDatePtrOutputWithContext

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

func (InsightsReportConfigFrequencyOptionsEndDateOutput) Year

The year to stop generating inventory reports

type InsightsReportConfigFrequencyOptionsEndDatePtrInput

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

type InsightsReportConfigFrequencyOptionsEndDatePtrOutput struct{ *pulumi.OutputState }

func (InsightsReportConfigFrequencyOptionsEndDatePtrOutput) Day

The day of the month to stop generating inventory reports.

func (InsightsReportConfigFrequencyOptionsEndDatePtrOutput) Elem

func (InsightsReportConfigFrequencyOptionsEndDatePtrOutput) ElementType

func (InsightsReportConfigFrequencyOptionsEndDatePtrOutput) Month

The month to stop generating inventory reports.

func (InsightsReportConfigFrequencyOptionsEndDatePtrOutput) ToInsightsReportConfigFrequencyOptionsEndDatePtrOutput

func (InsightsReportConfigFrequencyOptionsEndDatePtrOutput) ToInsightsReportConfigFrequencyOptionsEndDatePtrOutputWithContext

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

func (InsightsReportConfigFrequencyOptionsEndDatePtrOutput) Year

The year to stop generating inventory reports

type InsightsReportConfigFrequencyOptionsInput

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

type InsightsReportConfigFrequencyOptionsOutput struct{ *pulumi.OutputState }

func (InsightsReportConfigFrequencyOptionsOutput) ElementType

func (InsightsReportConfigFrequencyOptionsOutput) EndDate

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

func (InsightsReportConfigFrequencyOptionsOutput) Frequency

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

func (InsightsReportConfigFrequencyOptionsOutput) StartDate

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

func (InsightsReportConfigFrequencyOptionsOutput) ToInsightsReportConfigFrequencyOptionsOutput

func (o InsightsReportConfigFrequencyOptionsOutput) ToInsightsReportConfigFrequencyOptionsOutput() InsightsReportConfigFrequencyOptionsOutput

func (InsightsReportConfigFrequencyOptionsOutput) ToInsightsReportConfigFrequencyOptionsOutputWithContext

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

func (InsightsReportConfigFrequencyOptionsOutput) ToInsightsReportConfigFrequencyOptionsPtrOutput

func (o InsightsReportConfigFrequencyOptionsOutput) ToInsightsReportConfigFrequencyOptionsPtrOutput() InsightsReportConfigFrequencyOptionsPtrOutput

func (InsightsReportConfigFrequencyOptionsOutput) ToInsightsReportConfigFrequencyOptionsPtrOutputWithContext

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

type InsightsReportConfigFrequencyOptionsPtrInput

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

type InsightsReportConfigFrequencyOptionsPtrOutput struct{ *pulumi.OutputState }

func (InsightsReportConfigFrequencyOptionsPtrOutput) Elem

func (InsightsReportConfigFrequencyOptionsPtrOutput) ElementType

func (InsightsReportConfigFrequencyOptionsPtrOutput) EndDate

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

func (InsightsReportConfigFrequencyOptionsPtrOutput) Frequency

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

func (InsightsReportConfigFrequencyOptionsPtrOutput) StartDate

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

func (InsightsReportConfigFrequencyOptionsPtrOutput) ToInsightsReportConfigFrequencyOptionsPtrOutput

func (o InsightsReportConfigFrequencyOptionsPtrOutput) ToInsightsReportConfigFrequencyOptionsPtrOutput() InsightsReportConfigFrequencyOptionsPtrOutput

func (InsightsReportConfigFrequencyOptionsPtrOutput) ToInsightsReportConfigFrequencyOptionsPtrOutputWithContext

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

type InsightsReportConfigFrequencyOptionsStartDate

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

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

func (InsightsReportConfigFrequencyOptionsStartDateArgs) ToInsightsReportConfigFrequencyOptionsStartDateOutput

func (i InsightsReportConfigFrequencyOptionsStartDateArgs) ToInsightsReportConfigFrequencyOptionsStartDateOutput() InsightsReportConfigFrequencyOptionsStartDateOutput

func (InsightsReportConfigFrequencyOptionsStartDateArgs) ToInsightsReportConfigFrequencyOptionsStartDateOutputWithContext

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

func (InsightsReportConfigFrequencyOptionsStartDateArgs) ToInsightsReportConfigFrequencyOptionsStartDatePtrOutput

func (i InsightsReportConfigFrequencyOptionsStartDateArgs) ToInsightsReportConfigFrequencyOptionsStartDatePtrOutput() InsightsReportConfigFrequencyOptionsStartDatePtrOutput

func (InsightsReportConfigFrequencyOptionsStartDateArgs) ToInsightsReportConfigFrequencyOptionsStartDatePtrOutputWithContext

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

type InsightsReportConfigFrequencyOptionsStartDateInput

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

type InsightsReportConfigFrequencyOptionsStartDateOutput struct{ *pulumi.OutputState }

func (InsightsReportConfigFrequencyOptionsStartDateOutput) Day

The day of the month to start generating inventory reports.

func (InsightsReportConfigFrequencyOptionsStartDateOutput) ElementType

func (InsightsReportConfigFrequencyOptionsStartDateOutput) Month

The month to start generating inventory reports.

func (InsightsReportConfigFrequencyOptionsStartDateOutput) ToInsightsReportConfigFrequencyOptionsStartDateOutput

func (o InsightsReportConfigFrequencyOptionsStartDateOutput) ToInsightsReportConfigFrequencyOptionsStartDateOutput() InsightsReportConfigFrequencyOptionsStartDateOutput

func (InsightsReportConfigFrequencyOptionsStartDateOutput) ToInsightsReportConfigFrequencyOptionsStartDateOutputWithContext

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

func (InsightsReportConfigFrequencyOptionsStartDateOutput) ToInsightsReportConfigFrequencyOptionsStartDatePtrOutput

func (o InsightsReportConfigFrequencyOptionsStartDateOutput) ToInsightsReportConfigFrequencyOptionsStartDatePtrOutput() InsightsReportConfigFrequencyOptionsStartDatePtrOutput

func (InsightsReportConfigFrequencyOptionsStartDateOutput) ToInsightsReportConfigFrequencyOptionsStartDatePtrOutputWithContext

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

func (InsightsReportConfigFrequencyOptionsStartDateOutput) Year

The year to start generating inventory reports

type InsightsReportConfigFrequencyOptionsStartDatePtrInput

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

type InsightsReportConfigFrequencyOptionsStartDatePtrOutput struct{ *pulumi.OutputState }

func (InsightsReportConfigFrequencyOptionsStartDatePtrOutput) Day

The day of the month to start generating inventory reports.

func (InsightsReportConfigFrequencyOptionsStartDatePtrOutput) Elem

func (InsightsReportConfigFrequencyOptionsStartDatePtrOutput) ElementType

func (InsightsReportConfigFrequencyOptionsStartDatePtrOutput) Month

The month to start generating inventory reports.

func (InsightsReportConfigFrequencyOptionsStartDatePtrOutput) ToInsightsReportConfigFrequencyOptionsStartDatePtrOutput

func (InsightsReportConfigFrequencyOptionsStartDatePtrOutput) ToInsightsReportConfigFrequencyOptionsStartDatePtrOutputWithContext

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

func (InsightsReportConfigFrequencyOptionsStartDatePtrOutput) Year

The year to start generating inventory reports

type InsightsReportConfigInput

type InsightsReportConfigInput interface {
	pulumi.Input

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

type InsightsReportConfigMap

type InsightsReportConfigMap map[string]InsightsReportConfigInput

func (InsightsReportConfigMap) ElementType

func (InsightsReportConfigMap) ElementType() reflect.Type

func (InsightsReportConfigMap) ToInsightsReportConfigMapOutput

func (i InsightsReportConfigMap) ToInsightsReportConfigMapOutput() InsightsReportConfigMapOutput

func (InsightsReportConfigMap) ToInsightsReportConfigMapOutputWithContext

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

type InsightsReportConfigMapInput

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

type InsightsReportConfigMapOutput struct{ *pulumi.OutputState }

func (InsightsReportConfigMapOutput) ElementType

func (InsightsReportConfigMapOutput) MapIndex

func (InsightsReportConfigMapOutput) ToInsightsReportConfigMapOutput

func (o InsightsReportConfigMapOutput) ToInsightsReportConfigMapOutput() InsightsReportConfigMapOutput

func (InsightsReportConfigMapOutput) ToInsightsReportConfigMapOutputWithContext

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

type InsightsReportConfigObjectMetadataReportOptions

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

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

func (InsightsReportConfigObjectMetadataReportOptionsArgs) ToInsightsReportConfigObjectMetadataReportOptionsOutput

func (i InsightsReportConfigObjectMetadataReportOptionsArgs) ToInsightsReportConfigObjectMetadataReportOptionsOutput() InsightsReportConfigObjectMetadataReportOptionsOutput

func (InsightsReportConfigObjectMetadataReportOptionsArgs) ToInsightsReportConfigObjectMetadataReportOptionsOutputWithContext

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

func (InsightsReportConfigObjectMetadataReportOptionsArgs) ToInsightsReportConfigObjectMetadataReportOptionsPtrOutput

func (i InsightsReportConfigObjectMetadataReportOptionsArgs) ToInsightsReportConfigObjectMetadataReportOptionsPtrOutput() InsightsReportConfigObjectMetadataReportOptionsPtrOutput

func (InsightsReportConfigObjectMetadataReportOptionsArgs) ToInsightsReportConfigObjectMetadataReportOptionsPtrOutputWithContext

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

type InsightsReportConfigObjectMetadataReportOptionsInput

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

type InsightsReportConfigObjectMetadataReportOptionsOutput struct{ *pulumi.OutputState }

func (InsightsReportConfigObjectMetadataReportOptionsOutput) ElementType

func (InsightsReportConfigObjectMetadataReportOptionsOutput) MetadataFields

The metadata fields included in an inventory report.

func (InsightsReportConfigObjectMetadataReportOptionsOutput) StorageDestinationOptions

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

func (InsightsReportConfigObjectMetadataReportOptionsOutput) StorageFilters

A nested object resource. Structure is documented below.

func (InsightsReportConfigObjectMetadataReportOptionsOutput) ToInsightsReportConfigObjectMetadataReportOptionsOutput

func (InsightsReportConfigObjectMetadataReportOptionsOutput) ToInsightsReportConfigObjectMetadataReportOptionsOutputWithContext

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

func (InsightsReportConfigObjectMetadataReportOptionsOutput) ToInsightsReportConfigObjectMetadataReportOptionsPtrOutput

func (o InsightsReportConfigObjectMetadataReportOptionsOutput) ToInsightsReportConfigObjectMetadataReportOptionsPtrOutput() InsightsReportConfigObjectMetadataReportOptionsPtrOutput

func (InsightsReportConfigObjectMetadataReportOptionsOutput) ToInsightsReportConfigObjectMetadataReportOptionsPtrOutputWithContext

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

type InsightsReportConfigObjectMetadataReportOptionsPtrInput

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

type InsightsReportConfigObjectMetadataReportOptionsPtrOutput struct{ *pulumi.OutputState }

func (InsightsReportConfigObjectMetadataReportOptionsPtrOutput) Elem

func (InsightsReportConfigObjectMetadataReportOptionsPtrOutput) ElementType

func (InsightsReportConfigObjectMetadataReportOptionsPtrOutput) MetadataFields

The metadata fields included in an inventory report.

func (InsightsReportConfigObjectMetadataReportOptionsPtrOutput) StorageDestinationOptions

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

func (InsightsReportConfigObjectMetadataReportOptionsPtrOutput) StorageFilters

A nested object resource. Structure is documented below.

func (InsightsReportConfigObjectMetadataReportOptionsPtrOutput) ToInsightsReportConfigObjectMetadataReportOptionsPtrOutput

func (InsightsReportConfigObjectMetadataReportOptionsPtrOutput) ToInsightsReportConfigObjectMetadataReportOptionsPtrOutputWithContext

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

type InsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptions

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

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

func (InsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsArgs) ToInsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsOutput

func (InsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsArgs) ToInsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsOutputWithContext

func (InsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsArgs) ToInsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsPtrOutput

func (InsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsArgs) ToInsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsPtrOutputWithContext

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

type InsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsInput

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

type InsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsOutput struct{ *pulumi.OutputState }

func (InsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsOutput) Bucket

The destination bucket that stores the generated inventory reports.

func (InsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsOutput) DestinationPath

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

func (InsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsOutput) ElementType

func (InsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsOutput) ToInsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsOutput

func (InsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsOutput) ToInsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsOutputWithContext

func (InsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsOutput) ToInsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsPtrOutput

func (InsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsOutput) ToInsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsPtrOutputWithContext

type InsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsPtrInput

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

type InsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsPtrOutput struct{ *pulumi.OutputState }

func (InsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsPtrOutput) Bucket

The destination bucket that stores the generated inventory reports.

func (InsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsPtrOutput) DestinationPath

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

func (InsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsPtrOutput) Elem

func (InsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsPtrOutput) ElementType

func (InsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsPtrOutput) ToInsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsPtrOutput

func (InsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsPtrOutput) ToInsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsPtrOutputWithContext

type InsightsReportConfigObjectMetadataReportOptionsStorageFilters

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

type InsightsReportConfigObjectMetadataReportOptionsStorageFiltersArgs

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

func (InsightsReportConfigObjectMetadataReportOptionsStorageFiltersArgs) ElementType

func (InsightsReportConfigObjectMetadataReportOptionsStorageFiltersArgs) ToInsightsReportConfigObjectMetadataReportOptionsStorageFiltersOutput

func (InsightsReportConfigObjectMetadataReportOptionsStorageFiltersArgs) ToInsightsReportConfigObjectMetadataReportOptionsStorageFiltersOutputWithContext

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

func (InsightsReportConfigObjectMetadataReportOptionsStorageFiltersArgs) ToInsightsReportConfigObjectMetadataReportOptionsStorageFiltersPtrOutput

func (InsightsReportConfigObjectMetadataReportOptionsStorageFiltersArgs) ToInsightsReportConfigObjectMetadataReportOptionsStorageFiltersPtrOutputWithContext

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

type InsightsReportConfigObjectMetadataReportOptionsStorageFiltersInput

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

type InsightsReportConfigObjectMetadataReportOptionsStorageFiltersOutput struct{ *pulumi.OutputState }

func (InsightsReportConfigObjectMetadataReportOptionsStorageFiltersOutput) Bucket

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

func (InsightsReportConfigObjectMetadataReportOptionsStorageFiltersOutput) ElementType

func (InsightsReportConfigObjectMetadataReportOptionsStorageFiltersOutput) ToInsightsReportConfigObjectMetadataReportOptionsStorageFiltersOutput

func (InsightsReportConfigObjectMetadataReportOptionsStorageFiltersOutput) ToInsightsReportConfigObjectMetadataReportOptionsStorageFiltersOutputWithContext

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

func (InsightsReportConfigObjectMetadataReportOptionsStorageFiltersOutput) ToInsightsReportConfigObjectMetadataReportOptionsStorageFiltersPtrOutput

func (InsightsReportConfigObjectMetadataReportOptionsStorageFiltersOutput) ToInsightsReportConfigObjectMetadataReportOptionsStorageFiltersPtrOutputWithContext

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

type InsightsReportConfigObjectMetadataReportOptionsStorageFiltersPtrInput

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

type InsightsReportConfigObjectMetadataReportOptionsStorageFiltersPtrOutput struct{ *pulumi.OutputState }

func (InsightsReportConfigObjectMetadataReportOptionsStorageFiltersPtrOutput) Bucket

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

func (InsightsReportConfigObjectMetadataReportOptionsStorageFiltersPtrOutput) Elem

func (InsightsReportConfigObjectMetadataReportOptionsStorageFiltersPtrOutput) ElementType

func (InsightsReportConfigObjectMetadataReportOptionsStorageFiltersPtrOutput) ToInsightsReportConfigObjectMetadataReportOptionsStorageFiltersPtrOutput

func (InsightsReportConfigObjectMetadataReportOptionsStorageFiltersPtrOutput) ToInsightsReportConfigObjectMetadataReportOptionsStorageFiltersPtrOutputWithContext

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

type InsightsReportConfigOutput

type InsightsReportConfigOutput struct{ *pulumi.OutputState }

func (InsightsReportConfigOutput) CsvOptions

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

func (InsightsReportConfigOutput) DisplayName

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

func (InsightsReportConfigOutput) ElementType

func (InsightsReportConfigOutput) ElementType() reflect.Type

func (InsightsReportConfigOutput) FrequencyOptions

Options for configuring how inventory reports are generated.

func (InsightsReportConfigOutput) Location

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

func (InsightsReportConfigOutput) Name

The UUID of the inventory report configuration.

func (InsightsReportConfigOutput) ObjectMetadataReportOptions

Options for including metadata in an inventory report.

func (InsightsReportConfigOutput) Project

func (InsightsReportConfigOutput) ToInsightsReportConfigOutput

func (o InsightsReportConfigOutput) ToInsightsReportConfigOutput() InsightsReportConfigOutput

func (InsightsReportConfigOutput) ToInsightsReportConfigOutputWithContext

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

type InsightsReportConfigState

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.
	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.
	ObjectMetadataReportOptions InsightsReportConfigObjectMetadataReportOptionsPtrInput
	Project                     pulumi.StringPtrInput
}

func (InsightsReportConfigState) ElementType

func (InsightsReportConfigState) ElementType() reflect.Type

type LookupBucketArgs

type LookupBucketArgs struct {
	// The name of the bucket.
	Name string `pulumi:"name"`
	// The ID of the project in which the resource belongs. If it is not provided then the data source will use the Compute API to find the project id that corresponds to the project number returned from the Storage API, and if no Compute API permissions are available or if the Compute API is disabled it defaults to the provider value. Supplying a value for `project` doesn't influence retrieving data about the bucket but it can be used to prevent use of the Compute API. If you do provide a `project` value ensure that it is the correct value for that bucket; the data source will not check that the project id and project number match.
	Project *string `pulumi:"project"`
}

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"`
	// (Computed) The content generation of this object. Used for object [versioning](https://cloud.google.com/storage/docs/object-versioning) and [soft delete](https://cloud.google.com/storage/docs/soft-delete).
	Generation int `pulumi:"generation"`
	// 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"`
	Retentions []GetBucketObjectRetention `pulumi:"retentions"`
	// (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/v8/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{
			Name:   pulumi.StringRef("folder/butterfly01.jpg"),
			Bucket: pulumi.StringRef("image-store"),
		}, 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) Generation

(Computed) The content generation of this object. Used for object [versioning](https://cloud.google.com/storage/docs/object-versioning) and [soft delete](https://cloud.google.com/storage/docs/soft-delete).

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

func (LookupBucketObjectResultOutput) Retentions

(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

type LookupBucketOutputArgs

type LookupBucketOutputArgs struct {
	// The name of the bucket.
	Name pulumi.StringInput `pulumi:"name"`
	// The ID of the project in which the resource belongs. If it is not provided then the data source will use the Compute API to find the project id that corresponds to the project number returned from the Storage API, and if no Compute API permissions are available or if the Compute API is disabled it defaults to the provider value. Supplying a value for `project` doesn't influence retrieving data about the bucket but it can be used to prevent use of the Compute API. If you do provide a `project` value ensure that it is the correct value for that bucket; the data source will not check that the project id and project number match.
	Project pulumi.StringPtrInput `pulumi:"project"`
}

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"`
	EffectiveLabels        map[string]string                `pulumi:"effectiveLabels"`
	EnableObjectRetention  bool                             `pulumi:"enableObjectRetention"`
	Encryptions            []GetBucketEncryption            `pulumi:"encryptions"`
	ForceDestroy           bool                             `pulumi:"forceDestroy"`
	HierarchicalNamespaces []GetBucketHierarchicalNamespace `pulumi:"hierarchicalNamespaces"`
	// 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"`
	ProjectNumber            int                         `pulumi:"projectNumber"`
	PublicAccessPrevention   string                      `pulumi:"publicAccessPrevention"`
	PulumiLabels             map[string]string           `pulumi:"pulumiLabels"`
	RequesterPays            bool                        `pulumi:"requesterPays"`
	RetentionPolicies        []GetBucketRetentionPolicy  `pulumi:"retentionPolicies"`
	Rpo                      string                      `pulumi:"rpo"`
	SelfLink                 string                      `pulumi:"selfLink"`
	SoftDeletePolicies       []GetBucketSoftDeletePolicy `pulumi:"softDeletePolicies"`
	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/v8/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

func (LookupBucketResultOutput) Cors

func (LookupBucketResultOutput) CustomPlacementConfigs

func (LookupBucketResultOutput) DefaultEventBasedHold

func (o LookupBucketResultOutput) DefaultEventBasedHold() pulumi.BoolOutput

func (LookupBucketResultOutput) EffectiveLabels

func (o LookupBucketResultOutput) EffectiveLabels() pulumi.StringMapOutput

func (LookupBucketResultOutput) ElementType

func (LookupBucketResultOutput) ElementType() reflect.Type

func (LookupBucketResultOutput) EnableObjectRetention

func (o LookupBucketResultOutput) EnableObjectRetention() pulumi.BoolOutput

func (LookupBucketResultOutput) Encryptions

func (LookupBucketResultOutput) ForceDestroy

func (o LookupBucketResultOutput) ForceDestroy() pulumi.BoolOutput

func (LookupBucketResultOutput) HierarchicalNamespaces added in v8.7.0

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

func (o LookupBucketResultOutput) ProjectNumber() pulumi.IntOutput

func (LookupBucketResultOutput) PublicAccessPrevention

func (o LookupBucketResultOutput) PublicAccessPrevention() pulumi.StringOutput

func (LookupBucketResultOutput) PulumiLabels

func (LookupBucketResultOutput) RequesterPays

func (o LookupBucketResultOutput) RequesterPays() pulumi.BoolOutput

func (LookupBucketResultOutput) RetentionPolicies

func (LookupBucketResultOutput) Rpo

func (LookupBucketResultOutput) SoftDeletePolicies

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

func (o LookupBucketResultOutput) UniformBucketLevelAccess() pulumi.BoolOutput

func (LookupBucketResultOutput) Url

func (LookupBucketResultOutput) Versionings

func (LookupBucketResultOutput) Websites

type LookupManagedFolderIamPolicyArgs

type LookupManagedFolderIamPolicyArgs struct {
	Bucket        string `pulumi:"bucket"`
	ManagedFolder string `pulumi:"managedFolder"`
}

A collection of arguments for invoking getManagedFolderIamPolicy.

type LookupManagedFolderIamPolicyOutputArgs

type LookupManagedFolderIamPolicyOutputArgs struct {
	Bucket        pulumi.StringInput `pulumi:"bucket"`
	ManagedFolder pulumi.StringInput `pulumi:"managedFolder"`
}

A collection of arguments for invoking getManagedFolderIamPolicy.

func (LookupManagedFolderIamPolicyOutputArgs) ElementType

type LookupManagedFolderIamPolicyResult

type LookupManagedFolderIamPolicyResult struct {
	Bucket string `pulumi:"bucket"`
	Etag   string `pulumi:"etag"`
	// The provider-assigned unique ID for this managed resource.
	Id            string `pulumi:"id"`
	ManagedFolder string `pulumi:"managedFolder"`
	PolicyData    string `pulumi:"policyData"`
}

A collection of values returned by getManagedFolderIamPolicy.

type LookupManagedFolderIamPolicyResultOutput

type LookupManagedFolderIamPolicyResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getManagedFolderIamPolicy.

func (LookupManagedFolderIamPolicyResultOutput) Bucket

func (LookupManagedFolderIamPolicyResultOutput) ElementType

func (LookupManagedFolderIamPolicyResultOutput) Etag

func (LookupManagedFolderIamPolicyResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupManagedFolderIamPolicyResultOutput) ManagedFolder

func (LookupManagedFolderIamPolicyResultOutput) PolicyData

func (LookupManagedFolderIamPolicyResultOutput) ToLookupManagedFolderIamPolicyResultOutput

func (o LookupManagedFolderIamPolicyResultOutput) ToLookupManagedFolderIamPolicyResultOutput() LookupManagedFolderIamPolicyResultOutput

func (LookupManagedFolderIamPolicyResultOutput) ToLookupManagedFolderIamPolicyResultOutputWithContext

func (o LookupManagedFolderIamPolicyResultOutput) ToLookupManagedFolderIamPolicyResultOutputWithContext(ctx context.Context) LookupManagedFolderIamPolicyResultOutput

type ManagedFolder

type ManagedFolder struct {
	pulumi.CustomResourceState

	// The name of the bucket that contains the managed folder.
	Bucket pulumi.StringOutput `pulumi:"bucket"`
	// The timestamp at which this managed folder was created.
	CreateTime pulumi.StringOutput `pulumi:"createTime"`
	// Allows the deletion of a managed folder even if contains
	// objects. If a non-empty managed folder is deleted, any objects
	// within the folder will remain in a simulated folder with the
	// same name.
	ForceDestroy pulumi.BoolPtrOutput `pulumi:"forceDestroy"`
	// The metadata generation of the managed folder.
	Metageneration pulumi.StringOutput `pulumi:"metageneration"`
	// The name of the managed folder expressed as a path. Must include
	// trailing '/'. For example, `example_dir/example_dir2/`.
	//
	// ***
	Name pulumi.StringOutput `pulumi:"name"`
	// The URI of the created resource.
	SelfLink pulumi.StringOutput `pulumi:"selfLink"`
	// The timestamp at which this managed folder was most recently updated.
	UpdateTime pulumi.StringOutput `pulumi:"updateTime"`
}

A Google Cloud Storage Managed Folder.

You can apply Identity and Access Management (IAM) policies to managed folders to grant principals access only to the objects within the managed folder, which lets you more finely control access for specific data sets and tables within a bucket. You can nest managed folders up to 15 levels deep, including the parent managed folder.

Managed folders can only be created in buckets that have uniform bucket-level access enabled.

To get more information about ManagedFolder, see:

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

## Example Usage

### Storage Managed Folder Basic

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v8/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{
			Name:                     pulumi.String("my-bucket"),
			Location:                 pulumi.String("EU"),
			UniformBucketLevelAccess: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		_, err = storage.NewManagedFolder(ctx, "folder", &storage.ManagedFolderArgs{
			Bucket:       bucket.Name,
			Name:         pulumi.String("managed/folder/name/"),
			ForceDestroy: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

ManagedFolder can be imported using any of these accepted formats:

* `{{bucket}}/managedFolders/{{name}}`

* `{{bucket}}/{{name}}`

When using the `pulumi import` command, ManagedFolder can be imported using one of the formats above. For example:

```sh $ pulumi import gcp:storage/managedFolder:ManagedFolder default {{bucket}}/managedFolders/{{name}} ```

```sh $ pulumi import gcp:storage/managedFolder:ManagedFolder default {{bucket}}/{{name}} ```

func GetManagedFolder

func GetManagedFolder(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ManagedFolderState, opts ...pulumi.ResourceOption) (*ManagedFolder, error)

GetManagedFolder gets an existing ManagedFolder 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 NewManagedFolder

func NewManagedFolder(ctx *pulumi.Context,
	name string, args *ManagedFolderArgs, opts ...pulumi.ResourceOption) (*ManagedFolder, error)

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

func (*ManagedFolder) ElementType

func (*ManagedFolder) ElementType() reflect.Type

func (*ManagedFolder) ToManagedFolderOutput

func (i *ManagedFolder) ToManagedFolderOutput() ManagedFolderOutput

func (*ManagedFolder) ToManagedFolderOutputWithContext

func (i *ManagedFolder) ToManagedFolderOutputWithContext(ctx context.Context) ManagedFolderOutput

type ManagedFolderArgs

type ManagedFolderArgs struct {
	// The name of the bucket that contains the managed folder.
	Bucket pulumi.StringInput
	// Allows the deletion of a managed folder even if contains
	// objects. If a non-empty managed folder is deleted, any objects
	// within the folder will remain in a simulated folder with the
	// same name.
	ForceDestroy pulumi.BoolPtrInput
	// The name of the managed folder expressed as a path. Must include
	// trailing '/'. For example, `example_dir/example_dir2/`.
	//
	// ***
	Name pulumi.StringPtrInput
}

The set of arguments for constructing a ManagedFolder resource.

func (ManagedFolderArgs) ElementType

func (ManagedFolderArgs) ElementType() reflect.Type

type ManagedFolderArray

type ManagedFolderArray []ManagedFolderInput

func (ManagedFolderArray) ElementType

func (ManagedFolderArray) ElementType() reflect.Type

func (ManagedFolderArray) ToManagedFolderArrayOutput

func (i ManagedFolderArray) ToManagedFolderArrayOutput() ManagedFolderArrayOutput

func (ManagedFolderArray) ToManagedFolderArrayOutputWithContext

func (i ManagedFolderArray) ToManagedFolderArrayOutputWithContext(ctx context.Context) ManagedFolderArrayOutput

type ManagedFolderArrayInput

type ManagedFolderArrayInput interface {
	pulumi.Input

	ToManagedFolderArrayOutput() ManagedFolderArrayOutput
	ToManagedFolderArrayOutputWithContext(context.Context) ManagedFolderArrayOutput
}

ManagedFolderArrayInput is an input type that accepts ManagedFolderArray and ManagedFolderArrayOutput values. You can construct a concrete instance of `ManagedFolderArrayInput` via:

ManagedFolderArray{ ManagedFolderArgs{...} }

type ManagedFolderArrayOutput

type ManagedFolderArrayOutput struct{ *pulumi.OutputState }

func (ManagedFolderArrayOutput) ElementType

func (ManagedFolderArrayOutput) ElementType() reflect.Type

func (ManagedFolderArrayOutput) Index

func (ManagedFolderArrayOutput) ToManagedFolderArrayOutput

func (o ManagedFolderArrayOutput) ToManagedFolderArrayOutput() ManagedFolderArrayOutput

func (ManagedFolderArrayOutput) ToManagedFolderArrayOutputWithContext

func (o ManagedFolderArrayOutput) ToManagedFolderArrayOutputWithContext(ctx context.Context) ManagedFolderArrayOutput

type ManagedFolderIamBinding

type ManagedFolderIamBinding struct {
	pulumi.CustomResourceState

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

* `storage.ManagedFolderIamPolicy`: Authoritative. Sets the IAM policy for the managedfolder and replaces any existing policy already attached. * `storage.ManagedFolderIamBinding`: 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 managedfolder are preserved. * `storage.ManagedFolderIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the managedfolder are preserved.

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

* `storage.ManagedFolderIamPolicy`: Retrieves the IAM policy for the managedfolder

> **Note:** `storage.ManagedFolderIamPolicy` **cannot** be used in conjunction with `storage.ManagedFolderIamBinding` and `storage.ManagedFolderIamMember` or they will fight over what your policy should be.

> **Note:** `storage.ManagedFolderIamBinding` resources **can be** used in conjunction with `storage.ManagedFolderIamMember` 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.

## storage.ManagedFolderIamPolicy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/organizations"
"github.com/pulumi/pulumi-gcp/sdk/v8/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.NewManagedFolderIamPolicy(ctx, "policy", &storage.ManagedFolderIamPolicyArgs{
			Bucket:        pulumi.Any(folder.Bucket),
			ManagedFolder: pulumi.Any(folder.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/v8/go/gcp/organizations"
"github.com/pulumi/pulumi-gcp/sdk/v8/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.NewManagedFolderIamPolicy(ctx, "policy", &storage.ManagedFolderIamPolicyArgs{
			Bucket:        pulumi.Any(folder.Bucket),
			ManagedFolder: pulumi.Any(folder.Name),
			PolicyData:    pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ## storage.ManagedFolderIamBinding

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := storage.NewManagedFolderIamBinding(ctx, "binding", &storage.ManagedFolderIamBindingArgs{
			Bucket:        pulumi.Any(folder.Bucket),
			ManagedFolder: pulumi.Any(folder.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/v8/go/gcp/storage"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := storage.NewManagedFolderIamBinding(ctx, "binding", &storage.ManagedFolderIamBindingArgs{
			Bucket:        pulumi.Any(folder.Bucket),
			ManagedFolder: pulumi.Any(folder.Name),
			Role:          pulumi.String("roles/storage.admin"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
			Condition: &storage.ManagedFolderIamBindingConditionArgs{
				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
	})
}

``` ## storage.ManagedFolderIamMember

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := storage.NewManagedFolderIamMember(ctx, "member", &storage.ManagedFolderIamMemberArgs{
			Bucket:        pulumi.Any(folder.Bucket),
			ManagedFolder: pulumi.Any(folder.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/v8/go/gcp/storage"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := storage.NewManagedFolderIamMember(ctx, "member", &storage.ManagedFolderIamMemberArgs{
			Bucket:        pulumi.Any(folder.Bucket),
			ManagedFolder: pulumi.Any(folder.Name),
			Role:          pulumi.String("roles/storage.admin"),
			Member:        pulumi.String("user:jane@example.com"),
			Condition: &storage.ManagedFolderIamMemberConditionArgs{
				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
	})
}

```

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

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

* `storage.ManagedFolderIamPolicy`: Authoritative. Sets the IAM policy for the managedfolder and replaces any existing policy already attached. * `storage.ManagedFolderIamBinding`: 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 managedfolder are preserved. * `storage.ManagedFolderIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the managedfolder are preserved.

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

* `storage.ManagedFolderIamPolicy`: Retrieves the IAM policy for the managedfolder

> **Note:** `storage.ManagedFolderIamPolicy` **cannot** be used in conjunction with `storage.ManagedFolderIamBinding` and `storage.ManagedFolderIamMember` or they will fight over what your policy should be.

> **Note:** `storage.ManagedFolderIamBinding` resources **can be** used in conjunction with `storage.ManagedFolderIamMember` 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.

## storage.ManagedFolderIamPolicy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/organizations"
"github.com/pulumi/pulumi-gcp/sdk/v8/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.NewManagedFolderIamPolicy(ctx, "policy", &storage.ManagedFolderIamPolicyArgs{
			Bucket:        pulumi.Any(folder.Bucket),
			ManagedFolder: pulumi.Any(folder.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/v8/go/gcp/organizations"
"github.com/pulumi/pulumi-gcp/sdk/v8/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.NewManagedFolderIamPolicy(ctx, "policy", &storage.ManagedFolderIamPolicyArgs{
			Bucket:        pulumi.Any(folder.Bucket),
			ManagedFolder: pulumi.Any(folder.Name),
			PolicyData:    pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ## storage.ManagedFolderIamBinding

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := storage.NewManagedFolderIamBinding(ctx, "binding", &storage.ManagedFolderIamBindingArgs{
			Bucket:        pulumi.Any(folder.Bucket),
			ManagedFolder: pulumi.Any(folder.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/v8/go/gcp/storage"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := storage.NewManagedFolderIamBinding(ctx, "binding", &storage.ManagedFolderIamBindingArgs{
			Bucket:        pulumi.Any(folder.Bucket),
			ManagedFolder: pulumi.Any(folder.Name),
			Role:          pulumi.String("roles/storage.admin"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
			Condition: &storage.ManagedFolderIamBindingConditionArgs{
				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
	})
}

``` ## storage.ManagedFolderIamMember

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := storage.NewManagedFolderIamMember(ctx, "member", &storage.ManagedFolderIamMemberArgs{
			Bucket:        pulumi.Any(folder.Bucket),
			ManagedFolder: pulumi.Any(folder.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/v8/go/gcp/storage"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := storage.NewManagedFolderIamMember(ctx, "member", &storage.ManagedFolderIamMemberArgs{
			Bucket:        pulumi.Any(folder.Bucket),
			ManagedFolder: pulumi.Any(folder.Name),
			Role:          pulumi.String("roles/storage.admin"),
			Member:        pulumi.String("user:jane@example.com"),
			Condition: &storage.ManagedFolderIamMemberConditionArgs{
				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/{{bucket}}/managedFolders/{{managed_folder}}

* {{bucket}}/{{managed_folder}}

Any variables not passed in the import command will be taken from the provider configuration.

Cloud Storage managedfolder IAM resources can be imported using the resource identifiers, role, and member.

IAM member imports use space-delimited identifiers: the resource in question, the role, and the member identity, e.g.

```sh $ pulumi import gcp:storage/managedFolderIamBinding:ManagedFolderIamBinding editor "b/{{bucket}}/managedFolders/{{managed_folder}} roles/storage.objectViewer user:jane@example.com" ```

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

```sh $ pulumi import gcp:storage/managedFolderIamBinding:ManagedFolderIamBinding editor "b/{{bucket}}/managedFolders/{{managed_folder}} roles/storage.objectViewer" ```

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

```sh $ pulumi import gcp:storage/managedFolderIamBinding:ManagedFolderIamBinding editor b/{{bucket}}/managedFolders/{{managed_folder}} ```

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

func GetManagedFolderIamBinding(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ManagedFolderIamBindingState, opts ...pulumi.ResourceOption) (*ManagedFolderIamBinding, error)

GetManagedFolderIamBinding gets an existing ManagedFolderIamBinding 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 NewManagedFolderIamBinding

func NewManagedFolderIamBinding(ctx *pulumi.Context,
	name string, args *ManagedFolderIamBindingArgs, opts ...pulumi.ResourceOption) (*ManagedFolderIamBinding, error)

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

func (*ManagedFolderIamBinding) ElementType

func (*ManagedFolderIamBinding) ElementType() reflect.Type

func (*ManagedFolderIamBinding) ToManagedFolderIamBindingOutput

func (i *ManagedFolderIamBinding) ToManagedFolderIamBindingOutput() ManagedFolderIamBindingOutput

func (*ManagedFolderIamBinding) ToManagedFolderIamBindingOutputWithContext

func (i *ManagedFolderIamBinding) ToManagedFolderIamBindingOutputWithContext(ctx context.Context) ManagedFolderIamBindingOutput

type ManagedFolderIamBindingArgs

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

func (ManagedFolderIamBindingArgs) ElementType

type ManagedFolderIamBindingArray

type ManagedFolderIamBindingArray []ManagedFolderIamBindingInput

func (ManagedFolderIamBindingArray) ElementType

func (ManagedFolderIamBindingArray) ToManagedFolderIamBindingArrayOutput

func (i ManagedFolderIamBindingArray) ToManagedFolderIamBindingArrayOutput() ManagedFolderIamBindingArrayOutput

func (ManagedFolderIamBindingArray) ToManagedFolderIamBindingArrayOutputWithContext

func (i ManagedFolderIamBindingArray) ToManagedFolderIamBindingArrayOutputWithContext(ctx context.Context) ManagedFolderIamBindingArrayOutput

type ManagedFolderIamBindingArrayInput

type ManagedFolderIamBindingArrayInput interface {
	pulumi.Input

	ToManagedFolderIamBindingArrayOutput() ManagedFolderIamBindingArrayOutput
	ToManagedFolderIamBindingArrayOutputWithContext(context.Context) ManagedFolderIamBindingArrayOutput
}

ManagedFolderIamBindingArrayInput is an input type that accepts ManagedFolderIamBindingArray and ManagedFolderIamBindingArrayOutput values. You can construct a concrete instance of `ManagedFolderIamBindingArrayInput` via:

ManagedFolderIamBindingArray{ ManagedFolderIamBindingArgs{...} }

type ManagedFolderIamBindingArrayOutput

type ManagedFolderIamBindingArrayOutput struct{ *pulumi.OutputState }

func (ManagedFolderIamBindingArrayOutput) ElementType

func (ManagedFolderIamBindingArrayOutput) Index

func (ManagedFolderIamBindingArrayOutput) ToManagedFolderIamBindingArrayOutput

func (o ManagedFolderIamBindingArrayOutput) ToManagedFolderIamBindingArrayOutput() ManagedFolderIamBindingArrayOutput

func (ManagedFolderIamBindingArrayOutput) ToManagedFolderIamBindingArrayOutputWithContext

func (o ManagedFolderIamBindingArrayOutput) ToManagedFolderIamBindingArrayOutputWithContext(ctx context.Context) ManagedFolderIamBindingArrayOutput

type ManagedFolderIamBindingCondition

type ManagedFolderIamBindingCondition struct {
	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 ManagedFolderIamBindingConditionArgs

type ManagedFolderIamBindingConditionArgs struct {
	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 (ManagedFolderIamBindingConditionArgs) ElementType

func (ManagedFolderIamBindingConditionArgs) ToManagedFolderIamBindingConditionOutput

func (i ManagedFolderIamBindingConditionArgs) ToManagedFolderIamBindingConditionOutput() ManagedFolderIamBindingConditionOutput

func (ManagedFolderIamBindingConditionArgs) ToManagedFolderIamBindingConditionOutputWithContext

func (i ManagedFolderIamBindingConditionArgs) ToManagedFolderIamBindingConditionOutputWithContext(ctx context.Context) ManagedFolderIamBindingConditionOutput

func (ManagedFolderIamBindingConditionArgs) ToManagedFolderIamBindingConditionPtrOutput

func (i ManagedFolderIamBindingConditionArgs) ToManagedFolderIamBindingConditionPtrOutput() ManagedFolderIamBindingConditionPtrOutput

func (ManagedFolderIamBindingConditionArgs) ToManagedFolderIamBindingConditionPtrOutputWithContext

func (i ManagedFolderIamBindingConditionArgs) ToManagedFolderIamBindingConditionPtrOutputWithContext(ctx context.Context) ManagedFolderIamBindingConditionPtrOutput

type ManagedFolderIamBindingConditionInput

type ManagedFolderIamBindingConditionInput interface {
	pulumi.Input

	ToManagedFolderIamBindingConditionOutput() ManagedFolderIamBindingConditionOutput
	ToManagedFolderIamBindingConditionOutputWithContext(context.Context) ManagedFolderIamBindingConditionOutput
}

ManagedFolderIamBindingConditionInput is an input type that accepts ManagedFolderIamBindingConditionArgs and ManagedFolderIamBindingConditionOutput values. You can construct a concrete instance of `ManagedFolderIamBindingConditionInput` via:

ManagedFolderIamBindingConditionArgs{...}

type ManagedFolderIamBindingConditionOutput

type ManagedFolderIamBindingConditionOutput struct{ *pulumi.OutputState }

func (ManagedFolderIamBindingConditionOutput) Description

func (ManagedFolderIamBindingConditionOutput) ElementType

func (ManagedFolderIamBindingConditionOutput) Expression

Textual representation of an expression in Common Expression Language syntax.

func (ManagedFolderIamBindingConditionOutput) Title

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

func (ManagedFolderIamBindingConditionOutput) ToManagedFolderIamBindingConditionOutput

func (o ManagedFolderIamBindingConditionOutput) ToManagedFolderIamBindingConditionOutput() ManagedFolderIamBindingConditionOutput

func (ManagedFolderIamBindingConditionOutput) ToManagedFolderIamBindingConditionOutputWithContext

func (o ManagedFolderIamBindingConditionOutput) ToManagedFolderIamBindingConditionOutputWithContext(ctx context.Context) ManagedFolderIamBindingConditionOutput

func (ManagedFolderIamBindingConditionOutput) ToManagedFolderIamBindingConditionPtrOutput

func (o ManagedFolderIamBindingConditionOutput) ToManagedFolderIamBindingConditionPtrOutput() ManagedFolderIamBindingConditionPtrOutput

func (ManagedFolderIamBindingConditionOutput) ToManagedFolderIamBindingConditionPtrOutputWithContext

func (o ManagedFolderIamBindingConditionOutput) ToManagedFolderIamBindingConditionPtrOutputWithContext(ctx context.Context) ManagedFolderIamBindingConditionPtrOutput

type ManagedFolderIamBindingConditionPtrInput

type ManagedFolderIamBindingConditionPtrInput interface {
	pulumi.Input

	ToManagedFolderIamBindingConditionPtrOutput() ManagedFolderIamBindingConditionPtrOutput
	ToManagedFolderIamBindingConditionPtrOutputWithContext(context.Context) ManagedFolderIamBindingConditionPtrOutput
}

ManagedFolderIamBindingConditionPtrInput is an input type that accepts ManagedFolderIamBindingConditionArgs, ManagedFolderIamBindingConditionPtr and ManagedFolderIamBindingConditionPtrOutput values. You can construct a concrete instance of `ManagedFolderIamBindingConditionPtrInput` via:

        ManagedFolderIamBindingConditionArgs{...}

or:

        nil

type ManagedFolderIamBindingConditionPtrOutput

type ManagedFolderIamBindingConditionPtrOutput struct{ *pulumi.OutputState }

func (ManagedFolderIamBindingConditionPtrOutput) Description

func (ManagedFolderIamBindingConditionPtrOutput) Elem

func (ManagedFolderIamBindingConditionPtrOutput) ElementType

func (ManagedFolderIamBindingConditionPtrOutput) Expression

Textual representation of an expression in Common Expression Language syntax.

func (ManagedFolderIamBindingConditionPtrOutput) Title

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

func (ManagedFolderIamBindingConditionPtrOutput) ToManagedFolderIamBindingConditionPtrOutput

func (o ManagedFolderIamBindingConditionPtrOutput) ToManagedFolderIamBindingConditionPtrOutput() ManagedFolderIamBindingConditionPtrOutput

func (ManagedFolderIamBindingConditionPtrOutput) ToManagedFolderIamBindingConditionPtrOutputWithContext

func (o ManagedFolderIamBindingConditionPtrOutput) ToManagedFolderIamBindingConditionPtrOutputWithContext(ctx context.Context) ManagedFolderIamBindingConditionPtrOutput

type ManagedFolderIamBindingInput

type ManagedFolderIamBindingInput interface {
	pulumi.Input

	ToManagedFolderIamBindingOutput() ManagedFolderIamBindingOutput
	ToManagedFolderIamBindingOutputWithContext(ctx context.Context) ManagedFolderIamBindingOutput
}

type ManagedFolderIamBindingMap

type ManagedFolderIamBindingMap map[string]ManagedFolderIamBindingInput

func (ManagedFolderIamBindingMap) ElementType

func (ManagedFolderIamBindingMap) ElementType() reflect.Type

func (ManagedFolderIamBindingMap) ToManagedFolderIamBindingMapOutput

func (i ManagedFolderIamBindingMap) ToManagedFolderIamBindingMapOutput() ManagedFolderIamBindingMapOutput

func (ManagedFolderIamBindingMap) ToManagedFolderIamBindingMapOutputWithContext

func (i ManagedFolderIamBindingMap) ToManagedFolderIamBindingMapOutputWithContext(ctx context.Context) ManagedFolderIamBindingMapOutput

type ManagedFolderIamBindingMapInput

type ManagedFolderIamBindingMapInput interface {
	pulumi.Input

	ToManagedFolderIamBindingMapOutput() ManagedFolderIamBindingMapOutput
	ToManagedFolderIamBindingMapOutputWithContext(context.Context) ManagedFolderIamBindingMapOutput
}

ManagedFolderIamBindingMapInput is an input type that accepts ManagedFolderIamBindingMap and ManagedFolderIamBindingMapOutput values. You can construct a concrete instance of `ManagedFolderIamBindingMapInput` via:

ManagedFolderIamBindingMap{ "key": ManagedFolderIamBindingArgs{...} }

type ManagedFolderIamBindingMapOutput

type ManagedFolderIamBindingMapOutput struct{ *pulumi.OutputState }

func (ManagedFolderIamBindingMapOutput) ElementType

func (ManagedFolderIamBindingMapOutput) MapIndex

func (ManagedFolderIamBindingMapOutput) ToManagedFolderIamBindingMapOutput

func (o ManagedFolderIamBindingMapOutput) ToManagedFolderIamBindingMapOutput() ManagedFolderIamBindingMapOutput

func (ManagedFolderIamBindingMapOutput) ToManagedFolderIamBindingMapOutputWithContext

func (o ManagedFolderIamBindingMapOutput) ToManagedFolderIamBindingMapOutputWithContext(ctx context.Context) ManagedFolderIamBindingMapOutput

type ManagedFolderIamBindingOutput

type ManagedFolderIamBindingOutput struct{ *pulumi.OutputState }

func (ManagedFolderIamBindingOutput) Bucket

The name of the bucket that contains the managed folder. Used to find the parent resource to bind the IAM policy to

func (ManagedFolderIamBindingOutput) Condition

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

func (ManagedFolderIamBindingOutput) ElementType

func (ManagedFolderIamBindingOutput) Etag

(Computed) The etag of the IAM policy.

func (ManagedFolderIamBindingOutput) ManagedFolder

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

func (ManagedFolderIamBindingOutput) Members

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 (ManagedFolderIamBindingOutput) Role

The role that should be applied. Only one `storage.ManagedFolderIamBinding` can be used per role. Note that custom roles must be of the format `[projects|organizations]/{parent-name}/roles/{role-name}`.

func (ManagedFolderIamBindingOutput) ToManagedFolderIamBindingOutput

func (o ManagedFolderIamBindingOutput) ToManagedFolderIamBindingOutput() ManagedFolderIamBindingOutput

func (ManagedFolderIamBindingOutput) ToManagedFolderIamBindingOutputWithContext

func (o ManagedFolderIamBindingOutput) ToManagedFolderIamBindingOutputWithContext(ctx context.Context) ManagedFolderIamBindingOutput

type ManagedFolderIamBindingState

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

type ManagedFolderIamMember

type ManagedFolderIamMember struct {
	pulumi.CustomResourceState

	// The name of the bucket that contains the managed folder. Used to find the parent resource to bind the IAM policy to
	Bucket pulumi.StringOutput `pulumi:"bucket"`
	// An [IAM Condition](https://cloud.google.com/iam/docs/conditions-overview) for a given binding.
	// Structure is documented below.
	Condition ManagedFolderIamMemberConditionPtrOutput `pulumi:"condition"`
	// (Computed) The etag of the IAM policy.
	Etag pulumi.StringOutput `pulumi:"etag"`
	// Used to find the parent resource to bind the IAM policy to
	ManagedFolder pulumi.StringOutput `pulumi:"managedFolder"`
	// 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"
	Member pulumi.StringOutput `pulumi:"member"`
	// The role that should be applied. Only one
	// `storage.ManagedFolderIamBinding` 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 ManagedFolder. Each of these resources serves a different use case:

* `storage.ManagedFolderIamPolicy`: Authoritative. Sets the IAM policy for the managedfolder and replaces any existing policy already attached. * `storage.ManagedFolderIamBinding`: 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 managedfolder are preserved. * `storage.ManagedFolderIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the managedfolder are preserved.

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

* `storage.ManagedFolderIamPolicy`: Retrieves the IAM policy for the managedfolder

> **Note:** `storage.ManagedFolderIamPolicy` **cannot** be used in conjunction with `storage.ManagedFolderIamBinding` and `storage.ManagedFolderIamMember` or they will fight over what your policy should be.

> **Note:** `storage.ManagedFolderIamBinding` resources **can be** used in conjunction with `storage.ManagedFolderIamMember` 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.

## storage.ManagedFolderIamPolicy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/organizations"
"github.com/pulumi/pulumi-gcp/sdk/v8/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.NewManagedFolderIamPolicy(ctx, "policy", &storage.ManagedFolderIamPolicyArgs{
			Bucket:        pulumi.Any(folder.Bucket),
			ManagedFolder: pulumi.Any(folder.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/v8/go/gcp/organizations"
"github.com/pulumi/pulumi-gcp/sdk/v8/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.NewManagedFolderIamPolicy(ctx, "policy", &storage.ManagedFolderIamPolicyArgs{
			Bucket:        pulumi.Any(folder.Bucket),
			ManagedFolder: pulumi.Any(folder.Name),
			PolicyData:    pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ## storage.ManagedFolderIamBinding

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := storage.NewManagedFolderIamBinding(ctx, "binding", &storage.ManagedFolderIamBindingArgs{
			Bucket:        pulumi.Any(folder.Bucket),
			ManagedFolder: pulumi.Any(folder.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/v8/go/gcp/storage"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := storage.NewManagedFolderIamBinding(ctx, "binding", &storage.ManagedFolderIamBindingArgs{
			Bucket:        pulumi.Any(folder.Bucket),
			ManagedFolder: pulumi.Any(folder.Name),
			Role:          pulumi.String("roles/storage.admin"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
			Condition: &storage.ManagedFolderIamBindingConditionArgs{
				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
	})
}

``` ## storage.ManagedFolderIamMember

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := storage.NewManagedFolderIamMember(ctx, "member", &storage.ManagedFolderIamMemberArgs{
			Bucket:        pulumi.Any(folder.Bucket),
			ManagedFolder: pulumi.Any(folder.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/v8/go/gcp/storage"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := storage.NewManagedFolderIamMember(ctx, "member", &storage.ManagedFolderIamMemberArgs{
			Bucket:        pulumi.Any(folder.Bucket),
			ManagedFolder: pulumi.Any(folder.Name),
			Role:          pulumi.String("roles/storage.admin"),
			Member:        pulumi.String("user:jane@example.com"),
			Condition: &storage.ManagedFolderIamMemberConditionArgs{
				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
	})
}

```

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

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

* `storage.ManagedFolderIamPolicy`: Authoritative. Sets the IAM policy for the managedfolder and replaces any existing policy already attached. * `storage.ManagedFolderIamBinding`: 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 managedfolder are preserved. * `storage.ManagedFolderIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the managedfolder are preserved.

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

* `storage.ManagedFolderIamPolicy`: Retrieves the IAM policy for the managedfolder

> **Note:** `storage.ManagedFolderIamPolicy` **cannot** be used in conjunction with `storage.ManagedFolderIamBinding` and `storage.ManagedFolderIamMember` or they will fight over what your policy should be.

> **Note:** `storage.ManagedFolderIamBinding` resources **can be** used in conjunction with `storage.ManagedFolderIamMember` 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.

## storage.ManagedFolderIamPolicy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/organizations"
"github.com/pulumi/pulumi-gcp/sdk/v8/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.NewManagedFolderIamPolicy(ctx, "policy", &storage.ManagedFolderIamPolicyArgs{
			Bucket:        pulumi.Any(folder.Bucket),
			ManagedFolder: pulumi.Any(folder.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/v8/go/gcp/organizations"
"github.com/pulumi/pulumi-gcp/sdk/v8/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.NewManagedFolderIamPolicy(ctx, "policy", &storage.ManagedFolderIamPolicyArgs{
			Bucket:        pulumi.Any(folder.Bucket),
			ManagedFolder: pulumi.Any(folder.Name),
			PolicyData:    pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ## storage.ManagedFolderIamBinding

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := storage.NewManagedFolderIamBinding(ctx, "binding", &storage.ManagedFolderIamBindingArgs{
			Bucket:        pulumi.Any(folder.Bucket),
			ManagedFolder: pulumi.Any(folder.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/v8/go/gcp/storage"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := storage.NewManagedFolderIamBinding(ctx, "binding", &storage.ManagedFolderIamBindingArgs{
			Bucket:        pulumi.Any(folder.Bucket),
			ManagedFolder: pulumi.Any(folder.Name),
			Role:          pulumi.String("roles/storage.admin"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
			Condition: &storage.ManagedFolderIamBindingConditionArgs{
				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
	})
}

``` ## storage.ManagedFolderIamMember

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := storage.NewManagedFolderIamMember(ctx, "member", &storage.ManagedFolderIamMemberArgs{
			Bucket:        pulumi.Any(folder.Bucket),
			ManagedFolder: pulumi.Any(folder.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/v8/go/gcp/storage"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := storage.NewManagedFolderIamMember(ctx, "member", &storage.ManagedFolderIamMemberArgs{
			Bucket:        pulumi.Any(folder.Bucket),
			ManagedFolder: pulumi.Any(folder.Name),
			Role:          pulumi.String("roles/storage.admin"),
			Member:        pulumi.String("user:jane@example.com"),
			Condition: &storage.ManagedFolderIamMemberConditionArgs{
				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/{{bucket}}/managedFolders/{{managed_folder}}

* {{bucket}}/{{managed_folder}}

Any variables not passed in the import command will be taken from the provider configuration.

Cloud Storage managedfolder IAM resources can be imported using the resource identifiers, role, and member.

IAM member imports use space-delimited identifiers: the resource in question, the role, and the member identity, e.g.

```sh $ pulumi import gcp:storage/managedFolderIamMember:ManagedFolderIamMember editor "b/{{bucket}}/managedFolders/{{managed_folder}} roles/storage.objectViewer user:jane@example.com" ```

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

```sh $ pulumi import gcp:storage/managedFolderIamMember:ManagedFolderIamMember editor "b/{{bucket}}/managedFolders/{{managed_folder}} roles/storage.objectViewer" ```

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

```sh $ pulumi import gcp:storage/managedFolderIamMember:ManagedFolderIamMember editor b/{{bucket}}/managedFolders/{{managed_folder}} ```

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

func GetManagedFolderIamMember(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ManagedFolderIamMemberState, opts ...pulumi.ResourceOption) (*ManagedFolderIamMember, error)

GetManagedFolderIamMember gets an existing ManagedFolderIamMember 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 NewManagedFolderIamMember

func NewManagedFolderIamMember(ctx *pulumi.Context,
	name string, args *ManagedFolderIamMemberArgs, opts ...pulumi.ResourceOption) (*ManagedFolderIamMember, error)

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

func (*ManagedFolderIamMember) ElementType

func (*ManagedFolderIamMember) ElementType() reflect.Type

func (*ManagedFolderIamMember) ToManagedFolderIamMemberOutput

func (i *ManagedFolderIamMember) ToManagedFolderIamMemberOutput() ManagedFolderIamMemberOutput

func (*ManagedFolderIamMember) ToManagedFolderIamMemberOutputWithContext

func (i *ManagedFolderIamMember) ToManagedFolderIamMemberOutputWithContext(ctx context.Context) ManagedFolderIamMemberOutput

type ManagedFolderIamMemberArgs

type ManagedFolderIamMemberArgs struct {
	// The name of the bucket that contains the managed folder. Used to find the parent resource to bind the IAM policy to
	Bucket pulumi.StringInput
	// An [IAM Condition](https://cloud.google.com/iam/docs/conditions-overview) for a given binding.
	// Structure is documented below.
	Condition ManagedFolderIamMemberConditionPtrInput
	// Used to find the parent resource to bind the IAM policy to
	ManagedFolder pulumi.StringInput
	// 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"
	Member pulumi.StringInput
	// The role that should be applied. Only one
	// `storage.ManagedFolderIamBinding` 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 ManagedFolderIamMember resource.

func (ManagedFolderIamMemberArgs) ElementType

func (ManagedFolderIamMemberArgs) ElementType() reflect.Type

type ManagedFolderIamMemberArray

type ManagedFolderIamMemberArray []ManagedFolderIamMemberInput

func (ManagedFolderIamMemberArray) ElementType

func (ManagedFolderIamMemberArray) ToManagedFolderIamMemberArrayOutput

func (i ManagedFolderIamMemberArray) ToManagedFolderIamMemberArrayOutput() ManagedFolderIamMemberArrayOutput

func (ManagedFolderIamMemberArray) ToManagedFolderIamMemberArrayOutputWithContext

func (i ManagedFolderIamMemberArray) ToManagedFolderIamMemberArrayOutputWithContext(ctx context.Context) ManagedFolderIamMemberArrayOutput

type ManagedFolderIamMemberArrayInput

type ManagedFolderIamMemberArrayInput interface {
	pulumi.Input

	ToManagedFolderIamMemberArrayOutput() ManagedFolderIamMemberArrayOutput
	ToManagedFolderIamMemberArrayOutputWithContext(context.Context) ManagedFolderIamMemberArrayOutput
}

ManagedFolderIamMemberArrayInput is an input type that accepts ManagedFolderIamMemberArray and ManagedFolderIamMemberArrayOutput values. You can construct a concrete instance of `ManagedFolderIamMemberArrayInput` via:

ManagedFolderIamMemberArray{ ManagedFolderIamMemberArgs{...} }

type ManagedFolderIamMemberArrayOutput

type ManagedFolderIamMemberArrayOutput struct{ *pulumi.OutputState }

func (ManagedFolderIamMemberArrayOutput) ElementType

func (ManagedFolderIamMemberArrayOutput) Index

func (ManagedFolderIamMemberArrayOutput) ToManagedFolderIamMemberArrayOutput

func (o ManagedFolderIamMemberArrayOutput) ToManagedFolderIamMemberArrayOutput() ManagedFolderIamMemberArrayOutput

func (ManagedFolderIamMemberArrayOutput) ToManagedFolderIamMemberArrayOutputWithContext

func (o ManagedFolderIamMemberArrayOutput) ToManagedFolderIamMemberArrayOutputWithContext(ctx context.Context) ManagedFolderIamMemberArrayOutput

type ManagedFolderIamMemberCondition

type ManagedFolderIamMemberCondition struct {
	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 ManagedFolderIamMemberConditionArgs

type ManagedFolderIamMemberConditionArgs struct {
	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 (ManagedFolderIamMemberConditionArgs) ElementType

func (ManagedFolderIamMemberConditionArgs) ToManagedFolderIamMemberConditionOutput

func (i ManagedFolderIamMemberConditionArgs) ToManagedFolderIamMemberConditionOutput() ManagedFolderIamMemberConditionOutput

func (ManagedFolderIamMemberConditionArgs) ToManagedFolderIamMemberConditionOutputWithContext

func (i ManagedFolderIamMemberConditionArgs) ToManagedFolderIamMemberConditionOutputWithContext(ctx context.Context) ManagedFolderIamMemberConditionOutput

func (ManagedFolderIamMemberConditionArgs) ToManagedFolderIamMemberConditionPtrOutput

func (i ManagedFolderIamMemberConditionArgs) ToManagedFolderIamMemberConditionPtrOutput() ManagedFolderIamMemberConditionPtrOutput

func (ManagedFolderIamMemberConditionArgs) ToManagedFolderIamMemberConditionPtrOutputWithContext

func (i ManagedFolderIamMemberConditionArgs) ToManagedFolderIamMemberConditionPtrOutputWithContext(ctx context.Context) ManagedFolderIamMemberConditionPtrOutput

type ManagedFolderIamMemberConditionInput

type ManagedFolderIamMemberConditionInput interface {
	pulumi.Input

	ToManagedFolderIamMemberConditionOutput() ManagedFolderIamMemberConditionOutput
	ToManagedFolderIamMemberConditionOutputWithContext(context.Context) ManagedFolderIamMemberConditionOutput
}

ManagedFolderIamMemberConditionInput is an input type that accepts ManagedFolderIamMemberConditionArgs and ManagedFolderIamMemberConditionOutput values. You can construct a concrete instance of `ManagedFolderIamMemberConditionInput` via:

ManagedFolderIamMemberConditionArgs{...}

type ManagedFolderIamMemberConditionOutput

type ManagedFolderIamMemberConditionOutput struct{ *pulumi.OutputState }

func (ManagedFolderIamMemberConditionOutput) Description

func (ManagedFolderIamMemberConditionOutput) ElementType

func (ManagedFolderIamMemberConditionOutput) Expression

Textual representation of an expression in Common Expression Language syntax.

func (ManagedFolderIamMemberConditionOutput) Title

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

func (ManagedFolderIamMemberConditionOutput) ToManagedFolderIamMemberConditionOutput

func (o ManagedFolderIamMemberConditionOutput) ToManagedFolderIamMemberConditionOutput() ManagedFolderIamMemberConditionOutput

func (ManagedFolderIamMemberConditionOutput) ToManagedFolderIamMemberConditionOutputWithContext

func (o ManagedFolderIamMemberConditionOutput) ToManagedFolderIamMemberConditionOutputWithContext(ctx context.Context) ManagedFolderIamMemberConditionOutput

func (ManagedFolderIamMemberConditionOutput) ToManagedFolderIamMemberConditionPtrOutput

func (o ManagedFolderIamMemberConditionOutput) ToManagedFolderIamMemberConditionPtrOutput() ManagedFolderIamMemberConditionPtrOutput

func (ManagedFolderIamMemberConditionOutput) ToManagedFolderIamMemberConditionPtrOutputWithContext

func (o ManagedFolderIamMemberConditionOutput) ToManagedFolderIamMemberConditionPtrOutputWithContext(ctx context.Context) ManagedFolderIamMemberConditionPtrOutput

type ManagedFolderIamMemberConditionPtrInput

type ManagedFolderIamMemberConditionPtrInput interface {
	pulumi.Input

	ToManagedFolderIamMemberConditionPtrOutput() ManagedFolderIamMemberConditionPtrOutput
	ToManagedFolderIamMemberConditionPtrOutputWithContext(context.Context) ManagedFolderIamMemberConditionPtrOutput
}

ManagedFolderIamMemberConditionPtrInput is an input type that accepts ManagedFolderIamMemberConditionArgs, ManagedFolderIamMemberConditionPtr and ManagedFolderIamMemberConditionPtrOutput values. You can construct a concrete instance of `ManagedFolderIamMemberConditionPtrInput` via:

        ManagedFolderIamMemberConditionArgs{...}

or:

        nil

type ManagedFolderIamMemberConditionPtrOutput

type ManagedFolderIamMemberConditionPtrOutput struct{ *pulumi.OutputState }

func (ManagedFolderIamMemberConditionPtrOutput) Description

func (ManagedFolderIamMemberConditionPtrOutput) Elem

func (ManagedFolderIamMemberConditionPtrOutput) ElementType

func (ManagedFolderIamMemberConditionPtrOutput) Expression

Textual representation of an expression in Common Expression Language syntax.

func (ManagedFolderIamMemberConditionPtrOutput) Title

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

func (ManagedFolderIamMemberConditionPtrOutput) ToManagedFolderIamMemberConditionPtrOutput

func (o ManagedFolderIamMemberConditionPtrOutput) ToManagedFolderIamMemberConditionPtrOutput() ManagedFolderIamMemberConditionPtrOutput

func (ManagedFolderIamMemberConditionPtrOutput) ToManagedFolderIamMemberConditionPtrOutputWithContext

func (o ManagedFolderIamMemberConditionPtrOutput) ToManagedFolderIamMemberConditionPtrOutputWithContext(ctx context.Context) ManagedFolderIamMemberConditionPtrOutput

type ManagedFolderIamMemberInput

type ManagedFolderIamMemberInput interface {
	pulumi.Input

	ToManagedFolderIamMemberOutput() ManagedFolderIamMemberOutput
	ToManagedFolderIamMemberOutputWithContext(ctx context.Context) ManagedFolderIamMemberOutput
}

type ManagedFolderIamMemberMap

type ManagedFolderIamMemberMap map[string]ManagedFolderIamMemberInput

func (ManagedFolderIamMemberMap) ElementType

func (ManagedFolderIamMemberMap) ElementType() reflect.Type

func (ManagedFolderIamMemberMap) ToManagedFolderIamMemberMapOutput

func (i ManagedFolderIamMemberMap) ToManagedFolderIamMemberMapOutput() ManagedFolderIamMemberMapOutput

func (ManagedFolderIamMemberMap) ToManagedFolderIamMemberMapOutputWithContext

func (i ManagedFolderIamMemberMap) ToManagedFolderIamMemberMapOutputWithContext(ctx context.Context) ManagedFolderIamMemberMapOutput

type ManagedFolderIamMemberMapInput

type ManagedFolderIamMemberMapInput interface {
	pulumi.Input

	ToManagedFolderIamMemberMapOutput() ManagedFolderIamMemberMapOutput
	ToManagedFolderIamMemberMapOutputWithContext(context.Context) ManagedFolderIamMemberMapOutput
}

ManagedFolderIamMemberMapInput is an input type that accepts ManagedFolderIamMemberMap and ManagedFolderIamMemberMapOutput values. You can construct a concrete instance of `ManagedFolderIamMemberMapInput` via:

ManagedFolderIamMemberMap{ "key": ManagedFolderIamMemberArgs{...} }

type ManagedFolderIamMemberMapOutput

type ManagedFolderIamMemberMapOutput struct{ *pulumi.OutputState }

func (ManagedFolderIamMemberMapOutput) ElementType

func (ManagedFolderIamMemberMapOutput) MapIndex

func (ManagedFolderIamMemberMapOutput) ToManagedFolderIamMemberMapOutput

func (o ManagedFolderIamMemberMapOutput) ToManagedFolderIamMemberMapOutput() ManagedFolderIamMemberMapOutput

func (ManagedFolderIamMemberMapOutput) ToManagedFolderIamMemberMapOutputWithContext

func (o ManagedFolderIamMemberMapOutput) ToManagedFolderIamMemberMapOutputWithContext(ctx context.Context) ManagedFolderIamMemberMapOutput

type ManagedFolderIamMemberOutput

type ManagedFolderIamMemberOutput struct{ *pulumi.OutputState }

func (ManagedFolderIamMemberOutput) Bucket

The name of the bucket that contains the managed folder. Used to find the parent resource to bind the IAM policy to

func (ManagedFolderIamMemberOutput) Condition

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

func (ManagedFolderIamMemberOutput) ElementType

func (ManagedFolderIamMemberOutput) Etag

(Computed) The etag of the IAM policy.

func (ManagedFolderIamMemberOutput) ManagedFolder

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

func (ManagedFolderIamMemberOutput) Member

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 (ManagedFolderIamMemberOutput) Role

The role that should be applied. Only one `storage.ManagedFolderIamBinding` can be used per role. Note that custom roles must be of the format `[projects|organizations]/{parent-name}/roles/{role-name}`.

func (ManagedFolderIamMemberOutput) ToManagedFolderIamMemberOutput

func (o ManagedFolderIamMemberOutput) ToManagedFolderIamMemberOutput() ManagedFolderIamMemberOutput

func (ManagedFolderIamMemberOutput) ToManagedFolderIamMemberOutputWithContext

func (o ManagedFolderIamMemberOutput) ToManagedFolderIamMemberOutputWithContext(ctx context.Context) ManagedFolderIamMemberOutput

type ManagedFolderIamMemberState

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

type ManagedFolderIamPolicy

type ManagedFolderIamPolicy struct {
	pulumi.CustomResourceState

	// The name of the bucket that contains the managed folder. Used to find the parent resource to bind the IAM policy to
	Bucket pulumi.StringOutput `pulumi:"bucket"`
	// (Computed) The etag of the IAM policy.
	Etag pulumi.StringOutput `pulumi:"etag"`
	// Used to find the parent resource to bind the IAM policy to
	ManagedFolder pulumi.StringOutput `pulumi:"managedFolder"`
	// 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 ManagedFolder. Each of these resources serves a different use case:

* `storage.ManagedFolderIamPolicy`: Authoritative. Sets the IAM policy for the managedfolder and replaces any existing policy already attached. * `storage.ManagedFolderIamBinding`: 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 managedfolder are preserved. * `storage.ManagedFolderIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the managedfolder are preserved.

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

* `storage.ManagedFolderIamPolicy`: Retrieves the IAM policy for the managedfolder

> **Note:** `storage.ManagedFolderIamPolicy` **cannot** be used in conjunction with `storage.ManagedFolderIamBinding` and `storage.ManagedFolderIamMember` or they will fight over what your policy should be.

> **Note:** `storage.ManagedFolderIamBinding` resources **can be** used in conjunction with `storage.ManagedFolderIamMember` 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.

## storage.ManagedFolderIamPolicy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/organizations"
"github.com/pulumi/pulumi-gcp/sdk/v8/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.NewManagedFolderIamPolicy(ctx, "policy", &storage.ManagedFolderIamPolicyArgs{
			Bucket:        pulumi.Any(folder.Bucket),
			ManagedFolder: pulumi.Any(folder.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/v8/go/gcp/organizations"
"github.com/pulumi/pulumi-gcp/sdk/v8/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.NewManagedFolderIamPolicy(ctx, "policy", &storage.ManagedFolderIamPolicyArgs{
			Bucket:        pulumi.Any(folder.Bucket),
			ManagedFolder: pulumi.Any(folder.Name),
			PolicyData:    pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ## storage.ManagedFolderIamBinding

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := storage.NewManagedFolderIamBinding(ctx, "binding", &storage.ManagedFolderIamBindingArgs{
			Bucket:        pulumi.Any(folder.Bucket),
			ManagedFolder: pulumi.Any(folder.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/v8/go/gcp/storage"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := storage.NewManagedFolderIamBinding(ctx, "binding", &storage.ManagedFolderIamBindingArgs{
			Bucket:        pulumi.Any(folder.Bucket),
			ManagedFolder: pulumi.Any(folder.Name),
			Role:          pulumi.String("roles/storage.admin"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
			Condition: &storage.ManagedFolderIamBindingConditionArgs{
				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
	})
}

``` ## storage.ManagedFolderIamMember

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := storage.NewManagedFolderIamMember(ctx, "member", &storage.ManagedFolderIamMemberArgs{
			Bucket:        pulumi.Any(folder.Bucket),
			ManagedFolder: pulumi.Any(folder.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/v8/go/gcp/storage"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := storage.NewManagedFolderIamMember(ctx, "member", &storage.ManagedFolderIamMemberArgs{
			Bucket:        pulumi.Any(folder.Bucket),
			ManagedFolder: pulumi.Any(folder.Name),
			Role:          pulumi.String("roles/storage.admin"),
			Member:        pulumi.String("user:jane@example.com"),
			Condition: &storage.ManagedFolderIamMemberConditionArgs{
				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
	})
}

```

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

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

* `storage.ManagedFolderIamPolicy`: Authoritative. Sets the IAM policy for the managedfolder and replaces any existing policy already attached. * `storage.ManagedFolderIamBinding`: 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 managedfolder are preserved. * `storage.ManagedFolderIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the managedfolder are preserved.

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

* `storage.ManagedFolderIamPolicy`: Retrieves the IAM policy for the managedfolder

> **Note:** `storage.ManagedFolderIamPolicy` **cannot** be used in conjunction with `storage.ManagedFolderIamBinding` and `storage.ManagedFolderIamMember` or they will fight over what your policy should be.

> **Note:** `storage.ManagedFolderIamBinding` resources **can be** used in conjunction with `storage.ManagedFolderIamMember` 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.

## storage.ManagedFolderIamPolicy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/organizations"
"github.com/pulumi/pulumi-gcp/sdk/v8/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.NewManagedFolderIamPolicy(ctx, "policy", &storage.ManagedFolderIamPolicyArgs{
			Bucket:        pulumi.Any(folder.Bucket),
			ManagedFolder: pulumi.Any(folder.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/v8/go/gcp/organizations"
"github.com/pulumi/pulumi-gcp/sdk/v8/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.NewManagedFolderIamPolicy(ctx, "policy", &storage.ManagedFolderIamPolicyArgs{
			Bucket:        pulumi.Any(folder.Bucket),
			ManagedFolder: pulumi.Any(folder.Name),
			PolicyData:    pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ## storage.ManagedFolderIamBinding

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := storage.NewManagedFolderIamBinding(ctx, "binding", &storage.ManagedFolderIamBindingArgs{
			Bucket:        pulumi.Any(folder.Bucket),
			ManagedFolder: pulumi.Any(folder.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/v8/go/gcp/storage"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := storage.NewManagedFolderIamBinding(ctx, "binding", &storage.ManagedFolderIamBindingArgs{
			Bucket:        pulumi.Any(folder.Bucket),
			ManagedFolder: pulumi.Any(folder.Name),
			Role:          pulumi.String("roles/storage.admin"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
			Condition: &storage.ManagedFolderIamBindingConditionArgs{
				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
	})
}

``` ## storage.ManagedFolderIamMember

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := storage.NewManagedFolderIamMember(ctx, "member", &storage.ManagedFolderIamMemberArgs{
			Bucket:        pulumi.Any(folder.Bucket),
			ManagedFolder: pulumi.Any(folder.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/v8/go/gcp/storage"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := storage.NewManagedFolderIamMember(ctx, "member", &storage.ManagedFolderIamMemberArgs{
			Bucket:        pulumi.Any(folder.Bucket),
			ManagedFolder: pulumi.Any(folder.Name),
			Role:          pulumi.String("roles/storage.admin"),
			Member:        pulumi.String("user:jane@example.com"),
			Condition: &storage.ManagedFolderIamMemberConditionArgs{
				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/{{bucket}}/managedFolders/{{managed_folder}}

* {{bucket}}/{{managed_folder}}

Any variables not passed in the import command will be taken from the provider configuration.

Cloud Storage managedfolder IAM resources can be imported using the resource identifiers, role, and member.

IAM member imports use space-delimited identifiers: the resource in question, the role, and the member identity, e.g.

```sh $ pulumi import gcp:storage/managedFolderIamPolicy:ManagedFolderIamPolicy editor "b/{{bucket}}/managedFolders/{{managed_folder}} roles/storage.objectViewer user:jane@example.com" ```

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

```sh $ pulumi import gcp:storage/managedFolderIamPolicy:ManagedFolderIamPolicy editor "b/{{bucket}}/managedFolders/{{managed_folder}} roles/storage.objectViewer" ```

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

```sh $ pulumi import gcp:storage/managedFolderIamPolicy:ManagedFolderIamPolicy editor b/{{bucket}}/managedFolders/{{managed_folder}} ```

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

func GetManagedFolderIamPolicy(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ManagedFolderIamPolicyState, opts ...pulumi.ResourceOption) (*ManagedFolderIamPolicy, error)

GetManagedFolderIamPolicy gets an existing ManagedFolderIamPolicy 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 NewManagedFolderIamPolicy

func NewManagedFolderIamPolicy(ctx *pulumi.Context,
	name string, args *ManagedFolderIamPolicyArgs, opts ...pulumi.ResourceOption) (*ManagedFolderIamPolicy, error)

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

func (*ManagedFolderIamPolicy) ElementType

func (*ManagedFolderIamPolicy) ElementType() reflect.Type

func (*ManagedFolderIamPolicy) ToManagedFolderIamPolicyOutput

func (i *ManagedFolderIamPolicy) ToManagedFolderIamPolicyOutput() ManagedFolderIamPolicyOutput

func (*ManagedFolderIamPolicy) ToManagedFolderIamPolicyOutputWithContext

func (i *ManagedFolderIamPolicy) ToManagedFolderIamPolicyOutputWithContext(ctx context.Context) ManagedFolderIamPolicyOutput

type ManagedFolderIamPolicyArgs

type ManagedFolderIamPolicyArgs struct {
	// The name of the bucket that contains the managed folder. Used to find the parent resource to bind the IAM policy to
	Bucket pulumi.StringInput
	// Used to find the parent resource to bind the IAM policy to
	ManagedFolder pulumi.StringInput
	// The policy data generated by
	// a `organizations.getIAMPolicy` data source.
	PolicyData pulumi.StringInput
}

The set of arguments for constructing a ManagedFolderIamPolicy resource.

func (ManagedFolderIamPolicyArgs) ElementType

func (ManagedFolderIamPolicyArgs) ElementType() reflect.Type

type ManagedFolderIamPolicyArray

type ManagedFolderIamPolicyArray []ManagedFolderIamPolicyInput

func (ManagedFolderIamPolicyArray) ElementType

func (ManagedFolderIamPolicyArray) ToManagedFolderIamPolicyArrayOutput

func (i ManagedFolderIamPolicyArray) ToManagedFolderIamPolicyArrayOutput() ManagedFolderIamPolicyArrayOutput

func (ManagedFolderIamPolicyArray) ToManagedFolderIamPolicyArrayOutputWithContext

func (i ManagedFolderIamPolicyArray) ToManagedFolderIamPolicyArrayOutputWithContext(ctx context.Context) ManagedFolderIamPolicyArrayOutput

type ManagedFolderIamPolicyArrayInput

type ManagedFolderIamPolicyArrayInput interface {
	pulumi.Input

	ToManagedFolderIamPolicyArrayOutput() ManagedFolderIamPolicyArrayOutput
	ToManagedFolderIamPolicyArrayOutputWithContext(context.Context) ManagedFolderIamPolicyArrayOutput
}

ManagedFolderIamPolicyArrayInput is an input type that accepts ManagedFolderIamPolicyArray and ManagedFolderIamPolicyArrayOutput values. You can construct a concrete instance of `ManagedFolderIamPolicyArrayInput` via:

ManagedFolderIamPolicyArray{ ManagedFolderIamPolicyArgs{...} }

type ManagedFolderIamPolicyArrayOutput

type ManagedFolderIamPolicyArrayOutput struct{ *pulumi.OutputState }

func (ManagedFolderIamPolicyArrayOutput) ElementType

func (ManagedFolderIamPolicyArrayOutput) Index

func (ManagedFolderIamPolicyArrayOutput) ToManagedFolderIamPolicyArrayOutput

func (o ManagedFolderIamPolicyArrayOutput) ToManagedFolderIamPolicyArrayOutput() ManagedFolderIamPolicyArrayOutput

func (ManagedFolderIamPolicyArrayOutput) ToManagedFolderIamPolicyArrayOutputWithContext

func (o ManagedFolderIamPolicyArrayOutput) ToManagedFolderIamPolicyArrayOutputWithContext(ctx context.Context) ManagedFolderIamPolicyArrayOutput

type ManagedFolderIamPolicyInput

type ManagedFolderIamPolicyInput interface {
	pulumi.Input

	ToManagedFolderIamPolicyOutput() ManagedFolderIamPolicyOutput
	ToManagedFolderIamPolicyOutputWithContext(ctx context.Context) ManagedFolderIamPolicyOutput
}

type ManagedFolderIamPolicyMap

type ManagedFolderIamPolicyMap map[string]ManagedFolderIamPolicyInput

func (ManagedFolderIamPolicyMap) ElementType

func (ManagedFolderIamPolicyMap) ElementType() reflect.Type

func (ManagedFolderIamPolicyMap) ToManagedFolderIamPolicyMapOutput

func (i ManagedFolderIamPolicyMap) ToManagedFolderIamPolicyMapOutput() ManagedFolderIamPolicyMapOutput

func (ManagedFolderIamPolicyMap) ToManagedFolderIamPolicyMapOutputWithContext

func (i ManagedFolderIamPolicyMap) ToManagedFolderIamPolicyMapOutputWithContext(ctx context.Context) ManagedFolderIamPolicyMapOutput

type ManagedFolderIamPolicyMapInput

type ManagedFolderIamPolicyMapInput interface {
	pulumi.Input

	ToManagedFolderIamPolicyMapOutput() ManagedFolderIamPolicyMapOutput
	ToManagedFolderIamPolicyMapOutputWithContext(context.Context) ManagedFolderIamPolicyMapOutput
}

ManagedFolderIamPolicyMapInput is an input type that accepts ManagedFolderIamPolicyMap and ManagedFolderIamPolicyMapOutput values. You can construct a concrete instance of `ManagedFolderIamPolicyMapInput` via:

ManagedFolderIamPolicyMap{ "key": ManagedFolderIamPolicyArgs{...} }

type ManagedFolderIamPolicyMapOutput

type ManagedFolderIamPolicyMapOutput struct{ *pulumi.OutputState }

func (ManagedFolderIamPolicyMapOutput) ElementType

func (ManagedFolderIamPolicyMapOutput) MapIndex

func (ManagedFolderIamPolicyMapOutput) ToManagedFolderIamPolicyMapOutput

func (o ManagedFolderIamPolicyMapOutput) ToManagedFolderIamPolicyMapOutput() ManagedFolderIamPolicyMapOutput

func (ManagedFolderIamPolicyMapOutput) ToManagedFolderIamPolicyMapOutputWithContext

func (o ManagedFolderIamPolicyMapOutput) ToManagedFolderIamPolicyMapOutputWithContext(ctx context.Context) ManagedFolderIamPolicyMapOutput

type ManagedFolderIamPolicyOutput

type ManagedFolderIamPolicyOutput struct{ *pulumi.OutputState }

func (ManagedFolderIamPolicyOutput) Bucket

The name of the bucket that contains the managed folder. Used to find the parent resource to bind the IAM policy to

func (ManagedFolderIamPolicyOutput) ElementType

func (ManagedFolderIamPolicyOutput) Etag

(Computed) The etag of the IAM policy.

func (ManagedFolderIamPolicyOutput) ManagedFolder

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

func (ManagedFolderIamPolicyOutput) PolicyData

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

func (ManagedFolderIamPolicyOutput) ToManagedFolderIamPolicyOutput

func (o ManagedFolderIamPolicyOutput) ToManagedFolderIamPolicyOutput() ManagedFolderIamPolicyOutput

func (ManagedFolderIamPolicyOutput) ToManagedFolderIamPolicyOutputWithContext

func (o ManagedFolderIamPolicyOutput) ToManagedFolderIamPolicyOutputWithContext(ctx context.Context) ManagedFolderIamPolicyOutput

type ManagedFolderIamPolicyState

type ManagedFolderIamPolicyState struct {
	// The name of the bucket that contains the managed folder. Used to find the parent resource to bind the IAM policy to
	Bucket pulumi.StringPtrInput
	// (Computed) The etag of the IAM policy.
	Etag pulumi.StringPtrInput
	// Used to find the parent resource to bind the IAM policy to
	ManagedFolder pulumi.StringPtrInput
	// The policy data generated by
	// a `organizations.getIAMPolicy` data source.
	PolicyData pulumi.StringPtrInput
}

func (ManagedFolderIamPolicyState) ElementType

type ManagedFolderInput

type ManagedFolderInput interface {
	pulumi.Input

	ToManagedFolderOutput() ManagedFolderOutput
	ToManagedFolderOutputWithContext(ctx context.Context) ManagedFolderOutput
}

type ManagedFolderMap

type ManagedFolderMap map[string]ManagedFolderInput

func (ManagedFolderMap) ElementType

func (ManagedFolderMap) ElementType() reflect.Type

func (ManagedFolderMap) ToManagedFolderMapOutput

func (i ManagedFolderMap) ToManagedFolderMapOutput() ManagedFolderMapOutput

func (ManagedFolderMap) ToManagedFolderMapOutputWithContext

func (i ManagedFolderMap) ToManagedFolderMapOutputWithContext(ctx context.Context) ManagedFolderMapOutput

type ManagedFolderMapInput

type ManagedFolderMapInput interface {
	pulumi.Input

	ToManagedFolderMapOutput() ManagedFolderMapOutput
	ToManagedFolderMapOutputWithContext(context.Context) ManagedFolderMapOutput
}

ManagedFolderMapInput is an input type that accepts ManagedFolderMap and ManagedFolderMapOutput values. You can construct a concrete instance of `ManagedFolderMapInput` via:

ManagedFolderMap{ "key": ManagedFolderArgs{...} }

type ManagedFolderMapOutput

type ManagedFolderMapOutput struct{ *pulumi.OutputState }

func (ManagedFolderMapOutput) ElementType

func (ManagedFolderMapOutput) ElementType() reflect.Type

func (ManagedFolderMapOutput) MapIndex

func (ManagedFolderMapOutput) ToManagedFolderMapOutput

func (o ManagedFolderMapOutput) ToManagedFolderMapOutput() ManagedFolderMapOutput

func (ManagedFolderMapOutput) ToManagedFolderMapOutputWithContext

func (o ManagedFolderMapOutput) ToManagedFolderMapOutputWithContext(ctx context.Context) ManagedFolderMapOutput

type ManagedFolderOutput

type ManagedFolderOutput struct{ *pulumi.OutputState }

func (ManagedFolderOutput) Bucket

The name of the bucket that contains the managed folder.

func (ManagedFolderOutput) CreateTime

func (o ManagedFolderOutput) CreateTime() pulumi.StringOutput

The timestamp at which this managed folder was created.

func (ManagedFolderOutput) ElementType

func (ManagedFolderOutput) ElementType() reflect.Type

func (ManagedFolderOutput) ForceDestroy

func (o ManagedFolderOutput) ForceDestroy() pulumi.BoolPtrOutput

Allows the deletion of a managed folder even if contains objects. If a non-empty managed folder is deleted, any objects within the folder will remain in a simulated folder with the same name.

func (ManagedFolderOutput) Metageneration

func (o ManagedFolderOutput) Metageneration() pulumi.StringOutput

The metadata generation of the managed folder.

func (ManagedFolderOutput) Name

The name of the managed folder expressed as a path. Must include trailing '/'. For example, `example_dir/example_dir2/`.

***

The URI of the created resource.

func (ManagedFolderOutput) ToManagedFolderOutput

func (o ManagedFolderOutput) ToManagedFolderOutput() ManagedFolderOutput

func (ManagedFolderOutput) ToManagedFolderOutputWithContext

func (o ManagedFolderOutput) ToManagedFolderOutputWithContext(ctx context.Context) ManagedFolderOutput

func (ManagedFolderOutput) UpdateTime

func (o ManagedFolderOutput) UpdateTime() pulumi.StringOutput

The timestamp at which this managed folder was most recently updated.

type ManagedFolderState

type ManagedFolderState struct {
	// The name of the bucket that contains the managed folder.
	Bucket pulumi.StringPtrInput
	// The timestamp at which this managed folder was created.
	CreateTime pulumi.StringPtrInput
	// Allows the deletion of a managed folder even if contains
	// objects. If a non-empty managed folder is deleted, any objects
	// within the folder will remain in a simulated folder with the
	// same name.
	ForceDestroy pulumi.BoolPtrInput
	// The metadata generation of the managed folder.
	Metageneration pulumi.StringPtrInput
	// The name of the managed folder expressed as a path. Must include
	// trailing '/'. For example, `example_dir/example_dir2/`.
	//
	// ***
	Name pulumi.StringPtrInput
	// The URI of the created resource.
	SelfLink pulumi.StringPtrInput
	// The timestamp at which this managed folder was most recently updated.
	UpdateTime pulumi.StringPtrInput
}

func (ManagedFolderState) ElementType

func (ManagedFolderState) ElementType() reflect.Type

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		// Enable notifications by giving the correct IAM permission to the unique service account.
		gcsAccount, err := storage.GetProjectServiceAccount(ctx, &storage.GetProjectServiceAccountArgs{}, nil)
		if err != nil {
			return err
		}
		topic, err := pubsub.NewTopic(ctx, "topic", &pubsub.TopicArgs{
			Name: pulumi.String("default_topic"),
		})
		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.Sprintf("serviceAccount:%v", gcsAccount.EmailAddress),
			},
		})
		if err != nil {
			return err
		}
		// End enabling notifications
		bucket, err := storage.NewBucket(ctx, "bucket", &storage.BucketArgs{
			Name:     pulumi.String("default_bucket"),
			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 any of these accepted formats:

* `{{bucket_name}}/notificationConfigs/{{id}}`

When using the `pulumi import` command, Storage notifications can be imported using one of the formats above. For example:

```sh $ pulumi import gcp:storage/notification:Notification default {{bucket_name}}/notificationConfigs/{{id}} ```

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

type NotificationArgs

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

The set of arguments for constructing a Notification resource.

func (NotificationArgs) ElementType

func (NotificationArgs) ElementType() reflect.Type

type NotificationArray

type NotificationArray []NotificationInput

func (NotificationArray) ElementType

func (NotificationArray) ElementType() reflect.Type

func (NotificationArray) ToNotificationArrayOutput

func (i NotificationArray) ToNotificationArrayOutput() NotificationArrayOutput

func (NotificationArray) ToNotificationArrayOutputWithContext

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

type NotificationArrayInput

type NotificationArrayInput interface {
	pulumi.Input

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

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

NotificationArray{ NotificationArgs{...} }

type NotificationArrayOutput

type NotificationArrayOutput struct{ *pulumi.OutputState }

func (NotificationArrayOutput) ElementType

func (NotificationArrayOutput) ElementType() reflect.Type

func (NotificationArrayOutput) Index

func (NotificationArrayOutput) ToNotificationArrayOutput

func (o NotificationArrayOutput) ToNotificationArrayOutput() NotificationArrayOutput

func (NotificationArrayOutput) ToNotificationArrayOutputWithContext

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

type NotificationInput

type NotificationInput interface {
	pulumi.Input

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

type NotificationMap

type NotificationMap map[string]NotificationInput

func (NotificationMap) ElementType

func (NotificationMap) ElementType() reflect.Type

func (NotificationMap) ToNotificationMapOutput

func (i NotificationMap) ToNotificationMapOutput() NotificationMapOutput

func (NotificationMap) ToNotificationMapOutputWithContext

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

type NotificationMapInput

type NotificationMapInput interface {
	pulumi.Input

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

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

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

type NotificationMapOutput

type NotificationMapOutput struct{ *pulumi.OutputState }

func (NotificationMapOutput) ElementType

func (NotificationMapOutput) ElementType() reflect.Type

func (NotificationMapOutput) MapIndex

func (NotificationMapOutput) ToNotificationMapOutput

func (o NotificationMapOutput) ToNotificationMapOutput() NotificationMapOutput

func (NotificationMapOutput) ToNotificationMapOutputWithContext

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

type NotificationOutput

type NotificationOutput struct{ *pulumi.OutputState }

func (NotificationOutput) Bucket

The name of the bucket.

func (NotificationOutput) CustomAttributes

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

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

func (o NotificationOutput) NotificationId() pulumi.StringOutput

The ID of the created notification.

func (NotificationOutput) ObjectNamePrefix

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

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

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/v8/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{
			Name:     pulumi.String("image-store-bucket"),
			Location: pulumi.String("EU"),
		})
		if err != nil {
			return err
		}
		image, err := storage.NewBucketObject(ctx, "image", &storage.BucketObjectArgs{
			Name:   pulumi.String("image1"),
			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

type ObjectACLArgs

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

The set of arguments for constructing a ObjectACL resource.

func (ObjectACLArgs) ElementType

func (ObjectACLArgs) ElementType() reflect.Type

type ObjectACLArray

type ObjectACLArray []ObjectACLInput

func (ObjectACLArray) ElementType

func (ObjectACLArray) ElementType() reflect.Type

func (ObjectACLArray) ToObjectACLArrayOutput

func (i ObjectACLArray) ToObjectACLArrayOutput() ObjectACLArrayOutput

func (ObjectACLArray) ToObjectACLArrayOutputWithContext

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

type ObjectACLArrayInput

type ObjectACLArrayInput interface {
	pulumi.Input

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

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

ObjectACLArray{ ObjectACLArgs{...} }

type ObjectACLArrayOutput

type ObjectACLArrayOutput struct{ *pulumi.OutputState }

func (ObjectACLArrayOutput) ElementType

func (ObjectACLArrayOutput) ElementType() reflect.Type

func (ObjectACLArrayOutput) Index

func (ObjectACLArrayOutput) ToObjectACLArrayOutput

func (o ObjectACLArrayOutput) ToObjectACLArrayOutput() ObjectACLArrayOutput

func (ObjectACLArrayOutput) ToObjectACLArrayOutputWithContext

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

type ObjectACLInput

type ObjectACLInput interface {
	pulumi.Input

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

type ObjectACLMap

type ObjectACLMap map[string]ObjectACLInput

func (ObjectACLMap) ElementType

func (ObjectACLMap) ElementType() reflect.Type

func (ObjectACLMap) ToObjectACLMapOutput

func (i ObjectACLMap) ToObjectACLMapOutput() ObjectACLMapOutput

func (ObjectACLMap) ToObjectACLMapOutputWithContext

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

type ObjectACLMapInput

type ObjectACLMapInput interface {
	pulumi.Input

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

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

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

type ObjectACLMapOutput

type ObjectACLMapOutput struct{ *pulumi.OutputState }

func (ObjectACLMapOutput) ElementType

func (ObjectACLMapOutput) ElementType() reflect.Type

func (ObjectACLMapOutput) MapIndex

func (ObjectACLMapOutput) ToObjectACLMapOutput

func (o ObjectACLMapOutput) ToObjectACLMapOutput() ObjectACLMapOutput

func (ObjectACLMapOutput) ToObjectACLMapOutputWithContext

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

type ObjectACLOutput

type ObjectACLOutput struct{ *pulumi.OutputState }

func (ObjectACLOutput) Bucket

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

func (o ObjectACLOutput) Object() pulumi.StringOutput

The name of the object to apply the acl to.

***

func (ObjectACLOutput) PredefinedAcl

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

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

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/v8/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{
			Name:     pulumi.String("static-content-bucket"),
			Location: pulumi.String("US"),
		})
		if err != nil {
			return err
		}
		object, err := storage.NewBucketObject(ctx, "object", &storage.BucketObjectArgs{
			Name:   pulumi.String("public-object"),
			Bucket: bucket.Name,
			Source: pulumi.NewFileAsset("../static/img/header-logo.png"),
		})
		if err != nil {
			return err
		}
		_, err = storage.NewObjectAccessControl(ctx, "public_rule", &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:

* `{{bucket}}/{{object}}/{{entity}}`

When using the `pulumi import` command, ObjectAccessControl can be imported using one of the formats above. For example:

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

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

type ObjectAccessControlArrayInput

type ObjectAccessControlArrayInput interface {
	pulumi.Input

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

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

ObjectAccessControlArray{ ObjectAccessControlArgs{...} }

type ObjectAccessControlArrayOutput

type ObjectAccessControlArrayOutput struct{ *pulumi.OutputState }

func (ObjectAccessControlArrayOutput) ElementType

func (ObjectAccessControlArrayOutput) Index

func (ObjectAccessControlArrayOutput) ToObjectAccessControlArrayOutput

func (o ObjectAccessControlArrayOutput) ToObjectAccessControlArrayOutput() ObjectAccessControlArrayOutput

func (ObjectAccessControlArrayOutput) ToObjectAccessControlArrayOutputWithContext

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

type ObjectAccessControlInput

type ObjectAccessControlInput interface {
	pulumi.Input

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

type ObjectAccessControlMap

type ObjectAccessControlMap map[string]ObjectAccessControlInput

func (ObjectAccessControlMap) ElementType

func (ObjectAccessControlMap) ElementType() reflect.Type

func (ObjectAccessControlMap) ToObjectAccessControlMapOutput

func (i ObjectAccessControlMap) ToObjectAccessControlMapOutput() ObjectAccessControlMapOutput

func (ObjectAccessControlMap) ToObjectAccessControlMapOutputWithContext

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

type ObjectAccessControlMapInput

type ObjectAccessControlMapInput interface {
	pulumi.Input

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

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

ObjectAccessControlMap{ "key": ObjectAccessControlArgs{...} }

type ObjectAccessControlMapOutput

type ObjectAccessControlMapOutput struct{ *pulumi.OutputState }

func (ObjectAccessControlMapOutput) ElementType

func (ObjectAccessControlMapOutput) MapIndex

func (ObjectAccessControlMapOutput) ToObjectAccessControlMapOutput

func (o ObjectAccessControlMapOutput) ToObjectAccessControlMapOutput() ObjectAccessControlMapOutput

func (ObjectAccessControlMapOutput) ToObjectAccessControlMapOutputWithContext

func (o ObjectAccessControlMapOutput) ToObjectAccessControlMapOutputWithContext(ctx context.Context) ObjectAccessControlMapOutput

type ObjectAccessControlOutput

type ObjectAccessControlOutput struct{ *pulumi.OutputState }

func (ObjectAccessControlOutput) Bucket

The name of the bucket.

func (ObjectAccessControlOutput) Domain

The domain associated with the entity.

func (ObjectAccessControlOutput) ElementType

func (ObjectAccessControlOutput) ElementType() reflect.Type

func (ObjectAccessControlOutput) Email

The email address associated with the entity.

func (ObjectAccessControlOutput) Entity

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

The ID for the entity

func (ObjectAccessControlOutput) Generation

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

func (ObjectAccessControlOutput) Object

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

func (ObjectAccessControlOutput) ProjectTeams

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

func (ObjectAccessControlOutput) Role

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

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

type ObjectAccessControlProjectTeamArray

type ObjectAccessControlProjectTeamArray []ObjectAccessControlProjectTeamInput

func (ObjectAccessControlProjectTeamArray) ElementType

func (ObjectAccessControlProjectTeamArray) ToObjectAccessControlProjectTeamArrayOutput

func (i ObjectAccessControlProjectTeamArray) ToObjectAccessControlProjectTeamArrayOutput() ObjectAccessControlProjectTeamArrayOutput

func (ObjectAccessControlProjectTeamArray) ToObjectAccessControlProjectTeamArrayOutputWithContext

func (i ObjectAccessControlProjectTeamArray) ToObjectAccessControlProjectTeamArrayOutputWithContext(ctx context.Context) ObjectAccessControlProjectTeamArrayOutput

type ObjectAccessControlProjectTeamArrayInput

type ObjectAccessControlProjectTeamArrayInput interface {
	pulumi.Input

	ToObjectAccessControlProjectTeamArrayOutput() ObjectAccessControlProjectTeamArrayOutput
	ToObjectAccessControlProjectTeamArrayOutputWithContext(context.Context) ObjectAccessControlProjectTeamArrayOutput
}

ObjectAccessControlProjectTeamArrayInput is an input type that accepts ObjectAccessControlProjectTeamArray and ObjectAccessControlProjectTeamArrayOutput values. You can construct a concrete instance of `ObjectAccessControlProjectTeamArrayInput` via:

ObjectAccessControlProjectTeamArray{ ObjectAccessControlProjectTeamArgs{...} }

type ObjectAccessControlProjectTeamArrayOutput

type ObjectAccessControlProjectTeamArrayOutput struct{ *pulumi.OutputState }

func (ObjectAccessControlProjectTeamArrayOutput) ElementType

func (ObjectAccessControlProjectTeamArrayOutput) Index

func (ObjectAccessControlProjectTeamArrayOutput) ToObjectAccessControlProjectTeamArrayOutput

func (o ObjectAccessControlProjectTeamArrayOutput) ToObjectAccessControlProjectTeamArrayOutput() ObjectAccessControlProjectTeamArrayOutput

func (ObjectAccessControlProjectTeamArrayOutput) ToObjectAccessControlProjectTeamArrayOutputWithContext

func (o ObjectAccessControlProjectTeamArrayOutput) ToObjectAccessControlProjectTeamArrayOutputWithContext(ctx context.Context) ObjectAccessControlProjectTeamArrayOutput

type ObjectAccessControlProjectTeamInput

type ObjectAccessControlProjectTeamInput interface {
	pulumi.Input

	ToObjectAccessControlProjectTeamOutput() ObjectAccessControlProjectTeamOutput
	ToObjectAccessControlProjectTeamOutputWithContext(context.Context) ObjectAccessControlProjectTeamOutput
}

ObjectAccessControlProjectTeamInput is an input type that accepts ObjectAccessControlProjectTeamArgs and ObjectAccessControlProjectTeamOutput values. You can construct a concrete instance of `ObjectAccessControlProjectTeamInput` via:

ObjectAccessControlProjectTeamArgs{...}

type ObjectAccessControlProjectTeamOutput

type ObjectAccessControlProjectTeamOutput struct{ *pulumi.OutputState }

func (ObjectAccessControlProjectTeamOutput) ElementType

func (ObjectAccessControlProjectTeamOutput) ProjectNumber

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

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

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/v8/go/gcp/projects"
"github.com/pulumi/pulumi-gcp/sdk/v8/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, "pubsub_editor_role", &projects.IAMMemberArgs{
			Project: pulumi.String("my-project-name"),
			Role:    pulumi.String("roles/pubsub.editor"),
			Member:  pulumi.Sprintf("serviceAccount:%v", _default.Email),
		})
		if err != nil {
			return err
		}
		_, err = storage.NewTransferAgentPool(ctx, "example", &storage.TransferAgentPoolArgs{
			Name:        pulumi.String("agent-pool-example"),
			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:

* `projects/{{project}}/agentPools/{{name}}`

* `{{project}}/{{name}}`

* `{{name}}`

When using the `pulumi import` command, AgentPool can be imported using one of the formats above. For example:

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

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

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

func (*TransferAgentPool) ElementType() reflect.Type

func (*TransferAgentPool) ToTransferAgentPoolOutput

func (i *TransferAgentPool) ToTransferAgentPoolOutput() TransferAgentPoolOutput

func (*TransferAgentPool) ToTransferAgentPoolOutputWithContext

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

type TransferAgentPoolArgs

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

func (TransferAgentPoolArgs) ElementType() reflect.Type

type TransferAgentPoolArray

type TransferAgentPoolArray []TransferAgentPoolInput

func (TransferAgentPoolArray) ElementType

func (TransferAgentPoolArray) ElementType() reflect.Type

func (TransferAgentPoolArray) ToTransferAgentPoolArrayOutput

func (i TransferAgentPoolArray) ToTransferAgentPoolArrayOutput() TransferAgentPoolArrayOutput

func (TransferAgentPoolArray) ToTransferAgentPoolArrayOutputWithContext

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

type TransferAgentPoolArrayInput

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

type TransferAgentPoolArrayOutput struct{ *pulumi.OutputState }

func (TransferAgentPoolArrayOutput) ElementType

func (TransferAgentPoolArrayOutput) Index

func (TransferAgentPoolArrayOutput) ToTransferAgentPoolArrayOutput

func (o TransferAgentPoolArrayOutput) ToTransferAgentPoolArrayOutput() TransferAgentPoolArrayOutput

func (TransferAgentPoolArrayOutput) ToTransferAgentPoolArrayOutputWithContext

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

type TransferAgentPoolBandwidthLimit

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

type TransferAgentPoolBandwidthLimitArgs

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

func (TransferAgentPoolBandwidthLimitArgs) ToTransferAgentPoolBandwidthLimitOutput

func (i TransferAgentPoolBandwidthLimitArgs) ToTransferAgentPoolBandwidthLimitOutput() TransferAgentPoolBandwidthLimitOutput

func (TransferAgentPoolBandwidthLimitArgs) ToTransferAgentPoolBandwidthLimitOutputWithContext

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

func (TransferAgentPoolBandwidthLimitArgs) ToTransferAgentPoolBandwidthLimitPtrOutput

func (i TransferAgentPoolBandwidthLimitArgs) ToTransferAgentPoolBandwidthLimitPtrOutput() TransferAgentPoolBandwidthLimitPtrOutput

func (TransferAgentPoolBandwidthLimitArgs) ToTransferAgentPoolBandwidthLimitPtrOutputWithContext

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

type TransferAgentPoolBandwidthLimitInput

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

type TransferAgentPoolBandwidthLimitOutput struct{ *pulumi.OutputState }

func (TransferAgentPoolBandwidthLimitOutput) ElementType

func (TransferAgentPoolBandwidthLimitOutput) LimitMbps

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

func (TransferAgentPoolBandwidthLimitOutput) ToTransferAgentPoolBandwidthLimitOutput

func (o TransferAgentPoolBandwidthLimitOutput) ToTransferAgentPoolBandwidthLimitOutput() TransferAgentPoolBandwidthLimitOutput

func (TransferAgentPoolBandwidthLimitOutput) ToTransferAgentPoolBandwidthLimitOutputWithContext

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

func (TransferAgentPoolBandwidthLimitOutput) ToTransferAgentPoolBandwidthLimitPtrOutput

func (o TransferAgentPoolBandwidthLimitOutput) ToTransferAgentPoolBandwidthLimitPtrOutput() TransferAgentPoolBandwidthLimitPtrOutput

func (TransferAgentPoolBandwidthLimitOutput) ToTransferAgentPoolBandwidthLimitPtrOutputWithContext

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

type TransferAgentPoolBandwidthLimitPtrInput

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

type TransferAgentPoolBandwidthLimitPtrOutput struct{ *pulumi.OutputState }

func (TransferAgentPoolBandwidthLimitPtrOutput) Elem

func (TransferAgentPoolBandwidthLimitPtrOutput) ElementType

func (TransferAgentPoolBandwidthLimitPtrOutput) LimitMbps

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

func (TransferAgentPoolBandwidthLimitPtrOutput) ToTransferAgentPoolBandwidthLimitPtrOutput

func (o TransferAgentPoolBandwidthLimitPtrOutput) ToTransferAgentPoolBandwidthLimitPtrOutput() TransferAgentPoolBandwidthLimitPtrOutput

func (TransferAgentPoolBandwidthLimitPtrOutput) ToTransferAgentPoolBandwidthLimitPtrOutputWithContext

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

type TransferAgentPoolInput

type TransferAgentPoolInput interface {
	pulumi.Input

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

type TransferAgentPoolMap

type TransferAgentPoolMap map[string]TransferAgentPoolInput

func (TransferAgentPoolMap) ElementType

func (TransferAgentPoolMap) ElementType() reflect.Type

func (TransferAgentPoolMap) ToTransferAgentPoolMapOutput

func (i TransferAgentPoolMap) ToTransferAgentPoolMapOutput() TransferAgentPoolMapOutput

func (TransferAgentPoolMap) ToTransferAgentPoolMapOutputWithContext

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

type TransferAgentPoolMapInput

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

type TransferAgentPoolMapOutput struct{ *pulumi.OutputState }

func (TransferAgentPoolMapOutput) ElementType

func (TransferAgentPoolMapOutput) ElementType() reflect.Type

func (TransferAgentPoolMapOutput) MapIndex

func (TransferAgentPoolMapOutput) ToTransferAgentPoolMapOutput

func (o TransferAgentPoolMapOutput) ToTransferAgentPoolMapOutput() TransferAgentPoolMapOutput

func (TransferAgentPoolMapOutput) ToTransferAgentPoolMapOutputWithContext

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

type TransferAgentPoolOutput

type TransferAgentPoolOutput struct{ *pulumi.OutputState }

func (TransferAgentPoolOutput) BandwidthLimit

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

Specifies the client-specified AgentPool description.

func (TransferAgentPoolOutput) ElementType

func (TransferAgentPoolOutput) ElementType() reflect.Type

func (TransferAgentPoolOutput) Name

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

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

func (TransferAgentPoolOutput) State

Specifies the state of the AgentPool.

func (TransferAgentPoolOutput) ToTransferAgentPoolOutput

func (o TransferAgentPoolOutput) ToTransferAgentPoolOutput() TransferAgentPoolOutput

func (TransferAgentPoolOutput) ToTransferAgentPoolOutputWithContext

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

type TransferAgentPoolState

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

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"`
	// Specifies the Event-driven transfer options. Event-driven transfers listen to an event stream to transfer updated files. Structure documented below Either `eventStream` or `schedule` must be set.
	EventStream TransferJobEventStreamPtrOutput `pulumi:"eventStream"`
	// When the Transfer Job was last modified.
	LastModificationTime pulumi.StringOutput `pulumi:"lastModificationTime"`
	// The name of the Transfer Job. This name must start with "transferJobs/" prefix and end with a letter or a number, and should be no more than 128 characters ( `transferJobs/^(?!OPI)[A-Za-z0-9-._~]*[A-Za-z0-9]$` ). For transfers involving PosixFilesystem, this name must start with transferJobs/OPI specifically ( `transferJobs/OPI^[A-Za-z0-9-._~]*[A-Za-z0-9]$` ). For all other transfer types, this name must not start with transferJobs/OPI. Default the provider will assign a random unique name with `transferJobs/{{name}}` format, where `name` is a numeric value.
	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"`
	// Replication specification. Structure documented below. User should not configure `schedule`, `eventStream` with this argument. One of `transferSpec`, or `replicationSpec` must be specified.
	//
	// ***
	ReplicationSpec TransferJobReplicationSpecPtrOutput `pulumi:"replicationSpec"`
	// Schedule specification defining when the Transfer Job should be scheduled to start, end and what time to run. Structure documented below. Either `schedule` or `eventStream` must be set.
	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. One of `transferSpec`, or `replicationSpec` can be specified.
	TransferSpec TransferJobTransferSpecPtrOutput `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/v8/go/gcp/pubsub"
"github.com/pulumi/pulumi-gcp/sdk/v8/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(project),
		}, nil)
		if err != nil {
			return err
		}
		_, err = storage.NewBucket(ctx, "s3-backup-bucket", &storage.BucketArgs{
			Name:         pulumi.Sprintf("%v-backup", awsS3Bucket),
			StorageClass: pulumi.String("NEARLINE"),
			Project:      pulumi.Any(project),
			Location:     pulumi.String("US"),
		})
		if err != nil {
			return err
		}
		_, err = storage.NewBucketIAMMember(ctx, "s3-backup-bucket", &storage.BucketIAMMemberArgs{
			Bucket: s3_backup_bucket.Name,
			Role:   pulumi.String("roles/storage.admin"),
			Member: pulumi.Sprintf("serviceAccount:%v", _default.Email),
		}, pulumi.DependsOn([]pulumi.Resource{
			s3_backup_bucket,
		}))
		if err != nil {
			return err
		}
		topic, err := pubsub.NewTopic(ctx, "topic", &pubsub.TopicArgs{
			Name: pulumi.Any(pubsubTopicName),
		})
		if err != nil {
			return err
		}
		notificationConfig, err := pubsub.NewTopicIAMMember(ctx, "notification_config", &pubsub.TopicIAMMemberArgs{
			Topic:  topic.ID(),
			Role:   pulumi.String("roles/pubsub.publisher"),
			Member: pulumi.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(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(awsS3Bucket),
					AwsAccessKey: &storage.TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyArgs{
						AccessKeyId:     pulumi.Any(awsAccessKey),
						SecretAccessKey: pulumi.Any(awsSecretKey),
					},
				},
				GcsDataSink: &storage.TransferJobTransferSpecGcsDataSinkArgs{
					BucketName: s3_backup_bucket.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 Transfer Jobs can be imported using the Transfer Job's `project` and `name` (without the `transferJob/` prefix), e.g.

* `{{project_id}}/{{name}}`, where `name` is a numeric value.

When using the `pulumi import` command, Storage Transfer Jobs can be imported using one of the formats above. For example:

```sh $ pulumi import gcp:storage/transferJob:TransferJob default {{project_id}}/123456789 ```

func GetTransferJob

func GetTransferJob(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *TransferJobState, opts ...pulumi.ResourceOption) (*TransferJob, error)

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

func NewTransferJob

func NewTransferJob(ctx *pulumi.Context,
	name string, args *TransferJobArgs, opts ...pulumi.ResourceOption) (*TransferJob, error)

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

func (*TransferJob) ElementType

func (*TransferJob) ElementType() reflect.Type

func (*TransferJob) ToTransferJobOutput

func (i *TransferJob) ToTransferJobOutput() TransferJobOutput

func (*TransferJob) ToTransferJobOutputWithContext

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

type TransferJobArgs

type TransferJobArgs struct {
	// Unique description to identify the Transfer Job.
	Description pulumi.StringInput
	// Specifies the Event-driven transfer options. Event-driven transfers listen to an event stream to transfer updated files. Structure documented below Either `eventStream` or `schedule` must be set.
	EventStream TransferJobEventStreamPtrInput
	// The name of the Transfer Job. This name must start with "transferJobs/" prefix and end with a letter or a number, and should be no more than 128 characters ( `transferJobs/^(?!OPI)[A-Za-z0-9-._~]*[A-Za-z0-9]$` ). For transfers involving PosixFilesystem, this name must start with transferJobs/OPI specifically ( `transferJobs/OPI^[A-Za-z0-9-._~]*[A-Za-z0-9]$` ). For all other transfer types, this name must not start with transferJobs/OPI. Default the provider will assign a random unique name with `transferJobs/{{name}}` format, where `name` is a numeric value.
	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
	// Replication specification. Structure documented below. User should not configure `schedule`, `eventStream` with this argument. One of `transferSpec`, or `replicationSpec` must be specified.
	//
	// ***
	ReplicationSpec TransferJobReplicationSpecPtrInput
	// Schedule specification defining when the Transfer Job should be scheduled to start, end and what time to run. Structure documented below. Either `schedule` or `eventStream` must be set.
	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. One of `transferSpec`, or `replicationSpec` can be specified.
	TransferSpec TransferJobTransferSpecPtrInput
}

The set of arguments for constructing a TransferJob resource.

func (TransferJobArgs) ElementType

func (TransferJobArgs) ElementType() reflect.Type

type TransferJobArray

type TransferJobArray []TransferJobInput

func (TransferJobArray) ElementType

func (TransferJobArray) ElementType() reflect.Type

func (TransferJobArray) ToTransferJobArrayOutput

func (i TransferJobArray) ToTransferJobArrayOutput() TransferJobArrayOutput

func (TransferJobArray) ToTransferJobArrayOutputWithContext

func (i TransferJobArray) ToTransferJobArrayOutputWithContext(ctx context.Context) TransferJobArrayOutput

type TransferJobArrayInput

type TransferJobArrayInput interface {
	pulumi.Input

	ToTransferJobArrayOutput() TransferJobArrayOutput
	ToTransferJobArrayOutputWithContext(context.Context) TransferJobArrayOutput
}

TransferJobArrayInput is an input type that accepts TransferJobArray and TransferJobArrayOutput values. You can construct a concrete instance of `TransferJobArrayInput` via:

TransferJobArray{ TransferJobArgs{...} }

type TransferJobArrayOutput

type TransferJobArrayOutput struct{ *pulumi.OutputState }

func (TransferJobArrayOutput) ElementType

func (TransferJobArrayOutput) ElementType() reflect.Type

func (TransferJobArrayOutput) Index

func (TransferJobArrayOutput) ToTransferJobArrayOutput

func (o TransferJobArrayOutput) ToTransferJobArrayOutput() TransferJobArrayOutput

func (TransferJobArrayOutput) ToTransferJobArrayOutputWithContext

func (o TransferJobArrayOutput) ToTransferJobArrayOutputWithContext(ctx context.Context) TransferJobArrayOutput

type TransferJobEventStream

type TransferJobEventStream struct {
	// Specifies the data and time at which Storage Transfer Service stops listening for events from this stream. After this time, any transfers in progress will complete, but no new transfers are initiated.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".
	EventStreamExpirationTime *string `pulumi:"eventStreamExpirationTime"`
	// Specifies the date and time that Storage Transfer Service starts listening for events from this stream. If no start time is specified or start time is in the past, Storage Transfer Service starts listening immediately. 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".
	EventStreamStartTime *string `pulumi:"eventStreamStartTime"`
	// Specifies a unique name of the resource such as AWS SQS ARN in the form 'arn:aws:sqs:region:account_id:queue_name', or Pub/Sub subscription resource name in the form 'projects/{project}/subscriptions/{sub}'.
	Name string `pulumi:"name"`
}

type TransferJobEventStreamArgs

type TransferJobEventStreamArgs struct {
	// Specifies the data and time at which Storage Transfer Service stops listening for events from this stream. After this time, any transfers in progress will complete, but no new transfers are initiated.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".
	EventStreamExpirationTime pulumi.StringPtrInput `pulumi:"eventStreamExpirationTime"`
	// Specifies the date and time that Storage Transfer Service starts listening for events from this stream. If no start time is specified or start time is in the past, Storage Transfer Service starts listening immediately. 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".
	EventStreamStartTime pulumi.StringPtrInput `pulumi:"eventStreamStartTime"`
	// Specifies a unique name of the resource such as AWS SQS ARN in the form 'arn:aws:sqs:region:account_id:queue_name', or Pub/Sub subscription resource name in the form 'projects/{project}/subscriptions/{sub}'.
	Name pulumi.StringInput `pulumi:"name"`
}

func (TransferJobEventStreamArgs) ElementType

func (TransferJobEventStreamArgs) ElementType() reflect.Type

func (TransferJobEventStreamArgs) ToTransferJobEventStreamOutput

func (i TransferJobEventStreamArgs) ToTransferJobEventStreamOutput() TransferJobEventStreamOutput

func (TransferJobEventStreamArgs) ToTransferJobEventStreamOutputWithContext

func (i TransferJobEventStreamArgs) ToTransferJobEventStreamOutputWithContext(ctx context.Context) TransferJobEventStreamOutput

func (TransferJobEventStreamArgs) ToTransferJobEventStreamPtrOutput

func (i TransferJobEventStreamArgs) ToTransferJobEventStreamPtrOutput() TransferJobEventStreamPtrOutput

func (TransferJobEventStreamArgs) ToTransferJobEventStreamPtrOutputWithContext

func (i TransferJobEventStreamArgs) ToTransferJobEventStreamPtrOutputWithContext(ctx context.Context) TransferJobEventStreamPtrOutput

type TransferJobEventStreamInput

type TransferJobEventStreamInput interface {
	pulumi.Input

	ToTransferJobEventStreamOutput() TransferJobEventStreamOutput
	ToTransferJobEventStreamOutputWithContext(context.Context) TransferJobEventStreamOutput
}

TransferJobEventStreamInput is an input type that accepts TransferJobEventStreamArgs and TransferJobEventStreamOutput values. You can construct a concrete instance of `TransferJobEventStreamInput` via:

TransferJobEventStreamArgs{...}

type TransferJobEventStreamOutput

type TransferJobEventStreamOutput struct{ *pulumi.OutputState }

func (TransferJobEventStreamOutput) ElementType

func (TransferJobEventStreamOutput) EventStreamExpirationTime

func (o TransferJobEventStreamOutput) EventStreamExpirationTime() pulumi.StringPtrOutput

Specifies the data and time at which Storage Transfer Service stops listening for events from this stream. After this time, any transfers in progress will complete, but no new transfers are initiated.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 (TransferJobEventStreamOutput) EventStreamStartTime

func (o TransferJobEventStreamOutput) EventStreamStartTime() pulumi.StringPtrOutput

Specifies the date and time that Storage Transfer Service starts listening for events from this stream. If no start time is specified or start time is in the past, Storage Transfer Service starts listening immediately. 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 (TransferJobEventStreamOutput) Name

Specifies a unique name of the resource such as AWS SQS ARN in the form 'arn:aws:sqs:region:account_id:queue_name', or Pub/Sub subscription resource name in the form 'projects/{project}/subscriptions/{sub}'.

func (TransferJobEventStreamOutput) ToTransferJobEventStreamOutput

func (o TransferJobEventStreamOutput) ToTransferJobEventStreamOutput() TransferJobEventStreamOutput

func (TransferJobEventStreamOutput) ToTransferJobEventStreamOutputWithContext

func (o TransferJobEventStreamOutput) ToTransferJobEventStreamOutputWithContext(ctx context.Context) TransferJobEventStreamOutput

func (TransferJobEventStreamOutput) ToTransferJobEventStreamPtrOutput

func (o TransferJobEventStreamOutput) ToTransferJobEventStreamPtrOutput() TransferJobEventStreamPtrOutput

func (TransferJobEventStreamOutput) ToTransferJobEventStreamPtrOutputWithContext

func (o TransferJobEventStreamOutput) ToTransferJobEventStreamPtrOutputWithContext(ctx context.Context) TransferJobEventStreamPtrOutput

type TransferJobEventStreamPtrInput

type TransferJobEventStreamPtrInput interface {
	pulumi.Input

	ToTransferJobEventStreamPtrOutput() TransferJobEventStreamPtrOutput
	ToTransferJobEventStreamPtrOutputWithContext(context.Context) TransferJobEventStreamPtrOutput
}

TransferJobEventStreamPtrInput is an input type that accepts TransferJobEventStreamArgs, TransferJobEventStreamPtr and TransferJobEventStreamPtrOutput values. You can construct a concrete instance of `TransferJobEventStreamPtrInput` via:

        TransferJobEventStreamArgs{...}

or:

        nil

type TransferJobEventStreamPtrOutput

type TransferJobEventStreamPtrOutput struct{ *pulumi.OutputState }

func (TransferJobEventStreamPtrOutput) Elem

func (TransferJobEventStreamPtrOutput) ElementType

func (TransferJobEventStreamPtrOutput) EventStreamExpirationTime

func (o TransferJobEventStreamPtrOutput) EventStreamExpirationTime() pulumi.StringPtrOutput

Specifies the data and time at which Storage Transfer Service stops listening for events from this stream. After this time, any transfers in progress will complete, but no new transfers are initiated.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 (TransferJobEventStreamPtrOutput) EventStreamStartTime

func (o TransferJobEventStreamPtrOutput) EventStreamStartTime() pulumi.StringPtrOutput

Specifies the date and time that Storage Transfer Service starts listening for events from this stream. If no start time is specified or start time is in the past, Storage Transfer Service starts listening immediately. 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 (TransferJobEventStreamPtrOutput) Name

Specifies a unique name of the resource such as AWS SQS ARN in the form 'arn:aws:sqs:region:account_id:queue_name', or Pub/Sub subscription resource name in the form 'projects/{project}/subscriptions/{sub}'.

func (TransferJobEventStreamPtrOutput) ToTransferJobEventStreamPtrOutput

func (o TransferJobEventStreamPtrOutput) ToTransferJobEventStreamPtrOutput() TransferJobEventStreamPtrOutput

func (TransferJobEventStreamPtrOutput) ToTransferJobEventStreamPtrOutputWithContext

func (o TransferJobEventStreamPtrOutput) ToTransferJobEventStreamPtrOutputWithContext(ctx context.Context) TransferJobEventStreamPtrOutput

type TransferJobInput

type TransferJobInput interface {
	pulumi.Input

	ToTransferJobOutput() TransferJobOutput
	ToTransferJobOutputWithContext(ctx context.Context) TransferJobOutput
}

type TransferJobMap

type TransferJobMap map[string]TransferJobInput

func (TransferJobMap) ElementType

func (TransferJobMap) ElementType() reflect.Type

func (TransferJobMap) ToTransferJobMapOutput

func (i TransferJobMap) ToTransferJobMapOutput() TransferJobMapOutput

func (TransferJobMap) ToTransferJobMapOutputWithContext

func (i TransferJobMap) ToTransferJobMapOutputWithContext(ctx context.Context) TransferJobMapOutput

type TransferJobMapInput

type TransferJobMapInput interface {
	pulumi.Input

	ToTransferJobMapOutput() TransferJobMapOutput
	ToTransferJobMapOutputWithContext(context.Context) TransferJobMapOutput
}

TransferJobMapInput is an input type that accepts TransferJobMap and TransferJobMapOutput values. You can construct a concrete instance of `TransferJobMapInput` via:

TransferJobMap{ "key": TransferJobArgs{...} }

type TransferJobMapOutput

type TransferJobMapOutput struct{ *pulumi.OutputState }

func (TransferJobMapOutput) ElementType

func (TransferJobMapOutput) ElementType() reflect.Type

func (TransferJobMapOutput) MapIndex

func (TransferJobMapOutput) ToTransferJobMapOutput

func (o TransferJobMapOutput) ToTransferJobMapOutput() TransferJobMapOutput

func (TransferJobMapOutput) ToTransferJobMapOutputWithContext

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

type TransferJobNotificationConfig

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

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

func (TransferJobNotificationConfigArgs) ToTransferJobNotificationConfigOutput

func (i TransferJobNotificationConfigArgs) ToTransferJobNotificationConfigOutput() TransferJobNotificationConfigOutput

func (TransferJobNotificationConfigArgs) ToTransferJobNotificationConfigOutputWithContext

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

func (TransferJobNotificationConfigArgs) ToTransferJobNotificationConfigPtrOutput

func (i TransferJobNotificationConfigArgs) ToTransferJobNotificationConfigPtrOutput() TransferJobNotificationConfigPtrOutput

func (TransferJobNotificationConfigArgs) ToTransferJobNotificationConfigPtrOutputWithContext

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

type TransferJobNotificationConfigInput

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

type TransferJobNotificationConfigOutput struct{ *pulumi.OutputState }

func (TransferJobNotificationConfigOutput) ElementType

func (TransferJobNotificationConfigOutput) EventTypes

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

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

func (TransferJobNotificationConfigOutput) PubsubTopic

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

func (o TransferJobNotificationConfigOutput) ToTransferJobNotificationConfigOutput() TransferJobNotificationConfigOutput

func (TransferJobNotificationConfigOutput) ToTransferJobNotificationConfigOutputWithContext

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

func (TransferJobNotificationConfigOutput) ToTransferJobNotificationConfigPtrOutput

func (o TransferJobNotificationConfigOutput) ToTransferJobNotificationConfigPtrOutput() TransferJobNotificationConfigPtrOutput

func (TransferJobNotificationConfigOutput) ToTransferJobNotificationConfigPtrOutputWithContext

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

type TransferJobNotificationConfigPtrInput

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

type TransferJobNotificationConfigPtrOutput struct{ *pulumi.OutputState }

func (TransferJobNotificationConfigPtrOutput) Elem

func (TransferJobNotificationConfigPtrOutput) ElementType

func (TransferJobNotificationConfigPtrOutput) EventTypes

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

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

func (TransferJobNotificationConfigPtrOutput) PubsubTopic

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

func (o TransferJobNotificationConfigPtrOutput) ToTransferJobNotificationConfigPtrOutput() TransferJobNotificationConfigPtrOutput

func (TransferJobNotificationConfigPtrOutput) ToTransferJobNotificationConfigPtrOutputWithContext

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

type TransferJobOutput

type TransferJobOutput struct{ *pulumi.OutputState }

func (TransferJobOutput) CreationTime

func (o TransferJobOutput) CreationTime() pulumi.StringOutput

When the Transfer Job was created.

func (TransferJobOutput) DeletionTime

func (o TransferJobOutput) DeletionTime() pulumi.StringOutput

When the Transfer Job was deleted.

func (TransferJobOutput) Description

func (o TransferJobOutput) Description() pulumi.StringOutput

Unique description to identify the Transfer Job.

func (TransferJobOutput) ElementType

func (TransferJobOutput) ElementType() reflect.Type

func (TransferJobOutput) EventStream

Specifies the Event-driven transfer options. Event-driven transfers listen to an event stream to transfer updated files. Structure documented below Either `eventStream` or `schedule` must be set.

func (TransferJobOutput) LastModificationTime

func (o TransferJobOutput) LastModificationTime() pulumi.StringOutput

When the Transfer Job was last modified.

func (TransferJobOutput) Name

The name of the Transfer Job. This name must start with "transferJobs/" prefix and end with a letter or a number, and should be no more than 128 characters ( `transferJobs/^(?!OPI)[A-Za-z0-9-._~]*[A-Za-z0-9]$` ). For transfers involving PosixFilesystem, this name must start with transferJobs/OPI specifically ( `transferJobs/OPI^[A-Za-z0-9-._~]*[A-Za-z0-9]$` ). For all other transfer types, this name must not start with transferJobs/OPI. Default the provider will assign a random unique name with `transferJobs/{{name}}` format, where `name` is a numeric value.

func (TransferJobOutput) NotificationConfig

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

func (TransferJobOutput) Project

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

func (TransferJobOutput) ReplicationSpec added in v8.13.0

Replication specification. Structure documented below. User should not configure `schedule`, `eventStream` with this argument. One of `transferSpec`, or `replicationSpec` must be specified.

***

func (TransferJobOutput) Schedule

Schedule specification defining when the Transfer Job should be scheduled to start, end and what time to run. Structure documented below. Either `schedule` or `eventStream` must be set.

func (TransferJobOutput) Status

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

func (o TransferJobOutput) ToTransferJobOutput() TransferJobOutput

func (TransferJobOutput) ToTransferJobOutputWithContext

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

func (TransferJobOutput) TransferSpec

Transfer specification. Structure documented below. One of `transferSpec`, or `replicationSpec` can be specified.

type TransferJobReplicationSpec added in v8.13.0

type TransferJobReplicationSpec struct {
	// A Google Cloud Storage data sink. Structure documented below.
	GcsDataSink *TransferJobReplicationSpecGcsDataSink `pulumi:"gcsDataSink"`
	// A Google Cloud Storage data source. Structure documented below.
	GcsDataSource *TransferJobReplicationSpecGcsDataSource `pulumi:"gcsDataSource"`
	// 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 *TransferJobReplicationSpecObjectConditions `pulumi:"objectConditions"`
	// Characteristics of how to treat files from datasource and sink during job. If the option `deleteObjectsUniqueInSink` is true, object conditions based on objects' `lastModificationTime` are ignored and do not exclude objects in a data source or a data sink. Structure documented below.
	TransferOptions *TransferJobReplicationSpecTransferOptions `pulumi:"transferOptions"`
}

type TransferJobReplicationSpecArgs added in v8.13.0

type TransferJobReplicationSpecArgs struct {
	// A Google Cloud Storage data sink. Structure documented below.
	GcsDataSink TransferJobReplicationSpecGcsDataSinkPtrInput `pulumi:"gcsDataSink"`
	// A Google Cloud Storage data source. Structure documented below.
	GcsDataSource TransferJobReplicationSpecGcsDataSourcePtrInput `pulumi:"gcsDataSource"`
	// 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 TransferJobReplicationSpecObjectConditionsPtrInput `pulumi:"objectConditions"`
	// Characteristics of how to treat files from datasource and sink during job. If the option `deleteObjectsUniqueInSink` is true, object conditions based on objects' `lastModificationTime` are ignored and do not exclude objects in a data source or a data sink. Structure documented below.
	TransferOptions TransferJobReplicationSpecTransferOptionsPtrInput `pulumi:"transferOptions"`
}

func (TransferJobReplicationSpecArgs) ElementType added in v8.13.0

func (TransferJobReplicationSpecArgs) ToTransferJobReplicationSpecOutput added in v8.13.0

func (i TransferJobReplicationSpecArgs) ToTransferJobReplicationSpecOutput() TransferJobReplicationSpecOutput

func (TransferJobReplicationSpecArgs) ToTransferJobReplicationSpecOutputWithContext added in v8.13.0

func (i TransferJobReplicationSpecArgs) ToTransferJobReplicationSpecOutputWithContext(ctx context.Context) TransferJobReplicationSpecOutput

func (TransferJobReplicationSpecArgs) ToTransferJobReplicationSpecPtrOutput added in v8.13.0

func (i TransferJobReplicationSpecArgs) ToTransferJobReplicationSpecPtrOutput() TransferJobReplicationSpecPtrOutput

func (TransferJobReplicationSpecArgs) ToTransferJobReplicationSpecPtrOutputWithContext added in v8.13.0

func (i TransferJobReplicationSpecArgs) ToTransferJobReplicationSpecPtrOutputWithContext(ctx context.Context) TransferJobReplicationSpecPtrOutput

type TransferJobReplicationSpecGcsDataSink added in v8.13.0

type TransferJobReplicationSpecGcsDataSink 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 TransferJobReplicationSpecGcsDataSinkArgs added in v8.13.0

type TransferJobReplicationSpecGcsDataSinkArgs 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 (TransferJobReplicationSpecGcsDataSinkArgs) ElementType added in v8.13.0

func (TransferJobReplicationSpecGcsDataSinkArgs) ToTransferJobReplicationSpecGcsDataSinkOutput added in v8.13.0

func (i TransferJobReplicationSpecGcsDataSinkArgs) ToTransferJobReplicationSpecGcsDataSinkOutput() TransferJobReplicationSpecGcsDataSinkOutput

func (TransferJobReplicationSpecGcsDataSinkArgs) ToTransferJobReplicationSpecGcsDataSinkOutputWithContext added in v8.13.0

func (i TransferJobReplicationSpecGcsDataSinkArgs) ToTransferJobReplicationSpecGcsDataSinkOutputWithContext(ctx context.Context) TransferJobReplicationSpecGcsDataSinkOutput

func (TransferJobReplicationSpecGcsDataSinkArgs) ToTransferJobReplicationSpecGcsDataSinkPtrOutput added in v8.13.0

func (i TransferJobReplicationSpecGcsDataSinkArgs) ToTransferJobReplicationSpecGcsDataSinkPtrOutput() TransferJobReplicationSpecGcsDataSinkPtrOutput

func (TransferJobReplicationSpecGcsDataSinkArgs) ToTransferJobReplicationSpecGcsDataSinkPtrOutputWithContext added in v8.13.0

func (i TransferJobReplicationSpecGcsDataSinkArgs) ToTransferJobReplicationSpecGcsDataSinkPtrOutputWithContext(ctx context.Context) TransferJobReplicationSpecGcsDataSinkPtrOutput

type TransferJobReplicationSpecGcsDataSinkInput added in v8.13.0

type TransferJobReplicationSpecGcsDataSinkInput interface {
	pulumi.Input

	ToTransferJobReplicationSpecGcsDataSinkOutput() TransferJobReplicationSpecGcsDataSinkOutput
	ToTransferJobReplicationSpecGcsDataSinkOutputWithContext(context.Context) TransferJobReplicationSpecGcsDataSinkOutput
}

TransferJobReplicationSpecGcsDataSinkInput is an input type that accepts TransferJobReplicationSpecGcsDataSinkArgs and TransferJobReplicationSpecGcsDataSinkOutput values. You can construct a concrete instance of `TransferJobReplicationSpecGcsDataSinkInput` via:

TransferJobReplicationSpecGcsDataSinkArgs{...}

type TransferJobReplicationSpecGcsDataSinkOutput added in v8.13.0

type TransferJobReplicationSpecGcsDataSinkOutput struct{ *pulumi.OutputState }

func (TransferJobReplicationSpecGcsDataSinkOutput) BucketName added in v8.13.0

Google Cloud Storage bucket name.

func (TransferJobReplicationSpecGcsDataSinkOutput) ElementType added in v8.13.0

func (TransferJobReplicationSpecGcsDataSinkOutput) Path added in v8.13.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 (TransferJobReplicationSpecGcsDataSinkOutput) ToTransferJobReplicationSpecGcsDataSinkOutput added in v8.13.0

func (o TransferJobReplicationSpecGcsDataSinkOutput) ToTransferJobReplicationSpecGcsDataSinkOutput() TransferJobReplicationSpecGcsDataSinkOutput

func (TransferJobReplicationSpecGcsDataSinkOutput) ToTransferJobReplicationSpecGcsDataSinkOutputWithContext added in v8.13.0

func (o TransferJobReplicationSpecGcsDataSinkOutput) ToTransferJobReplicationSpecGcsDataSinkOutputWithContext(ctx context.Context) TransferJobReplicationSpecGcsDataSinkOutput

func (TransferJobReplicationSpecGcsDataSinkOutput) ToTransferJobReplicationSpecGcsDataSinkPtrOutput added in v8.13.0

func (o TransferJobReplicationSpecGcsDataSinkOutput) ToTransferJobReplicationSpecGcsDataSinkPtrOutput() TransferJobReplicationSpecGcsDataSinkPtrOutput

func (TransferJobReplicationSpecGcsDataSinkOutput) ToTransferJobReplicationSpecGcsDataSinkPtrOutputWithContext added in v8.13.0

func (o TransferJobReplicationSpecGcsDataSinkOutput) ToTransferJobReplicationSpecGcsDataSinkPtrOutputWithContext(ctx context.Context) TransferJobReplicationSpecGcsDataSinkPtrOutput

type TransferJobReplicationSpecGcsDataSinkPtrInput added in v8.13.0

type TransferJobReplicationSpecGcsDataSinkPtrInput interface {
	pulumi.Input

	ToTransferJobReplicationSpecGcsDataSinkPtrOutput() TransferJobReplicationSpecGcsDataSinkPtrOutput
	ToTransferJobReplicationSpecGcsDataSinkPtrOutputWithContext(context.Context) TransferJobReplicationSpecGcsDataSinkPtrOutput
}

TransferJobReplicationSpecGcsDataSinkPtrInput is an input type that accepts TransferJobReplicationSpecGcsDataSinkArgs, TransferJobReplicationSpecGcsDataSinkPtr and TransferJobReplicationSpecGcsDataSinkPtrOutput values. You can construct a concrete instance of `TransferJobReplicationSpecGcsDataSinkPtrInput` via:

        TransferJobReplicationSpecGcsDataSinkArgs{...}

or:

        nil

type TransferJobReplicationSpecGcsDataSinkPtrOutput added in v8.13.0

type TransferJobReplicationSpecGcsDataSinkPtrOutput struct{ *pulumi.OutputState }

func (TransferJobReplicationSpecGcsDataSinkPtrOutput) BucketName added in v8.13.0

Google Cloud Storage bucket name.

func (TransferJobReplicationSpecGcsDataSinkPtrOutput) Elem added in v8.13.0

func (TransferJobReplicationSpecGcsDataSinkPtrOutput) ElementType added in v8.13.0

func (TransferJobReplicationSpecGcsDataSinkPtrOutput) Path added in v8.13.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 (TransferJobReplicationSpecGcsDataSinkPtrOutput) ToTransferJobReplicationSpecGcsDataSinkPtrOutput added in v8.13.0

func (o TransferJobReplicationSpecGcsDataSinkPtrOutput) ToTransferJobReplicationSpecGcsDataSinkPtrOutput() TransferJobReplicationSpecGcsDataSinkPtrOutput

func (TransferJobReplicationSpecGcsDataSinkPtrOutput) ToTransferJobReplicationSpecGcsDataSinkPtrOutputWithContext added in v8.13.0

func (o TransferJobReplicationSpecGcsDataSinkPtrOutput) ToTransferJobReplicationSpecGcsDataSinkPtrOutputWithContext(ctx context.Context) TransferJobReplicationSpecGcsDataSinkPtrOutput

type TransferJobReplicationSpecGcsDataSource added in v8.13.0

type TransferJobReplicationSpecGcsDataSource 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 TransferJobReplicationSpecGcsDataSourceArgs added in v8.13.0

type TransferJobReplicationSpecGcsDataSourceArgs 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 (TransferJobReplicationSpecGcsDataSourceArgs) ElementType added in v8.13.0

func (TransferJobReplicationSpecGcsDataSourceArgs) ToTransferJobReplicationSpecGcsDataSourceOutput added in v8.13.0

func (i TransferJobReplicationSpecGcsDataSourceArgs) ToTransferJobReplicationSpecGcsDataSourceOutput() TransferJobReplicationSpecGcsDataSourceOutput

func (TransferJobReplicationSpecGcsDataSourceArgs) ToTransferJobReplicationSpecGcsDataSourceOutputWithContext added in v8.13.0

func (i TransferJobReplicationSpecGcsDataSourceArgs) ToTransferJobReplicationSpecGcsDataSourceOutputWithContext(ctx context.Context) TransferJobReplicationSpecGcsDataSourceOutput

func (TransferJobReplicationSpecGcsDataSourceArgs) ToTransferJobReplicationSpecGcsDataSourcePtrOutput added in v8.13.0

func (i TransferJobReplicationSpecGcsDataSourceArgs) ToTransferJobReplicationSpecGcsDataSourcePtrOutput() TransferJobReplicationSpecGcsDataSourcePtrOutput

func (TransferJobReplicationSpecGcsDataSourceArgs) ToTransferJobReplicationSpecGcsDataSourcePtrOutputWithContext added in v8.13.0

func (i TransferJobReplicationSpecGcsDataSourceArgs) ToTransferJobReplicationSpecGcsDataSourcePtrOutputWithContext(ctx context.Context) TransferJobReplicationSpecGcsDataSourcePtrOutput

type TransferJobReplicationSpecGcsDataSourceInput added in v8.13.0

type TransferJobReplicationSpecGcsDataSourceInput interface {
	pulumi.Input

	ToTransferJobReplicationSpecGcsDataSourceOutput() TransferJobReplicationSpecGcsDataSourceOutput
	ToTransferJobReplicationSpecGcsDataSourceOutputWithContext(context.Context) TransferJobReplicationSpecGcsDataSourceOutput
}

TransferJobReplicationSpecGcsDataSourceInput is an input type that accepts TransferJobReplicationSpecGcsDataSourceArgs and TransferJobReplicationSpecGcsDataSourceOutput values. You can construct a concrete instance of `TransferJobReplicationSpecGcsDataSourceInput` via:

TransferJobReplicationSpecGcsDataSourceArgs{...}

type TransferJobReplicationSpecGcsDataSourceOutput added in v8.13.0

type TransferJobReplicationSpecGcsDataSourceOutput struct{ *pulumi.OutputState }

func (TransferJobReplicationSpecGcsDataSourceOutput) BucketName added in v8.13.0

Google Cloud Storage bucket name.

func (TransferJobReplicationSpecGcsDataSourceOutput) ElementType added in v8.13.0

func (TransferJobReplicationSpecGcsDataSourceOutput) Path added in v8.13.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 (TransferJobReplicationSpecGcsDataSourceOutput) ToTransferJobReplicationSpecGcsDataSourceOutput added in v8.13.0

func (o TransferJobReplicationSpecGcsDataSourceOutput) ToTransferJobReplicationSpecGcsDataSourceOutput() TransferJobReplicationSpecGcsDataSourceOutput

func (TransferJobReplicationSpecGcsDataSourceOutput) ToTransferJobReplicationSpecGcsDataSourceOutputWithContext added in v8.13.0

func (o TransferJobReplicationSpecGcsDataSourceOutput) ToTransferJobReplicationSpecGcsDataSourceOutputWithContext(ctx context.Context) TransferJobReplicationSpecGcsDataSourceOutput

func (TransferJobReplicationSpecGcsDataSourceOutput) ToTransferJobReplicationSpecGcsDataSourcePtrOutput added in v8.13.0

func (o TransferJobReplicationSpecGcsDataSourceOutput) ToTransferJobReplicationSpecGcsDataSourcePtrOutput() TransferJobReplicationSpecGcsDataSourcePtrOutput

func (TransferJobReplicationSpecGcsDataSourceOutput) ToTransferJobReplicationSpecGcsDataSourcePtrOutputWithContext added in v8.13.0

func (o TransferJobReplicationSpecGcsDataSourceOutput) ToTransferJobReplicationSpecGcsDataSourcePtrOutputWithContext(ctx context.Context) TransferJobReplicationSpecGcsDataSourcePtrOutput

type TransferJobReplicationSpecGcsDataSourcePtrInput added in v8.13.0

type TransferJobReplicationSpecGcsDataSourcePtrInput interface {
	pulumi.Input

	ToTransferJobReplicationSpecGcsDataSourcePtrOutput() TransferJobReplicationSpecGcsDataSourcePtrOutput
	ToTransferJobReplicationSpecGcsDataSourcePtrOutputWithContext(context.Context) TransferJobReplicationSpecGcsDataSourcePtrOutput
}

TransferJobReplicationSpecGcsDataSourcePtrInput is an input type that accepts TransferJobReplicationSpecGcsDataSourceArgs, TransferJobReplicationSpecGcsDataSourcePtr and TransferJobReplicationSpecGcsDataSourcePtrOutput values. You can construct a concrete instance of `TransferJobReplicationSpecGcsDataSourcePtrInput` via:

        TransferJobReplicationSpecGcsDataSourceArgs{...}

or:

        nil

type TransferJobReplicationSpecGcsDataSourcePtrOutput added in v8.13.0

type TransferJobReplicationSpecGcsDataSourcePtrOutput struct{ *pulumi.OutputState }

func (TransferJobReplicationSpecGcsDataSourcePtrOutput) BucketName added in v8.13.0

Google Cloud Storage bucket name.

func (TransferJobReplicationSpecGcsDataSourcePtrOutput) Elem added in v8.13.0

func (TransferJobReplicationSpecGcsDataSourcePtrOutput) ElementType added in v8.13.0

func (TransferJobReplicationSpecGcsDataSourcePtrOutput) Path added in v8.13.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 (TransferJobReplicationSpecGcsDataSourcePtrOutput) ToTransferJobReplicationSpecGcsDataSourcePtrOutput added in v8.13.0

func (o TransferJobReplicationSpecGcsDataSourcePtrOutput) ToTransferJobReplicationSpecGcsDataSourcePtrOutput() TransferJobReplicationSpecGcsDataSourcePtrOutput

func (TransferJobReplicationSpecGcsDataSourcePtrOutput) ToTransferJobReplicationSpecGcsDataSourcePtrOutputWithContext added in v8.13.0

func (o TransferJobReplicationSpecGcsDataSourcePtrOutput) ToTransferJobReplicationSpecGcsDataSourcePtrOutputWithContext(ctx context.Context) TransferJobReplicationSpecGcsDataSourcePtrOutput

type TransferJobReplicationSpecInput added in v8.13.0

type TransferJobReplicationSpecInput interface {
	pulumi.Input

	ToTransferJobReplicationSpecOutput() TransferJobReplicationSpecOutput
	ToTransferJobReplicationSpecOutputWithContext(context.Context) TransferJobReplicationSpecOutput
}

TransferJobReplicationSpecInput is an input type that accepts TransferJobReplicationSpecArgs and TransferJobReplicationSpecOutput values. You can construct a concrete instance of `TransferJobReplicationSpecInput` via:

TransferJobReplicationSpecArgs{...}

type TransferJobReplicationSpecObjectConditions added in v8.13.0

type TransferJobReplicationSpecObjectConditions 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 TransferJobReplicationSpecObjectConditionsArgs added in v8.13.0

type TransferJobReplicationSpecObjectConditionsArgs 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 (TransferJobReplicationSpecObjectConditionsArgs) ElementType added in v8.13.0

func (TransferJobReplicationSpecObjectConditionsArgs) ToTransferJobReplicationSpecObjectConditionsOutput added in v8.13.0

func (i TransferJobReplicationSpecObjectConditionsArgs) ToTransferJobReplicationSpecObjectConditionsOutput() TransferJobReplicationSpecObjectConditionsOutput

func (TransferJobReplicationSpecObjectConditionsArgs) ToTransferJobReplicationSpecObjectConditionsOutputWithContext added in v8.13.0

func (i TransferJobReplicationSpecObjectConditionsArgs) ToTransferJobReplicationSpecObjectConditionsOutputWithContext(ctx context.Context) TransferJobReplicationSpecObjectConditionsOutput

func (TransferJobReplicationSpecObjectConditionsArgs) ToTransferJobReplicationSpecObjectConditionsPtrOutput added in v8.13.0

func (i TransferJobReplicationSpecObjectConditionsArgs) ToTransferJobReplicationSpecObjectConditionsPtrOutput() TransferJobReplicationSpecObjectConditionsPtrOutput

func (TransferJobReplicationSpecObjectConditionsArgs) ToTransferJobReplicationSpecObjectConditionsPtrOutputWithContext added in v8.13.0

func (i TransferJobReplicationSpecObjectConditionsArgs) ToTransferJobReplicationSpecObjectConditionsPtrOutputWithContext(ctx context.Context) TransferJobReplicationSpecObjectConditionsPtrOutput

type TransferJobReplicationSpecObjectConditionsInput added in v8.13.0

type TransferJobReplicationSpecObjectConditionsInput interface {
	pulumi.Input

	ToTransferJobReplicationSpecObjectConditionsOutput() TransferJobReplicationSpecObjectConditionsOutput
	ToTransferJobReplicationSpecObjectConditionsOutputWithContext(context.Context) TransferJobReplicationSpecObjectConditionsOutput
}

TransferJobReplicationSpecObjectConditionsInput is an input type that accepts TransferJobReplicationSpecObjectConditionsArgs and TransferJobReplicationSpecObjectConditionsOutput values. You can construct a concrete instance of `TransferJobReplicationSpecObjectConditionsInput` via:

TransferJobReplicationSpecObjectConditionsArgs{...}

type TransferJobReplicationSpecObjectConditionsOutput added in v8.13.0

type TransferJobReplicationSpecObjectConditionsOutput struct{ *pulumi.OutputState }

func (TransferJobReplicationSpecObjectConditionsOutput) ElementType added in v8.13.0

func (TransferJobReplicationSpecObjectConditionsOutput) ExcludePrefixes added in v8.13.0

`excludePrefixes` must follow the requirements described for `includePrefixes`. See [Requirements](https://cloud.google.com/storage-transfer/docs/reference/rest/v1/TransferSpec#ObjectConditions).

func (TransferJobReplicationSpecObjectConditionsOutput) IncludePrefixes added in v8.13.0

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 (TransferJobReplicationSpecObjectConditionsOutput) LastModifiedBefore added in v8.13.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 (TransferJobReplicationSpecObjectConditionsOutput) LastModifiedSince added in v8.13.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 (TransferJobReplicationSpecObjectConditionsOutput) MaxTimeElapsedSinceLastModification added in v8.13.0

func (o TransferJobReplicationSpecObjectConditionsOutput) MaxTimeElapsedSinceLastModification() pulumi.StringPtrOutput

A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".

func (TransferJobReplicationSpecObjectConditionsOutput) MinTimeElapsedSinceLastModification added in v8.13.0

func (o TransferJobReplicationSpecObjectConditionsOutput) MinTimeElapsedSinceLastModification() pulumi.StringPtrOutput

A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".

func (TransferJobReplicationSpecObjectConditionsOutput) ToTransferJobReplicationSpecObjectConditionsOutput added in v8.13.0

func (o TransferJobReplicationSpecObjectConditionsOutput) ToTransferJobReplicationSpecObjectConditionsOutput() TransferJobReplicationSpecObjectConditionsOutput

func (TransferJobReplicationSpecObjectConditionsOutput) ToTransferJobReplicationSpecObjectConditionsOutputWithContext added in v8.13.0

func (o TransferJobReplicationSpecObjectConditionsOutput) ToTransferJobReplicationSpecObjectConditionsOutputWithContext(ctx context.Context) TransferJobReplicationSpecObjectConditionsOutput

func (TransferJobReplicationSpecObjectConditionsOutput) ToTransferJobReplicationSpecObjectConditionsPtrOutput added in v8.13.0

func (o TransferJobReplicationSpecObjectConditionsOutput) ToTransferJobReplicationSpecObjectConditionsPtrOutput() TransferJobReplicationSpecObjectConditionsPtrOutput

func (TransferJobReplicationSpecObjectConditionsOutput) ToTransferJobReplicationSpecObjectConditionsPtrOutputWithContext added in v8.13.0

func (o TransferJobReplicationSpecObjectConditionsOutput) ToTransferJobReplicationSpecObjectConditionsPtrOutputWithContext(ctx context.Context) TransferJobReplicationSpecObjectConditionsPtrOutput

type TransferJobReplicationSpecObjectConditionsPtrInput added in v8.13.0

type TransferJobReplicationSpecObjectConditionsPtrInput interface {
	pulumi.Input

	ToTransferJobReplicationSpecObjectConditionsPtrOutput() TransferJobReplicationSpecObjectConditionsPtrOutput
	ToTransferJobReplicationSpecObjectConditionsPtrOutputWithContext(context.Context) TransferJobReplicationSpecObjectConditionsPtrOutput
}

TransferJobReplicationSpecObjectConditionsPtrInput is an input type that accepts TransferJobReplicationSpecObjectConditionsArgs, TransferJobReplicationSpecObjectConditionsPtr and TransferJobReplicationSpecObjectConditionsPtrOutput values. You can construct a concrete instance of `TransferJobReplicationSpecObjectConditionsPtrInput` via:

        TransferJobReplicationSpecObjectConditionsArgs{...}

or:

        nil

type TransferJobReplicationSpecObjectConditionsPtrOutput added in v8.13.0

type TransferJobReplicationSpecObjectConditionsPtrOutput struct{ *pulumi.OutputState }

func (TransferJobReplicationSpecObjectConditionsPtrOutput) Elem added in v8.13.0

func (TransferJobReplicationSpecObjectConditionsPtrOutput) ElementType added in v8.13.0

func (TransferJobReplicationSpecObjectConditionsPtrOutput) ExcludePrefixes added in v8.13.0

`excludePrefixes` must follow the requirements described for `includePrefixes`. See [Requirements](https://cloud.google.com/storage-transfer/docs/reference/rest/v1/TransferSpec#ObjectConditions).

func (TransferJobReplicationSpecObjectConditionsPtrOutput) IncludePrefixes added in v8.13.0

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 (TransferJobReplicationSpecObjectConditionsPtrOutput) LastModifiedBefore added in v8.13.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 (TransferJobReplicationSpecObjectConditionsPtrOutput) LastModifiedSince added in v8.13.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 (TransferJobReplicationSpecObjectConditionsPtrOutput) MaxTimeElapsedSinceLastModification added in v8.13.0

func (o TransferJobReplicationSpecObjectConditionsPtrOutput) MaxTimeElapsedSinceLastModification() pulumi.StringPtrOutput

A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".

func (TransferJobReplicationSpecObjectConditionsPtrOutput) MinTimeElapsedSinceLastModification added in v8.13.0

func (o TransferJobReplicationSpecObjectConditionsPtrOutput) MinTimeElapsedSinceLastModification() pulumi.StringPtrOutput

A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".

func (TransferJobReplicationSpecObjectConditionsPtrOutput) ToTransferJobReplicationSpecObjectConditionsPtrOutput added in v8.13.0

func (o TransferJobReplicationSpecObjectConditionsPtrOutput) ToTransferJobReplicationSpecObjectConditionsPtrOutput() TransferJobReplicationSpecObjectConditionsPtrOutput

func (TransferJobReplicationSpecObjectConditionsPtrOutput) ToTransferJobReplicationSpecObjectConditionsPtrOutputWithContext added in v8.13.0

func (o TransferJobReplicationSpecObjectConditionsPtrOutput) ToTransferJobReplicationSpecObjectConditionsPtrOutputWithContext(ctx context.Context) TransferJobReplicationSpecObjectConditionsPtrOutput

type TransferJobReplicationSpecOutput added in v8.13.0

type TransferJobReplicationSpecOutput struct{ *pulumi.OutputState }

func (TransferJobReplicationSpecOutput) ElementType added in v8.13.0

func (TransferJobReplicationSpecOutput) GcsDataSink added in v8.13.0

A Google Cloud Storage data sink. Structure documented below.

func (TransferJobReplicationSpecOutput) GcsDataSource added in v8.13.0

A Google Cloud Storage data source. Structure documented below.

func (TransferJobReplicationSpecOutput) ObjectConditions added in v8.13.0

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 (TransferJobReplicationSpecOutput) ToTransferJobReplicationSpecOutput added in v8.13.0

func (o TransferJobReplicationSpecOutput) ToTransferJobReplicationSpecOutput() TransferJobReplicationSpecOutput

func (TransferJobReplicationSpecOutput) ToTransferJobReplicationSpecOutputWithContext added in v8.13.0

func (o TransferJobReplicationSpecOutput) ToTransferJobReplicationSpecOutputWithContext(ctx context.Context) TransferJobReplicationSpecOutput

func (TransferJobReplicationSpecOutput) ToTransferJobReplicationSpecPtrOutput added in v8.13.0

func (o TransferJobReplicationSpecOutput) ToTransferJobReplicationSpecPtrOutput() TransferJobReplicationSpecPtrOutput

func (TransferJobReplicationSpecOutput) ToTransferJobReplicationSpecPtrOutputWithContext added in v8.13.0

func (o TransferJobReplicationSpecOutput) ToTransferJobReplicationSpecPtrOutputWithContext(ctx context.Context) TransferJobReplicationSpecPtrOutput

func (TransferJobReplicationSpecOutput) TransferOptions added in v8.13.0

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 TransferJobReplicationSpecPtrInput added in v8.13.0

type TransferJobReplicationSpecPtrInput interface {
	pulumi.Input

	ToTransferJobReplicationSpecPtrOutput() TransferJobReplicationSpecPtrOutput
	ToTransferJobReplicationSpecPtrOutputWithContext(context.Context) TransferJobReplicationSpecPtrOutput
}

TransferJobReplicationSpecPtrInput is an input type that accepts TransferJobReplicationSpecArgs, TransferJobReplicationSpecPtr and TransferJobReplicationSpecPtrOutput values. You can construct a concrete instance of `TransferJobReplicationSpecPtrInput` via:

        TransferJobReplicationSpecArgs{...}

or:

        nil

func TransferJobReplicationSpecPtr added in v8.13.0

type TransferJobReplicationSpecPtrOutput added in v8.13.0

type TransferJobReplicationSpecPtrOutput struct{ *pulumi.OutputState }

func (TransferJobReplicationSpecPtrOutput) Elem added in v8.13.0

func (TransferJobReplicationSpecPtrOutput) ElementType added in v8.13.0

func (TransferJobReplicationSpecPtrOutput) GcsDataSink added in v8.13.0

A Google Cloud Storage data sink. Structure documented below.

func (TransferJobReplicationSpecPtrOutput) GcsDataSource added in v8.13.0

A Google Cloud Storage data source. Structure documented below.

func (TransferJobReplicationSpecPtrOutput) ObjectConditions added in v8.13.0

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 (TransferJobReplicationSpecPtrOutput) ToTransferJobReplicationSpecPtrOutput added in v8.13.0

func (o TransferJobReplicationSpecPtrOutput) ToTransferJobReplicationSpecPtrOutput() TransferJobReplicationSpecPtrOutput

func (TransferJobReplicationSpecPtrOutput) ToTransferJobReplicationSpecPtrOutputWithContext added in v8.13.0

func (o TransferJobReplicationSpecPtrOutput) ToTransferJobReplicationSpecPtrOutputWithContext(ctx context.Context) TransferJobReplicationSpecPtrOutput

func (TransferJobReplicationSpecPtrOutput) TransferOptions added in v8.13.0

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 TransferJobReplicationSpecTransferOptions added in v8.13.0

type TransferJobReplicationSpecTransferOptions 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 TransferJobReplicationSpecTransferOptionsArgs added in v8.13.0

type TransferJobReplicationSpecTransferOptionsArgs 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 (TransferJobReplicationSpecTransferOptionsArgs) ElementType added in v8.13.0

func (TransferJobReplicationSpecTransferOptionsArgs) ToTransferJobReplicationSpecTransferOptionsOutput added in v8.13.0

func (i TransferJobReplicationSpecTransferOptionsArgs) ToTransferJobReplicationSpecTransferOptionsOutput() TransferJobReplicationSpecTransferOptionsOutput

func (TransferJobReplicationSpecTransferOptionsArgs) ToTransferJobReplicationSpecTransferOptionsOutputWithContext added in v8.13.0

func (i TransferJobReplicationSpecTransferOptionsArgs) ToTransferJobReplicationSpecTransferOptionsOutputWithContext(ctx context.Context) TransferJobReplicationSpecTransferOptionsOutput

func (TransferJobReplicationSpecTransferOptionsArgs) ToTransferJobReplicationSpecTransferOptionsPtrOutput added in v8.13.0

func (i TransferJobReplicationSpecTransferOptionsArgs) ToTransferJobReplicationSpecTransferOptionsPtrOutput() TransferJobReplicationSpecTransferOptionsPtrOutput

func (TransferJobReplicationSpecTransferOptionsArgs) ToTransferJobReplicationSpecTransferOptionsPtrOutputWithContext added in v8.13.0

func (i TransferJobReplicationSpecTransferOptionsArgs) ToTransferJobReplicationSpecTransferOptionsPtrOutputWithContext(ctx context.Context) TransferJobReplicationSpecTransferOptionsPtrOutput

type TransferJobReplicationSpecTransferOptionsInput added in v8.13.0

type TransferJobReplicationSpecTransferOptionsInput interface {
	pulumi.Input

	ToTransferJobReplicationSpecTransferOptionsOutput() TransferJobReplicationSpecTransferOptionsOutput
	ToTransferJobReplicationSpecTransferOptionsOutputWithContext(context.Context) TransferJobReplicationSpecTransferOptionsOutput
}

TransferJobReplicationSpecTransferOptionsInput is an input type that accepts TransferJobReplicationSpecTransferOptionsArgs and TransferJobReplicationSpecTransferOptionsOutput values. You can construct a concrete instance of `TransferJobReplicationSpecTransferOptionsInput` via:

TransferJobReplicationSpecTransferOptionsArgs{...}

type TransferJobReplicationSpecTransferOptionsOutput added in v8.13.0

type TransferJobReplicationSpecTransferOptionsOutput struct{ *pulumi.OutputState }

func (TransferJobReplicationSpecTransferOptionsOutput) DeleteObjectsFromSourceAfterTransfer added in v8.13.0

func (o TransferJobReplicationSpecTransferOptionsOutput) 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 (TransferJobReplicationSpecTransferOptionsOutput) DeleteObjectsUniqueInSink added in v8.13.0

Whether objects that exist only in the sink should be deleted. Note that this option and `deleteObjectsFromSourceAfterTransfer` are mutually exclusive.

func (TransferJobReplicationSpecTransferOptionsOutput) ElementType added in v8.13.0

func (TransferJobReplicationSpecTransferOptionsOutput) OverwriteObjectsAlreadyExistingInSink added in v8.13.0

func (o TransferJobReplicationSpecTransferOptionsOutput) OverwriteObjectsAlreadyExistingInSink() pulumi.BoolPtrOutput

Whether overwriting objects that already exist in the sink is allowed.

func (TransferJobReplicationSpecTransferOptionsOutput) OverwriteWhen added in v8.13.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 (TransferJobReplicationSpecTransferOptionsOutput) ToTransferJobReplicationSpecTransferOptionsOutput added in v8.13.0

func (o TransferJobReplicationSpecTransferOptionsOutput) ToTransferJobReplicationSpecTransferOptionsOutput() TransferJobReplicationSpecTransferOptionsOutput

func (TransferJobReplicationSpecTransferOptionsOutput) ToTransferJobReplicationSpecTransferOptionsOutputWithContext added in v8.13.0

func (o TransferJobReplicationSpecTransferOptionsOutput) ToTransferJobReplicationSpecTransferOptionsOutputWithContext(ctx context.Context) TransferJobReplicationSpecTransferOptionsOutput

func (TransferJobReplicationSpecTransferOptionsOutput) ToTransferJobReplicationSpecTransferOptionsPtrOutput added in v8.13.0

func (o TransferJobReplicationSpecTransferOptionsOutput) ToTransferJobReplicationSpecTransferOptionsPtrOutput() TransferJobReplicationSpecTransferOptionsPtrOutput

func (TransferJobReplicationSpecTransferOptionsOutput) ToTransferJobReplicationSpecTransferOptionsPtrOutputWithContext added in v8.13.0

func (o TransferJobReplicationSpecTransferOptionsOutput) ToTransferJobReplicationSpecTransferOptionsPtrOutputWithContext(ctx context.Context) TransferJobReplicationSpecTransferOptionsPtrOutput

type TransferJobReplicationSpecTransferOptionsPtrInput added in v8.13.0

type TransferJobReplicationSpecTransferOptionsPtrInput interface {
	pulumi.Input

	ToTransferJobReplicationSpecTransferOptionsPtrOutput() TransferJobReplicationSpecTransferOptionsPtrOutput
	ToTransferJobReplicationSpecTransferOptionsPtrOutputWithContext(context.Context) TransferJobReplicationSpecTransferOptionsPtrOutput
}

TransferJobReplicationSpecTransferOptionsPtrInput is an input type that accepts TransferJobReplicationSpecTransferOptionsArgs, TransferJobReplicationSpecTransferOptionsPtr and TransferJobReplicationSpecTransferOptionsPtrOutput values. You can construct a concrete instance of `TransferJobReplicationSpecTransferOptionsPtrInput` via:

        TransferJobReplicationSpecTransferOptionsArgs{...}

or:

        nil

type TransferJobReplicationSpecTransferOptionsPtrOutput added in v8.13.0

type TransferJobReplicationSpecTransferOptionsPtrOutput struct{ *pulumi.OutputState }

func (TransferJobReplicationSpecTransferOptionsPtrOutput) DeleteObjectsFromSourceAfterTransfer added in v8.13.0

func (o TransferJobReplicationSpecTransferOptionsPtrOutput) 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 (TransferJobReplicationSpecTransferOptionsPtrOutput) DeleteObjectsUniqueInSink added in v8.13.0

Whether objects that exist only in the sink should be deleted. Note that this option and `deleteObjectsFromSourceAfterTransfer` are mutually exclusive.

func (TransferJobReplicationSpecTransferOptionsPtrOutput) Elem added in v8.13.0

func (TransferJobReplicationSpecTransferOptionsPtrOutput) ElementType added in v8.13.0

func (TransferJobReplicationSpecTransferOptionsPtrOutput) OverwriteObjectsAlreadyExistingInSink added in v8.13.0

func (o TransferJobReplicationSpecTransferOptionsPtrOutput) OverwriteObjectsAlreadyExistingInSink() pulumi.BoolPtrOutput

Whether overwriting objects that already exist in the sink is allowed.

func (TransferJobReplicationSpecTransferOptionsPtrOutput) OverwriteWhen added in v8.13.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 (TransferJobReplicationSpecTransferOptionsPtrOutput) ToTransferJobReplicationSpecTransferOptionsPtrOutput added in v8.13.0

func (o TransferJobReplicationSpecTransferOptionsPtrOutput) ToTransferJobReplicationSpecTransferOptionsPtrOutput() TransferJobReplicationSpecTransferOptionsPtrOutput

func (TransferJobReplicationSpecTransferOptionsPtrOutput) ToTransferJobReplicationSpecTransferOptionsPtrOutputWithContext added in v8.13.0

func (o TransferJobReplicationSpecTransferOptionsPtrOutput) ToTransferJobReplicationSpecTransferOptionsPtrOutputWithContext(ctx context.Context) TransferJobReplicationSpecTransferOptionsPtrOutput

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

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

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

func (o TransferJobSchedulePtrOutput) ToTransferJobSchedulePtrOutput() TransferJobSchedulePtrOutput

func (TransferJobSchedulePtrOutput) ToTransferJobSchedulePtrOutputWithContext

func (o TransferJobSchedulePtrOutput) ToTransferJobSchedulePtrOutputWithContext(ctx context.Context) TransferJobSchedulePtrOutput

type TransferJobScheduleScheduleEndDate

type TransferJobScheduleScheduleEndDate struct {
	// Day of month. Must be from 1 to 31 and valid for the year and month.
	Day int `pulumi:"day"`
	// Month of year. Must be from 1 to 12.
	Month int `pulumi:"month"`
	// Year of date. Must be from 1 to 9999.
	Year int `pulumi:"year"`
}

type TransferJobScheduleScheduleEndDateArgs

type TransferJobScheduleScheduleEndDateArgs struct {
	// Day of month. Must be from 1 to 31 and valid for the year and month.
	Day pulumi.IntInput `pulumi:"day"`
	// Month of year. Must be from 1 to 12.
	Month pulumi.IntInput `pulumi:"month"`
	// Year of date. Must be from 1 to 9999.
	Year pulumi.IntInput `pulumi:"year"`
}

func (TransferJobScheduleScheduleEndDateArgs) ElementType

func (TransferJobScheduleScheduleEndDateArgs) ToTransferJobScheduleScheduleEndDateOutput

func (i TransferJobScheduleScheduleEndDateArgs) ToTransferJobScheduleScheduleEndDateOutput() TransferJobScheduleScheduleEndDateOutput

func (TransferJobScheduleScheduleEndDateArgs) ToTransferJobScheduleScheduleEndDateOutputWithContext

func (i TransferJobScheduleScheduleEndDateArgs) ToTransferJobScheduleScheduleEndDateOutputWithContext(ctx context.Context) TransferJobScheduleScheduleEndDateOutput

func (TransferJobScheduleScheduleEndDateArgs) ToTransferJobScheduleScheduleEndDatePtrOutput

func (i TransferJobScheduleScheduleEndDateArgs) ToTransferJobScheduleScheduleEndDatePtrOutput() TransferJobScheduleScheduleEndDatePtrOutput

func (TransferJobScheduleScheduleEndDateArgs) ToTransferJobScheduleScheduleEndDatePtrOutputWithContext

func (i TransferJobScheduleScheduleEndDateArgs) ToTransferJobScheduleScheduleEndDatePtrOutputWithContext(ctx context.Context) TransferJobScheduleScheduleEndDatePtrOutput

type TransferJobScheduleScheduleEndDateInput

type TransferJobScheduleScheduleEndDateInput interface {
	pulumi.Input

	ToTransferJobScheduleScheduleEndDateOutput() TransferJobScheduleScheduleEndDateOutput
	ToTransferJobScheduleScheduleEndDateOutputWithContext(context.Context) TransferJobScheduleScheduleEndDateOutput
}

TransferJobScheduleScheduleEndDateInput is an input type that accepts TransferJobScheduleScheduleEndDateArgs and TransferJobScheduleScheduleEndDateOutput values. You can construct a concrete instance of `TransferJobScheduleScheduleEndDateInput` via:

TransferJobScheduleScheduleEndDateArgs{...}

type TransferJobScheduleScheduleEndDateOutput

type TransferJobScheduleScheduleEndDateOutput struct{ *pulumi.OutputState }

func (TransferJobScheduleScheduleEndDateOutput) Day

Day of month. Must be from 1 to 31 and valid for the year and month.

func (TransferJobScheduleScheduleEndDateOutput) ElementType

func (TransferJobScheduleScheduleEndDateOutput) Month

Month of year. Must be from 1 to 12.

func (TransferJobScheduleScheduleEndDateOutput) ToTransferJobScheduleScheduleEndDateOutput

func (o TransferJobScheduleScheduleEndDateOutput) ToTransferJobScheduleScheduleEndDateOutput() TransferJobScheduleScheduleEndDateOutput

func (TransferJobScheduleScheduleEndDateOutput) ToTransferJobScheduleScheduleEndDateOutputWithContext

func (o TransferJobScheduleScheduleEndDateOutput) ToTransferJobScheduleScheduleEndDateOutputWithContext(ctx context.Context) TransferJobScheduleScheduleEndDateOutput

func (TransferJobScheduleScheduleEndDateOutput) ToTransferJobScheduleScheduleEndDatePtrOutput

func (o TransferJobScheduleScheduleEndDateOutput) ToTransferJobScheduleScheduleEndDatePtrOutput() TransferJobScheduleScheduleEndDatePtrOutput

func (TransferJobScheduleScheduleEndDateOutput) ToTransferJobScheduleScheduleEndDatePtrOutputWithContext

func (o TransferJobScheduleScheduleEndDateOutput) ToTransferJobScheduleScheduleEndDatePtrOutputWithContext(ctx context.Context) TransferJobScheduleScheduleEndDatePtrOutput

func (TransferJobScheduleScheduleEndDateOutput) Year

Year of date. Must be from 1 to 9999.

type TransferJobScheduleScheduleEndDatePtrInput

type TransferJobScheduleScheduleEndDatePtrInput interface {
	pulumi.Input

	ToTransferJobScheduleScheduleEndDatePtrOutput() TransferJobScheduleScheduleEndDatePtrOutput
	ToTransferJobScheduleScheduleEndDatePtrOutputWithContext(context.Context) TransferJobScheduleScheduleEndDatePtrOutput
}

TransferJobScheduleScheduleEndDatePtrInput is an input type that accepts TransferJobScheduleScheduleEndDateArgs, TransferJobScheduleScheduleEndDatePtr and TransferJobScheduleScheduleEndDatePtrOutput values. You can construct a concrete instance of `TransferJobScheduleScheduleEndDatePtrInput` via:

        TransferJobScheduleScheduleEndDateArgs{...}

or:

        nil

type TransferJobScheduleScheduleEndDatePtrOutput

type TransferJobScheduleScheduleEndDatePtrOutput struct{ *pulumi.OutputState }

func (TransferJobScheduleScheduleEndDatePtrOutput) Day

Day of month. Must be from 1 to 31 and valid for the year and month.

func (TransferJobScheduleScheduleEndDatePtrOutput) Elem

func (TransferJobScheduleScheduleEndDatePtrOutput) ElementType

func (TransferJobScheduleScheduleEndDatePtrOutput) Month

Month of year. Must be from 1 to 12.

func (TransferJobScheduleScheduleEndDatePtrOutput) ToTransferJobScheduleScheduleEndDatePtrOutput

func (o TransferJobScheduleScheduleEndDatePtrOutput) ToTransferJobScheduleScheduleEndDatePtrOutput() TransferJobScheduleScheduleEndDatePtrOutput

func (TransferJobScheduleScheduleEndDatePtrOutput) ToTransferJobScheduleScheduleEndDatePtrOutputWithContext

func (o TransferJobScheduleScheduleEndDatePtrOutput) ToTransferJobScheduleScheduleEndDatePtrOutputWithContext(ctx context.Context) TransferJobScheduleScheduleEndDatePtrOutput

func (TransferJobScheduleScheduleEndDatePtrOutput) Year

Year of date. Must be from 1 to 9999.

type TransferJobScheduleScheduleStartDate

type TransferJobScheduleScheduleStartDate struct {
	// Day of month. Must be from 1 to 31 and valid for the year and month.
	Day int `pulumi:"day"`
	// Month of year. Must be from 1 to 12.
	Month int `pulumi:"month"`
	// Year of date. Must be from 1 to 9999.
	Year int `pulumi:"year"`
}

type TransferJobScheduleScheduleStartDateArgs

type TransferJobScheduleScheduleStartDateArgs struct {
	// Day of month. Must be from 1 to 31 and valid for the year and month.
	Day pulumi.IntInput `pulumi:"day"`
	// Month of year. Must be from 1 to 12.
	Month pulumi.IntInput `pulumi:"month"`
	// Year of date. Must be from 1 to 9999.
	Year pulumi.IntInput `pulumi:"year"`
}

func (TransferJobScheduleScheduleStartDateArgs) ElementType

func (TransferJobScheduleScheduleStartDateArgs) ToTransferJobScheduleScheduleStartDateOutput

func (i TransferJobScheduleScheduleStartDateArgs) ToTransferJobScheduleScheduleStartDateOutput() TransferJobScheduleScheduleStartDateOutput

func (TransferJobScheduleScheduleStartDateArgs) ToTransferJobScheduleScheduleStartDateOutputWithContext

func (i TransferJobScheduleScheduleStartDateArgs) ToTransferJobScheduleScheduleStartDateOutputWithContext(ctx context.Context) TransferJobScheduleScheduleStartDateOutput

func (TransferJobScheduleScheduleStartDateArgs) ToTransferJobScheduleScheduleStartDatePtrOutput

func (i TransferJobScheduleScheduleStartDateArgs) ToTransferJobScheduleScheduleStartDatePtrOutput() TransferJobScheduleScheduleStartDatePtrOutput

func (TransferJobScheduleScheduleStartDateArgs) ToTransferJobScheduleScheduleStartDatePtrOutputWithContext

func (i TransferJobScheduleScheduleStartDateArgs) ToTransferJobScheduleScheduleStartDatePtrOutputWithContext(ctx context.Context) TransferJobScheduleScheduleStartDatePtrOutput

type TransferJobScheduleScheduleStartDateInput

type TransferJobScheduleScheduleStartDateInput interface {
	pulumi.Input

	ToTransferJobScheduleScheduleStartDateOutput() TransferJobScheduleScheduleStartDateOutput
	ToTransferJobScheduleScheduleStartDateOutputWithContext(context.Context) TransferJobScheduleScheduleStartDateOutput
}

TransferJobScheduleScheduleStartDateInput is an input type that accepts TransferJobScheduleScheduleStartDateArgs and TransferJobScheduleScheduleStartDateOutput values. You can construct a concrete instance of `TransferJobScheduleScheduleStartDateInput` via:

TransferJobScheduleScheduleStartDateArgs{...}

type TransferJobScheduleScheduleStartDateOutput

type TransferJobScheduleScheduleStartDateOutput struct{ *pulumi.OutputState }

func (TransferJobScheduleScheduleStartDateOutput) Day

Day of month. Must be from 1 to 31 and valid for the year and month.

func (TransferJobScheduleScheduleStartDateOutput) ElementType

func (TransferJobScheduleScheduleStartDateOutput) Month

Month of year. Must be from 1 to 12.

func (TransferJobScheduleScheduleStartDateOutput) ToTransferJobScheduleScheduleStartDateOutput

func (o TransferJobScheduleScheduleStartDateOutput) ToTransferJobScheduleScheduleStartDateOutput() TransferJobScheduleScheduleStartDateOutput

func (TransferJobScheduleScheduleStartDateOutput) ToTransferJobScheduleScheduleStartDateOutputWithContext

func (o TransferJobScheduleScheduleStartDateOutput) ToTransferJobScheduleScheduleStartDateOutputWithContext(ctx context.Context) TransferJobScheduleScheduleStartDateOutput

func (TransferJobScheduleScheduleStartDateOutput) ToTransferJobScheduleScheduleStartDatePtrOutput

func (o TransferJobScheduleScheduleStartDateOutput) ToTransferJobScheduleScheduleStartDatePtrOutput() TransferJobScheduleScheduleStartDatePtrOutput

func (TransferJobScheduleScheduleStartDateOutput) ToTransferJobScheduleScheduleStartDatePtrOutputWithContext

func (o TransferJobScheduleScheduleStartDateOutput) ToTransferJobScheduleScheduleStartDatePtrOutputWithContext(ctx context.Context) TransferJobScheduleScheduleStartDatePtrOutput

func (TransferJobScheduleScheduleStartDateOutput) Year

Year of date. Must be from 1 to 9999.

type TransferJobScheduleScheduleStartDatePtrInput

type TransferJobScheduleScheduleStartDatePtrInput interface {
	pulumi.Input

	ToTransferJobScheduleScheduleStartDatePtrOutput() TransferJobScheduleScheduleStartDatePtrOutput
	ToTransferJobScheduleScheduleStartDatePtrOutputWithContext(context.Context) TransferJobScheduleScheduleStartDatePtrOutput
}

TransferJobScheduleScheduleStartDatePtrInput is an input type that accepts TransferJobScheduleScheduleStartDateArgs, TransferJobScheduleScheduleStartDatePtr and TransferJobScheduleScheduleStartDatePtrOutput values. You can construct a concrete instance of `TransferJobScheduleScheduleStartDatePtrInput` via:

        TransferJobScheduleScheduleStartDateArgs{...}

or:

        nil

type TransferJobScheduleScheduleStartDatePtrOutput

type TransferJobScheduleScheduleStartDatePtrOutput struct{ *pulumi.OutputState }

func (TransferJobScheduleScheduleStartDatePtrOutput) Day

Day of month. Must be from 1 to 31 and valid for the year and month.

func (TransferJobScheduleScheduleStartDatePtrOutput) Elem

func (TransferJobScheduleScheduleStartDatePtrOutput) ElementType

func (TransferJobScheduleScheduleStartDatePtrOutput) Month

Month of year. Must be from 1 to 12.

func (TransferJobScheduleScheduleStartDatePtrOutput) ToTransferJobScheduleScheduleStartDatePtrOutput

func (o TransferJobScheduleScheduleStartDatePtrOutput) ToTransferJobScheduleScheduleStartDatePtrOutput() TransferJobScheduleScheduleStartDatePtrOutput

func (TransferJobScheduleScheduleStartDatePtrOutput) ToTransferJobScheduleScheduleStartDatePtrOutputWithContext

func (o TransferJobScheduleScheduleStartDatePtrOutput) ToTransferJobScheduleScheduleStartDatePtrOutputWithContext(ctx context.Context) TransferJobScheduleScheduleStartDatePtrOutput

func (TransferJobScheduleScheduleStartDatePtrOutput) Year

Year of date. Must be from 1 to 9999.

type TransferJobScheduleStartTimeOfDay

type TransferJobScheduleStartTimeOfDay struct {
	// Hours of day in 24 hour format. Should be from 0 to 23.
	Hours int `pulumi:"hours"`
	// Minutes of hour of day. Must be from 0 to 59.
	Minutes int `pulumi:"minutes"`
	// Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
	Nanos int `pulumi:"nanos"`
	// Seconds of minutes of the time. Must normally be from 0 to 59.
	Seconds int `pulumi:"seconds"`
}

type TransferJobScheduleStartTimeOfDayArgs

type TransferJobScheduleStartTimeOfDayArgs struct {
	// Hours of day in 24 hour format. Should be from 0 to 23.
	Hours pulumi.IntInput `pulumi:"hours"`
	// Minutes of hour of day. Must be from 0 to 59.
	Minutes pulumi.IntInput `pulumi:"minutes"`
	// Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
	Nanos pulumi.IntInput `pulumi:"nanos"`
	// Seconds of minutes of the time. Must normally be from 0 to 59.
	Seconds pulumi.IntInput `pulumi:"seconds"`
}

func (TransferJobScheduleStartTimeOfDayArgs) ElementType

func (TransferJobScheduleStartTimeOfDayArgs) ToTransferJobScheduleStartTimeOfDayOutput

func (i TransferJobScheduleStartTimeOfDayArgs) ToTransferJobScheduleStartTimeOfDayOutput() TransferJobScheduleStartTimeOfDayOutput

func (TransferJobScheduleStartTimeOfDayArgs) ToTransferJobScheduleStartTimeOfDayOutputWithContext

func (i TransferJobScheduleStartTimeOfDayArgs) ToTransferJobScheduleStartTimeOfDayOutputWithContext(ctx context.Context) TransferJobScheduleStartTimeOfDayOutput

func (TransferJobScheduleStartTimeOfDayArgs) ToTransferJobScheduleStartTimeOfDayPtrOutput

func (i TransferJobScheduleStartTimeOfDayArgs) ToTransferJobScheduleStartTimeOfDayPtrOutput() TransferJobScheduleStartTimeOfDayPtrOutput

func (TransferJobScheduleStartTimeOfDayArgs) ToTransferJobScheduleStartTimeOfDayPtrOutputWithContext

func (i TransferJobScheduleStartTimeOfDayArgs) ToTransferJobScheduleStartTimeOfDayPtrOutputWithContext(ctx context.Context) TransferJobScheduleStartTimeOfDayPtrOutput

type TransferJobScheduleStartTimeOfDayInput

type TransferJobScheduleStartTimeOfDayInput interface {
	pulumi.Input

	ToTransferJobScheduleStartTimeOfDayOutput() TransferJobScheduleStartTimeOfDayOutput
	ToTransferJobScheduleStartTimeOfDayOutputWithContext(context.Context) TransferJobScheduleStartTimeOfDayOutput
}

TransferJobScheduleStartTimeOfDayInput is an input type that accepts TransferJobScheduleStartTimeOfDayArgs and TransferJobScheduleStartTimeOfDayOutput values. You can construct a concrete instance of `TransferJobScheduleStartTimeOfDayInput` via:

TransferJobScheduleStartTimeOfDayArgs{...}

type TransferJobScheduleStartTimeOfDayOutput

type TransferJobScheduleStartTimeOfDayOutput struct{ *pulumi.OutputState }

func (TransferJobScheduleStartTimeOfDayOutput) ElementType

func (TransferJobScheduleStartTimeOfDayOutput) Hours

Hours of day in 24 hour format. Should be from 0 to 23.

func (TransferJobScheduleStartTimeOfDayOutput) Minutes

Minutes of hour of day. Must be from 0 to 59.

func (TransferJobScheduleStartTimeOfDayOutput) Nanos

Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.

func (TransferJobScheduleStartTimeOfDayOutput) Seconds

Seconds of minutes of the time. Must normally be from 0 to 59.

func (TransferJobScheduleStartTimeOfDayOutput) ToTransferJobScheduleStartTimeOfDayOutput

func (o TransferJobScheduleStartTimeOfDayOutput) ToTransferJobScheduleStartTimeOfDayOutput() TransferJobScheduleStartTimeOfDayOutput

func (TransferJobScheduleStartTimeOfDayOutput) ToTransferJobScheduleStartTimeOfDayOutputWithContext

func (o TransferJobScheduleStartTimeOfDayOutput) ToTransferJobScheduleStartTimeOfDayOutputWithContext(ctx context.Context) TransferJobScheduleStartTimeOfDayOutput

func (TransferJobScheduleStartTimeOfDayOutput) ToTransferJobScheduleStartTimeOfDayPtrOutput

func (o TransferJobScheduleStartTimeOfDayOutput) ToTransferJobScheduleStartTimeOfDayPtrOutput() TransferJobScheduleStartTimeOfDayPtrOutput

func (TransferJobScheduleStartTimeOfDayOutput) ToTransferJobScheduleStartTimeOfDayPtrOutputWithContext

func (o TransferJobScheduleStartTimeOfDayOutput) ToTransferJobScheduleStartTimeOfDayPtrOutputWithContext(ctx context.Context) TransferJobScheduleStartTimeOfDayPtrOutput

type TransferJobScheduleStartTimeOfDayPtrInput

type TransferJobScheduleStartTimeOfDayPtrInput interface {
	pulumi.Input

	ToTransferJobScheduleStartTimeOfDayPtrOutput() TransferJobScheduleStartTimeOfDayPtrOutput
	ToTransferJobScheduleStartTimeOfDayPtrOutputWithContext(context.Context) TransferJobScheduleStartTimeOfDayPtrOutput
}

TransferJobScheduleStartTimeOfDayPtrInput is an input type that accepts TransferJobScheduleStartTimeOfDayArgs, TransferJobScheduleStartTimeOfDayPtr and TransferJobScheduleStartTimeOfDayPtrOutput values. You can construct a concrete instance of `TransferJobScheduleStartTimeOfDayPtrInput` via:

        TransferJobScheduleStartTimeOfDayArgs{...}

or:

        nil

type TransferJobScheduleStartTimeOfDayPtrOutput

type TransferJobScheduleStartTimeOfDayPtrOutput struct{ *pulumi.OutputState }

func (TransferJobScheduleStartTimeOfDayPtrOutput) Elem

func (TransferJobScheduleStartTimeOfDayPtrOutput) ElementType

func (TransferJobScheduleStartTimeOfDayPtrOutput) Hours

Hours of day in 24 hour format. Should be from 0 to 23.

func (TransferJobScheduleStartTimeOfDayPtrOutput) Minutes

Minutes of hour of day. Must be from 0 to 59.

func (TransferJobScheduleStartTimeOfDayPtrOutput) Nanos

Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.

func (TransferJobScheduleStartTimeOfDayPtrOutput) Seconds

Seconds of minutes of the time. Must normally be from 0 to 59.

func (TransferJobScheduleStartTimeOfDayPtrOutput) ToTransferJobScheduleStartTimeOfDayPtrOutput

func (o TransferJobScheduleStartTimeOfDayPtrOutput) ToTransferJobScheduleStartTimeOfDayPtrOutput() TransferJobScheduleStartTimeOfDayPtrOutput

func (TransferJobScheduleStartTimeOfDayPtrOutput) ToTransferJobScheduleStartTimeOfDayPtrOutputWithContext

func (o TransferJobScheduleStartTimeOfDayPtrOutput) ToTransferJobScheduleStartTimeOfDayPtrOutputWithContext(ctx context.Context) TransferJobScheduleStartTimeOfDayPtrOutput

type TransferJobState

type TransferJobState struct {
	// When the Transfer Job was created.
	CreationTime pulumi.StringPtrInput
	// When the Transfer Job was deleted.
	DeletionTime pulumi.StringPtrInput
	// Unique description to identify the Transfer Job.
	Description pulumi.StringPtrInput
	// Specifies the Event-driven transfer options. Event-driven transfers listen to an event stream to transfer updated files. Structure documented below Either `eventStream` or `schedule` must be set.
	EventStream TransferJobEventStreamPtrInput
	// When the Transfer Job was last modified.
	LastModificationTime pulumi.StringPtrInput
	// The name of the Transfer Job. This name must start with "transferJobs/" prefix and end with a letter or a number, and should be no more than 128 characters ( `transferJobs/^(?!OPI)[A-Za-z0-9-._~]*[A-Za-z0-9]$` ). For transfers involving PosixFilesystem, this name must start with transferJobs/OPI specifically ( `transferJobs/OPI^[A-Za-z0-9-._~]*[A-Za-z0-9]$` ). For all other transfer types, this name must not start with transferJobs/OPI. Default the provider will assign a random unique name with `transferJobs/{{name}}` format, where `name` is a numeric value.
	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
	// Replication specification. Structure documented below. User should not configure `schedule`, `eventStream` with this argument. One of `transferSpec`, or `replicationSpec` must be specified.
	//
	// ***
	ReplicationSpec TransferJobReplicationSpecPtrInput
	// Schedule specification defining when the Transfer Job should be scheduled to start, end and what time to run. Structure documented below. Either `schedule` or `eventStream` must be set.
	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. One of `transferSpec`, or `replicationSpec` can be specified.
	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"`
	// An HDFS data source. Structure documented below.
	HdfsDataSource *TransferJobTransferSpecHdfsDataSource `pulumi:"hdfsDataSource"`
	// 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"`
	// An HDFS data source. Structure documented below.
	HdfsDataSource TransferJobTransferSpecHdfsDataSourcePtrInput `pulumi:"hdfsDataSource"`
	// 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) ToTransferJobTransferSpecOutput

func (i TransferJobTransferSpecArgs) ToTransferJobTransferSpecOutput() TransferJobTransferSpecOutput

func (TransferJobTransferSpecArgs) ToTransferJobTransferSpecOutputWithContext

func (i TransferJobTransferSpecArgs) ToTransferJobTransferSpecOutputWithContext(ctx context.Context) TransferJobTransferSpecOutput

func (TransferJobTransferSpecArgs) ToTransferJobTransferSpecPtrOutput

func (i TransferJobTransferSpecArgs) ToTransferJobTransferSpecPtrOutput() TransferJobTransferSpecPtrOutput

func (TransferJobTransferSpecArgs) ToTransferJobTransferSpecPtrOutputWithContext

func (i TransferJobTransferSpecArgs) ToTransferJobTransferSpecPtrOutputWithContext(ctx context.Context) TransferJobTransferSpecPtrOutput

type TransferJobTransferSpecAwsS3DataSource

type TransferJobTransferSpecAwsS3DataSource struct {
	// AWS credentials block.
	AwsAccessKey *TransferJobTransferSpecAwsS3DataSourceAwsAccessKey `pulumi:"awsAccessKey"`
	// S3 Bucket name.
	BucketName string `pulumi:"bucketName"`
	// S3 Bucket path in bucket to transfer.
	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"`
	// S3 Bucket name.
	BucketName pulumi.StringInput `pulumi:"bucketName"`
	// S3 Bucket path in bucket to transfer.
	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) ToTransferJobTransferSpecAwsS3DataSourceOutput

func (i TransferJobTransferSpecAwsS3DataSourceArgs) ToTransferJobTransferSpecAwsS3DataSourceOutput() TransferJobTransferSpecAwsS3DataSourceOutput

func (TransferJobTransferSpecAwsS3DataSourceArgs) ToTransferJobTransferSpecAwsS3DataSourceOutputWithContext

func (i TransferJobTransferSpecAwsS3DataSourceArgs) ToTransferJobTransferSpecAwsS3DataSourceOutputWithContext(ctx context.Context) TransferJobTransferSpecAwsS3DataSourceOutput

func (TransferJobTransferSpecAwsS3DataSourceArgs) ToTransferJobTransferSpecAwsS3DataSourcePtrOutput

func (i TransferJobTransferSpecAwsS3DataSourceArgs) ToTransferJobTransferSpecAwsS3DataSourcePtrOutput() TransferJobTransferSpecAwsS3DataSourcePtrOutput

func (TransferJobTransferSpecAwsS3DataSourceArgs) ToTransferJobTransferSpecAwsS3DataSourcePtrOutputWithContext

func (i TransferJobTransferSpecAwsS3DataSourceArgs) ToTransferJobTransferSpecAwsS3DataSourcePtrOutputWithContext(ctx context.Context) TransferJobTransferSpecAwsS3DataSourcePtrOutput

type TransferJobTransferSpecAwsS3DataSourceAwsAccessKey

type TransferJobTransferSpecAwsS3DataSourceAwsAccessKey struct {
	// AWS Key ID.
	AccessKeyId string `pulumi:"accessKeyId"`
	// AWS Secret Access Key.
	SecretAccessKey string `pulumi:"secretAccessKey"`
}

type TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyArgs

type TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyArgs struct {
	// AWS Key ID.
	AccessKeyId pulumi.StringInput `pulumi:"accessKeyId"`
	// AWS Secret Access Key.
	SecretAccessKey pulumi.StringInput `pulumi:"secretAccessKey"`
}

func (TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyArgs) ElementType

func (TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyArgs) ToTransferJobTransferSpecAwsS3DataSourceAwsAccessKeyOutput

func (TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyArgs) ToTransferJobTransferSpecAwsS3DataSourceAwsAccessKeyOutputWithContext

func (i TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyArgs) ToTransferJobTransferSpecAwsS3DataSourceAwsAccessKeyOutputWithContext(ctx context.Context) TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyOutput

func (TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyArgs) ToTransferJobTransferSpecAwsS3DataSourceAwsAccessKeyPtrOutput

func (i TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyArgs) ToTransferJobTransferSpecAwsS3DataSourceAwsAccessKeyPtrOutput() TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyPtrOutput

func (TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyArgs) ToTransferJobTransferSpecAwsS3DataSourceAwsAccessKeyPtrOutputWithContext

func (i TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyArgs) ToTransferJobTransferSpecAwsS3DataSourceAwsAccessKeyPtrOutputWithContext(ctx context.Context) TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyPtrOutput

type TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyInput

type TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyInput interface {
	pulumi.Input

	ToTransferJobTransferSpecAwsS3DataSourceAwsAccessKeyOutput() TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyOutput
	ToTransferJobTransferSpecAwsS3DataSourceAwsAccessKeyOutputWithContext(context.Context) TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyOutput
}

TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyInput is an input type that accepts TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyArgs and TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyOutput values. You can construct a concrete instance of `TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyInput` via:

TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyArgs{...}

type TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyOutput

type TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyOutput struct{ *pulumi.OutputState }

func (TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyOutput) AccessKeyId

AWS Key ID.

func (TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyOutput) ElementType

func (TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyOutput) SecretAccessKey

AWS Secret Access Key.

func (TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyOutput) ToTransferJobTransferSpecAwsS3DataSourceAwsAccessKeyOutput

func (TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyOutput) ToTransferJobTransferSpecAwsS3DataSourceAwsAccessKeyOutputWithContext

func (o TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyOutput) ToTransferJobTransferSpecAwsS3DataSourceAwsAccessKeyOutputWithContext(ctx context.Context) TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyOutput

func (TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyOutput) ToTransferJobTransferSpecAwsS3DataSourceAwsAccessKeyPtrOutput

func (TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyOutput) ToTransferJobTransferSpecAwsS3DataSourceAwsAccessKeyPtrOutputWithContext

func (o TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyOutput) ToTransferJobTransferSpecAwsS3DataSourceAwsAccessKeyPtrOutputWithContext(ctx context.Context) TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyPtrOutput

type TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyPtrInput

type TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyPtrInput interface {
	pulumi.Input

	ToTransferJobTransferSpecAwsS3DataSourceAwsAccessKeyPtrOutput() TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyPtrOutput
	ToTransferJobTransferSpecAwsS3DataSourceAwsAccessKeyPtrOutputWithContext(context.Context) TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyPtrOutput
}

TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyPtrInput is an input type that accepts TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyArgs, TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyPtr and TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyPtrOutput values. You can construct a concrete instance of `TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyPtrInput` via:

        TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyArgs{...}

or:

        nil

type TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyPtrOutput

type TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyPtrOutput struct{ *pulumi.OutputState }

func (TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyPtrOutput) AccessKeyId

AWS Key ID.

func (TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyPtrOutput) Elem

func (TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyPtrOutput) ElementType

func (TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyPtrOutput) SecretAccessKey

AWS Secret Access Key.

func (TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyPtrOutput) ToTransferJobTransferSpecAwsS3DataSourceAwsAccessKeyPtrOutput

func (TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyPtrOutput) ToTransferJobTransferSpecAwsS3DataSourceAwsAccessKeyPtrOutputWithContext

func (o TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyPtrOutput) ToTransferJobTransferSpecAwsS3DataSourceAwsAccessKeyPtrOutputWithContext(ctx context.Context) TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyPtrOutput

type TransferJobTransferSpecAwsS3DataSourceInput

type TransferJobTransferSpecAwsS3DataSourceInput interface {
	pulumi.Input

	ToTransferJobTransferSpecAwsS3DataSourceOutput() TransferJobTransferSpecAwsS3DataSourceOutput
	ToTransferJobTransferSpecAwsS3DataSourceOutputWithContext(context.Context) TransferJobTransferSpecAwsS3DataSourceOutput
}

TransferJobTransferSpecAwsS3DataSourceInput is an input type that accepts TransferJobTransferSpecAwsS3DataSourceArgs and TransferJobTransferSpecAwsS3DataSourceOutput values. You can construct a concrete instance of `TransferJobTransferSpecAwsS3DataSourceInput` via:

TransferJobTransferSpecAwsS3DataSourceArgs{...}

type TransferJobTransferSpecAwsS3DataSourceOutput

type TransferJobTransferSpecAwsS3DataSourceOutput struct{ *pulumi.OutputState }

func (TransferJobTransferSpecAwsS3DataSourceOutput) AwsAccessKey

AWS credentials block.

func (TransferJobTransferSpecAwsS3DataSourceOutput) BucketName

S3 Bucket name.

func (TransferJobTransferSpecAwsS3DataSourceOutput) ElementType

func (TransferJobTransferSpecAwsS3DataSourceOutput) Path

S3 Bucket path in bucket to transfer.

func (TransferJobTransferSpecAwsS3DataSourceOutput) RoleArn

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

func (o TransferJobTransferSpecAwsS3DataSourceOutput) ToTransferJobTransferSpecAwsS3DataSourceOutput() TransferJobTransferSpecAwsS3DataSourceOutput

func (TransferJobTransferSpecAwsS3DataSourceOutput) ToTransferJobTransferSpecAwsS3DataSourceOutputWithContext

func (o TransferJobTransferSpecAwsS3DataSourceOutput) ToTransferJobTransferSpecAwsS3DataSourceOutputWithContext(ctx context.Context) TransferJobTransferSpecAwsS3DataSourceOutput

func (TransferJobTransferSpecAwsS3DataSourceOutput) ToTransferJobTransferSpecAwsS3DataSourcePtrOutput

func (o TransferJobTransferSpecAwsS3DataSourceOutput) ToTransferJobTransferSpecAwsS3DataSourcePtrOutput() TransferJobTransferSpecAwsS3DataSourcePtrOutput

func (TransferJobTransferSpecAwsS3DataSourceOutput) ToTransferJobTransferSpecAwsS3DataSourcePtrOutputWithContext

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

type TransferJobTransferSpecAwsS3DataSourcePtrInput

type TransferJobTransferSpecAwsS3DataSourcePtrInput interface {
	pulumi.Input

	ToTransferJobTransferSpecAwsS3DataSourcePtrOutput() TransferJobTransferSpecAwsS3DataSourcePtrOutput
	ToTransferJobTransferSpecAwsS3DataSourcePtrOutputWithContext(context.Context) TransferJobTransferSpecAwsS3DataSourcePtrOutput
}

TransferJobTransferSpecAwsS3DataSourcePtrInput is an input type that accepts TransferJobTransferSpecAwsS3DataSourceArgs, TransferJobTransferSpecAwsS3DataSourcePtr and TransferJobTransferSpecAwsS3DataSourcePtrOutput values. You can construct a concrete instance of `TransferJobTransferSpecAwsS3DataSourcePtrInput` via:

        TransferJobTransferSpecAwsS3DataSourceArgs{...}

or:

        nil

type TransferJobTransferSpecAwsS3DataSourcePtrOutput

type TransferJobTransferSpecAwsS3DataSourcePtrOutput struct{ *pulumi.OutputState }

func (TransferJobTransferSpecAwsS3DataSourcePtrOutput) AwsAccessKey

AWS credentials block.

func (TransferJobTransferSpecAwsS3DataSourcePtrOutput) BucketName

S3 Bucket name.

func (TransferJobTransferSpecAwsS3DataSourcePtrOutput) Elem

func (TransferJobTransferSpecAwsS3DataSourcePtrOutput) ElementType

func (TransferJobTransferSpecAwsS3DataSourcePtrOutput) Path

S3 Bucket path in bucket to transfer.

func (TransferJobTransferSpecAwsS3DataSourcePtrOutput) RoleArn

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) 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"`
	// Full Resource name of a secret in Secret Manager containing [SAS Credentials in JSON form](https://cloud.google.com/storage-transfer/docs/reference/rest/v1/TransferSpec#azureblobstoragedata:~:text=begin%20with%20a%20%27/%27.-,credentialsSecret,-string). Service Agent for Storage Transfer must have permissions to access secret. If credentialsSecret is specified, do not specify azure_credentials.`,
	CredentialsSecret *string `pulumi:"credentialsSecret"`
	// 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 TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsPtrInput `pulumi:"azureCredentials"`
	// The container to transfer from the Azure Storage account.`
	Container pulumi.StringInput `pulumi:"container"`
	// Full Resource name of a secret in Secret Manager containing [SAS Credentials in JSON form](https://cloud.google.com/storage-transfer/docs/reference/rest/v1/TransferSpec#azureblobstoragedata:~:text=begin%20with%20a%20%27/%27.-,credentialsSecret,-string). Service Agent for Storage Transfer must have permissions to access secret. If credentialsSecret is specified, do not specify azure_credentials.`,
	CredentialsSecret pulumi.StringPtrInput `pulumi:"credentialsSecret"`
	// 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) 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) 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) 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) 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) CredentialsSecret

Full Resource name of a secret in Secret Manager containing [SAS Credentials in JSON form](https://cloud.google.com/storage-transfer/docs/reference/rest/v1/TransferSpec#azureblobstoragedata:~:text=begin%20with%20a%20%27/%27.-,credentialsSecret,-string). Service Agent for Storage Transfer must have permissions to access secret. If credentialsSecret is specified, do not specify azure_credentials.`,

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

Full Resource name of a secret in Secret Manager containing [SAS Credentials in JSON form](https://cloud.google.com/storage-transfer/docs/reference/rest/v1/TransferSpec#azureblobstoragedata:~:text=begin%20with%20a%20%27/%27.-,credentialsSecret,-string). Service Agent for Storage Transfer must have permissions to access secret. If credentialsSecret is specified, do not specify azure_credentials.`,

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

func (o TransferJobTransferSpecGcsDataSourcePtrOutput) ToTransferJobTransferSpecGcsDataSourcePtrOutput() TransferJobTransferSpecGcsDataSourcePtrOutput

func (TransferJobTransferSpecGcsDataSourcePtrOutput) ToTransferJobTransferSpecGcsDataSourcePtrOutputWithContext

func (o TransferJobTransferSpecGcsDataSourcePtrOutput) ToTransferJobTransferSpecGcsDataSourcePtrOutputWithContext(ctx context.Context) TransferJobTransferSpecGcsDataSourcePtrOutput

type TransferJobTransferSpecHdfsDataSource added in v8.12.0

type TransferJobTransferSpecHdfsDataSource struct {
	// 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 TransferJobTransferSpecHdfsDataSourceArgs added in v8.12.0

type TransferJobTransferSpecHdfsDataSourceArgs struct {
	// 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.StringInput `pulumi:"path"`
}

func (TransferJobTransferSpecHdfsDataSourceArgs) ElementType added in v8.12.0

func (TransferJobTransferSpecHdfsDataSourceArgs) ToTransferJobTransferSpecHdfsDataSourceOutput added in v8.12.0

func (i TransferJobTransferSpecHdfsDataSourceArgs) ToTransferJobTransferSpecHdfsDataSourceOutput() TransferJobTransferSpecHdfsDataSourceOutput

func (TransferJobTransferSpecHdfsDataSourceArgs) ToTransferJobTransferSpecHdfsDataSourceOutputWithContext added in v8.12.0

func (i TransferJobTransferSpecHdfsDataSourceArgs) ToTransferJobTransferSpecHdfsDataSourceOutputWithContext(ctx context.Context) TransferJobTransferSpecHdfsDataSourceOutput

func (TransferJobTransferSpecHdfsDataSourceArgs) ToTransferJobTransferSpecHdfsDataSourcePtrOutput added in v8.12.0

func (i TransferJobTransferSpecHdfsDataSourceArgs) ToTransferJobTransferSpecHdfsDataSourcePtrOutput() TransferJobTransferSpecHdfsDataSourcePtrOutput

func (TransferJobTransferSpecHdfsDataSourceArgs) ToTransferJobTransferSpecHdfsDataSourcePtrOutputWithContext added in v8.12.0

func (i TransferJobTransferSpecHdfsDataSourceArgs) ToTransferJobTransferSpecHdfsDataSourcePtrOutputWithContext(ctx context.Context) TransferJobTransferSpecHdfsDataSourcePtrOutput

type TransferJobTransferSpecHdfsDataSourceInput added in v8.12.0

type TransferJobTransferSpecHdfsDataSourceInput interface {
	pulumi.Input

	ToTransferJobTransferSpecHdfsDataSourceOutput() TransferJobTransferSpecHdfsDataSourceOutput
	ToTransferJobTransferSpecHdfsDataSourceOutputWithContext(context.Context) TransferJobTransferSpecHdfsDataSourceOutput
}

TransferJobTransferSpecHdfsDataSourceInput is an input type that accepts TransferJobTransferSpecHdfsDataSourceArgs and TransferJobTransferSpecHdfsDataSourceOutput values. You can construct a concrete instance of `TransferJobTransferSpecHdfsDataSourceInput` via:

TransferJobTransferSpecHdfsDataSourceArgs{...}

type TransferJobTransferSpecHdfsDataSourceOutput added in v8.12.0

type TransferJobTransferSpecHdfsDataSourceOutput struct{ *pulumi.OutputState }

func (TransferJobTransferSpecHdfsDataSourceOutput) ElementType added in v8.12.0

func (TransferJobTransferSpecHdfsDataSourceOutput) Path added in v8.12.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 (TransferJobTransferSpecHdfsDataSourceOutput) ToTransferJobTransferSpecHdfsDataSourceOutput added in v8.12.0

func (o TransferJobTransferSpecHdfsDataSourceOutput) ToTransferJobTransferSpecHdfsDataSourceOutput() TransferJobTransferSpecHdfsDataSourceOutput

func (TransferJobTransferSpecHdfsDataSourceOutput) ToTransferJobTransferSpecHdfsDataSourceOutputWithContext added in v8.12.0

func (o TransferJobTransferSpecHdfsDataSourceOutput) ToTransferJobTransferSpecHdfsDataSourceOutputWithContext(ctx context.Context) TransferJobTransferSpecHdfsDataSourceOutput

func (TransferJobTransferSpecHdfsDataSourceOutput) ToTransferJobTransferSpecHdfsDataSourcePtrOutput added in v8.12.0

func (o TransferJobTransferSpecHdfsDataSourceOutput) ToTransferJobTransferSpecHdfsDataSourcePtrOutput() TransferJobTransferSpecHdfsDataSourcePtrOutput

func (TransferJobTransferSpecHdfsDataSourceOutput) ToTransferJobTransferSpecHdfsDataSourcePtrOutputWithContext added in v8.12.0

func (o TransferJobTransferSpecHdfsDataSourceOutput) ToTransferJobTransferSpecHdfsDataSourcePtrOutputWithContext(ctx context.Context) TransferJobTransferSpecHdfsDataSourcePtrOutput

type TransferJobTransferSpecHdfsDataSourcePtrInput added in v8.12.0

type TransferJobTransferSpecHdfsDataSourcePtrInput interface {
	pulumi.Input

	ToTransferJobTransferSpecHdfsDataSourcePtrOutput() TransferJobTransferSpecHdfsDataSourcePtrOutput
	ToTransferJobTransferSpecHdfsDataSourcePtrOutputWithContext(context.Context) TransferJobTransferSpecHdfsDataSourcePtrOutput
}

TransferJobTransferSpecHdfsDataSourcePtrInput is an input type that accepts TransferJobTransferSpecHdfsDataSourceArgs, TransferJobTransferSpecHdfsDataSourcePtr and TransferJobTransferSpecHdfsDataSourcePtrOutput values. You can construct a concrete instance of `TransferJobTransferSpecHdfsDataSourcePtrInput` via:

        TransferJobTransferSpecHdfsDataSourceArgs{...}

or:

        nil

type TransferJobTransferSpecHdfsDataSourcePtrOutput added in v8.12.0

type TransferJobTransferSpecHdfsDataSourcePtrOutput struct{ *pulumi.OutputState }

func (TransferJobTransferSpecHdfsDataSourcePtrOutput) Elem added in v8.12.0

func (TransferJobTransferSpecHdfsDataSourcePtrOutput) ElementType added in v8.12.0

func (TransferJobTransferSpecHdfsDataSourcePtrOutput) Path added in v8.12.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 (TransferJobTransferSpecHdfsDataSourcePtrOutput) ToTransferJobTransferSpecHdfsDataSourcePtrOutput added in v8.12.0

func (o TransferJobTransferSpecHdfsDataSourcePtrOutput) ToTransferJobTransferSpecHdfsDataSourcePtrOutput() TransferJobTransferSpecHdfsDataSourcePtrOutput

func (TransferJobTransferSpecHdfsDataSourcePtrOutput) ToTransferJobTransferSpecHdfsDataSourcePtrOutputWithContext added in v8.12.0

func (o TransferJobTransferSpecHdfsDataSourcePtrOutput) ToTransferJobTransferSpecHdfsDataSourcePtrOutputWithContext(ctx context.Context) TransferJobTransferSpecHdfsDataSourcePtrOutput

type TransferJobTransferSpecHttpDataSource

type TransferJobTransferSpecHttpDataSource struct {
	// The URL that points to the file that stores the object list entries. This file must allow public access. Currently, only URLs with HTTP and HTTPS schemes are supported.
	ListUrl string `pulumi:"listUrl"`
}

type TransferJobTransferSpecHttpDataSourceArgs

type TransferJobTransferSpecHttpDataSourceArgs struct {
	// The URL that points to the file that stores the object list entries. This file must allow public access. Currently, only URLs with HTTP and HTTPS schemes are supported.
	ListUrl pulumi.StringInput `pulumi:"listUrl"`
}

func (TransferJobTransferSpecHttpDataSourceArgs) ElementType

func (TransferJobTransferSpecHttpDataSourceArgs) ToTransferJobTransferSpecHttpDataSourceOutput

func (i TransferJobTransferSpecHttpDataSourceArgs) ToTransferJobTransferSpecHttpDataSourceOutput() TransferJobTransferSpecHttpDataSourceOutput

func (TransferJobTransferSpecHttpDataSourceArgs) ToTransferJobTransferSpecHttpDataSourceOutputWithContext

func (i TransferJobTransferSpecHttpDataSourceArgs) ToTransferJobTransferSpecHttpDataSourceOutputWithContext(ctx context.Context) TransferJobTransferSpecHttpDataSourceOutput

func (TransferJobTransferSpecHttpDataSourceArgs) ToTransferJobTransferSpecHttpDataSourcePtrOutput

func (i TransferJobTransferSpecHttpDataSourceArgs) ToTransferJobTransferSpecHttpDataSourcePtrOutput() TransferJobTransferSpecHttpDataSourcePtrOutput

func (TransferJobTransferSpecHttpDataSourceArgs) ToTransferJobTransferSpecHttpDataSourcePtrOutputWithContext

func (i TransferJobTransferSpecHttpDataSourceArgs) ToTransferJobTransferSpecHttpDataSourcePtrOutputWithContext(ctx context.Context) TransferJobTransferSpecHttpDataSourcePtrOutput

type TransferJobTransferSpecHttpDataSourceInput

type TransferJobTransferSpecHttpDataSourceInput interface {
	pulumi.Input

	ToTransferJobTransferSpecHttpDataSourceOutput() TransferJobTransferSpecHttpDataSourceOutput
	ToTransferJobTransferSpecHttpDataSourceOutputWithContext(context.Context) TransferJobTransferSpecHttpDataSourceOutput
}

TransferJobTransferSpecHttpDataSourceInput is an input type that accepts TransferJobTransferSpecHttpDataSourceArgs and TransferJobTransferSpecHttpDataSourceOutput values. You can construct a concrete instance of `TransferJobTransferSpecHttpDataSourceInput` via:

TransferJobTransferSpecHttpDataSourceArgs{...}

type TransferJobTransferSpecHttpDataSourceOutput

type TransferJobTransferSpecHttpDataSourceOutput struct{ *pulumi.OutputState }

func (TransferJobTransferSpecHttpDataSourceOutput) ElementType

func (TransferJobTransferSpecHttpDataSourceOutput) ListUrl

The URL that points to the file that stores the object list entries. This file must allow public access. Currently, only URLs with HTTP and HTTPS schemes are supported.

func (TransferJobTransferSpecHttpDataSourceOutput) ToTransferJobTransferSpecHttpDataSourceOutput

func (o TransferJobTransferSpecHttpDataSourceOutput) ToTransferJobTransferSpecHttpDataSourceOutput() TransferJobTransferSpecHttpDataSourceOutput

func (TransferJobTransferSpecHttpDataSourceOutput) ToTransferJobTransferSpecHttpDataSourceOutputWithContext

func (o TransferJobTransferSpecHttpDataSourceOutput) ToTransferJobTransferSpecHttpDataSourceOutputWithContext(ctx context.Context) TransferJobTransferSpecHttpDataSourceOutput

func (TransferJobTransferSpecHttpDataSourceOutput) ToTransferJobTransferSpecHttpDataSourcePtrOutput

func (o TransferJobTransferSpecHttpDataSourceOutput) ToTransferJobTransferSpecHttpDataSourcePtrOutput() TransferJobTransferSpecHttpDataSourcePtrOutput

func (TransferJobTransferSpecHttpDataSourceOutput) ToTransferJobTransferSpecHttpDataSourcePtrOutputWithContext

func (o TransferJobTransferSpecHttpDataSourceOutput) ToTransferJobTransferSpecHttpDataSourcePtrOutputWithContext(ctx context.Context) TransferJobTransferSpecHttpDataSourcePtrOutput

type TransferJobTransferSpecHttpDataSourcePtrInput

type TransferJobTransferSpecHttpDataSourcePtrInput interface {
	pulumi.Input

	ToTransferJobTransferSpecHttpDataSourcePtrOutput() TransferJobTransferSpecHttpDataSourcePtrOutput
	ToTransferJobTransferSpecHttpDataSourcePtrOutputWithContext(context.Context) TransferJobTransferSpecHttpDataSourcePtrOutput
}

TransferJobTransferSpecHttpDataSourcePtrInput is an input type that accepts TransferJobTransferSpecHttpDataSourceArgs, TransferJobTransferSpecHttpDataSourcePtr and TransferJobTransferSpecHttpDataSourcePtrOutput values. You can construct a concrete instance of `TransferJobTransferSpecHttpDataSourcePtrInput` via:

        TransferJobTransferSpecHttpDataSourceArgs{...}

or:

        nil

type TransferJobTransferSpecHttpDataSourcePtrOutput

type TransferJobTransferSpecHttpDataSourcePtrOutput struct{ *pulumi.OutputState }

func (TransferJobTransferSpecHttpDataSourcePtrOutput) Elem

func (TransferJobTransferSpecHttpDataSourcePtrOutput) ElementType

func (TransferJobTransferSpecHttpDataSourcePtrOutput) ListUrl

The URL that points to the file that stores the object list entries. This file must allow public access. Currently, only URLs with HTTP and HTTPS schemes are supported.

func (TransferJobTransferSpecHttpDataSourcePtrOutput) ToTransferJobTransferSpecHttpDataSourcePtrOutput

func (o TransferJobTransferSpecHttpDataSourcePtrOutput) ToTransferJobTransferSpecHttpDataSourcePtrOutput() TransferJobTransferSpecHttpDataSourcePtrOutput

func (TransferJobTransferSpecHttpDataSourcePtrOutput) ToTransferJobTransferSpecHttpDataSourcePtrOutputWithContext

func (o TransferJobTransferSpecHttpDataSourcePtrOutput) ToTransferJobTransferSpecHttpDataSourcePtrOutputWithContext(ctx context.Context) TransferJobTransferSpecHttpDataSourcePtrOutput

type TransferJobTransferSpecInput

type TransferJobTransferSpecInput interface {
	pulumi.Input

	ToTransferJobTransferSpecOutput() TransferJobTransferSpecOutput
	ToTransferJobTransferSpecOutputWithContext(context.Context) TransferJobTransferSpecOutput
}

TransferJobTransferSpecInput is an input type that accepts TransferJobTransferSpecArgs and TransferJobTransferSpecOutput values. You can construct a concrete instance of `TransferJobTransferSpecInput` via:

TransferJobTransferSpecArgs{...}

type TransferJobTransferSpecObjectConditions

type TransferJobTransferSpecObjectConditions struct {
	// `excludePrefixes` must follow the requirements described for `includePrefixes`. See [Requirements](https://cloud.google.com/storage-transfer/docs/reference/rest/v1/TransferSpec#ObjectConditions).
	ExcludePrefixes []string `pulumi:"excludePrefixes"`
	// If `includePrefixes` is specified, objects that satisfy the object conditions must have names that start with one of the `includePrefixes` and that do not start with any of the `excludePrefixes`. If `includePrefixes` is not specified, all objects except those that have names starting with one of the `excludePrefixes` must satisfy the object conditions. See [Requirements](https://cloud.google.com/storage-transfer/docs/reference/rest/v1/TransferSpec#ObjectConditions).
	IncludePrefixes []string `pulumi:"includePrefixes"`
	// 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) 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

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

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

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

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) 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) HdfsDataSource added in v8.12.0

An HDFS 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

A POSIX data sink. Structure documented below.

func (TransferJobTransferSpecOutput) PosixDataSource

A POSIX filesystem data source. Structure documented below.

func (TransferJobTransferSpecOutput) SinkAgentPoolName

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

func (TransferJobTransferSpecOutput) SourceAgentPoolName

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

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

type TransferJobTransferSpecPosixDataSinkArgs

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

func (TransferJobTransferSpecPosixDataSinkArgs) ElementType

func (TransferJobTransferSpecPosixDataSinkArgs) ToTransferJobTransferSpecPosixDataSinkOutput

func (i TransferJobTransferSpecPosixDataSinkArgs) ToTransferJobTransferSpecPosixDataSinkOutput() TransferJobTransferSpecPosixDataSinkOutput

func (TransferJobTransferSpecPosixDataSinkArgs) ToTransferJobTransferSpecPosixDataSinkOutputWithContext

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

func (TransferJobTransferSpecPosixDataSinkArgs) ToTransferJobTransferSpecPosixDataSinkPtrOutput

func (i TransferJobTransferSpecPosixDataSinkArgs) ToTransferJobTransferSpecPosixDataSinkPtrOutput() TransferJobTransferSpecPosixDataSinkPtrOutput

func (TransferJobTransferSpecPosixDataSinkArgs) ToTransferJobTransferSpecPosixDataSinkPtrOutputWithContext

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

type TransferJobTransferSpecPosixDataSinkInput

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

type TransferJobTransferSpecPosixDataSinkOutput struct{ *pulumi.OutputState }

func (TransferJobTransferSpecPosixDataSinkOutput) ElementType

func (TransferJobTransferSpecPosixDataSinkOutput) RootDirectory

Root directory path to the filesystem.

func (TransferJobTransferSpecPosixDataSinkOutput) ToTransferJobTransferSpecPosixDataSinkOutput

func (o TransferJobTransferSpecPosixDataSinkOutput) ToTransferJobTransferSpecPosixDataSinkOutput() TransferJobTransferSpecPosixDataSinkOutput

func (TransferJobTransferSpecPosixDataSinkOutput) ToTransferJobTransferSpecPosixDataSinkOutputWithContext

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

func (TransferJobTransferSpecPosixDataSinkOutput) ToTransferJobTransferSpecPosixDataSinkPtrOutput

func (o TransferJobTransferSpecPosixDataSinkOutput) ToTransferJobTransferSpecPosixDataSinkPtrOutput() TransferJobTransferSpecPosixDataSinkPtrOutput

func (TransferJobTransferSpecPosixDataSinkOutput) ToTransferJobTransferSpecPosixDataSinkPtrOutputWithContext

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

type TransferJobTransferSpecPosixDataSinkPtrInput

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

type TransferJobTransferSpecPosixDataSinkPtrOutput struct{ *pulumi.OutputState }

func (TransferJobTransferSpecPosixDataSinkPtrOutput) Elem

func (TransferJobTransferSpecPosixDataSinkPtrOutput) ElementType

func (TransferJobTransferSpecPosixDataSinkPtrOutput) RootDirectory

Root directory path to the filesystem.

func (TransferJobTransferSpecPosixDataSinkPtrOutput) ToTransferJobTransferSpecPosixDataSinkPtrOutput

func (o TransferJobTransferSpecPosixDataSinkPtrOutput) ToTransferJobTransferSpecPosixDataSinkPtrOutput() TransferJobTransferSpecPosixDataSinkPtrOutput

func (TransferJobTransferSpecPosixDataSinkPtrOutput) ToTransferJobTransferSpecPosixDataSinkPtrOutputWithContext

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

type TransferJobTransferSpecPosixDataSource

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

type TransferJobTransferSpecPosixDataSourceArgs

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

func (TransferJobTransferSpecPosixDataSourceArgs) ElementType

func (TransferJobTransferSpecPosixDataSourceArgs) ToTransferJobTransferSpecPosixDataSourceOutput

func (i TransferJobTransferSpecPosixDataSourceArgs) ToTransferJobTransferSpecPosixDataSourceOutput() TransferJobTransferSpecPosixDataSourceOutput

func (TransferJobTransferSpecPosixDataSourceArgs) ToTransferJobTransferSpecPosixDataSourceOutputWithContext

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

func (TransferJobTransferSpecPosixDataSourceArgs) ToTransferJobTransferSpecPosixDataSourcePtrOutput

func (i TransferJobTransferSpecPosixDataSourceArgs) ToTransferJobTransferSpecPosixDataSourcePtrOutput() TransferJobTransferSpecPosixDataSourcePtrOutput

func (TransferJobTransferSpecPosixDataSourceArgs) ToTransferJobTransferSpecPosixDataSourcePtrOutputWithContext

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

type TransferJobTransferSpecPosixDataSourceInput

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

type TransferJobTransferSpecPosixDataSourceOutput struct{ *pulumi.OutputState }

func (TransferJobTransferSpecPosixDataSourceOutput) ElementType

func (TransferJobTransferSpecPosixDataSourceOutput) RootDirectory

Root directory path to the filesystem.

func (TransferJobTransferSpecPosixDataSourceOutput) ToTransferJobTransferSpecPosixDataSourceOutput

func (o TransferJobTransferSpecPosixDataSourceOutput) ToTransferJobTransferSpecPosixDataSourceOutput() TransferJobTransferSpecPosixDataSourceOutput

func (TransferJobTransferSpecPosixDataSourceOutput) ToTransferJobTransferSpecPosixDataSourceOutputWithContext

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

func (TransferJobTransferSpecPosixDataSourceOutput) ToTransferJobTransferSpecPosixDataSourcePtrOutput

func (o TransferJobTransferSpecPosixDataSourceOutput) ToTransferJobTransferSpecPosixDataSourcePtrOutput() TransferJobTransferSpecPosixDataSourcePtrOutput

func (TransferJobTransferSpecPosixDataSourceOutput) ToTransferJobTransferSpecPosixDataSourcePtrOutputWithContext

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

type TransferJobTransferSpecPosixDataSourcePtrInput

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

type TransferJobTransferSpecPosixDataSourcePtrOutput struct{ *pulumi.OutputState }

func (TransferJobTransferSpecPosixDataSourcePtrOutput) Elem

func (TransferJobTransferSpecPosixDataSourcePtrOutput) ElementType

func (TransferJobTransferSpecPosixDataSourcePtrOutput) RootDirectory

Root directory path to the filesystem.

func (TransferJobTransferSpecPosixDataSourcePtrOutput) ToTransferJobTransferSpecPosixDataSourcePtrOutput

func (o TransferJobTransferSpecPosixDataSourcePtrOutput) ToTransferJobTransferSpecPosixDataSourcePtrOutput() TransferJobTransferSpecPosixDataSourcePtrOutput

func (TransferJobTransferSpecPosixDataSourcePtrOutput) ToTransferJobTransferSpecPosixDataSourcePtrOutputWithContext

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) HdfsDataSource added in v8.12.0

An HDFS 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

A POSIX data sink. Structure documented below.

func (TransferJobTransferSpecPtrOutput) PosixDataSource

A POSIX filesystem data source. Structure documented below.

func (TransferJobTransferSpecPtrOutput) SinkAgentPoolName

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

func (TransferJobTransferSpecPtrOutput) SourceAgentPoolName

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

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

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

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