Documentation
¶
Index ¶
- type Bucket
- func (r *Bucket) Cors() *pulumi.ArrayOutput
- func (r *Bucket) Encryption() *pulumi.Output
- func (r *Bucket) ForceDestroy() *pulumi.BoolOutput
- func (r *Bucket) ID() *pulumi.IDOutput
- func (r *Bucket) Labels() *pulumi.MapOutput
- func (r *Bucket) LifecycleRules() *pulumi.ArrayOutput
- func (r *Bucket) Location() *pulumi.StringOutput
- func (r *Bucket) Logging() *pulumi.Output
- func (r *Bucket) Name() *pulumi.StringOutput
- func (r *Bucket) Project() *pulumi.StringOutput
- func (r *Bucket) SelfLink() *pulumi.StringOutput
- func (r *Bucket) StorageClass() *pulumi.StringOutput
- func (r *Bucket) URN() *pulumi.URNOutput
- func (r *Bucket) Url() *pulumi.StringOutput
- func (r *Bucket) Versioning() *pulumi.Output
- func (r *Bucket) Websites() *pulumi.ArrayOutput
- type BucketACL
- func (r *BucketACL) Bucket() *pulumi.StringOutput
- func (r *BucketACL) DefaultAcl() *pulumi.StringOutput
- func (r *BucketACL) ID() *pulumi.IDOutput
- func (r *BucketACL) PredefinedAcl() *pulumi.StringOutput
- func (r *BucketACL) RoleEntities() *pulumi.ArrayOutput
- func (r *BucketACL) URN() *pulumi.URNOutput
- type BucketACLArgs
- type BucketACLState
- type BucketArgs
- type BucketIAMBinding
- func (r *BucketIAMBinding) Bucket() *pulumi.StringOutput
- func (r *BucketIAMBinding) Etag() *pulumi.StringOutput
- func (r *BucketIAMBinding) ID() *pulumi.IDOutput
- func (r *BucketIAMBinding) Members() *pulumi.ArrayOutput
- func (r *BucketIAMBinding) Role() *pulumi.StringOutput
- func (r *BucketIAMBinding) URN() *pulumi.URNOutput
- type BucketIAMBindingArgs
- type BucketIAMBindingState
- type BucketIAMMember
- func (r *BucketIAMMember) Bucket() *pulumi.StringOutput
- func (r *BucketIAMMember) Etag() *pulumi.StringOutput
- func (r *BucketIAMMember) ID() *pulumi.IDOutput
- func (r *BucketIAMMember) Member() *pulumi.StringOutput
- func (r *BucketIAMMember) Role() *pulumi.StringOutput
- func (r *BucketIAMMember) URN() *pulumi.URNOutput
- type BucketIAMMemberArgs
- type BucketIAMMemberState
- type BucketIAMPolicy
- type BucketIAMPolicyArgs
- type BucketIAMPolicyState
- type BucketObject
- func (r *BucketObject) Bucket() *pulumi.StringOutput
- func (r *BucketObject) CacheControl() *pulumi.StringOutput
- func (r *BucketObject) Content() *pulumi.StringOutput
- func (r *BucketObject) ContentDisposition() *pulumi.StringOutput
- func (r *BucketObject) ContentEncoding() *pulumi.StringOutput
- func (r *BucketObject) ContentLanguage() *pulumi.StringOutput
- func (r *BucketObject) ContentType() *pulumi.StringOutput
- func (r *BucketObject) Crc32c() *pulumi.StringOutput
- func (r *BucketObject) DetectMd5hash() *pulumi.StringOutput
- func (r *BucketObject) ID() *pulumi.IDOutput
- func (r *BucketObject) Md5hash() *pulumi.StringOutput
- func (r *BucketObject) Name() *pulumi.StringOutput
- func (r *BucketObject) Source() *pulumi.StringOutput
- func (r *BucketObject) StorageClass() *pulumi.StringOutput
- func (r *BucketObject) URN() *pulumi.URNOutput
- type BucketObjectArgs
- type BucketObjectState
- type BucketState
- type DefaultObjectACL
- type DefaultObjectACLArgs
- type DefaultObjectACLState
- type GetObjectSignedUrlArgs
- type GetObjectSignedUrlResult
- type GetProjectServiceAccountArgs
- type GetProjectServiceAccountResult
- type Notification
- func (r *Notification) Bucket() *pulumi.StringOutput
- func (r *Notification) CustomAttributes() *pulumi.MapOutput
- func (r *Notification) EventTypes() *pulumi.ArrayOutput
- func (r *Notification) ID() *pulumi.IDOutput
- func (r *Notification) ObjectNamePrefix() *pulumi.StringOutput
- func (r *Notification) PayloadFormat() *pulumi.StringOutput
- func (r *Notification) SelfLink() *pulumi.StringOutput
- func (r *Notification) Topic() *pulumi.StringOutput
- func (r *Notification) URN() *pulumi.URNOutput
- type NotificationArgs
- type NotificationState
- type ObjectACL
- type ObjectACLArgs
- type ObjectACLState
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. 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).
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
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) 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 ¶
The bucket's [Access & Storage Logs](https://cloud.google.com/storage/docs/access-logs) configuration.
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) SelfLink ¶
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) Url ¶
func (r *Bucket) Url() *pulumi.StringOutput
The base URL of the bucket, in the format `gs://<bucket-name>`.
func (*Bucket) Versioning ¶
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) 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.
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{} // 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 ¶
func (r *BucketIAMBinding) Etag() *pulumi.StringOutput
(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 ¶
func (r *BucketIAMBinding) 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 (*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.
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.
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. 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. 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. 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. 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{} }
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{} // 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
}
Creates a new default object 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/defaultObjectAccessControls).
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.
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. 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. RoleEntities interface{} }
Input properties used for looking up and filtering DefaultObjectACL resources.
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 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 (*Notification) SelfLink ¶
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
}
Creates a new object 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/objectAccessControls).
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 it applies to.
func (*ObjectACL) Object ¶
func (r *ObjectACL) Object() *pulumi.StringOutput
The name of the object it applies to.
func (*ObjectACL) PredefinedAcl ¶
func (r *ObjectACL) PredefinedAcl() *pulumi.StringOutput
The [canned GCS 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.
type ObjectACLArgs ¶
type ObjectACLArgs struct { // The name of the bucket it applies to. Bucket interface{} // The name of the object it applies to. Object interface{} // The [canned GCS 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 it applies to. Bucket interface{} // The name of the object it applies to. Object interface{} // The [canned GCS 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.