v1alpha1

package
v0.0.19 Latest Latest
Warning

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

Go to latest
Published: Mar 23, 2024 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Overview

+kubebuilder:object:generate=true +groupName=volume.linode.upbound.io +versionName=v1alpha1

Index

Constants

View Source
const (
	CRDGroup   = "volume.linode.upbound.io"
	CRDVersion = "v1alpha1"
)

Package type metadata.

Variables

View Source
var (
	// CRDGroupVersion is the API Group Version used to register the objects
	CRDGroupVersion = schema.GroupVersion{Group: CRDGroup, Version: CRDVersion}

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

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)
View Source
var (
	Volume_Kind             = "Volume"
	Volume_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: Volume_Kind}.String()
	Volume_KindAPIVersion   = Volume_Kind + "." + CRDGroupVersion.String()
	Volume_GroupVersionKind = CRDGroupVersion.WithKind(Volume_Kind)
)

Repository type metadata.

Functions

This section is empty.

Types

type Volume

type Volume struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.label) || (has(self.initProvider) && has(self.initProvider.label))",message="spec.forProvider.label is a required parameter"
	Spec   VolumeSpec   `json:"spec"`
	Status VolumeStatus `json:"status,omitempty"`
}

Volume is the Schema for the Volumes API. Manages a Linode Volume. +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:resource:scope=Cluster,categories={crossplane,managed,linode}

func (*Volume) DeepCopy

func (in *Volume) DeepCopy() *Volume

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

func (*Volume) DeepCopyInto

func (in *Volume) DeepCopyInto(out *Volume)

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

func (*Volume) DeepCopyObject

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

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

func (*Volume) GetCondition

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

GetCondition of this Volume.

func (*Volume) GetConnectionDetailsMapping

func (tr *Volume) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this Volume

func (*Volume) GetDeletionPolicy

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

GetDeletionPolicy of this Volume.

func (*Volume) GetID

func (tr *Volume) GetID() string

GetID returns ID of underlying Terraform resource of this Volume

func (*Volume) GetInitParameters added in v0.0.16

func (tr *Volume) GetInitParameters() (map[string]any, error)

GetInitParameters of this Volume

func (*Volume) GetManagementPolicies added in v0.0.16

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

GetManagementPolicies of this Volume.

func (*Volume) GetMergedParameters added in v0.0.16

func (tr *Volume) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this Volume

func (*Volume) GetObservation

func (tr *Volume) GetObservation() (map[string]any, error)

GetObservation of this Volume

func (*Volume) GetParameters

func (tr *Volume) GetParameters() (map[string]any, error)

GetParameters of this Volume

func (*Volume) GetProviderConfigReference

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

GetProviderConfigReference of this Volume.

func (*Volume) GetPublishConnectionDetailsTo

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

GetPublishConnectionDetailsTo of this Volume.

func (*Volume) GetTerraformResourceType

func (mg *Volume) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this Volume

func (*Volume) GetTerraformSchemaVersion

func (tr *Volume) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*Volume) GetWriteConnectionSecretToReference

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

GetWriteConnectionSecretToReference of this Volume.

func (*Volume) Hub added in v0.0.16

func (tr *Volume) Hub()

Hub marks this type as a conversion hub.

func (*Volume) LateInitialize

func (tr *Volume) LateInitialize(attrs []byte) (bool, error)

LateInitialize this Volume using its observed tfState. returns True if there are any spec changes for the resource.

func (*Volume) ResolveReferences added in v0.0.1

func (mg *Volume) ResolveReferences(ctx context.Context, c client.Reader) error

ResolveReferences of this Volume.

func (*Volume) SetConditions

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

SetConditions of this Volume.

func (*Volume) SetDeletionPolicy

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

SetDeletionPolicy of this Volume.

func (*Volume) SetManagementPolicies added in v0.0.16

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

SetManagementPolicies of this Volume.

func (*Volume) SetObservation

func (tr *Volume) SetObservation(obs map[string]any) error

SetObservation for this Volume

func (*Volume) SetParameters

func (tr *Volume) SetParameters(params map[string]any) error

SetParameters for this Volume

func (*Volume) SetProviderConfigReference

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

SetProviderConfigReference of this Volume.

func (*Volume) SetPublishConnectionDetailsTo

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

SetPublishConnectionDetailsTo of this Volume.

func (*Volume) SetWriteConnectionSecretToReference

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

SetWriteConnectionSecretToReference of this Volume.

type VolumeInitParameters added in v0.0.16

type VolumeInitParameters struct {

	// The label of the Linode Volume
	// The label of the Linode Volume.
	Label *string `json:"label,omitempty" tf:"label,omitempty"`

	// The ID of a Linode Instance where the Volume should be attached.
	// The Linode ID where the Volume should be attached.
	// +crossplane:generate:reference:type=github.com/linode/provider-linode/apis/instance/v1alpha1.Instance
	LinodeID *float64 `json:"linodeId,omitempty" tf:"linode_id,omitempty"`

	// Reference to a Instance in instance to populate linodeId.
	// +kubebuilder:validation:Optional
	LinodeIDRef *v1.Reference `json:"linodeIdRef,omitempty" tf:"-"`

	// Selector for a Instance in instance to populate linodeId.
	// +kubebuilder:validation:Optional
	LinodeIDSelector *v1.Selector `json:"linodeIdSelector,omitempty" tf:"-"`

	// The region where this volume will be deployed.  Examples are "us-east", "us-west", "ap-south", etc. See all regions here. This field is optional for cloned volumes. Changing .
	// The region where this volume will be deployed.
	Region *string `json:"region,omitempty" tf:"region,omitempty"`

	// Size of the Volume in GB.
	// Size of the Volume in GB
	Size *float64 `json:"size,omitempty" tf:"size,omitempty"`

	// The ID of a Linode Volume to clone. NOTE: Cloned volumes must be in the same region as the source volume.
	// The ID of a volume to clone.
	SourceVolumeID *float64 `json:"sourceVolumeId,omitempty" tf:"source_volume_id,omitempty"`

	// A list of tags applied to this object. Tags are case-insensitive and are for organizational purposes only.
	// An array of tags applied to this object. Tags are for organizational purposes only.
	// +listType=set
	Tags []*string `json:"tags,omitempty" tf:"tags,omitempty"`
}

func (*VolumeInitParameters) DeepCopy added in v0.0.16

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

func (*VolumeInitParameters) DeepCopyInto added in v0.0.16

func (in *VolumeInitParameters) DeepCopyInto(out *VolumeInitParameters)

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

type VolumeList

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

VolumeList contains a list of Volumes

func (*VolumeList) DeepCopy

func (in *VolumeList) DeepCopy() *VolumeList

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

func (*VolumeList) DeepCopyInto

func (in *VolumeList) DeepCopyInto(out *VolumeList)

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

func (*VolumeList) DeepCopyObject

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

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

func (*VolumeList) GetItems

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

GetItems of this VolumeList.

type VolumeObservation

type VolumeObservation struct {

	// The full filesystem path for the Volume based on the Volume's label. The path is "/dev/disk/by-id/scsi-0Linode_Volume_" + the Volume label
	// The full filesystem path for the Volume based on the Volume's label. Path is /dev/disk/by-id/scsi-0Linode_Volume_ + Volume label.
	FilesystemPath *string `json:"filesystemPath,omitempty" tf:"filesystem_path,omitempty"`

	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// The label of the Linode Volume
	// The label of the Linode Volume.
	Label *string `json:"label,omitempty" tf:"label,omitempty"`

	// The ID of a Linode Instance where the Volume should be attached.
	// The Linode ID where the Volume should be attached.
	LinodeID *float64 `json:"linodeId,omitempty" tf:"linode_id,omitempty"`

	// The region where this volume will be deployed.  Examples are "us-east", "us-west", "ap-south", etc. See all regions here. This field is optional for cloned volumes. Changing .
	// The region where this volume will be deployed.
	Region *string `json:"region,omitempty" tf:"region,omitempty"`

	// Size of the Volume in GB.
	// Size of the Volume in GB
	Size *float64 `json:"size,omitempty" tf:"size,omitempty"`

	// The ID of a Linode Volume to clone. NOTE: Cloned volumes must be in the same region as the source volume.
	// The ID of a volume to clone.
	SourceVolumeID *float64 `json:"sourceVolumeId,omitempty" tf:"source_volume_id,omitempty"`

	// The status of the Linode Volume. (creating, active, resizing, contact_support)
	// The status of the volume, indicating the current readiness state.
	Status *string `json:"status,omitempty" tf:"status,omitempty"`

	// A list of tags applied to this object. Tags are case-insensitive and are for organizational purposes only.
	// An array of tags applied to this object. Tags are for organizational purposes only.
	// +listType=set
	Tags []*string `json:"tags,omitempty" tf:"tags,omitempty"`
}

func (*VolumeObservation) DeepCopy

func (in *VolumeObservation) DeepCopy() *VolumeObservation

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

func (*VolumeObservation) DeepCopyInto

func (in *VolumeObservation) DeepCopyInto(out *VolumeObservation)

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

type VolumeParameters

type VolumeParameters struct {

	// The label of the Linode Volume
	// The label of the Linode Volume.
	// +kubebuilder:validation:Optional
	Label *string `json:"label,omitempty" tf:"label,omitempty"`

	// The ID of a Linode Instance where the Volume should be attached.
	// The Linode ID where the Volume should be attached.
	// +crossplane:generate:reference:type=github.com/linode/provider-linode/apis/instance/v1alpha1.Instance
	// +kubebuilder:validation:Optional
	LinodeID *float64 `json:"linodeId,omitempty" tf:"linode_id,omitempty"`

	// Reference to a Instance in instance to populate linodeId.
	// +kubebuilder:validation:Optional
	LinodeIDRef *v1.Reference `json:"linodeIdRef,omitempty" tf:"-"`

	// Selector for a Instance in instance to populate linodeId.
	// +kubebuilder:validation:Optional
	LinodeIDSelector *v1.Selector `json:"linodeIdSelector,omitempty" tf:"-"`

	// The region where this volume will be deployed.  Examples are "us-east", "us-west", "ap-south", etc. See all regions here. This field is optional for cloned volumes. Changing .
	// The region where this volume will be deployed.
	// +kubebuilder:validation:Optional
	Region *string `json:"region,omitempty" tf:"region,omitempty"`

	// Size of the Volume in GB.
	// Size of the Volume in GB
	// +kubebuilder:validation:Optional
	Size *float64 `json:"size,omitempty" tf:"size,omitempty"`

	// The ID of a Linode Volume to clone. NOTE: Cloned volumes must be in the same region as the source volume.
	// The ID of a volume to clone.
	// +kubebuilder:validation:Optional
	SourceVolumeID *float64 `json:"sourceVolumeId,omitempty" tf:"source_volume_id,omitempty"`

	// A list of tags applied to this object. Tags are case-insensitive and are for organizational purposes only.
	// An array of tags applied to this object. Tags are for organizational purposes only.
	// +kubebuilder:validation:Optional
	// +listType=set
	Tags []*string `json:"tags,omitempty" tf:"tags,omitempty"`
}

func (*VolumeParameters) DeepCopy

func (in *VolumeParameters) DeepCopy() *VolumeParameters

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

func (*VolumeParameters) DeepCopyInto

func (in *VolumeParameters) DeepCopyInto(out *VolumeParameters)

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

type VolumeSpec

type VolumeSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     VolumeParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider VolumeInitParameters `json:"initProvider,omitempty"`
}

VolumeSpec defines the desired state of Volume

func (*VolumeSpec) DeepCopy

func (in *VolumeSpec) DeepCopy() *VolumeSpec

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

func (*VolumeSpec) DeepCopyInto

func (in *VolumeSpec) DeepCopyInto(out *VolumeSpec)

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

type VolumeStatus

type VolumeStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        VolumeObservation `json:"atProvider,omitempty"`
}

VolumeStatus defines the observed state of Volume.

func (*VolumeStatus) DeepCopy

func (in *VolumeStatus) DeepCopy() *VolumeStatus

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

func (*VolumeStatus) DeepCopyInto

func (in *VolumeStatus) DeepCopyInto(out *VolumeStatus)

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