v1alpha3

package
v0.2.0 Latest Latest
Warning

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

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

Documentation

Overview

Package v1alpha3 contains managed resources for AWS storage services such as S3. +kubebuilder:object:generate=true +groupName=storage.aws.crossplane.io +versionName=v1alpha3

Index

Constants

View Source
const (
	Group   = "storage.aws.crossplane.io"
	Version = "v1alpha3"
)

Package type 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}
)
View Source
var (
	S3BucketKind             = reflect.TypeOf(S3Bucket{}).Name()
	S3BucketKindAPIVersion   = "s3bucket" + "." + SchemeGroupVersion.String()
	S3BucketGroupVersionKind = SchemeGroupVersion.WithKind(S3BucketKind)
)

S3Bucket type metadata.

View Source
var (
	S3BucketClassKind             = reflect.TypeOf(S3BucketClass{}).Name()
	S3BucketClassKindAPIVersion   = S3BucketClassKind + "." + SchemeGroupVersion.String()
	S3BucketClassGroupVersionKind = SchemeGroupVersion.WithKind(S3BucketClassKind)
)

S3BucketClass type metadata.

Functions

This section is empty.

Types

type S3Bucket

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

	Spec   S3BucketSpec   `json:"spec,omitempty"`
	Status S3BucketStatus `json:"status,omitempty"`
}

An S3Bucket is a managed resource that represents an AWS S3 Bucket. +kubebuilder:printcolumn:name="CLASS",type="string",JSONPath=".spec.classRef.name" +kubebuilder:printcolumn:name="PREDEFINED-ACL",type="string",JSONPath=".spec.cannedACL" +kubebuilder:printcolumn:name="LOCAL-PERMISSION",type="string",JSONPath=".spec.localPermission" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:scope=Cluster

func (*S3Bucket) DeepCopy

func (in *S3Bucket) DeepCopy() *S3Bucket

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

func (*S3Bucket) DeepCopyInto

func (in *S3Bucket) DeepCopyInto(out *S3Bucket)

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

func (*S3Bucket) DeepCopyObject

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

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

func (*S3Bucket) GetBindingPhase

func (mg *S3Bucket) GetBindingPhase() runtimev1alpha1.BindingPhase

GetBindingPhase of this S3Bucket.

func (*S3Bucket) GetBucketName

func (b *S3Bucket) 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 (*S3Bucket) GetClaimReference

func (mg *S3Bucket) GetClaimReference() *corev1.ObjectReference

GetClaimReference of this S3Bucket.

func (*S3Bucket) GetClassReference

func (mg *S3Bucket) GetClassReference() *corev1.ObjectReference

GetClassReference of this S3Bucket.

func (*S3Bucket) GetCondition

GetCondition of this S3Bucket.

func (*S3Bucket) GetReclaimPolicy

func (mg *S3Bucket) GetReclaimPolicy() runtimev1alpha1.ReclaimPolicy

GetReclaimPolicy of this S3Bucket.

func (*S3Bucket) GetWriteConnectionSecretToReference

func (mg *S3Bucket) GetWriteConnectionSecretToReference() *runtimev1alpha1.SecretReference

GetWriteConnectionSecretToReference of this S3Bucket.

func (*S3Bucket) HasPolicyChanged

func (b *S3Bucket) HasPolicyChanged(policyVersion string) (bool, error)

HasPolicyChanged returns true if the bucket's policy is older than the supplied version.

func (*S3Bucket) SetBindingPhase

func (mg *S3Bucket) SetBindingPhase(p runtimev1alpha1.BindingPhase)

SetBindingPhase of this S3Bucket.

func (*S3Bucket) SetClaimReference

func (mg *S3Bucket) SetClaimReference(r *corev1.ObjectReference)

SetClaimReference of this S3Bucket.

func (*S3Bucket) SetClassReference

func (mg *S3Bucket) SetClassReference(r *corev1.ObjectReference)

SetClassReference of this S3Bucket.

func (*S3Bucket) SetConditions

func (mg *S3Bucket) SetConditions(c ...runtimev1alpha1.Condition)

SetConditions of this S3Bucket.

func (*S3Bucket) SetReclaimPolicy

func (mg *S3Bucket) SetReclaimPolicy(r runtimev1alpha1.ReclaimPolicy)

SetReclaimPolicy of this S3Bucket.

func (*S3Bucket) SetUserPolicyVersion

func (b *S3Bucket) SetUserPolicyVersion(policyVersion string) error

SetUserPolicyVersion specifies this bucket's policy version.

func (*S3Bucket) SetWriteConnectionSecretToReference

func (mg *S3Bucket) SetWriteConnectionSecretToReference(r *runtimev1alpha1.SecretReference)

SetWriteConnectionSecretToReference of this S3Bucket.

type S3BucketClass

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

	// SpecTemplate is a template for the spec of a dynamically provisioned
	// S3Bucket.
	SpecTemplate S3BucketClassSpecTemplate `json:"specTemplate"`
}

An S3BucketClass is a resource class. It defines the desired spec of resource claims that use it to dynamically provision a managed resource. +kubebuilder:printcolumn:name="PROVIDER-REF",type="string",JSONPath=".specTemplate.providerRef.name" +kubebuilder:printcolumn:name="RECLAIM-POLICY",type="string",JSONPath=".specTemplate.reclaimPolicy" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:scope=Cluster

func (*S3BucketClass) DeepCopy

func (in *S3BucketClass) DeepCopy() *S3BucketClass

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

func (*S3BucketClass) DeepCopyInto

func (in *S3BucketClass) DeepCopyInto(out *S3BucketClass)

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

func (*S3BucketClass) DeepCopyObject

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

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

func (*S3BucketClass) GetReclaimPolicy

func (cs *S3BucketClass) GetReclaimPolicy() runtimev1alpha1.ReclaimPolicy

GetReclaimPolicy of this S3BucketClass.

func (*S3BucketClass) SetReclaimPolicy

func (cs *S3BucketClass) SetReclaimPolicy(r runtimev1alpha1.ReclaimPolicy)

SetReclaimPolicy of this S3BucketClass.

type S3BucketClassList

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

S3BucketClassList contains a list of cloud memorystore resource classes.

func (*S3BucketClassList) DeepCopy

func (in *S3BucketClassList) DeepCopy() *S3BucketClassList

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

func (*S3BucketClassList) DeepCopyInto

func (in *S3BucketClassList) DeepCopyInto(out *S3BucketClassList)

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

func (*S3BucketClassList) DeepCopyObject

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

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

type S3BucketClassSpecTemplate

type S3BucketClassSpecTemplate struct {
	runtimev1alpha1.ClassSpecTemplate `json:",inline"`
	S3BucketParameters                `json:",inline"`
}

An S3BucketClassSpecTemplate is a template for the spec of a dynamically provisioned S3Bucket.

func (*S3BucketClassSpecTemplate) DeepCopy

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

func (*S3BucketClassSpecTemplate) DeepCopyInto

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

type S3BucketList

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

S3BucketList contains a list of S3Buckets

func (*S3BucketList) DeepCopy

func (in *S3BucketList) DeepCopy() *S3BucketList

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

func (*S3BucketList) DeepCopyInto

func (in *S3BucketList) DeepCopyInto(out *S3BucketList)

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

func (*S3BucketList) DeepCopyObject

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

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

type S3BucketParameters

type S3BucketParameters struct {
	// NameFormat specifies the name of the external S3Bucket instance. The
	// first instance of the string '%s' will be replaced with the Kubernetes
	// UID of this S3Bucket. Omit this field to use the UID alone as the name.
	// +optional
	NameFormat string `json:"nameFormat,omitempty"`

	// Region of the bucket.
	Region string `json:"region"`

	// CannedACL applies a standard AWS built-in ACL for common bucket use
	// cases.
	// +kubebuilder:validation:Enum=private;public-read;public-read-write;authenticated-read;log-delivery-write;aws-exec-read
	// +optional
	CannedACL *s3.BucketCannedACL `json:"cannedACL,omitempty"`

	// Versioning enables versioning of objects stored in this bucket.
	// +optional
	Versioning bool `json:"versioning,omitempty"`

	// LocalPermission is the permissions granted on the bucket for the provider
	// specific bucket service account that is available in a secret after
	// provisioning.
	// +kubebuilder:validation:Enum=Read;Write;ReadWrite
	LocalPermission *storagev1alpha1.LocalPermissionType `json:"localPermission"`
}

S3BucketParameters define the desired state of an AWS S3 Bucket.

func (*S3BucketParameters) DeepCopy

func (in *S3BucketParameters) DeepCopy() *S3BucketParameters

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

func (*S3BucketParameters) DeepCopyInto

func (in *S3BucketParameters) DeepCopyInto(out *S3BucketParameters)

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

type S3BucketSpec

type S3BucketSpec struct {
	runtimev1alpha1.ResourceSpec `json:",inline"`
	S3BucketParameters           `json:",inline"`
}

S3BucketSpec defines the desired state of S3Bucket

func (*S3BucketSpec) DeepCopy

func (in *S3BucketSpec) DeepCopy() *S3BucketSpec

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

func (*S3BucketSpec) DeepCopyInto

func (in *S3BucketSpec) DeepCopyInto(out *S3BucketSpec)

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

type S3BucketStatus

type S3BucketStatus struct {
	runtimev1alpha1.ResourceStatus `json:",inline"`

	// ProviderID is the AWS identifier for this bucket.
	ProviderID string `json:"providerID,omitempty"`

	// IAMUsername is the name of an IAM user that is automatically created and
	// granted access to this bucket by Crossplane at bucket creation time.
	IAMUsername string `json:"iamUsername,omitempty"`

	// LastUserPolicyVersion is the most recent version of the policy associated
	// with this bucket's IAMUser.
	LastUserPolicyVersion int `json:"lastUserPolicyVersion,omitempty"`

	// LastLocalPermission is the most recent local permission that was set for
	// this bucket.
	LastLocalPermission storagev1alpha1.LocalPermissionType `json:"lastLocalPermission,omitempty"`
}

S3BucketStatus defines the observed state of S3Bucket

func (*S3BucketStatus) DeepCopy

func (in *S3BucketStatus) DeepCopy() *S3BucketStatus

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

func (*S3BucketStatus) DeepCopyInto

func (in *S3BucketStatus) DeepCopyInto(out *S3BucketStatus)

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