v1alpha1

package
v1.0.1 Latest Latest
Warning

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

Go to latest
Published: Nov 4, 2024 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Overview

Package v1alpha1 contains the v1alpha1 group Sample resources of the Ceph provider. +kubebuilder:object:generate=true +groupName=provider-ceph.ceph.crossplane.io +versionName=v1alpha1

Index

Constants

View Source
const (
	ReasonHealthCheckDisabled v1.ConditionReason = "HealthCheckDisabled"
	ReasonHealthCheckSuccess  v1.ConditionReason = "HealthCheckSuccess"
	ReasonHealthCheckFail     v1.ConditionReason = "HealthCheckFail"
)
View Source
const (
	Group   = "provider-ceph.ceph.crossplane.io"
	Version = "v1alpha1"
)

Package type metadata.

View Source
const (
	BackendLabelPrefix = "provider-ceph.backends."
)
View Source
const LifecycleConfigValidationBucketName = "lifecycle-configuration-validation-bucket"
View Source
const (
	ValidationRequiredLabel = "provider-ceph.crossplane.io/validation-required"
)

Variables

View Source
var (
	BucketKind             = reflect.TypeOf(Bucket{}).Name()
	BucketGroupKind        = schema.GroupKind{Group: Group, Kind: BucketKind}.String()
	BucketKindAPIVersion   = BucketKind + "." + SchemeGroupVersion.String()
	BucketGroupVersionKind = SchemeGroupVersion.WithKind(BucketKind)
)

Bucket type metadata.

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 HealthCheckDisabled added in v0.0.27

func HealthCheckDisabled() v1.Condition

HealthCheckDisabled returns a condition that indicates that the health of the resource is unknown because it is disabled.

func HealthCheckFail added in v0.0.27

func HealthCheckFail() v1.Condition

HealthCheckFail returns a condition that indicates that the resource is not ready because the health check was unsuccessful.

func HealthCheckSuccess added in v0.0.27

func HealthCheckSuccess() v1.Condition

HealthCheckSuccess returns a condition that indicates that the resource is ready because the health check was successful.

Types

type AbortIncompleteMultipartUpload added in v0.0.22

type AbortIncompleteMultipartUpload struct {
	// Specifies the number of days after which an incomplete multipart
	// upload is aborted.
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=2147483647
	DaysAfterInitiation *int32 `json:"daysAfterInitiation"`
}

AbortIncompleteMultipartUpload specifies the days since the initiation of an incomplete multipart upload that will be waited before all parts of the upload are permanently removed. For more information, see Aborting Incomplete Multipart Uploads Using a Bucket Lifecycle Policy (https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config) in the Amazon Simple Storage Service Developer Guide.

func (*AbortIncompleteMultipartUpload) DeepCopy added in v0.0.22

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

func (*AbortIncompleteMultipartUpload) DeepCopyInto added in v0.0.22

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

type AccessControlPolicy added in v0.0.44

type AccessControlPolicy struct {
	// A list of grants.
	// +optional
	Grants []Grant `json:"grants,omitempty"`
	// Container for the bucket owner's display name and ID.
	// +optional
	Owner *Owner `json:"owner,omitempty"`
}

Contains the elements that set the ACL permissions for an object per grantee.

func (*AccessControlPolicy) DeepCopy added in v0.0.44

func (in *AccessControlPolicy) DeepCopy() *AccessControlPolicy

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

func (*AccessControlPolicy) DeepCopyInto added in v0.0.44

func (in *AccessControlPolicy) DeepCopyInto(out *AccessControlPolicy)

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

type BackendInfo added in v0.0.22

type BackendInfo struct {
	// BucketCondition is the condition of the Bucket on the S3 backend.
	BucketCondition xpv1.Condition `json:"bucketCondition,omitempty"`
	// +optional
	// LifecycleConfigurationCondition is the condition of the bucket lifecycle
	// configuration on the S3 backend. Use a pointer to allow nil value when
	// there is no lifecycle configuration.
	LifecycleConfigurationCondition *xpv1.Condition `json:"lifecycleConfigurationCondition,omitempty"`
	// +optional
	// VersioningConfigurationCondition is the condition of the versioning
	// configuration on the S3 backend. Use a pointer to allow nil value when
	// there is no versioning configuration.
	VersioningConfigurationCondition *xpv1.Condition `json:"versioningConfigurationCondition,omitempty"`
	// +optional
	// ObjectLockConfigurationCondition is the condition of the object lock
	// configuration on the S3 backend. Use a pointer to allow nil value when
	// there is no object lock configuration.
	ObjectLockConfigurationCondition *xpv1.Condition `json:"objectLockConfigurationCondition,omitempty"`
}

BackendInfo contains relevant information about an S3 backend for a single bucket.

func (*BackendInfo) DeepCopy added in v0.0.22

func (in *BackendInfo) DeepCopy() *BackendInfo

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

func (*BackendInfo) DeepCopyInto added in v0.0.22

func (in *BackendInfo) DeepCopyInto(out *BackendInfo)

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

type Backends added in v0.0.22

type Backends map[string]*BackendInfo

Backends is a map of the names of the S3 backends to BackendInfo.

func (Backends) DeepCopy added in v0.0.22

func (in Backends) DeepCopy() Backends

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

func (Backends) DeepCopyInto added in v0.0.22

func (in Backends) DeepCopyInto(out *Backends)

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

type Bucket

type Bucket struct {
	Spec              BucketSpec   `json:"spec"`
	Status            BucketStatus `json:"status,omitempty"`
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
}

A Bucket is an example API type. +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:subresource:status +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ceph}

func (*Bucket) DeepCopy

func (in *Bucket) DeepCopy() *Bucket

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

func (*Bucket) DeepCopyInto

func (in *Bucket) DeepCopyInto(out *Bucket)

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

func (*Bucket) DeepCopyObject

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

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

func (*Bucket) GetCondition

func (mg *Bucket) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this Bucket.

func (*Bucket) GetDeletionPolicy

func (mg *Bucket) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this Bucket.

func (*Bucket) GetManagementPolicies added in v0.0.7

func (mg *Bucket) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this Bucket.

func (*Bucket) GetProviderConfigReference

func (mg *Bucket) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this Bucket.

func (*Bucket) GetPublishConnectionDetailsTo

func (mg *Bucket) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this Bucket.

func (*Bucket) GetWriteConnectionSecretToReference

func (mg *Bucket) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this Bucket.

func (*Bucket) SetConditions

func (mg *Bucket) SetConditions(c ...xpv1.Condition)

SetConditions of this Bucket.

func (*Bucket) SetDeletionPolicy

func (mg *Bucket) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this Bucket.

func (*Bucket) SetManagementPolicies added in v0.0.7

func (mg *Bucket) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this Bucket.

func (*Bucket) SetProviderConfigReference

func (mg *Bucket) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this Bucket.

func (*Bucket) SetPublishConnectionDetailsTo

func (mg *Bucket) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this Bucket.

func (*Bucket) SetWriteConnectionSecretToReference

func (mg *Bucket) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this Bucket.

type BucketLifecycleConfiguration added in v0.0.22

type BucketLifecycleConfiguration struct {
	// A lifecycle rule for individual objects in a bucket.
	//
	// Rules is a required field
	Rules []LifecycleRule `json:"rules"`
}

BucketLifecycleConfiguration specifies the lifecycle configuration for objects in a bucket. For more information, see Object Lifecycle Management (https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html) in the Amazon Simple Storage Service Developer Guide.

func (*BucketLifecycleConfiguration) DeepCopy added in v0.0.22

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

func (*BucketLifecycleConfiguration) DeepCopyInto added in v0.0.22

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

type BucketList

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

BucketList contains a list of Bucket

func (*BucketList) DeepCopy

func (in *BucketList) DeepCopy() *BucketList

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

func (*BucketList) DeepCopyInto

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

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

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

func (*BucketList) GetItems

func (l *BucketList) GetItems() []resource.Managed

GetItems of this BucketList.

type BucketObservation

type BucketObservation struct {
	Backends          Backends `json:"backends,omitempty"`
	ConfigurableField string   `json:"configurableField"`
	ObservableField   string   `json:"observableField,omitempty"`
}

BucketObservation are the observable fields of a Bucket.

func (*BucketObservation) DeepCopy

func (in *BucketObservation) DeepCopy() *BucketObservation

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

func (*BucketObservation) DeepCopyInto

func (in *BucketObservation) DeepCopyInto(out *BucketObservation)

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

type BucketParameters

type BucketParameters struct {
	// The canned ACL to apply to the bucket.
	// +kubebuilder:validation:Enum=private;public-read;public-read-write;authenticated-read
	ACL *string `json:"acl,omitempty"`

	// Contains the elements that set the ACL permissions for an object per grantee.
	AccessControlPolicy *AccessControlPolicy `json:"accessControlPolicy,omitempty"`

	// Allows grantee the read, write, read ACP, and write ACP permissions on the
	// bucket.
	GrantFullControl *string `json:"grantFullControl,omitempty"`

	// Allows grantee to list the objects in the bucket.
	GrantRead *string `json:"grantRead,omitempty"`

	// Allows grantee to read the bucket ACL.
	GrantReadACP *string `json:"grantReadACP,omitempty"`

	// Allows grantee to create new objects in the bucket.
	//
	// For the bucket and object owners of existing objects, also allows deletions
	// and overwrites of those objects.
	GrantWrite *string `json:"grantWrite,omitempty"`

	// Allows grantee to write the ACL for the applicable bucket.
	GrantWriteACP *string `json:"grantWriteACP,omitempty"`

	// Specifies whether you want S3 Object Lock to be enabled for the new bucket.
	// +kubebuilder:validation:Enum=true;null
	ObjectLockEnabledForBucket *bool `json:"objectLockEnabledForBucket,omitempty"`

	// The container element for object ownership for a bucket's ownership controls.
	//
	// BucketOwnerPreferred - Objects uploaded to the bucket change ownership to
	// the bucket owner if the objects are uploaded with the bucket-owner-full-control
	// canned ACL.
	//
	// ObjectWriter - The uploading account will own the object if the object is
	// uploaded with the bucket-owner-full-control canned ACL.
	//
	// BucketOwnerEnforced - Access control lists (ACLs) are disabled and no longer
	// affect permissions. The bucket owner automatically owns and has full control
	// over every object in the bucket. The bucket only accepts PUT requests that
	// don't specify an ACL or bucket owner full control ACLs, such as the bucket-owner-full-control
	// canned ACL or an equivalent form of this ACL expressed in the XML format.
	ObjectOwnership *string `json:"objectOwnership,omitempty"`

	// Specifies the Region where the bucket will be created.
	LocationConstraint string `json:"locationConstraint,omitempty"`

	// Creates a new lifecycle configuration for the bucket or replaces an existing
	// lifecycle configuration. For information about lifecycle configuration, see
	// Managing Access Permissions to Your Amazon S3 Resources
	// (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html).
	// +optional
	LifecycleConfiguration *BucketLifecycleConfiguration `json:"lifecycleConfiguration,omitempty"`

	// VersioningConfiguration describes the desired versioning state of an S3 bucket.
	// See the API reference guide for PutBucketVersioning for usage and error information.
	// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketVersioning
	// +optional
	VersioningConfiguration *VersioningConfiguration `json:"versioningConfiguration,omitempty"`

	// ObjectLockConfiguration describes the desired object lock state of an S3 bucket.
	// +optional
	ObjectLockConfiguration *ObjectLockConfiguration `json:"objectLockConfiguration,omitempty"`

	// AssumeRoleTags may be used to add custom values to an AssumeRole request.
	// +optional
	AssumeRoleTags []Tag `json:"assumeRoleTags,omitempty"`

	// Policy is a JSON string of BucketPolicy.
	// If it is set, Provider-Ceph calls PutBucketPolicy API after creating the bucket.
	// Before adding it, you should validate the JSON string.
	// +optional
	Policy string `json:"policy,omitempty"`
}

BucketParameters are the configurable fields of a Bucket.

func (*BucketParameters) DeepCopy

func (in *BucketParameters) DeepCopy() *BucketParameters

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

func (*BucketParameters) DeepCopyInto

func (in *BucketParameters) DeepCopyInto(out *BucketParameters)

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

type BucketSpec

type BucketSpec struct {
	// +optional
	// Providers is a list of ProviderConfig names representing
	// S3 backends on which the bucket is to be created.
	Providers   []string         `json:"providers,omitempty"`
	ForProvider BucketParameters `json:"forProvider"`
	// Disabled allows the user to create a Bucket CR without creating
	// buckets on any S3 backends. If an existing bucket CR is updated
	// with Disabled=true, then provider-ceph attempts to remove any
	// existing buckets from the existing S3 backends and the Bucket
	// CR's status is updated accordingly.
	// This flag overrides 'Providers'.
	Disabled bool `json:"disabled,omitempty"`
	// LifecycleConfigurationDisabled causes provider-ceph to
	// attempt deletion and/or avoid create/updates of the
	// lifecycle config for the bucket on all of the bucket's
	// backends. The Bucket CR's status is updated accordingly.
	LifecycleConfigurationDisabled bool `json:"lifecycleConfigurationDisabled,omitempty"`
	// +optional
	// AutoPause allows the user to disable further reconciliation
	// of the bucket after successfully created or updated.
	// If `crossplane.io/paused` label is `true`, disables reconciliation of object.
	// If `crossplane.io/paused` label is missing or empty, triggers auto pause function.
	// Any other value disables auto pause function on bucket.
	AutoPause         bool `json:"autoPause,omitempty"`
	xpv1.ResourceSpec `json:",inline"`
}

A BucketSpec defines the desired state of a Bucket.

func (*BucketSpec) DeepCopy

func (in *BucketSpec) DeepCopy() *BucketSpec

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

func (*BucketSpec) DeepCopyInto

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

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

type BucketStatus

type BucketStatus struct {
	AtProvider          BucketObservation `json:"atProvider,omitempty"`
	xpv1.ResourceStatus `json:",inline"`
}

A BucketStatus represents the observed state of a Bucket.

func (*BucketStatus) DeepCopy

func (in *BucketStatus) DeepCopy() *BucketStatus

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

func (*BucketStatus) DeepCopyInto

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

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

type DefaultRetention added in v0.0.48

type DefaultRetention struct {
	// +optional.
	// The number of days that you want to specify for the default retention period.
	// Must be used with Mode.
	Days *int32 `json:"days,omitempty"`
	// The default Object Lock retention mode you want to apply to new objects placed
	// in the specified bucket. Must be used with either Days or Years.
	// +kubebuilder:validation:Enum=GOVERNANCE;COMPLIANCE
	Mode DefaultRetentionMode `json:"mode,omitempty"`
	// +optional.
	// The number of years that you want to specify for the default retention period.
	// Must be used with Mode.
	Years *int32 `json:"years,omitempty"`
}

func (*DefaultRetention) DeepCopy added in v0.0.48

func (in *DefaultRetention) DeepCopy() *DefaultRetention

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

func (*DefaultRetention) DeepCopyInto added in v0.0.48

func (in *DefaultRetention) DeepCopyInto(out *DefaultRetention)

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

type DefaultRetentionMode added in v0.0.48

type DefaultRetentionMode string
const (
	ModeGovernance DefaultRetentionMode = "GOVERNANCE"
	ModeCompliance DefaultRetentionMode = "COMPLIANCE"
)

type Grant added in v0.0.44

type Grant struct {
	// The person being granted permissions.
	// +optional
	Grantee *Grantee `json:"grantee,omitempty"`
	// Specifies the permission given to the grantee.
	// +optional
	// +kubebuilder:validation:Enum=FULL_CONTROL;WRITE;WRITE;WRITE_ACP;READ;READ_ACP
	Permission Permission `json:"permission,omitempty"`
}

Container for grant information.

func (*Grant) DeepCopy added in v0.0.44

func (in *Grant) DeepCopy() *Grant

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

func (*Grant) DeepCopyInto added in v0.0.44

func (in *Grant) DeepCopyInto(out *Grant)

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

type Grantee added in v0.0.44

type Grantee struct {
	// Type of grantee.
	// Type is a required field.
	// +kubebuilder:validation:Enum=CanonicalUser;Email;Group
	Type Type `json:"type"`
	// Screen name of the grantee.
	// +optional
	DisplayName *string `json:"displayName,omitempty"`
	// Email address of the grantee.
	// +optional
	EmailAddress *string `json:"emailAddress,omitempty"`
	// The canonical user ID of the grantee.
	// +optional
	ID *string `json:"id,omitempty"`
	// URI of the grantee group.
	// +optional
	URI *string `json:"uri,omitempty"`
}

Container for the person being granted permissions.

func (*Grantee) DeepCopy added in v0.0.44

func (in *Grantee) DeepCopy() *Grantee

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

func (*Grantee) DeepCopyInto added in v0.0.44

func (in *Grantee) DeepCopyInto(out *Grantee)

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

type LifecycleExpiration added in v0.0.22

type LifecycleExpiration struct {
	// Indicates at what date the object is to be moved or deleted.
	Date *metav1.Time `json:"date,omitempty"`

	// Indicates the lifetime, in days, of the objects that are subject to the rule.
	// The value must be a non-zero positive integer.
	// +kubebuilder:validation:Minimum=1
	Days *int32 `json:"days,omitempty"`

	// Indicates whether a delete marker will be removed with no noncurrent
	// versions. If set to true, the delete marker will be expired; if set to false
	// the policy takes no action. This cannot be specified with Days or Date in
	// a Lifecycle Expiration Policy.
	ExpiredObjectDeleteMarker *bool `json:"expiredObjectDeleteMarker,omitempty"`
}

LifecycleExpiration contains for the expiration for the lifecycle of the object.

func (*LifecycleExpiration) DeepCopy added in v0.0.22

func (in *LifecycleExpiration) DeepCopy() *LifecycleExpiration

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

func (*LifecycleExpiration) DeepCopyInto added in v0.0.22

func (in *LifecycleExpiration) DeepCopyInto(out *LifecycleExpiration)

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

type LifecycleRule added in v0.0.22

type LifecycleRule struct {
	// Specifies the days since the initiation of an incomplete multipart upload
	// that will be waited before permanently removing all parts of the upload.
	// For more information, see Aborting Incomplete Multipart Uploads Using a Bucket
	// Lifecycle Policy (https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config)
	// in the Amazon Simple Storage Service Developer Guide.
	// +optional
	AbortIncompleteMultipartUpload *AbortIncompleteMultipartUpload `json:"abortIncompleteMultipartUpload,omitempty"`

	// Specifies the expiration for the lifecycle of the object in the form of date,
	// days and, whether the object has a delete marker.
	// +optional
	Expiration *LifecycleExpiration `json:"expiration,omitempty"`

	// The Filter is used to identify objects that a Lifecycle Rule applies to.
	// A Filter must have exactly one of Prefix, Tag, or And specified.
	// +optional
	Filter *LifecycleRuleFilter `json:"filter,omitempty"`

	// Unique identifier for the rule. The value cannot be longer than 255 characters.
	// +optional
	ID *string `json:"id,omitempty"`

	// Specifies when noncurrent object versions expire. Upon expiration, the noncurrent
	// object versions are permanently deleted. You set this lifecycle configuration action
	// on a bucket that has versioning enabled (or suspended) to request that noncurrent object
	// versions are deleted at a specific period in the object's lifetime.
	// +optional
	NoncurrentVersionExpiration *NoncurrentVersionExpiration `json:"noncurrentVersionExpiration,omitempty"`

	// Specifies the transition rule for the lifecycle rule that describes when
	// noncurrent objects transition to a specific storage class. If your bucket
	// is versioning-enabled (or versioning is suspended), you can set this action
	// to request that noncurrent object versions are transitioned  to a specific
	// storage class at a set period in the object's lifetime.
	// +optional
	NoncurrentVersionTransitions []NoncurrentVersionTransition `json:"noncurrentVersionTransitions,omitempty"`

	// If 'Enabled', the rule is currently being applied. If 'Disabled', the rule
	// is not currently being applied.
	//
	// Status is a required field, valid values are Enabled or Disabled
	// +kubebuilder:validation:Enum=Enabled;Disabled
	Status string `json:"status"`

	// Specifies when an Amazon S3 object transitions to a specified storage class.
	// +optional
	Transitions []Transition `json:"transitions,omitempty"`

	// Prefix identifying one or more objects to which the rule applies.
	// Deprecated: Use Filter instead.
	// This field is still supported as it is a required field in PutBucketLifecycle v1.
	// +optional
	Prefix *string `json:"prefix,omitempty"`
}

LifecycleRule for individual objects in a bucket.

func (*LifecycleRule) DeepCopy added in v0.0.22

func (in *LifecycleRule) DeepCopy() *LifecycleRule

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

func (*LifecycleRule) DeepCopyInto added in v0.0.22

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

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

type LifecycleRuleAndOperator added in v0.0.22

type LifecycleRuleAndOperator struct {
	// Prefix identifying one or more objects to which the rule applies.
	// +optional
	Prefix *string `json:"prefix,omitempty"`

	// All of these tags must exist in the object's tag set in order for the rule
	// to apply.
	// +optional
	Tags []Tag `json:"tags,omitempty"`

	// Minimum object size to which the rule applies.
	// +optional
	ObjectSizeGreaterThan *int64 `json:"objectSizeGreaterThan,omitempty"`

	// Maximum object size to which the rule applies.
	// +optional
	ObjectSizeLessThan *int64 `json:"objectSizeLessThan,omitempty"`
}

LifecycleRuleAndOperator is used in a Lifecycle Rule Filter to apply a logical AND to two or more predicates. The Lifecycle Rule will apply to any object matching all of the predicates configured inside the And operator.

func (*LifecycleRuleAndOperator) DeepCopy added in v0.0.22

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

func (*LifecycleRuleAndOperator) DeepCopyInto added in v0.0.22

func (in *LifecycleRuleAndOperator) DeepCopyInto(out *LifecycleRuleAndOperator)

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

type LifecycleRuleFilter added in v0.0.22

type LifecycleRuleFilter struct {
	// This is used in a Lifecycle Rule Filter to apply a logical AND to two or
	// more predicates. The Lifecycle Rule will apply to any object matching all
	// of the predicates configured inside the And operator.
	// +optional
	And *LifecycleRuleAndOperator `json:"and,omitempty"`

	// Prefix identifying one or more objects to which the rule applies.
	// +optional
	Prefix *string `json:"prefix,omitempty"`

	// This tag must exist in the object's tag set in order for the rule to apply.
	// +optional
	Tag *Tag `json:"tag,omitempty"`

	// Minimum object size to which the rule applies.
	// +optional
	ObjectSizeGreaterThan *int64 `json:"objectSizeGreaterThan,omitempty"`

	// Maximum object size to which the rule applies.
	// +optional
	ObjectSizeLessThan *int64 `json:"objectSizeLessThan,omitempty"`
}

LifecycleRuleFilter is used to identify objects that a Lifecycle Rule applies to. A Filter must have exactly one of Prefix, Tag, or And specified.

func (*LifecycleRuleFilter) DeepCopy added in v0.0.22

func (in *LifecycleRuleFilter) DeepCopy() *LifecycleRuleFilter

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

func (*LifecycleRuleFilter) DeepCopyInto added in v0.0.22

func (in *LifecycleRuleFilter) DeepCopyInto(out *LifecycleRuleFilter)

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

type MFADelete added in v0.0.47

type MFADelete string
const (
	MFADeleteEnabled  MFADelete = "Enabled"
	MFADeleteDisabled MFADelete = "Disabled"
)

type NoncurrentVersionExpiration added in v0.0.22

type NoncurrentVersionExpiration struct {
	// Specifies the number of days an object is noncurrent before the associated action
	// can be performed.
	NoncurrentDays *int32 `json:"noncurrentDays,omitempty"`

	// Specifies how many noncurrent versions will be retained.
	// +optional
	NewerNoncurrentVersions *int32 `json:"newerNoncurrentVersions,omitempty"`
}

NoncurrentVersionExpiration specifies when noncurrent object versions expire. Upon expiration, the noncurrent object versions are permanently deleted. You set this lifecycle configuration action on a bucket that has versioning enabled (or suspended) to request that the noncurrent object versions are deleted at a specific period in the object's lifetime.

func (*NoncurrentVersionExpiration) DeepCopy added in v0.0.22

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

func (*NoncurrentVersionExpiration) DeepCopyInto added in v0.0.22

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

type NoncurrentVersionTransition added in v0.0.22

type NoncurrentVersionTransition struct {
	// Specifies the number of days an object is noncurrent before the associated action
	// can be performed.
	NoncurrentDays *int32 `json:"noncurrentDays,omitempty"`

	// The class of storage used to store the object.
	StorageClass string `json:"storageClass"`

	// Specifies how many noncurrent versions will be retained.
	// +optional
	NewerNoncurrentVersions *int32 `json:"newerNoncurrentVersions,omitempty"`
}

NoncurrentVersionTransition contains the transition rule that describes when noncurrent objects transition storage class. If your bucket is versioning-enabled (or versioning is suspended), you can set this action to request that the storage class of the non-current version is transitioned at a specific period in the object's lifetime.

func (*NoncurrentVersionTransition) DeepCopy added in v0.0.22

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

func (*NoncurrentVersionTransition) DeepCopyInto added in v0.0.22

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

type ObjectLockConfiguration added in v0.0.48

type ObjectLockConfiguration struct {
	// +optional.
	// Indicates whether this bucket has an Object Lock configuration enabled. Enable
	// ObjectLockEnabled when you apply ObjectLockConfiguration to a bucket.
	// +kubebuilder:validation:Enum=Enabled
	ObjectLockEnabled *ObjectLockEnabled `json:"objectLockEnabled,omitempty"`
	// +optional.
	// Specifies the Object Lock rule for the specified object. Enable this rule
	// when you apply ObjectLockConfiguration to a bucket. Bucket settings require
	// both a mode and a period. The period can be either Days or Years but you must
	// select one. You cannot specify Days and Years at the same time.
	Rule *ObjectLockRule `json:"objectLockRule,omitempty"`
}

ObjectLockConfiguration describes the object lock state of an S3 bucket.

func (*ObjectLockConfiguration) DeepCopy added in v0.0.48

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

func (*ObjectLockConfiguration) DeepCopyInto added in v0.0.48

func (in *ObjectLockConfiguration) DeepCopyInto(out *ObjectLockConfiguration)

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

type ObjectLockEnabled added in v0.0.48

type ObjectLockEnabled string
const (
	ObjectLockEnabledEnabled ObjectLockEnabled = "Enabled"
)

type ObjectLockRule added in v0.0.48

type ObjectLockRule struct {
	// +optional.
	// The default Object Lock retention mode and period that you want to apply to new
	// objects placed in the specified bucket. Bucket settings require both a mode and
	// a period. The period can be either Days or Years but you must select one. You
	// cannot specify Days and Years at the same time.
	DefaultRetention *DefaultRetention `json:"defaultRetention,omitempty"`
}

func (*ObjectLockRule) DeepCopy added in v0.0.48

func (in *ObjectLockRule) DeepCopy() *ObjectLockRule

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

func (*ObjectLockRule) DeepCopyInto added in v0.0.48

func (in *ObjectLockRule) DeepCopyInto(out *ObjectLockRule)

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

type Owner added in v0.0.44

type Owner struct {
	// Container for the display name of the owner.
	// +optional
	DisplayName *string `json:"displayName,omitempty"`
	// Container for the ID of the owner.
	// +optional
	ID *string `json:"id,omitempty"`
}

Container for the owner's display name and ID.

func (*Owner) DeepCopy added in v0.0.44

func (in *Owner) DeepCopy() *Owner

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

func (*Owner) DeepCopyInto added in v0.0.44

func (in *Owner) DeepCopyInto(out *Owner)

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

type Permission added in v0.0.44

type Permission string
const (
	PermissionFullControl Permission = "FULL_CONTROL"
	PermissionWrite       Permission = "WRITE"
	PermissionWriteAcp    Permission = "WRITE_ACP"
	PermissionRead        Permission = "READ"
	PermissionReadAcp     Permission = "READ_ACP"
)

Enum values for Permission

type Tag added in v0.0.22

type Tag struct {
	// Name of the tag.
	// Key is a required field
	Key string `json:"key"`

	// Value of the tag.
	// Value is a required field
	Value string `json:"value"`
}

Tag is a container for a key value name pair.

func (*Tag) DeepCopy added in v0.0.22

func (in *Tag) DeepCopy() *Tag

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

func (*Tag) DeepCopyInto added in v0.0.22

func (in *Tag) DeepCopyInto(out *Tag)

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

type Transition added in v0.0.22

type Transition struct {
	// Indicates when objects are transitioned to the specified storage class. The
	// date value must be in ISO 8601 format. The time is always midnight UTC.
	Date *metav1.Time `json:"date,omitempty"`

	// Indicates the number of days after creation when objects are transitioned
	// to the specified storage class. The value must be a positive integer.
	// +kubebuilder:validation:Minimum=1
	Days *int32 `json:"days,omitempty"`

	// The storage class to which you want the object to transition.
	StorageClass string `json:"storageClass"`
}

Transition specifies when an object transitions to a specified storage class.

func (*Transition) DeepCopy added in v0.0.22

func (in *Transition) DeepCopy() *Transition

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

func (*Transition) DeepCopyInto added in v0.0.22

func (in *Transition) DeepCopyInto(out *Transition)

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

type Type added in v0.0.44

type Type string
const (
	TypeCanonicalUser Type = "CanonicalUser"
	TypeEmail         Type = "Email"
	TypeGroup         Type = "Group"
)

Enum values for Type

type VersioningConfiguration added in v0.0.47

type VersioningConfiguration struct {
	// MFADelete specifies whether MFA delete is enabled in the bucket versioning configuration.
	// This element is only returned if the bucket has been configured with MFA
	// delete. If the bucket has never been so configured, this element is not returned.
	// +kubebuilder:validation:Enum=Enabled;Disabled
	MFADelete *MFADelete `json:"mfaDelete,omitempty"`

	// Status is the desired versioning state of the bucket.
	// +kubebuilder:validation:Enum=Enabled;Suspended
	Status *VersioningStatus `json:"status,omitempty"`
}

VersioningConfiguration describes the versioning state of an S3 bucket.

func (*VersioningConfiguration) DeepCopy added in v0.0.47

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

func (*VersioningConfiguration) DeepCopyInto added in v0.0.47

func (in *VersioningConfiguration) DeepCopyInto(out *VersioningConfiguration)

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

type VersioningStatus added in v0.0.47

type VersioningStatus string
const (
	VersioningStatusEnabled   VersioningStatus = "Enabled"
	VersioningStatusSuspended VersioningStatus = "Suspended"
)

Jump to

Keyboard shortcuts

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