storage

package
v0.18.3 Latest Latest
Warning

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

Go to latest
Published: Apr 5, 2019 License: Apache-2.0 Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Bucket

type Bucket struct {
	// contains filtered or unexported fields
}

Creates a new bucket in Google cloud storage service (GCS). Once a bucket has been created, its location can't be changed. [ACLs](https://cloud.google.com/storage/docs/access-control/lists) can be applied using the [`google_storage_bucket_acl` resource](https://www.terraform.io/docs/providers/google/r/storage_bucket_acl.html).

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.

func GetBucket

func GetBucket(ctx *pulumi.Context,
	name string, id pulumi.ID, state *BucketState, opts ...pulumi.ResourceOpt) (*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.ResourceOpt) (*Bucket, error)

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

func (*Bucket) Cors

func (r *Bucket) Cors() *pulumi.ArrayOutput

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 (*Bucket) Encryption added in v0.16.0

func (r *Bucket) Encryption() *pulumi.Output

The bucket's encryption configuration.

func (*Bucket) ForceDestroy

func (r *Bucket) ForceDestroy() *pulumi.BoolOutput

When deleting a bucket, this boolean option will delete all contained objects. If you try to delete a bucket that contains objects, Terraform will fail that run.

func (*Bucket) ID

func (r *Bucket) ID() *pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*Bucket) Labels

func (r *Bucket) Labels() *pulumi.MapOutput

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

func (*Bucket) LifecycleRules

func (r *Bucket) LifecycleRules() *pulumi.ArrayOutput

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 (*Bucket) Location

func (r *Bucket) Location() *pulumi.StringOutput

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

func (*Bucket) Logging

func (r *Bucket) Logging() *pulumi.Output

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

func (*Bucket) Name

func (r *Bucket) Name() *pulumi.StringOutput

The name of the bucket.

func (*Bucket) Project

func (r *Bucket) Project() *pulumi.StringOutput

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

func (*Bucket) RequesterPays added in v0.18.0

func (r *Bucket) RequesterPays() *pulumi.BoolOutput

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

func (r *Bucket) SelfLink() *pulumi.StringOutput

The URI of the created resource.

func (*Bucket) StorageClass

func (r *Bucket) StorageClass() *pulumi.StringOutput

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

func (*Bucket) URN

func (r *Bucket) URN() *pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

func (*Bucket) Url

func (r *Bucket) Url() *pulumi.StringOutput

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

func (*Bucket) Versioning

func (r *Bucket) Versioning() *pulumi.Output

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

func (*Bucket) Websites

func (r *Bucket) Websites() *pulumi.ArrayOutput

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

type BucketACL

type BucketACL struct {
	// contains filtered or unexported fields
}

Creates a new bucket ACL 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).

func GetBucketACL

func GetBucketACL(ctx *pulumi.Context,
	name string, id pulumi.ID, state *BucketACLState, opts ...pulumi.ResourceOpt) (*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.ResourceOpt) (*BucketACL, error)

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

func (*BucketACL) Bucket

func (r *BucketACL) Bucket() *pulumi.StringOutput

The name of the bucket it applies to.

func (*BucketACL) DefaultAcl

func (r *BucketACL) DefaultAcl() *pulumi.StringOutput

Configure this ACL to be the default ACL.

func (*BucketACL) ID

func (r *BucketACL) ID() *pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*BucketACL) PredefinedAcl

func (r *BucketACL) PredefinedAcl() *pulumi.StringOutput

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

func (*BucketACL) RoleEntities

func (r *BucketACL) RoleEntities() *pulumi.ArrayOutput

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 `predefined_acl` is not.

func (*BucketACL) URN

func (r *BucketACL) URN() *pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

type BucketACLArgs

type BucketACLArgs struct {
	// The name of the bucket it applies to.
	Bucket interface{}
	// Configure this ACL to be the default ACL.
	DefaultAcl interface{}
	// The [canned GCS ACL](https://cloud.google.com/storage/docs/access-control/lists#predefined-acl) to apply. Must be set if `role_entity` is not.
	PredefinedAcl interface{}
	// 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 `predefined_acl` is not.
	RoleEntities interface{}
}

The set of arguments for constructing a BucketACL resource.

type BucketACLState

type BucketACLState struct {
	// The name of the bucket it applies to.
	Bucket interface{}
	// Configure this ACL to be the default ACL.
	DefaultAcl interface{}
	// The [canned GCS ACL](https://cloud.google.com/storage/docs/access-control/lists#predefined-acl) to apply. Must be set if `role_entity` is not.
	PredefinedAcl interface{}
	// 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 `predefined_acl` is not.
	RoleEntities interface{}
}

Input properties used for looking up and filtering BucketACL resources.

type BucketArgs

type BucketArgs struct {
	// 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 interface{}
	// The bucket's encryption configuration.
	Encryption interface{}
	// When deleting a bucket, this
	// boolean option will delete all contained objects. If you try to delete a
	// bucket that contains objects, Terraform will fail that run.
	ForceDestroy interface{}
	// A set of key/value label pairs to assign to the bucket.
	Labels interface{}
	// 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 interface{}
	// The [GCS location](https://cloud.google.com/storage/docs/bucket-locations)
	Location interface{}
	// The bucket's [Access & Storage Logs](https://cloud.google.com/storage/docs/access-logs) configuration.
	Logging interface{}
	// The name of the bucket.
	Name interface{}
	// The ID of the project in which the resource belongs. If it
	// is not provided, the provider project is used.
	Project interface{}
	// Enables [Requester Pays](https://cloud.google.com/storage/docs/requester-pays) on a storage bucket.
	RequesterPays interface{}
	// The [Storage Class](https://cloud.google.com/storage/docs/storage-classes) of the new bucket. Supported values include: `MULTI_REGIONAL`, `REGIONAL`, `NEARLINE`, `COLDLINE`.
	StorageClass interface{}
	// The bucket's [Versioning](https://cloud.google.com/storage/docs/object-versioning) configuration.
	Versioning interface{}
	// Configuration if the bucket acts as a website. Structure is documented below.
	Websites interface{}
}

The set of arguments for constructing a Bucket resource.

type BucketIAMBinding

type BucketIAMBinding struct {
	// contains filtered or unexported fields
}

Three different resources help you manage your IAM policy for storage bucket. Each of these resources serves a different use case:

* `google_storage_bucket_iam_binding`: 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 storage bucket are preserved. * `google_storage_bucket_iam_member`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the storage bucket are preserved. * `google_storage_bucket_iam_policy`: Setting a policy removes all other permissions on the bucket, and if done incorrectly, there's a real chance you will lock yourself out of the bucket. If possible for your use case, using multiple google_storage_bucket_iam_binding resources will be much safer. See the usage example on how to work with policy correctly.

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

func GetBucketIAMBinding

func GetBucketIAMBinding(ctx *pulumi.Context,
	name string, id pulumi.ID, state *BucketIAMBindingState, opts ...pulumi.ResourceOpt) (*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.ResourceOpt) (*BucketIAMBinding, error)

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

func (*BucketIAMBinding) Bucket

func (r *BucketIAMBinding) Bucket() *pulumi.StringOutput

The name of the bucket it applies to.

func (*BucketIAMBinding) Etag

(Computed) The etag of the storage bucket's IAM policy.

func (*BucketIAMBinding) ID

func (r *BucketIAMBinding) ID() *pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*BucketIAMBinding) Members

func (r *BucketIAMBinding) Members() *pulumi.ArrayOutput

func (*BucketIAMBinding) Role

The role that should be applied. Note that custom roles must be of the format `[projects|organizations]/{parent-name}/roles/{role-name}`.

func (*BucketIAMBinding) URN

func (r *BucketIAMBinding) URN() *pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

type BucketIAMBindingArgs

type BucketIAMBindingArgs struct {
	// The name of the bucket it applies to.
	Bucket  interface{}
	Members interface{}
	// The role that should be applied. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role interface{}
}

The set of arguments for constructing a BucketIAMBinding resource.

type BucketIAMBindingState

type BucketIAMBindingState struct {
	// The name of the bucket it applies to.
	Bucket interface{}
	// (Computed) The etag of the storage bucket's IAM policy.
	Etag    interface{}
	Members interface{}
	// The role that should be applied. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role interface{}
}

Input properties used for looking up and filtering BucketIAMBinding resources.

type BucketIAMMember

type BucketIAMMember struct {
	// contains filtered or unexported fields
}

Three different resources help you manage your IAM policy for storage bucket. Each of these resources serves a different use case:

* `google_storage_bucket_iam_binding`: 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 storage bucket are preserved. * `google_storage_bucket_iam_member`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the storage bucket are preserved. * `google_storage_bucket_iam_policy`: Setting a policy removes all other permissions on the bucket, and if done incorrectly, there's a real chance you will lock yourself out of the bucket. If possible for your use case, using multiple google_storage_bucket_iam_binding resources will be much safer. See the usage example on how to work with policy correctly.

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

func GetBucketIAMMember

func GetBucketIAMMember(ctx *pulumi.Context,
	name string, id pulumi.ID, state *BucketIAMMemberState, opts ...pulumi.ResourceOpt) (*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.ResourceOpt) (*BucketIAMMember, error)

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

func (*BucketIAMMember) Bucket

func (r *BucketIAMMember) Bucket() *pulumi.StringOutput

The name of the bucket it applies to.

func (*BucketIAMMember) Etag

func (r *BucketIAMMember) Etag() *pulumi.StringOutput

(Computed) The etag of the storage bucket's IAM policy.

func (*BucketIAMMember) ID

func (r *BucketIAMMember) ID() *pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*BucketIAMMember) Member

func (r *BucketIAMMember) Member() *pulumi.StringOutput

func (*BucketIAMMember) Role

func (r *BucketIAMMember) Role() *pulumi.StringOutput

The role that should be applied. Note that custom roles must be of the format `[projects|organizations]/{parent-name}/roles/{role-name}`.

func (*BucketIAMMember) URN

func (r *BucketIAMMember) URN() *pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

type BucketIAMMemberArgs

type BucketIAMMemberArgs struct {
	// The name of the bucket it applies to.
	Bucket interface{}
	Member interface{}
	// The role that should be applied. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role interface{}
}

The set of arguments for constructing a BucketIAMMember resource.

type BucketIAMMemberState

type BucketIAMMemberState struct {
	// The name of the bucket it applies to.
	Bucket interface{}
	// (Computed) The etag of the storage bucket's IAM policy.
	Etag   interface{}
	Member interface{}
	// The role that should be applied. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role interface{}
}

Input properties used for looking up and filtering BucketIAMMember resources.

type BucketIAMPolicy added in v0.15.0

type BucketIAMPolicy struct {
	// contains filtered or unexported fields
}

Three different resources help you manage your IAM policy for storage bucket. Each of these resources serves a different use case:

* `google_storage_bucket_iam_binding`: 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 storage bucket are preserved. * `google_storage_bucket_iam_member`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the storage bucket are preserved. * `google_storage_bucket_iam_policy`: Setting a policy removes all other permissions on the bucket, and if done incorrectly, there's a real chance you will lock yourself out of the bucket. If possible for your use case, using multiple google_storage_bucket_iam_binding resources will be much safer. See the usage example on how to work with policy correctly.

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

func GetBucketIAMPolicy added in v0.15.0

func GetBucketIAMPolicy(ctx *pulumi.Context,
	name string, id pulumi.ID, state *BucketIAMPolicyState, opts ...pulumi.ResourceOpt) (*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 added in v0.15.0

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

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

func (*BucketIAMPolicy) Bucket added in v0.15.0

func (r *BucketIAMPolicy) Bucket() *pulumi.StringOutput

The name of the bucket it applies to.

func (*BucketIAMPolicy) Etag added in v0.15.0

func (r *BucketIAMPolicy) Etag() *pulumi.StringOutput

(Computed) The etag of the storage bucket's IAM policy.

func (*BucketIAMPolicy) ID added in v0.15.0

func (r *BucketIAMPolicy) ID() *pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*BucketIAMPolicy) PolicyData added in v0.15.0

func (r *BucketIAMPolicy) PolicyData() *pulumi.StringOutput

func (*BucketIAMPolicy) URN added in v0.15.0

func (r *BucketIAMPolicy) URN() *pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

type BucketIAMPolicyArgs added in v0.15.0

type BucketIAMPolicyArgs struct {
	// The name of the bucket it applies to.
	Bucket     interface{}
	PolicyData interface{}
}

The set of arguments for constructing a BucketIAMPolicy resource.

type BucketIAMPolicyState added in v0.15.0

type BucketIAMPolicyState struct {
	// The name of the bucket it applies to.
	Bucket interface{}
	// (Computed) The etag of the storage bucket's IAM policy.
	Etag       interface{}
	PolicyData interface{}
}

Input properties used for looking up and filtering BucketIAMPolicy resources.

type BucketObject

type BucketObject struct {
	// contains filtered or unexported fields
}

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

func GetBucketObject

func GetBucketObject(ctx *pulumi.Context,
	name string, id pulumi.ID, state *BucketObjectState, opts ...pulumi.ResourceOpt) (*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.ResourceOpt) (*BucketObject, error)

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

func (*BucketObject) Bucket

func (r *BucketObject) Bucket() *pulumi.StringOutput

The name of the containing bucket.

func (*BucketObject) CacheControl

func (r *BucketObject) CacheControl() *pulumi.StringOutput

[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 (*BucketObject) Content

func (r *BucketObject) Content() *pulumi.StringOutput

Data as `string` to be uploaded. Must be defined if `source` is not. **Note**: The `content` field is marked as sensitive. To view the raw contents of the object, please define an [output](https://www.terraform.io/docs/configuration/outputs.html).

func (*BucketObject) ContentDisposition

func (r *BucketObject) ContentDisposition() *pulumi.StringOutput

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

func (*BucketObject) ContentEncoding

func (r *BucketObject) ContentEncoding() *pulumi.StringOutput

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

func (*BucketObject) ContentLanguage

func (r *BucketObject) ContentLanguage() *pulumi.StringOutput

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

func (*BucketObject) ContentType

func (r *BucketObject) 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 (*BucketObject) Crc32c

func (r *BucketObject) Crc32c() *pulumi.StringOutput

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

func (*BucketObject) DetectMd5hash

func (r *BucketObject) DetectMd5hash() *pulumi.StringOutput

func (*BucketObject) ID

func (r *BucketObject) ID() *pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*BucketObject) Md5hash

func (r *BucketObject) Md5hash() *pulumi.StringOutput

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

func (*BucketObject) Name

func (r *BucketObject) Name() *pulumi.StringOutput

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

func (*BucketObject) OutputName added in v0.18.0

func (r *BucketObject) OutputName() *pulumi.StringOutput

(Computed) The name of the object. Use this field in interpolations with `google_storage_object_acl` to recreate `google_storage_object_acl` resources when your `google_storage_bucket_object` is recreated.

func (r *BucketObject) SelfLink() *pulumi.StringOutput

(Computed) A url reference to this object.

func (*BucketObject) Source

func (r *BucketObject) Source() *pulumi.StringOutput

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

func (*BucketObject) StorageClass

func (r *BucketObject) 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`. 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 (*BucketObject) URN

func (r *BucketObject) URN() *pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

type BucketObjectArgs

type BucketObjectArgs struct {
	// The name of the containing bucket.
	Bucket interface{}
	// [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 interface{}
	// Data as `string` to be uploaded. Must be defined if `source` is not. **Note**: The `content` field is marked as sensitive. To view the raw contents of the object, please define an [output](https://www.terraform.io/docs/configuration/outputs.html).
	Content interface{}
	// [Content-Disposition](https://tools.ietf.org/html/rfc6266) of the object data.
	ContentDisposition interface{}
	// [Content-Encoding](https://tools.ietf.org/html/rfc7231#section-3.1.2.2) of the object data.
	ContentEncoding interface{}
	// [Content-Language](https://tools.ietf.org/html/rfc7231#section-3.1.3.2) of the object data.
	ContentLanguage interface{}
	// [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   interface{}
	DetectMd5hash interface{}
	// The name of the object. If you're interpolating the name of this object, see `output_name` instead.
	Name interface{}
	// A path to the data you want to upload. Must be defined
	// if `content` is not.
	Source interface{}
	// The [StorageClass](https://cloud.google.com/storage/docs/storage-classes) of the new bucket object.
	// Supported values include: `MULTI_REGIONAL`, `REGIONAL`, `NEARLINE`, `COLDLINE`. 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 interface{}
}

The set of arguments for constructing a BucketObject resource.

type BucketObjectState

type BucketObjectState struct {
	// The name of the containing bucket.
	Bucket interface{}
	// [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 interface{}
	// Data as `string` to be uploaded. Must be defined if `source` is not. **Note**: The `content` field is marked as sensitive. To view the raw contents of the object, please define an [output](https://www.terraform.io/docs/configuration/outputs.html).
	Content interface{}
	// [Content-Disposition](https://tools.ietf.org/html/rfc6266) of the object data.
	ContentDisposition interface{}
	// [Content-Encoding](https://tools.ietf.org/html/rfc7231#section-3.1.2.2) of the object data.
	ContentEncoding interface{}
	// [Content-Language](https://tools.ietf.org/html/rfc7231#section-3.1.3.2) of the object data.
	ContentLanguage interface{}
	// [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 interface{}
	// (Computed) Base 64 CRC32 hash of the uploaded data.
	Crc32c        interface{}
	DetectMd5hash interface{}
	// (Computed) Base 64 MD5 hash of the uploaded data.
	Md5hash interface{}
	// The name of the object. If you're interpolating the name of this object, see `output_name` instead.
	Name interface{}
	// (Computed) The name of the object. Use this field in interpolations with `google_storage_object_acl` to recreate
	// `google_storage_object_acl` resources when your `google_storage_bucket_object` is recreated.
	OutputName interface{}
	// (Computed) A url reference to this object.
	SelfLink interface{}
	// A path to the data you want to upload. Must be defined
	// if `content` is not.
	Source interface{}
	// The [StorageClass](https://cloud.google.com/storage/docs/storage-classes) of the new bucket object.
	// Supported values include: `MULTI_REGIONAL`, `REGIONAL`, `NEARLINE`, `COLDLINE`. 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 interface{}
}

Input properties used for looking up and filtering BucketObject resources.

type BucketState

type BucketState struct {
	// 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 interface{}
	// The bucket's encryption configuration.
	Encryption interface{}
	// When deleting a bucket, this
	// boolean option will delete all contained objects. If you try to delete a
	// bucket that contains objects, Terraform will fail that run.
	ForceDestroy interface{}
	// A set of key/value label pairs to assign to the bucket.
	Labels interface{}
	// 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 interface{}
	// The [GCS location](https://cloud.google.com/storage/docs/bucket-locations)
	Location interface{}
	// The bucket's [Access & Storage Logs](https://cloud.google.com/storage/docs/access-logs) configuration.
	Logging interface{}
	// The name of the bucket.
	Name interface{}
	// The ID of the project in which the resource belongs. If it
	// is not provided, the provider project is used.
	Project interface{}
	// Enables [Requester Pays](https://cloud.google.com/storage/docs/requester-pays) on a storage bucket.
	RequesterPays interface{}
	// The URI of the created resource.
	SelfLink interface{}
	// The [Storage Class](https://cloud.google.com/storage/docs/storage-classes) of the new bucket. Supported values include: `MULTI_REGIONAL`, `REGIONAL`, `NEARLINE`, `COLDLINE`.
	StorageClass interface{}
	// The base URL of the bucket, in the format `gs://<bucket-name>`.
	Url interface{}
	// The bucket's [Versioning](https://cloud.google.com/storage/docs/object-versioning) configuration.
	Versioning interface{}
	// Configuration if the bucket acts as a website. Structure is documented below.
	Websites interface{}
}

Input properties used for looking up and filtering Bucket resources.

type DefaultObjectACL

type DefaultObjectACL struct {
	// contains filtered or unexported fields
}

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 `google_storage_default_object_access_control` to control individual role entity pairs.

func GetDefaultObjectACL

func GetDefaultObjectACL(ctx *pulumi.Context,
	name string, id pulumi.ID, state *DefaultObjectACLState, opts ...pulumi.ResourceOpt) (*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.ResourceOpt) (*DefaultObjectACL, error)

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

func (*DefaultObjectACL) Bucket

func (r *DefaultObjectACL) Bucket() *pulumi.StringOutput

The name of the bucket it applies to.

func (*DefaultObjectACL) ID

func (r *DefaultObjectACL) ID() *pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*DefaultObjectACL) RoleEntities

func (r *DefaultObjectACL) RoleEntities() *pulumi.ArrayOutput

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 (*DefaultObjectACL) URN

func (r *DefaultObjectACL) URN() *pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

type DefaultObjectACLArgs

type DefaultObjectACLArgs struct {
	// The name of the bucket it applies to.
	Bucket interface{}
	// 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 interface{}
}

The set of arguments for constructing a DefaultObjectACL resource.

type DefaultObjectACLState

type DefaultObjectACLState struct {
	// The name of the bucket it applies to.
	Bucket interface{}
	// 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 interface{}
}

Input properties used for looking up and filtering DefaultObjectACL resources.

type DefaultObjectAccessControl added in v0.16.4

type DefaultObjectAccessControl struct {
	// contains filtered or unexported fields
}

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

<div class = "oics-button" style="float: right; margin: 0 0 -15px">

<a href="https://console.cloud.google.com/cloudshell/open?cloudshell_git_repo=https%3A%2F%2Fgithub.com%2Fterraform-google-modules%2Fdocs-examples.git&cloudshell_working_dir=storage_default_object_access_control_public&cloudshell_image=gcr.io%2Fgraphite-cloud-shell-images%2Fterraform%3Alatest&open_in_editor=main.tf&cloudshell_print=.%2Fmotd&cloudshell_tutorial=.%2Ftutorial.md" target="_blank">
  <img alt="Open in Cloud Shell" src="//gstatic.com/cloudssh/images/open-btn.svg" style="max-height: 44px; margin: 32px auto; max-width: 100%;">
</a>

</div>

func GetDefaultObjectAccessControl added in v0.16.4

func GetDefaultObjectAccessControl(ctx *pulumi.Context,
	name string, id pulumi.ID, state *DefaultObjectAccessControlState, opts ...pulumi.ResourceOpt) (*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 added in v0.16.4

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

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

func (*DefaultObjectAccessControl) Bucket added in v0.16.4

func (*DefaultObjectAccessControl) Domain added in v0.16.4

func (*DefaultObjectAccessControl) Email added in v0.16.4

func (*DefaultObjectAccessControl) Entity added in v0.16.4

func (*DefaultObjectAccessControl) EntityId added in v0.16.4

func (*DefaultObjectAccessControl) Generation added in v0.16.4

func (r *DefaultObjectAccessControl) Generation() *pulumi.IntOutput

func (*DefaultObjectAccessControl) ID added in v0.16.4

ID is this resource's unique identifier assigned by its provider.

func (*DefaultObjectAccessControl) Object added in v0.16.4

func (*DefaultObjectAccessControl) ProjectTeam added in v0.16.4

func (r *DefaultObjectAccessControl) ProjectTeam() *pulumi.Output

func (*DefaultObjectAccessControl) Role added in v0.16.4

func (*DefaultObjectAccessControl) URN added in v0.16.4

URN is this resource's unique name assigned by Pulumi.

type DefaultObjectAccessControlArgs added in v0.16.4

type DefaultObjectAccessControlArgs struct {
	Bucket interface{}
	Entity interface{}
	Object interface{}
	Role   interface{}
}

The set of arguments for constructing a DefaultObjectAccessControl resource.

type DefaultObjectAccessControlState added in v0.16.4

type DefaultObjectAccessControlState struct {
	Bucket      interface{}
	Domain      interface{}
	Email       interface{}
	Entity      interface{}
	EntityId    interface{}
	Generation  interface{}
	Object      interface{}
	ProjectTeam interface{}
	Role        interface{}
}

Input properties used for looking up and filtering DefaultObjectAccessControl resources.

type GetBucketObjectArgs added in v0.18.0

type GetBucketObjectArgs struct {
	// The name of the containing bucket.
	Bucket interface{}
	// The name of the object.
	Name interface{}
}

A collection of arguments for invoking getBucketObject.

type GetBucketObjectResult added in v0.18.0

type GetBucketObjectResult struct {
	// (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 interface{}
	Content      interface{}
	// (Computed) [Content-Disposition](https://tools.ietf.org/html/rfc6266) of the object data.
	ContentDisposition interface{}
	// (Computed) [Content-Encoding](https://tools.ietf.org/html/rfc7231#section-3.1.2.2) of the object data.
	ContentEncoding interface{}
	// (Computed) [Content-Language](https://tools.ietf.org/html/rfc7231#section-3.1.3.2) of the object data.
	ContentLanguage interface{}
	// (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 interface{}
	// (Computed) Base 64 CRC32 hash of the uploaded data.
	Crc32c        interface{}
	DetectMd5hash interface{}
	// (Computed) Base 64 MD5 hash of the uploaded data.
	Md5hash       interface{}
	OutputName    interface{}
	PredefinedAcl interface{}
	// (Computed) A url reference to this object.
	SelfLink interface{}
	Source   interface{}
	// (Computed) The [StorageClass](https://cloud.google.com/storage/docs/storage-classes) of the new bucket object.
	// Supported values include: `MULTI_REGIONAL`, `REGIONAL`, `NEARLINE`, `COLDLINE`. 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 interface{}
	// id is the provider-assigned unique ID for this managed resource.
	Id interface{}
}

A collection of values returned by getBucketObject.

func LookupBucketObject added in v0.18.0

func LookupBucketObject(ctx *pulumi.Context, args *GetBucketObjectArgs) (*GetBucketObjectResult, 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).

type GetObjectSignedUrlArgs

type GetObjectSignedUrlArgs struct {
	// The name of the bucket to read the object from
	Bucket interface{}
	// 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 interface{}
	// If you specify this in the datasource, the client must provide the `Content-Type` HTTP header with the same value in its request.
	ContentType interface{}
	// What Google service account credentials json should be used to sign the URL.
	// This data source checks the following locations for credentials, in order of preference: data source `credentials` attribute, provider `credentials` attribute and finally the GOOGLE_APPLICATION_CREDENTIALS environment variable.
	Credentials interface{}
	// 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 interface{}
	// 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 interface{}
	// What HTTP Method will the signed URL allow (defaults to `GET`)
	HttpMethod interface{}
	// The full path to the object inside the bucket
	Path interface{}
}

A collection of arguments for invoking getObjectSignedUrl.

type GetObjectSignedUrlResult

type GetObjectSignedUrlResult struct {
	// The signed URL that can be used to access the storage object without authentication.
	SignedUrl interface{}
	// id is the provider-assigned unique ID for this managed resource.
	Id interface{}
}

A collection of values returned by getObjectSignedUrl.

func LookupObjectSignedUrl

func LookupObjectSignedUrl(ctx *pulumi.Context, args *GetObjectSignedUrlArgs) (*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).

type GetProjectServiceAccountArgs added in v0.15.0

type GetProjectServiceAccountArgs struct {
	// The project the unique service account was created for. If it is not provided, the provider project is used.
	Project interface{}
	// 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 interface{}
}

A collection of arguments for invoking getProjectServiceAccount.

type GetProjectServiceAccountResult added in v0.14.1

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 interface{}
	Project      interface{}
	// id is the provider-assigned unique ID for this managed resource.
	Id interface{}
}

A collection of values returned by getProjectServiceAccount.

func LookupProjectServiceAccount

func LookupProjectServiceAccount(ctx *pulumi.Context, args *GetProjectServiceAccountArgs) (*GetProjectServiceAccountResult, error)

Get the email address of a project's unique Google Cloud Storage service account.

Each Google Cloud project has a unique service account for use with Google Cloud Storage. Only this special service account can be used to set up `google_storage_notification` resources.

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

type GetTransferProjectServieAccountArgs added in v0.18.0

type GetTransferProjectServieAccountArgs struct {
	// The project ID. If it is not provided, the provider project is used.
	Project interface{}
}

A collection of arguments for invoking getTransferProjectServieAccount.

type GetTransferProjectServieAccountResult added in v0.18.0

type GetTransferProjectServieAccountResult struct {
	// Email address of the default service account used by Storage Transfer Jobs running in this project
	Email   interface{}
	Project interface{}
	// id is the provider-assigned unique ID for this managed resource.
	Id interface{}
}

A collection of values returned by getTransferProjectServieAccount.

func LookupTransferProjectServieAccount added in v0.18.0

func LookupTransferProjectServieAccount(ctx *pulumi.Context, args *GetTransferProjectServieAccountArgs) (*GetTransferProjectServieAccountResult, error)

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

type Notification

type Notification struct {
	// contains filtered or unexported fields
}

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 have the IAM permission "projects.topics.publish" for a Cloud Pub/Sub topic in the project. To get the service account's email address, use the `google_storage_project_service_account` datasource's `email_address` 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.

func GetNotification

func GetNotification(ctx *pulumi.Context,
	name string, id pulumi.ID, state *NotificationState, opts ...pulumi.ResourceOpt) (*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.ResourceOpt) (*Notification, error)

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

func (*Notification) Bucket

func (r *Notification) Bucket() *pulumi.StringOutput

The name of the bucket.

func (*Notification) CustomAttributes

func (r *Notification) CustomAttributes() *pulumi.MapOutput

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

func (*Notification) EventTypes

func (r *Notification) EventTypes() *pulumi.ArrayOutput

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 (*Notification) ID

func (r *Notification) ID() *pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*Notification) ObjectNamePrefix

func (r *Notification) ObjectNamePrefix() *pulumi.StringOutput

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 (*Notification) PayloadFormat

func (r *Notification) PayloadFormat() *pulumi.StringOutput

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

func (r *Notification) SelfLink() *pulumi.StringOutput

The URI of the created resource.

func (*Notification) Topic

func (r *Notification) Topic() *pulumi.StringOutput

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

func (*Notification) URN

func (r *Notification) URN() *pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

type NotificationArgs

type NotificationArgs struct {
	// The name of the bucket.
	Bucket interface{}
	// A set of key/value attribute pairs to attach to each Cloud PubSub message published for this notification subscription
	CustomAttributes interface{}
	// 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 interface{}
	// 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 interface{}
	// The desired content of the Payload. One of `"JSON_API_V1"` or `"NONE"`.
	PayloadFormat interface{}
	// 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`.
	Topic interface{}
}

The set of arguments for constructing a Notification resource.

type NotificationState

type NotificationState struct {
	// The name of the bucket.
	Bucket interface{}
	// A set of key/value attribute pairs to attach to each Cloud PubSub message published for this notification subscription
	CustomAttributes interface{}
	// 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 interface{}
	// 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 interface{}
	// The desired content of the Payload. One of `"JSON_API_V1"` or `"NONE"`.
	PayloadFormat interface{}
	// The URI of the created resource.
	SelfLink interface{}
	// 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`.
	Topic interface{}
}

Input properties used for looking up and filtering Notification resources.

type ObjectACL

type ObjectACL struct {
	// contains filtered or unexported fields
}

Authoritatively manages the access control list (ACL) for an object in a Google Cloud Storage (GCS) bucket. Removing a `google_storage_object_acl` 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 `google_storage_object_access_control` to control individual role entity pairs.

func GetObjectACL

func GetObjectACL(ctx *pulumi.Context,
	name string, id pulumi.ID, state *ObjectACLState, opts ...pulumi.ResourceOpt) (*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.ResourceOpt) (*ObjectACL, error)

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

func (*ObjectACL) Bucket

func (r *ObjectACL) Bucket() *pulumi.StringOutput

The name of the bucket the object is stored in.

func (*ObjectACL) ID

func (r *ObjectACL) ID() *pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*ObjectACL) Object

func (r *ObjectACL) Object() *pulumi.StringOutput

The name of the object to apply the acl to.

func (*ObjectACL) PredefinedAcl

func (r *ObjectACL) PredefinedAcl() *pulumi.StringOutput

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

func (*ObjectACL) RoleEntities

func (r *ObjectACL) RoleEntities() *pulumi.ArrayOutput

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 `predefined_acl` is not.

func (*ObjectACL) URN

func (r *ObjectACL) URN() *pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

type ObjectACLArgs

type ObjectACLArgs struct {
	// The name of the bucket the object is stored in.
	Bucket interface{}
	// The name of the object to apply the acl to.
	Object interface{}
	// The "canned" [predefined ACL](https://cloud.google.com/storage/docs/access-control#predefined-acl) to apply. Must be set if `role_entity` is not.
	PredefinedAcl interface{}
	// 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 `predefined_acl` is not.
	RoleEntities interface{}
}

The set of arguments for constructing a ObjectACL resource.

type ObjectACLState

type ObjectACLState struct {
	// The name of the bucket the object is stored in.
	Bucket interface{}
	// The name of the object to apply the acl to.
	Object interface{}
	// The "canned" [predefined ACL](https://cloud.google.com/storage/docs/access-control#predefined-acl) to apply. Must be set if `role_entity` is not.
	PredefinedAcl interface{}
	// 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 `predefined_acl` is not.
	RoleEntities interface{}
}

Input properties used for looking up and filtering ObjectACL resources.

type ObjectAccessControl added in v0.16.4

type ObjectAccessControl struct {
	// contains filtered or unexported fields
}

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

<div class = "oics-button" style="float: right; margin: 0 0 -15px">

<a href="https://console.cloud.google.com/cloudshell/open?cloudshell_git_repo=https%3A%2F%2Fgithub.com%2Fterraform-google-modules%2Fdocs-examples.git&cloudshell_working_dir=storage_object_access_control_public_object&cloudshell_image=gcr.io%2Fgraphite-cloud-shell-images%2Fterraform%3Alatest&open_in_editor=main.tf&cloudshell_print=.%2Fmotd&cloudshell_tutorial=.%2Ftutorial.md" target="_blank">
  <img alt="Open in Cloud Shell" src="//gstatic.com/cloudssh/images/open-btn.svg" style="max-height: 44px; margin: 32px auto; max-width: 100%;">
</a>

</div>

func GetObjectAccessControl added in v0.16.4

func GetObjectAccessControl(ctx *pulumi.Context,
	name string, id pulumi.ID, state *ObjectAccessControlState, opts ...pulumi.ResourceOpt) (*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 added in v0.16.4

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

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

func (*ObjectAccessControl) Bucket added in v0.16.4

func (*ObjectAccessControl) Domain added in v0.16.4

func (*ObjectAccessControl) Email added in v0.16.4

func (*ObjectAccessControl) Entity added in v0.16.4

func (*ObjectAccessControl) EntityId added in v0.16.4

func (r *ObjectAccessControl) EntityId() *pulumi.StringOutput

func (*ObjectAccessControl) Generation added in v0.16.4

func (r *ObjectAccessControl) Generation() *pulumi.IntOutput

func (*ObjectAccessControl) ID added in v0.16.4

ID is this resource's unique identifier assigned by its provider.

func (*ObjectAccessControl) Object added in v0.16.4

func (*ObjectAccessControl) ProjectTeam added in v0.16.4

func (r *ObjectAccessControl) ProjectTeam() *pulumi.Output

func (*ObjectAccessControl) Role added in v0.16.4

func (*ObjectAccessControl) URN added in v0.16.4

URN is this resource's unique name assigned by Pulumi.

type ObjectAccessControlArgs added in v0.16.4

type ObjectAccessControlArgs struct {
	Bucket interface{}
	Entity interface{}
	Object interface{}
	Role   interface{}
}

The set of arguments for constructing a ObjectAccessControl resource.

type ObjectAccessControlState added in v0.16.4

type ObjectAccessControlState struct {
	Bucket      interface{}
	Domain      interface{}
	Email       interface{}
	Entity      interface{}
	EntityId    interface{}
	Generation  interface{}
	Object      interface{}
	ProjectTeam interface{}
	Role        interface{}
}

Input properties used for looking up and filtering ObjectAccessControl resources.

type TransferJob added in v0.18.0

type TransferJob struct {
	// contains filtered or unexported fields
}

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#TransferJob) * How-to Guides

func GetTransferJob added in v0.18.0

func GetTransferJob(ctx *pulumi.Context,
	name string, id pulumi.ID, state *TransferJobState, opts ...pulumi.ResourceOpt) (*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 added in v0.18.0

func NewTransferJob(ctx *pulumi.Context,
	name string, args *TransferJobArgs, opts ...pulumi.ResourceOpt) (*TransferJob, error)

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

func (*TransferJob) CreationTime added in v0.18.0

func (r *TransferJob) CreationTime() *pulumi.StringOutput

When the Transfer Job was created.

func (*TransferJob) DeletionTime added in v0.18.0

func (r *TransferJob) DeletionTime() *pulumi.StringOutput

When the Transfer Job was deleted.

func (*TransferJob) Description added in v0.18.0

func (r *TransferJob) Description() *pulumi.StringOutput

Unique description to identify the Transfer Job.

func (*TransferJob) ID added in v0.18.0

func (r *TransferJob) ID() *pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*TransferJob) LastModificationTime added in v0.18.0

func (r *TransferJob) LastModificationTime() *pulumi.StringOutput

When the Transfer Job was last modified.

func (*TransferJob) Name added in v0.18.0

func (r *TransferJob) Name() *pulumi.StringOutput

The name of the Transfer Job.

func (*TransferJob) Project added in v0.18.0

func (r *TransferJob) Project() *pulumi.StringOutput

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

func (*TransferJob) Schedule added in v0.18.0

func (r *TransferJob) Schedule() *pulumi.Output

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

func (*TransferJob) Status added in v0.18.0

func (r *TransferJob) Status() *pulumi.StringOutput

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 (*TransferJob) TransferSpec added in v0.18.0

func (r *TransferJob) TransferSpec() *pulumi.Output

Transfer specification. Structure documented below.

func (*TransferJob) URN added in v0.18.0

func (r *TransferJob) URN() *pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

type TransferJobArgs added in v0.18.0

type TransferJobArgs struct {
	// Unique description to identify the Transfer Job.
	Description interface{}
	// The project in which the resource belongs. If it
	// is not provided, the provider project is used.
	Project interface{}
	// Schedule specification defining when the Transfer Job should be scheduled to start, end and and what time to run. Structure documented below.
	Schedule interface{}
	// 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 interface{}
	// Transfer specification. Structure documented below.
	TransferSpec interface{}
}

The set of arguments for constructing a TransferJob resource.

type TransferJobState added in v0.18.0

type TransferJobState struct {
	// When the Transfer Job was created.
	CreationTime interface{}
	// When the Transfer Job was deleted.
	DeletionTime interface{}
	// Unique description to identify the Transfer Job.
	Description interface{}
	// When the Transfer Job was last modified.
	LastModificationTime interface{}
	// The name of the Transfer Job.
	Name interface{}
	// The project in which the resource belongs. If it
	// is not provided, the provider project is used.
	Project interface{}
	// Schedule specification defining when the Transfer Job should be scheduled to start, end and and what time to run. Structure documented below.
	Schedule interface{}
	// 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 interface{}
	// Transfer specification. Structure documented below.
	TransferSpec interface{}
}

Input properties used for looking up and filtering TransferJob resources.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL