KRM API object.gdc.goog/v1

object.gdc.goog/v1

Contains API schema definitions for the Object Storage v1 API group.

Bucket

Defines the schema for the Buckets API.

Appears in: - BucketList

Field Description
apiVersion string object.gdc.goog/v1
kind string Bucket
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata.
spec BucketSpec
status BucketStatus

BucketList

Contains a list of Buckets.

Field Description
apiVersion string object.gdc.goog/v1
kind string BucketList
metadata ListMeta Refer to Kubernetes API documentation for fields of metadata.
items Bucket array

BucketPolicy

Defines policies of the Bucket.

Appears in: - BucketSpec

Field Description
lockingPolicy LockingPolicy Policy for object locking. When set, object versioning is enabled and all objects stored in the bucket will be subject to this policy. A locked object cannot be deleted until the lock expires. Can only be enabled when creating the bucket and cannot be disabled afterwards. When not enabled, object locking and versioning are disabled and cannot be enabled.
corsPolicy CorsPolicy Policy for custom CORS policy user set on the bucket. CorsPolicy has to be enabled when additional CORS policy is needed on the buckets. Otherwise, the bucket will only have the default UI console CORS policy. CorsPolicy can always be added or modified later after the bucket is created.
lifecyclePolicy LifecyclePolicy Policy for custom lifecycle policy user set on the bucket. LifecyclePolicy can always be added, modified, removed later after the bucket is created.

BucketSpec

Defines the desired state of the Bucket Resource.

Appears in: - Bucket

Field Description
description string Description of bucket contents.
storageClass ObjectStorageClass Defines how frequently data needs to be accessed. The available options include Standard and Nearline. Standard is appropriate for hot data that is accessed frequently, such as websites, streaming videos, and mobile apps. It is used for data that can be stored for at least 30 days. Nearline is appropriate for data that can be stored for at least 60 days, including data backup and long-tail multimedia content.
bucketPolicy BucketPolicy Defines policies of the bucket resource. If unspecified, default policies are applied.

BucketStatus

Defines the observed state of the Bucket.

Appears in: - Bucket

Field Description
fullyQualifiedName string The name of the provisioned bucket. This name is used to refer to the bucket when using external tools and libraries.
conditions Condition array Specifies the status of the bucket. Supported conditions include BucketReady. If BucketReady is True, it indicates the bucket has been provisioned and is ready for use.
endpoint string The DNS endpoint at which the bucket is reachable.
region string The region where the bucket is stored.
encryption EncryptionStatus The status of the encryption on the bucket.

CorsPolicy

Defines the strategy for setting up custom CORS policy on the bucket.

Appears in: - BucketPolicy

Field Description
enableCorsPolicy boolean Defines whether the user wants the custom policy to take effect on the bucket. If yes, the custom policy defined in CorsDetail will be read. Otherwise, CorsDetail would not be used even if it has custom policy set up.
corsDetail CorsRule array Detail of the custom CORS policy being set.

CorsRule

Defines the information related with CORS rule.

Appears in: - CorsPolicy

Field Description
allowedHeaders string array Headers that are specified in the Access-Control-Request-Headers header.
allowedMethods string array HTTP methods that are permitted to be executed by an allowed origin.
allowedOrigins string array Origins that can access the bucket.
exposeHeaders string array Headers in the response that can be accessed.
id string Unique identifier for the rule. The value can not be longer than 255 characters.

EncryptionStatus

EncryptionStatus defines the status of the encryption on the bucket.

Appears in: - BucketStatus

Field Description
type EncryptionType Defines the type of encryption to be used for the bucket. Available options are: - CMEK - Customer Managed Encryption Key which creates a KMS backed key rooted in the HSM which the customer is billed for. The customer can access these keys and manage them through KMS. - GMEK - GDC air-gapped Managed Encryption Key which creates a key with internal KMS. The customer does not have visibility into this key and they do not have the ability to rotate it.
keyRef ObjectReference KeyRef references the key which is used as the default key to encrypt objects in the bucket. This is left empty in the case of GMEK since customer does not have insight on the location of the key.

LifecycleExpiration

Appears in: - LifecycleRule

Field Description
date Time Specific date when the objects should be deleted.
days integer Number of days this object is subject to the rule.

LifecycleNoncurrentExpiration

Appears in: - LifecycleRule

Field Description
noncurrentDays integer Number of days an object is noncurrent before lifecycle rules takes the action.

LifecyclePolicy

Appears in: - BucketPolicy

Field Description
enable boolean Defines whether the user wants to enable custom lifecycle policy on the bucket.
lifecycleRules LifecycleRule array Consists of one or more lifecycle configuration rules that can take expiration action on objects in the bucket.

LifecycleRule

Appears in: - LifecyclePolicy

Field Description
id string Unique identifier for the rule. The value cannot be longer than 255 characters.
status LifecycleRuleStatus Status of the lifecycle rule. Indicate whether this rule takes action. The status can always be changed, and only Enabled rule would take effect.
expiration LifecycleExpiration Expiration behavior for objects in current version. Either Expiration or NoncurrentExpiration, or both should be provided. Rule without expiration behavior would be ignored.
noncurrentExpiration LifecycleNoncurrentExpiration Expiration behavior for objects noncurrent.
filter LifecycleRuleFilter Filter for the rule. Empty filer means the rule apply to all objects in the bucket.

LifecycleRuleFilter

Defines the filter that can be set on lifecycle rule.

Appears in: - LifecycleRule

Field Description
prefixFilter string Match objects with provided prefix. Empty string of prefix means apply to all objects in the bucket.
tagFilters Tag array Match objects with provided tags. The tag on object must match both the key and value exactly.

LockingPolicy

Defines the strategy for locking the objects of the Bucket.

Appears in: - BucketPolicy

Field Description
defaultObjectRetentionDays integer Specifies the minimum number of days that each version of every object will be retained. An object cannot be deleted during the retention period. If a bucket contains any object, it cannot be deleted either. When unspecified, no default object retention period is set. Can be modified after creation, however the change will only take effect for new objects and versions. Existing objects and versions will still use the previous value.

Tag

Defines the tags on object that can be used by lifecycle filter.

Appears in: - LifecycleRuleFilter

Field Description
key string
value string