Hi there! Are you looking for the official Deno documentation? Try docs.deno.com for all your Deno learning needs.

Bucket

import type { Bucket } from "https://googleapis.deno.dev/v1/storage:v1.ts";

A bucket.

interface Bucket {
autoclass?: {
enabled?: boolean;
terminalStorageClass?: string;
terminalStorageClassUpdateTime?: Date;
toggleTime?: Date;
}
;
billing?: {
requesterPays?: boolean;
}
;
cors?: {
maxAgeSeconds?: number;
method?: string[];
origin?: string[];
responseHeader?: string[];
}
[]
;
customPlacementConfig?: {
dataLocations?: string[];
}
;
defaultEventBasedHold?: boolean;
defaultObjectAcl?: ObjectAccessControl[];
encryption?: {
defaultKmsKeyName?: string;
}
;
etag?: string;
hierarchicalNamespace?: {
enabled?: boolean;
}
;
iamConfiguration?: {
bucketPolicyOnly?: {
enabled?: boolean;
lockedTime?: Date;
}
;
publicAccessPrevention?: string;
uniformBucketLevelAccess?: {
enabled?: boolean;
lockedTime?: Date;
}
;
}
;
id?: string;
kind?: string;
labels?: {
[key: string]: string;
}
;
lifecycle?: {
rule?: {
action?: {
storageClass?: string;
type?: string;
}
;
condition?: {
age?: number;
createdBefore?: Date;
customTimeBefore?: Date;
daysSinceCustomTime?: number;
daysSinceNoncurrentTime?: number;
isLive?: boolean;
matchesPattern?: string;
matchesPrefix?: string[];
matchesStorageClass?: string[];
matchesSuffix?: string[];
noncurrentTimeBefore?: Date;
numNewerVersions?: number;
}
;
}
[]
;
}
;
location?: string;
locationType?: string;
logging?: {
logBucket?: string;
logObjectPrefix?: string;
}
;
metageneration?: bigint;
name?: string;
objectRetention?: {
mode?: string;
}
;
owner?: {
entity?: string;
entityId?: string;
}
;
projectNumber?: bigint;
retentionPolicy?: {
effectiveTime?: Date;
isLocked?: boolean;
retentionPeriod?: bigint;
}
;
rpo?: string;
satisfiesPZS?: boolean;
selfLink?: string;
softDeletePolicy?: {
effectiveTime?: Date;
retentionDurationSeconds?: bigint;
}
;
storageClass?: string;
timeCreated?: Date;
updated?: Date;
versioning?: {
enabled?: boolean;
}
;
website?: {
mainPageSuffix?: string;
notFoundPage?: string;
}
;
}

§Properties

§

Access controls on the bucket.

§
autoclass?: {
enabled?: boolean;
terminalStorageClass?: string;
terminalStorageClassUpdateTime?: Date;
toggleTime?: Date;
}
[src]

The bucket's Autoclass configuration.

§
billing?: {
requesterPays?: boolean;
}
[src]

The bucket's billing configuration.

§
cors?: {
maxAgeSeconds?: number;
method?: string[];
origin?: string[];
responseHeader?: string[];
}
[]
[src]

The bucket's Cross-Origin Resource Sharing (CORS) configuration.

§
customPlacementConfig?: {
dataLocations?: string[];
}
[src]

The bucket's custom placement configuration for Custom Dual Regions.

§
defaultEventBasedHold?: boolean
[src]

The default value for event-based hold on newly created objects in this bucket. Event-based hold is a way to retain objects indefinitely until an event occurs, signified by the hold's release. After being released, 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 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. Objects under event-based hold cannot be deleted, overwritten or archived until the hold is removed.

§
defaultObjectAcl?: ObjectAccessControl[]
[src]

Default access controls to apply to new objects when no ACL is provided.

§
encryption?: {
defaultKmsKeyName?: string;
}
[src]

Encryption configuration for a bucket.

§
etag?: string
[src]

HTTP 1.1 Entity tag for the bucket.

§
hierarchicalNamespace?: {
enabled?: boolean;
}
[src]

The bucket's hierarchical namespace configuration.

§
iamConfiguration?: {
bucketPolicyOnly?: {
enabled?: boolean;
lockedTime?: Date;
}
;
publicAccessPrevention?: string;
uniformBucketLevelAccess?: {
enabled?: boolean;
lockedTime?: Date;
}
;
}
[src]

The bucket's IAM configuration.

§
id?: string
[src]

The ID of the bucket. For buckets, the id and name properties are the same.

§
kind?: string
[src]

The kind of item this is. For buckets, this is always storage#bucket.

§
labels?: {
[key: string]: string;
}
[src]

User-provided labels, in key/value pairs.

§
lifecycle?: {
rule?: {
action?: {
storageClass?: string;
type?: string;
}
;
condition?: {
age?: number;
createdBefore?: Date;
customTimeBefore?: Date;
daysSinceCustomTime?: number;
daysSinceNoncurrentTime?: number;
isLive?: boolean;
matchesPattern?: string;
matchesPrefix?: string[];
matchesStorageClass?: string[];
matchesSuffix?: string[];
noncurrentTimeBefore?: Date;
numNewerVersions?: number;
}
;
}
[]
;
}
[src]

The bucket's lifecycle configuration. See lifecycle management for more information.

§
location?: string
[src]

The location of the bucket. Object data for objects in the bucket resides in physical storage within this region. Defaults to US. See the developer's guide for the authoritative list.

§
locationType?: string
[src]

The type of the bucket location.

§
logging?: {
logBucket?: string;
logObjectPrefix?: string;
}
[src]

The bucket's logging configuration, which defines the destination bucket and optional name prefix for the current bucket's logs.

§
metageneration?: bigint
[src]

The metadata generation of this bucket.

§
name?: string
[src]

The name of the bucket.

§
objectRetention?: {
mode?: string;
}
[src]

The bucket's object retention config.

§
owner?: {
entity?: string;
entityId?: string;
}
[src]

The owner of the bucket. This is always the project team's owner group.

§
projectNumber?: bigint
[src]

The project number of the project the bucket belongs to.

§
retentionPolicy?: {
effectiveTime?: Date;
isLocked?: boolean;
retentionPeriod?: bigint;
}
[src]

The bucket's retention policy. The retention policy enforces a minimum retention time for all objects contained in the bucket, based on their creation time. Any attempt to overwrite or delete objects younger than the retention period will result in a PERMISSION_DENIED error. An unlocked retention policy can be modified or removed from the bucket via a storage.buckets.update operation. A locked retention policy cannot be removed or shortened in duration for the lifetime of the bucket. Attempting to remove or decrease period of a locked retention policy will result in a PERMISSION_DENIED error.

§
rpo?: string
[src]

The Recovery Point Objective (RPO) of this bucket. Set to ASYNC_TURBO to turn on Turbo Replication on a bucket.

§
satisfiesPZS?: boolean
[src]

Reserved for future use.

§
softDeletePolicy?: {
effectiveTime?: Date;
retentionDurationSeconds?: bigint;
}
[src]

The bucket's soft delete policy, which defines the period of time that soft-deleted objects will be retained, and cannot be permanently deleted.

§
storageClass?: string
[src]

The bucket's default storage class, used whenever no storageClass is specified for a newly-created object. This defines how objects in the bucket are stored and determines the SLA and the cost of storage. Values include MULTI_REGIONAL, REGIONAL, STANDARD, NEARLINE, COLDLINE, ARCHIVE, and DURABLE_REDUCED_AVAILABILITY. If this value is not specified when the bucket is created, it will default to STANDARD. For more information, see storage classes.

§
timeCreated?: Date
[src]

The creation time of the bucket in RFC 3339 format.

§
updated?: Date
[src]

The modification time of the bucket in RFC 3339 format.

§
versioning?: {
enabled?: boolean;
}
[src]

The bucket's versioning configuration.

§
website?: {
mainPageSuffix?: string;
notFoundPage?: string;
}
[src]

The bucket's website configuration, controlling how the service behaves when accessing bucket contents as a web site. See the Static Website Examples for more information.