import * as pulumi from "@pulumi/pulumi"; import { input as inputs, output as outputs } from "../../types"; /** * Stores a new object and metadata. */ export declare class BucketObject extends pulumi.CustomResource { /** * Get an existing BucketObject resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): BucketObject; /** * Returns true if the given object is an instance of BucketObject. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is BucketObject; /** * Access controls on the object. */ readonly acl: pulumi.Output; /** * The name of the bucket containing this object. */ readonly bucket: pulumi.Output; /** * Cache-Control directive for the object data. If omitted, and the object is accessible to all anonymous users, the default will be public, max-age=3600. */ readonly cacheControl: pulumi.Output; /** * Number of underlying components that make up this object. Components are accumulated by compose operations. */ readonly componentCount: pulumi.Output; /** * Content-Disposition of the object data. */ readonly contentDisposition: pulumi.Output; /** * Content-Encoding of the object data. */ readonly contentEncoding: pulumi.Output; /** * Content-Language of the object data. */ readonly contentLanguage: pulumi.Output; /** * Content-Type of the object data. If an object is stored without a Content-Type, it is served as application/octet-stream. */ readonly contentType: pulumi.Output; /** * CRC32c checksum, as described in RFC 4960, Appendix B; encoded using base64 in big-endian byte order. For more information about using the CRC32c checksum, see Hashes and ETags: Best Practices. */ readonly crc32c: pulumi.Output; /** * A timestamp in RFC 3339 format specified by the user for an object. */ readonly customTime: pulumi.Output; /** * Metadata of customer-supplied encryption key, if the object is encrypted by such a key. */ readonly customerEncryption: pulumi.Output<{ [key: string]: string; }>; /** * HTTP 1.1 Entity tag for the object. */ readonly etag: pulumi.Output; /** * Whether an object is under event-based hold. Event-based hold is a way to retain objects until an event occurs, which is signified by the hold's release (i.e. this value is set to false). After being released (set to false), such objects will be subject to bucket-level retention (if any). One sample use case of this flag is for banks to hold loan documents for at least 3 years after loan is paid in full. Here, bucket-level retention is 3 years and the event is the loan being paid in full. In this example, these objects will be held intact for any number of years until the event has occurred (event-based hold on the object is released) and then 3 more years after that. That means retention duration of the objects begins from the moment event-based hold transitioned from true to false. */ readonly eventBasedHold: pulumi.Output; /** * The content generation of this object. Used for object versioning. */ readonly generation: pulumi.Output; /** * The kind of item this is. For objects, this is always storage#object. */ readonly kind: pulumi.Output; /** * Not currently supported. Specifying the parameter causes the request to fail with status code 400 - Bad Request. */ readonly kmsKeyName: pulumi.Output; /** * MD5 hash of the data; encoded using base64. For more information about using the MD5 hash, see Hashes and ETags: Best Practices. */ readonly md5Hash: pulumi.Output; /** * Media download link. */ readonly mediaLink: pulumi.Output; /** * User-provided metadata, in key/value pairs. */ readonly metadata: pulumi.Output<{ [key: string]: string; }>; /** * The version of the metadata for this object at this generation. Used for preconditions and for detecting changes in metadata. A metageneration number is only meaningful in the context of a particular generation of a particular object. */ readonly metageneration: pulumi.Output; /** * The name of the object. Required if not specified by URL parameter. */ readonly name: pulumi.Output; /** * The owner of the object. This will always be the uploader of the object. */ readonly owner: pulumi.Output<{ [key: string]: string; }>; /** * A server-determined value that specifies the earliest time that the object's retention period expires. This value is in RFC 3339 format. Note 1: This field is not provided for objects with an active event-based hold, since retention expiration is unknown until the hold is removed. Note 2: This value can be provided even when temporary hold is set (so that the user can reason about policy without having to first unset the temporary hold). */ readonly retentionExpirationTime: pulumi.Output; /** * The link to this object. */ readonly selfLink: pulumi.Output; /** * Content-Length of the data in bytes. */ readonly size: pulumi.Output; /** * Storage class of the object. */ readonly storageClass: pulumi.Output; /** * Whether an object is under temporary hold. While this flag is set to true, the object is protected against deletion and overwrites. A common use case of this flag is regulatory investigations where objects need to be retained while the investigation is ongoing. Note that unlike event-based hold, temporary hold does not impact retention expiration time of an object. */ readonly temporaryHold: pulumi.Output; /** * The creation time of the object in RFC 3339 format. */ readonly timeCreated: pulumi.Output; /** * The deletion time of the object in RFC 3339 format. Will be returned if and only if this version of the object has been deleted. */ readonly timeDeleted: pulumi.Output; /** * The time at which the object's storage class was last changed. When the object is initially created, it will be set to timeCreated. */ readonly timeStorageClassUpdated: pulumi.Output; /** * The modification time of the object metadata in RFC 3339 format. */ readonly updated: pulumi.Output; /** * Create a BucketObject resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: BucketObjectArgs, opts?: pulumi.CustomResourceOptions); } /** * The set of arguments for constructing a BucketObject resource. */ export interface BucketObjectArgs { /** * Access controls on the object. */ readonly acl?: pulumi.Input[]>; /** * The name of the bucket containing this object. */ readonly bucket: pulumi.Input; /** * Cache-Control directive for the object data. If omitted, and the object is accessible to all anonymous users, the default will be public, max-age=3600. */ readonly cacheControl?: pulumi.Input; /** * Number of underlying components that make up this object. Components are accumulated by compose operations. */ readonly componentCount?: pulumi.Input; /** * Content-Disposition of the object data. */ readonly contentDisposition?: pulumi.Input; /** * Content-Encoding of the object data. */ readonly contentEncoding?: pulumi.Input; /** * Content-Language of the object data. */ readonly contentLanguage?: pulumi.Input; /** * Content-Type of the object data. If an object is stored without a Content-Type, it is served as application/octet-stream. */ readonly contentType?: pulumi.Input; /** * CRC32c checksum, as described in RFC 4960, Appendix B; encoded using base64 in big-endian byte order. For more information about using the CRC32c checksum, see Hashes and ETags: Best Practices. */ readonly crc32c?: pulumi.Input; /** * A timestamp in RFC 3339 format specified by the user for an object. */ readonly customTime?: pulumi.Input; /** * Metadata of customer-supplied encryption key, if the object is encrypted by such a key. */ readonly customerEncryption?: pulumi.Input<{ [key: string]: pulumi.Input; }>; /** * HTTP 1.1 Entity tag for the object. */ readonly etag?: pulumi.Input; /** * Whether an object is under event-based hold. Event-based hold is a way to retain objects until an event occurs, which is signified by the hold's release (i.e. this value is set to false). After being released (set to false), such objects will be subject to bucket-level retention (if any). One sample use case of this flag is for banks to hold loan documents for at least 3 years after loan is paid in full. Here, bucket-level retention is 3 years and the event is the loan being paid in full. In this example, these objects will be held intact for any number of years until the event has occurred (event-based hold on the object is released) and then 3 more years after that. That means retention duration of the objects begins from the moment event-based hold transitioned from true to false. */ readonly eventBasedHold?: pulumi.Input; /** * The content generation of this object. Used for object versioning. */ readonly generation?: pulumi.Input; /** * The ID of the object, including the bucket name, object name, and generation number. */ readonly id?: pulumi.Input; /** * The kind of item this is. For objects, this is always storage#object. */ readonly kind?: pulumi.Input; /** * Not currently supported. Specifying the parameter causes the request to fail with status code 400 - Bad Request. */ readonly kmsKeyName?: pulumi.Input; /** * MD5 hash of the data; encoded using base64. For more information about using the MD5 hash, see Hashes and ETags: Best Practices. */ readonly md5Hash?: pulumi.Input; /** * Media download link. */ readonly mediaLink?: pulumi.Input; /** * User-provided metadata, in key/value pairs. */ readonly metadata?: pulumi.Input<{ [key: string]: pulumi.Input; }>; /** * The version of the metadata for this object at this generation. Used for preconditions and for detecting changes in metadata. A metageneration number is only meaningful in the context of a particular generation of a particular object. */ readonly metageneration?: pulumi.Input; /** * The name of the object. Required if not specified by URL parameter. */ readonly name?: pulumi.Input; readonly object: pulumi.Input; /** * The owner of the object. This will always be the uploader of the object. */ readonly owner?: pulumi.Input<{ [key: string]: pulumi.Input; }>; /** * A server-determined value that specifies the earliest time that the object's retention period expires. This value is in RFC 3339 format. Note 1: This field is not provided for objects with an active event-based hold, since retention expiration is unknown until the hold is removed. Note 2: This value can be provided even when temporary hold is set (so that the user can reason about policy without having to first unset the temporary hold). */ readonly retentionExpirationTime?: pulumi.Input; /** * The link to this object. */ readonly selfLink?: pulumi.Input; /** * Content-Length of the data in bytes. */ readonly size?: pulumi.Input; readonly source?: pulumi.Input; /** * Storage class of the object. */ readonly storageClass?: pulumi.Input; /** * Whether an object is under temporary hold. While this flag is set to true, the object is protected against deletion and overwrites. A common use case of this flag is regulatory investigations where objects need to be retained while the investigation is ongoing. Note that unlike event-based hold, temporary hold does not impact retention expiration time of an object. */ readonly temporaryHold?: pulumi.Input; /** * The creation time of the object in RFC 3339 format. */ readonly timeCreated?: pulumi.Input; /** * The deletion time of the object in RFC 3339 format. Will be returned if and only if this version of the object has been deleted. */ readonly timeDeleted?: pulumi.Input; /** * The time at which the object's storage class was last changed. When the object is initially created, it will be set to timeCreated. */ readonly timeStorageClassUpdated?: pulumi.Input; /** * The modification time of the object metadata in RFC 3339 format. */ readonly updated?: pulumi.Input; }