v1alpha1

package
v0.2.0 Latest Latest
Warning

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

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

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the storage v1alpha1 API group +k8s:openapi-gen=true +k8s:deepcopy-gen=package,register +k8s:conversion-gen=github.com/crossplaneio/crossplane/pkg/apis/gcp/storage +k8s:defaulter-gen=TypeMeta +groupName=storage.gcp.crossplane.io

Package v1alpha1 contains API Schema definitions for the storage v1alpha1 API group +k8s:openapi-gen=true +k8s:deepcopy-gen=package,register +k8s:conversion-gen=github.com/crossplaneio/crossplane/pkg/apis/gcp/storage +k8s:defaulter-gen=TypeMeta +groupName=storage.gcp.crossplane.io

Index

Constants

View Source
const (
	Group                = "storage.gcp.crossplane.io"
	Version              = "v1alpha1"
	APIVersion           = Group + "/" + Version
	BucketKind           = "bucket"
	BucketKindAPIVersion = BucketKind + "." + APIVersion
)

Kubernetes Group, Version, and Kind metadata.

Variables

View Source
var (
	// SchemeGroupVersion is group version used to register these objects
	SchemeGroupVersion = schema.GroupVersion{Group: Group, Version: Version}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion}
)

Functions

func CopyBucketSpecAttrs added in v0.2.0

func CopyBucketSpecAttrs(ba *BucketSpecAttrs) *storage.BucketAttrs

CopyBucketSpecAttrs create a copy in storage format

func CopyToACLRule added in v0.2.0

func CopyToACLRule(ar ACLRule) storage.ACLRule

CopyToACLRule create a copy in storage format

func CopyToACLRules added in v0.2.0

func CopyToACLRules(r []ACLRule) []storage.ACLRule

CopyToACLRules create a copy in storage format

func CopyToBucketAttrs added in v0.2.0

func CopyToBucketAttrs(ba *BucketUpdatableAttrs) *storage.BucketAttrs

CopyToBucketAttrs create a copy in storage format

func CopyToBucketEncryption added in v0.2.0

func CopyToBucketEncryption(e *BucketEncryption) *storage.BucketEncryption

CopyToBucketEncryption create a copy in storage format

func CopyToBucketLogging added in v0.2.0

func CopyToBucketLogging(l *BucketLogging) *storage.BucketLogging

CopyToBucketLogging create a copy in storage format

func CopyToBucketUpdateAttrs added in v0.2.0

func CopyToBucketUpdateAttrs(ba BucketUpdatableAttrs, labels map[string]string) storage.BucketAttrsToUpdate

CopyToBucketUpdateAttrs create a copy in storage format

func CopyToBucketWebsite added in v0.2.0

func CopyToBucketWebsite(w *BucketWebsite) *storage.BucketWebsite

CopyToBucketWebsite create a copy in storage format

func CopyToCORS added in v0.2.0

func CopyToCORS(c CORS) storage.CORS

CopyToCORS create a copy in storage format

func CopyToCORSList added in v0.2.0

func CopyToCORSList(c []CORS) []storage.CORS

CopyToCORSList create a copy in storage format

func CopyToLifecycle added in v0.2.0

func CopyToLifecycle(lf Lifecycle) storage.Lifecycle

CopyToLifecycle create a copy in storage format

func CopyToLifecycleCondition added in v0.2.0

func CopyToLifecycleCondition(lc LifecycleCondition) storage.LifecycleCondition

CopyToLifecycleCondition create a copy in storage format

func CopyToLifecyleAction added in v0.2.0

func CopyToLifecyleAction(la LifecycleAction) storage.LifecycleAction

CopyToLifecyleAction create a copy in storage format

func CopyToLifecyleRule added in v0.2.0

func CopyToLifecyleRule(lr LifecycleRule) storage.LifecycleRule

CopyToLifecyleRule create a copy in storage format

func CopyToProjectTeam added in v0.2.0

func CopyToProjectTeam(pt *ProjectTeam) *storage.ProjectTeam

CopyToProjectTeam create a copy in storage format

func CopyToRetentionPolicy added in v0.2.0

func CopyToRetentionPolicy(rp *RetentionPolicy) *storage.RetentionPolicy

CopyToRetentionPolicy create a copy in storage format

Types

type ACLRule added in v0.2.0

type ACLRule struct {
	Entity      string
	EntityID    string
	Role        string
	Domain      string
	Email       string
	ProjectTeam *ProjectTeam
}

ACLRule represents a grant for a role to an entity (user, group or team) for a Google Cloud Storage object or bucket.

func NewACLRule added in v0.2.0

func NewACLRule(r storage.ACLRule) ACLRule

NewACLRule creates new instance of ACLRule from the storage counterpart

func NewACLRules added in v0.2.0

func NewACLRules(r []storage.ACLRule) []ACLRule

NewACLRules creates a new instance of ACLRule list from the storage counterpart

func (*ACLRule) DeepCopy added in v0.2.0

func (in *ACLRule) DeepCopy() *ACLRule

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ACLRule.

func (*ACLRule) DeepCopyInto added in v0.2.0

func (in *ACLRule) DeepCopyInto(out *ACLRule)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Bucket added in v0.2.0

type Bucket struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   BucketSpec   `json:"spec,omitempty"`
	Status BucketStatus `json:"status,omitempty"`
}

Bucket is the Schema for the instances API +k8s:openapi-gen=true +kubebuilder:subresource:status +kubebuilder:printcolumn:name="STORAGE_CLASS",type="string",JSONPath=".spec.storageClass" +kubebuilder:printcolumn:name="LOCATION",type="string",JSONPath=".spec.location" +kubebuilder:printcolumn:name="CLASS",type="string",JSONPath=".spec.classRef.name" +kubebuilder:printcolumn:name="RECLAIM_POLICY",type="string",JSONPath=".spec.reclaimPolicy" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp"

func (*Bucket) ConnectionSecret added in v0.2.0

func (b *Bucket) ConnectionSecret() *corev1.Secret

ConnectionSecret returns a connection secret for this bucket instance

func (*Bucket) ConnectionSecretName added in v0.2.0

func (b *Bucket) ConnectionSecretName() string

ConnectionSecretName returns a secret name from the reference

func (*Bucket) DeepCopy added in v0.2.0

func (b *Bucket) DeepCopy() *Bucket

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Bucket.

func (*Bucket) DeepCopyInto added in v0.2.0

func (b *Bucket) DeepCopyInto(out *Bucket)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Bucket) DeepCopyObject added in v0.2.0

func (b *Bucket) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*Bucket) GetBucketName added in v0.2.0

func (b *Bucket) GetBucketName() string

GetBucketName based on the NameFormat spec value, If name format is not provided, bucket name defaults to UID If name format provided with '%s' value, bucket name will result in formatted string + UID,

NOTE: only single %s substitution is supported

If name format does not contain '%s' substitution, i.e. a constant string, the constant string value is returned back

Examples:

For all examples assume "UID" = "test-uid"
1. NameFormat = "", BucketName = "test-uid"
2. NameFormat = "%s", BucketName = "test-uid"
3. NameFormat = "foo", BucketName = "foo"
4. NameFormat = "foo-%s", BucketName = "foo-test-uid"
5. NameFormat = "foo-%s-bar-%s", BucketName = "foo-test-uid-bar-%!s(MISSING)"

func (*Bucket) IsAvailable added in v0.2.0

func (b *Bucket) IsAvailable() bool

IsAvailable for usage/binding

func (*Bucket) IsBound added in v0.2.0

func (b *Bucket) IsBound() bool

IsBound determines if the resource is in a bound binding state

func (*Bucket) ObjectReference added in v0.2.0

func (b *Bucket) ObjectReference() *corev1.ObjectReference

ObjectReference to this resource instance

func (*Bucket) OwnerReference added in v0.2.0

func (b *Bucket) OwnerReference() metav1.OwnerReference

OwnerReference to use this instance as an owner

func (*Bucket) SetBound added in v0.2.0

func (b *Bucket) SetBound(state bool)

SetBound sets the binding state of this resource

type BucketEncryption added in v0.2.0

type BucketEncryption struct {
	// A Cloud KMS key name, in the form
	// projects/P/locations/L/keyRings/R/cryptoKeys/K, that will be used to encrypt
	// objects inserted into this bucket, if no encryption method is specified.
	// The key's location must be the same as the bucket's.
	DefaultKMSKeyName string `json:"defaultKmsKeyName,omitempty"`
}

BucketEncryption is a bucket's encryption configuration.

func NewBucketEncryption added in v0.2.0

func NewBucketEncryption(e *storage.BucketEncryption) *BucketEncryption

NewBucketEncryption creates a new instance of BucketEncryption from the storage counterpart

func (*BucketEncryption) DeepCopy added in v0.2.0

func (in *BucketEncryption) DeepCopy() *BucketEncryption

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BucketEncryption.

func (*BucketEncryption) DeepCopyInto added in v0.2.0

func (in *BucketEncryption) DeepCopyInto(out *BucketEncryption)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BucketList added in v0.2.0

type BucketList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Bucket `json:"items"`
}

BucketList contains a list of GCPBuckets

func (*BucketList) DeepCopy added in v0.2.0

func (in *BucketList) DeepCopy() *BucketList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BucketList.

func (*BucketList) DeepCopyInto added in v0.2.0

func (in *BucketList) DeepCopyInto(out *BucketList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*BucketList) DeepCopyObject added in v0.2.0

func (in *BucketList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type BucketLogging added in v0.2.0

type BucketLogging struct {
	// The destination bucket where the current bucket's logs
	// should be placed.
	LogBucket string `json:"logBucket,omitempty"`

	// A prefix for log object names.
	LogObjectPrefix string `json:"logObjectPrefix,omitempty"`
}

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

func NewBucketLogging added in v0.2.0

func NewBucketLogging(l *storage.BucketLogging) *BucketLogging

NewBucketLogging creates a new instance of BucketLogging from the storage counterpart

func (*BucketLogging) DeepCopy added in v0.2.0

func (in *BucketLogging) DeepCopy() *BucketLogging

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BucketLogging.

func (*BucketLogging) DeepCopyInto added in v0.2.0

func (in *BucketLogging) DeepCopyInto(out *BucketLogging)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BucketOutputAttrs added in v0.2.0

type BucketOutputAttrs struct {
	// Created is the creation time of the bucket.
	Created metav1.Time

	// Name is the name of the bucket.
	Name string `json:"name,omitempty"`

	// Retention policy enforces a minimum retention time for all objects
	// contained in the bucket. A RetentionPolicy of nil implies the bucket
	// has no minimum data retention.
	//
	// This feature is in private alpha release. It is not currently available to
	// most customers. It might be changed in backwards-incompatible ways and is not
	// subject to any SLA or deprecation policy.
	RetentionPolicy *RetentionPolicyStatus `json:"retentionPolicy,omitempty"`
}

BucketOutputAttrs represent the subset of metadata for a Google Cloud Storage bucket limited to output (read-only) fields.

func NewBucketOutputAttrs added in v0.2.0

func NewBucketOutputAttrs(attrs *storage.BucketAttrs) BucketOutputAttrs

NewBucketOutputAttrs creates new instance of BucketOutputAttrs from storage.BucketAttrs

func (*BucketOutputAttrs) DeepCopy added in v0.2.0

func (in *BucketOutputAttrs) DeepCopy() *BucketOutputAttrs

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BucketOutputAttrs.

func (*BucketOutputAttrs) DeepCopyInto added in v0.2.0

func (in *BucketOutputAttrs) DeepCopyInto(out *BucketOutputAttrs)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BucketSpec added in v0.2.0

type BucketSpec struct {
	BucketSpecAttrs `json:",inline"`

	// NameFormat to format bucket name passing it a object UID
	// If not provided, defaults to "%s", i.e. UID value
	NameFormat string `json:"nameFormat,omitempty"`

	ConnectionSecretNameOverride string                      `json:"connectionSecretNameOverride,omitempty"`
	ProviderRef                  corev1.LocalObjectReference `json:"providerRef"`
	ClaimRef                     *corev1.ObjectReference     `json:"claimRef,omitempty"`
	ClassRef                     *corev1.ObjectReference     `json:"classRef,omitempty"`

	// ReclaimPolicy identifies how to handle the cloud resource after the deletion of this type
	ReclaimPolicy corev1alpha1.ReclaimPolicy `json:"reclaimPolicy,omitempty"`
}

BucketSpec defines the desired state of Bucket

func NewBucketSpec added in v0.2.0

func NewBucketSpec(p map[string]string) *BucketSpec

NewBucketSpec constructs Spec for this resource from the properties map

func (*BucketSpec) DeepCopy added in v0.2.0

func (in *BucketSpec) DeepCopy() *BucketSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BucketSpec.

func (*BucketSpec) DeepCopyInto added in v0.2.0

func (in *BucketSpec) DeepCopyInto(out *BucketSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BucketSpecAttrs added in v0.2.0

type BucketSpecAttrs struct {
	BucketUpdatableAttrs `json:",inline"`

	// ACL is the list of access control rules on the bucket.
	ACL []ACLRule

	// DefaultObjectACL is the list of access controls to
	// apply to new objects when no object ACL is provided.
	DefaultObjectACL []ACLRule `json:"defaultObjectAcl,omitempty"`

	// Location is the location of the bucket. It defaults to "US".
	Location string `json:"location,omitempty"`

	// StorageClass is the default storage class of the bucket. This defines
	// how objects in the bucket are stored and determines the SLA
	// and the cost of storage. Typical values are "MULTI_REGIONAL",
	// "REGIONAL", "NEARLINE", "COLDLINE", "STANDARD" and
	// "DURABLE_REDUCED_AVAILABILITY". Defaults to "STANDARD", which
	// is equivalent to "MULTI_REGIONAL" or "REGIONAL" depending on
	// the bucket's location settings.
	// +kubebuilder:validation:Enum=MULTI_REGIONAL,REGIONAL,NEARLINE,COLDLINE,STANDARD,DURABLE_REDUCED_AVAILABILITY
	StorageClass string `json:"storageClass,omitempty"`
}

BucketSpecAttrs represents the full set of metadata for a Google Cloud Storage bucket limited to all input attributes

func NewBucketSpecAttrs added in v0.2.0

func NewBucketSpecAttrs(ba *storage.BucketAttrs) BucketSpecAttrs

NewBucketSpecAttrs create new instance from storage BuckateAttrs

func (*BucketSpecAttrs) DeepCopy added in v0.2.0

func (in *BucketSpecAttrs) DeepCopy() *BucketSpecAttrs

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BucketSpecAttrs.

func (*BucketSpecAttrs) DeepCopyInto added in v0.2.0

func (in *BucketSpecAttrs) DeepCopyInto(out *BucketSpecAttrs)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BucketStatus added in v0.2.0

type BucketStatus struct {
	BucketOutputAttrs `json:"attributes"`

	corev1alpha1.ConditionedStatus
	corev1alpha1.BindingStatusPhase
	ConnectionSecretRef corev1.LocalObjectReference `json:"connectionSecretRef,omitempty"`
}

BucketStatus defines the observed state of GoogleBucket

func (*BucketStatus) DeepCopy added in v0.2.0

func (in *BucketStatus) DeepCopy() *BucketStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BucketStatus.

func (*BucketStatus) DeepCopyInto added in v0.2.0

func (in *BucketStatus) DeepCopyInto(out *BucketStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BucketUpdatableAttrs added in v0.2.0

type BucketUpdatableAttrs struct {
	// The bucket's Cross-Origin Resource Sharing (CORS) configuration.
	CORS []CORS `json:"cors,omitempty"`

	// DefaultEventBasedHold is the default value for event-based hold on
	// newly created objects in this bucket. It defaults to false.
	DefaultEventBasedHold bool `json:"defaultEventBasedHold,omitempty"`

	// The encryption configuration used by default for newly inserted objects.
	Encryption *BucketEncryption `json:"encryption,omitempty"`

	// Labels are the bucket's labels.
	Labels map[string]string `json:"labels,omitempty"`

	// Lifecycle is the lifecycle configuration for objects in the bucket.
	Lifecycle Lifecycle `json:"lifecycle,omitempty"`

	// The logging configuration.
	Logging *BucketLogging `json:"logging,omitempty"`

	// If not empty, applies a predefined set of access controls. It should be set
	// only when creating a bucket.
	// It is always empty for BucketAttrs returned from the service.
	// See https://cloud.google.com/storage/docs/json_api/v1/buckets/insert
	// for valid values.
	PredefinedACL string `json:"predefinedAcl,omitempty"`

	// If not empty, applies a predefined set of default object access controls.
	// It should be set only when creating a bucket.
	// It is always empty for BucketAttrs returned from the service.
	// See https://cloud.google.com/storage/docs/json_api/v1/buckets/insert
	// for valid values.
	PredefinedDefaultObjectACL string `json:"predefinedCefaultObjectAcl,omitempty"`

	// RequesterPays reports whether the bucket is a Requester Pays bucket.
	// Clients performing operations on Requester Pays buckets must provide
	// a user project (see BucketHandle.UserProject), which will be billed
	// for the operations.
	RequesterPays bool `json:"requesterPays,omitempty"`

	// Retention policy enforces a minimum retention time for all objects
	// contained in the bucket. A RetentionPolicy of nil implies the bucket
	// has no minimum data retention.
	//
	// This feature is in private alpha release. It is not currently available to
	// most customers. It might be changed in backwards-incompatible ways and is not
	// subject to any SLA or deprecation policy.
	RetentionPolicy *RetentionPolicy `json:"retentionPolicy,omitempty"`

	// VersioningEnabled reports whether this bucket has versioning enabled.
	VersioningEnabled bool `json:"versioningEnabled,omitempty"`

	// The website configuration.
	Website *BucketWebsite `json:"website,omitempty"`
}

BucketUpdatableAttrs represents the subset of metadata for a Google Cloud Storage bucket limited to all updatable input attributes

func NewBucketUpdatableAttrs added in v0.2.0

func NewBucketUpdatableAttrs(ba *storage.BucketAttrs) *BucketUpdatableAttrs

NewBucketUpdatableAttrs creates a new instance of BucketUpdatableAttrs from the storage BucketAttrs

func (*BucketUpdatableAttrs) DeepCopy added in v0.2.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BucketUpdatableAttrs.

func (*BucketUpdatableAttrs) DeepCopyInto added in v0.2.0

func (in *BucketUpdatableAttrs) DeepCopyInto(out *BucketUpdatableAttrs)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BucketWebsite added in v0.2.0

type BucketWebsite struct {
	// If the requested object path is missing, the service will ensure the path has
	// a trailing '/', append this suffix, and attempt to retrieve the resulting
	// object. This allows the creation of index.html objects to represent directory
	// pages.
	MainPageSuffix string `json:"mainPageSuffix,omitempty"`

	// If the requested object path is missing, and any mainPageSuffix object is
	// missing, if applicable, the service will return the named object from this
	// bucket as the content for a 404 Not Found result.
	NotFoundPage string `json:"notFundPage,omitempty"`
}

BucketWebsite holds the bucket's website configuration, controlling how the service behaves when accessing bucket contents as a web site. See https://cloud.google.com/storage/docs/static-website for more information.

func NewBucketWebsite added in v0.2.0

func NewBucketWebsite(w *storage.BucketWebsite) *BucketWebsite

NewBucketWebsite creates a new instance of BucketWebsite from the storage counterpart

func (*BucketWebsite) DeepCopy added in v0.2.0

func (in *BucketWebsite) DeepCopy() *BucketWebsite

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BucketWebsite.

func (*BucketWebsite) DeepCopyInto added in v0.2.0

func (in *BucketWebsite) DeepCopyInto(out *BucketWebsite)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CORS added in v0.2.0

type CORS struct {
	// MaxAge is the value to return in the Access-Control-Max-Age
	// header used in preflight responses.
	MaxAge metav1.Duration `json:"maxAge,omitempty"`

	// Methods is the list of HTTP methods on which to include CORS response
	// headers, (GET, OPTIONS, POST, etc) Note: "*" is permitted in the list
	// of methods, and means "any method".
	Methods []string `json:"methods,omitempty"`

	// Origins is the list of Origins eligible to receive CORS response
	// headers. Note: "*" is permitted in the list of origins, and means
	// "any Origin".
	Origins []string `json:"origins,omitempty"`

	// ResponseHeaders is the list of HTTP headers other than the simple
	// response headers to give permission for the user-agent to share
	// across domains.
	ResponseHeaders []string `json:"responseHeaders,omitempty"`
}

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

func NewCORS added in v0.2.0

func NewCORS(c storage.CORS) CORS

NewCORS creates a new instance of CORS from the storage counterpart

func NewCORSList added in v0.2.0

func NewCORSList(c []storage.CORS) []CORS

NewCORSList creates a new instance of CORS list from the storage counterpart

func (*CORS) DeepCopy added in v0.2.0

func (in *CORS) DeepCopy() *CORS

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CORS.

func (*CORS) DeepCopyInto added in v0.2.0

func (in *CORS) DeepCopyInto(out *CORS)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Lifecycle added in v0.2.0

type Lifecycle struct {
	Rules []LifecycleRule `json:"rules,omitempty"`
}

Lifecycle is the lifecycle configuration for objects in the bucket.

func NewLifecycle added in v0.2.0

func NewLifecycle(lf storage.Lifecycle) *Lifecycle

NewLifecycle creates a new instance of Lifecycle from the storage counterpart

func (*Lifecycle) DeepCopy added in v0.2.0

func (in *Lifecycle) DeepCopy() *Lifecycle

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Lifecycle.

func (*Lifecycle) DeepCopyInto added in v0.2.0

func (in *Lifecycle) DeepCopyInto(out *Lifecycle)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LifecycleAction added in v0.2.0

type LifecycleAction struct {
	// StorageClass is the storage class to set on matching objects if the Action
	// is "SetStorageClass".
	StorageClass string `json:"storageClass,omitempty"`

	// Type is the type of action to take on matching objects.
	//
	// Acceptable values are "Delete" to delete matching objects and
	// "SetStorageClass" to set the storage class defined in StorageClass on
	// matching objects.
	Type string `json:"type,omitempty"`
}

LifecycleAction is a lifecycle configuration action.

func NewLifecyleAction added in v0.2.0

func NewLifecyleAction(la storage.LifecycleAction) LifecycleAction

NewLifecyleAction creates a new instance of LifecycleAction from the storage counterpart

func (*LifecycleAction) DeepCopy added in v0.2.0

func (in *LifecycleAction) DeepCopy() *LifecycleAction

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LifecycleAction.

func (*LifecycleAction) DeepCopyInto added in v0.2.0

func (in *LifecycleAction) DeepCopyInto(out *LifecycleAction)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LifecycleCondition added in v0.2.0

type LifecycleCondition struct {
	// AgeInDays is the age of the object in days.
	AgeInDays int64 `json:"ageInDays,omitempty"`

	// CreatedBefore is the time the object was created.
	//
	// This condition is satisfied when an object is created before midnight of
	// the specified date in UTC.
	CreatedBefore metav1.Time `json:"createdBefore,omitempty"`

	// Liveness specifies the object's liveness. Relevant only for versioned objects
	Liveness storage.Liveness `json:"liveness,omitempty"`

	// MatchesStorageClasses is the condition matching the object's storage
	// class.
	//
	// Values include "MULTI_REGIONAL", "REGIONAL", "NEARLINE", "COLDLINE",
	// "STANDARD", and "DURABLE_REDUCED_AVAILABILITY".
	MatchesStorageClasses []string `json:"matchesStorageClasses,omitempty"`

	// NumNewerVersions is the condition matching objects with a number of newer versions.
	//
	// If the value is N, this condition is satisfied when there are at least N
	// versions (including the live version) newer than this version of the
	// object.
	NumNewerVersions int64 `json:"numNewerVersions,omitempty"`
}

LifecycleCondition is a set of conditions used to match objects and take an action automatically.

All configured conditions must be met for the associated action to be taken.

func NewLifecycleCondition added in v0.2.0

func NewLifecycleCondition(lc storage.LifecycleCondition) LifecycleCondition

NewLifecycleCondition creates a new instance of LifecycleCondition from the storage counterpart

func (*LifecycleCondition) DeepCopy added in v0.2.0

func (in *LifecycleCondition) DeepCopy() *LifecycleCondition

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LifecycleCondition.

func (*LifecycleCondition) DeepCopyInto added in v0.2.0

func (in *LifecycleCondition) DeepCopyInto(out *LifecycleCondition)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LifecycleRule added in v0.2.0

type LifecycleRule struct {
	// Action is the action to take when all of the associated conditions are
	// met.
	Action LifecycleAction `json:"action,omitempty"`

	// Condition is the set of conditions that must be met for the associated
	// action to be taken.
	Condition LifecycleCondition `json:"condition,omitempty"`
}

LifecycleRule is a lifecycle configuration rule.

When all the configured conditions are met by an object in the bucket, the configured action will automatically be taken on that object.

func NewLifecycleRule added in v0.2.0

func NewLifecycleRule(lr storage.LifecycleRule) LifecycleRule

NewLifecycleRule creates a new instance of LifecycleRule from the storage counterpart

func (*LifecycleRule) DeepCopy added in v0.2.0

func (in *LifecycleRule) DeepCopy() *LifecycleRule

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LifecycleRule.

func (*LifecycleRule) DeepCopyInto added in v0.2.0

func (in *LifecycleRule) DeepCopyInto(out *LifecycleRule)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ProjectTeam added in v0.2.0

type ProjectTeam struct {
	ProjectNumber string
	Team          string
}

ProjectTeam is the project team associated with the entity, if any.

func NewProjectTeam added in v0.2.0

func NewProjectTeam(pt *storage.ProjectTeam) *ProjectTeam

NewProjectTeam creates new instance of ProjectTeam from the storage counterpart

func (*ProjectTeam) DeepCopy added in v0.2.0

func (in *ProjectTeam) DeepCopy() *ProjectTeam

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectTeam.

func (*ProjectTeam) DeepCopyInto added in v0.2.0

func (in *ProjectTeam) DeepCopyInto(out *ProjectTeam)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RetentionPolicy added in v0.2.0

type RetentionPolicy struct {
	// RetentionPeriod specifies the duration value in seconds that objects
	// need to be retained. Retention duration must be greater than zero and
	// less than 100 years. Note that enforcement of retention periods less
	// than a day is not guaranteed. Such periods should only be used for
	// testing purposes.
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Maximum=3155673600
	RetentionPeriodSeconds int `json:"retentionPeriodSeconds,omitempty"`
}

RetentionPolicy enforces a minimum retention time for all objects contained in the bucket.

Any attempt to overwrite or delete objects younger than the retention period will result in an error. An unlocked retention policy can be modified or removed from the bucket via the Update method. A locked retention policy cannot be removed or shortened in duration for the lifetime of the bucket.

This feature is in private alpha release. It is not currently available to most customers. It might be changed in backwards-incompatible ways and is not subject to any SLA or deprecation policy.

func NewRetentionPolicy added in v0.2.0

func NewRetentionPolicy(rp *storage.RetentionPolicy) *RetentionPolicy

NewRetentionPolicy creates a new instance of RetentionPolicy from the storage counterpart

func (*RetentionPolicy) DeepCopy added in v0.2.0

func (in *RetentionPolicy) DeepCopy() *RetentionPolicy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RetentionPolicy.

func (*RetentionPolicy) DeepCopyInto added in v0.2.0

func (in *RetentionPolicy) DeepCopyInto(out *RetentionPolicy)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RetentionPolicyStatus added in v0.2.0

type RetentionPolicyStatus struct {
	// EffectiveTime is the time from which the policy was enforced and
	// effective.
	EffectiveTime metav1.Time `json:"effectiveTime,omitempty"`

	// IsLocked describes whether the bucket is locked. Once locked, an object
	// retention policy cannot be modified.
	IsLocked bool `json:"isLocked,omitempty"`
}

RetentionPolicyStatus output component of storage.RetentionPolicy

func NewRetentionPolicyStatus added in v0.2.0

func NewRetentionPolicyStatus(r *storage.RetentionPolicy) *RetentionPolicyStatus

NewRetentionPolicyStatus creates a new instance of RetentionPolicy from the storage counterpart

func (*RetentionPolicyStatus) DeepCopy added in v0.2.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RetentionPolicyStatus.

func (*RetentionPolicyStatus) DeepCopyInto added in v0.2.0

func (in *RetentionPolicyStatus) DeepCopyInto(out *RetentionPolicyStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

Jump to

Keyboard shortcuts

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