v1alpha1

package
v0.0.24 Latest Latest
Warning

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

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

Documentation

Overview

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

Index

Constants

View Source
const (
	CRDGroup   = "image.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 (
	Image_Kind             = "Image"
	Image_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: Image_Kind}.String()
	Image_KindAPIVersion   = Image_Kind + "." + CRDGroupVersion.String()
	Image_GroupVersionKind = CRDGroupVersion.WithKind(Image_Kind)
)

Repository type metadata.

Functions

This section is empty.

Types

type Image

type Image 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   ImageSpec   `json:"spec"`
	Status ImageStatus `json:"status,omitempty"`
}

Image is the Schema for the Images API. Manages a Linode Image. +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].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 (*Image) DeepCopy

func (in *Image) DeepCopy() *Image

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

func (*Image) DeepCopyInto

func (in *Image) DeepCopyInto(out *Image)

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

func (*Image) DeepCopyObject

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

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

func (*Image) GetCondition

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

GetCondition of this Image.

func (*Image) GetConnectionDetailsMapping

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

GetConnectionDetailsMapping for this Image

func (*Image) GetDeletionPolicy

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

GetDeletionPolicy of this Image.

func (*Image) GetID

func (tr *Image) GetID() string

GetID returns ID of underlying Terraform resource of this Image

func (*Image) GetInitParameters added in v0.0.16

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

GetInitParameters of this Image

func (*Image) GetManagementPolicies added in v0.0.16

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

GetManagementPolicies of this Image.

func (*Image) GetMergedParameters added in v0.0.16

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

GetInitParameters of this Image

func (*Image) GetObservation

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

GetObservation of this Image

func (*Image) GetParameters

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

GetParameters of this Image

func (*Image) GetProviderConfigReference

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

GetProviderConfigReference of this Image.

func (*Image) GetPublishConnectionDetailsTo

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

GetPublishConnectionDetailsTo of this Image.

func (*Image) GetTerraformResourceType

func (mg *Image) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this Image

func (*Image) GetTerraformSchemaVersion

func (tr *Image) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*Image) GetWriteConnectionSecretToReference

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

GetWriteConnectionSecretToReference of this Image.

func (*Image) Hub added in v0.0.16

func (tr *Image) Hub()

Hub marks this type as a conversion hub.

func (*Image) LateInitialize

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

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

func (*Image) ResolveReferences added in v0.0.1

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

ResolveReferences of this Image.

func (*Image) SetConditions

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

SetConditions of this Image.

func (*Image) SetDeletionPolicy

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

SetDeletionPolicy of this Image.

func (*Image) SetManagementPolicies added in v0.0.16

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

SetManagementPolicies of this Image.

func (*Image) SetObservation

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

SetObservation for this Image

func (*Image) SetParameters

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

SetParameters for this Image

func (*Image) SetProviderConfigReference

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

SetProviderConfigReference of this Image.

func (*Image) SetPublishConnectionDetailsTo

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

SetPublishConnectionDetailsTo of this Image.

func (*Image) SetWriteConnectionSecretToReference

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

SetWriteConnectionSecretToReference of this Image.

type ImageInitParameters added in v0.0.16

type ImageInitParameters struct {

	// Whether this image supports cloud-init.
	CloudInit *bool `json:"cloudInit,omitempty" tf:"cloud_init,omitempty"`

	// A detailed description of this Image.
	// A detailed description of this Image.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// The ID of the Linode Disk that this Image will be created from.
	// The ID of the Linode Disk that this Image will be created from.
	// +crossplane:generate:reference:type=github.com/linode/provider-linode/apis/instance/v1alpha1.Disk
	DiskID *float64 `json:"diskId,omitempty" tf:"disk_id,omitempty"`

	// Reference to a Disk in instance to populate diskId.
	// +kubebuilder:validation:Optional
	DiskIDRef *v1.Reference `json:"diskIdRef,omitempty" tf:"-"`

	// Selector for a Disk in instance to populate diskId.
	// +kubebuilder:validation:Optional
	DiskIDSelector *v1.Selector `json:"diskIdSelector,omitempty" tf:"-"`

	// The MD5 hash of the file to be uploaded. This is used to trigger file updates.
	// The MD5 hash of the image file.
	FileHash *string `json:"fileHash,omitempty" tf:"file_hash,omitempty"`

	// The path of the image file to be uploaded.
	// The name of the file to upload to this image.
	FilePath *string `json:"filePath,omitempty" tf:"file_path,omitempty"`

	// A short description of the Image. Labels cannot contain special characters.
	// A short description of the Image. Labels cannot contain special characters.
	Label *string `json:"label,omitempty" tf:"label,omitempty"`

	// The ID of the Linode that this Image will be created from.
	// The ID of the Linode that this Image will be created from.
	// +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 of the image. See all regions here.
	// The region to upload to.
	Region *string `json:"region,omitempty" tf:"region,omitempty"`

	// A list of regions that customer wants to replicate this image in. At least one valid region is required and only core regions allowed. Existing images in the regions not passed will be removed. Note: Image replication may not be available to all users. See Replicate an Image here for more details.
	// A list of regions that customer wants to replicate this image in. At least one available region is required and only core regions allowed. Existing images in the regions not passed will be removed.
	ReplicaRegions []*string `json:"replicaRegions,omitempty" tf:"replica_regions,omitempty"`

	// A list of customized tags.
	// The customized tags for the image.
	Tags []*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// Whether to wait for all image replications become available. Default to false.
	// Whether to wait for all image replications become `available`.
	WaitForReplications *bool `json:"waitForReplications,omitempty" tf:"wait_for_replications,omitempty"`
}

func (*ImageInitParameters) DeepCopy added in v0.0.16

func (in *ImageInitParameters) DeepCopy() *ImageInitParameters

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

func (*ImageInitParameters) DeepCopyInto added in v0.0.16

func (in *ImageInitParameters) DeepCopyInto(out *ImageInitParameters)

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

type ImageList

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

ImageList contains a list of Images

func (*ImageList) DeepCopy

func (in *ImageList) DeepCopy() *ImageList

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

func (*ImageList) DeepCopyInto

func (in *ImageList) DeepCopyInto(out *ImageList)

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

func (*ImageList) DeepCopyObject

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

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

func (*ImageList) GetItems

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

GetItems of this ImageList.

type ImageObservation

type ImageObservation struct {

	// The capabilities of this Image.
	Capabilities []*string `json:"capabilities,omitempty" tf:"capabilities,omitempty"`

	// Whether this image supports cloud-init.
	CloudInit *bool `json:"cloudInit,omitempty" tf:"cloud_init,omitempty"`

	// When this Image was created.
	// When this Image was created.
	Created *string `json:"created,omitempty" tf:"created,omitempty"`

	// The name of the User who created this Image.
	// The name of the User who created this Image.
	CreatedBy *string `json:"createdBy,omitempty" tf:"created_by,omitempty"`

	// Whether or not this Image is deprecated. Will only be True for deprecated public Images.
	// Whether or not this Image is deprecated. Will only be True for deprecated public Images.
	Deprecated *bool `json:"deprecated,omitempty" tf:"deprecated,omitempty"`

	// A detailed description of this Image.
	// A detailed description of this Image.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// The ID of the Linode Disk that this Image will be created from.
	// The ID of the Linode Disk that this Image will be created from.
	DiskID *float64 `json:"diskId,omitempty" tf:"disk_id,omitempty"`

	// Only Images created automatically (from a deleted Linode; type=automatic) will expire.
	// Only Images created automatically (from a deleted Linode; type=automatic) will expire.
	Expiry *string `json:"expiry,omitempty" tf:"expiry,omitempty"`

	// The MD5 hash of the file to be uploaded. This is used to trigger file updates.
	// The MD5 hash of the image file.
	FileHash *string `json:"fileHash,omitempty" tf:"file_hash,omitempty"`

	// The path of the image file to be uploaded.
	// The name of the file to upload to this image.
	FilePath *string `json:"filePath,omitempty" tf:"file_path,omitempty"`

	// The unique ID of this Image.  The ID of private images begin with private/ followed by the numeric identifier of the private image, for example private/12345.
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// True if the Image is public.
	// True if the Image is public.
	IsPublic *bool `json:"isPublic,omitempty" tf:"is_public,omitempty"`

	// A short description of the Image. Labels cannot contain special characters.
	// A short description of the Image. Labels cannot contain special characters.
	Label *string `json:"label,omitempty" tf:"label,omitempty"`

	// The ID of the Linode that this Image will be created from.
	// The ID of the Linode that this Image will be created from.
	LinodeID *float64 `json:"linodeId,omitempty" tf:"linode_id,omitempty"`

	// The region of the image. See all regions here.
	// The region to upload to.
	Region *string `json:"region,omitempty" tf:"region,omitempty"`

	// A list of regions that customer wants to replicate this image in. At least one valid region is required and only core regions allowed. Existing images in the regions not passed will be removed. Note: Image replication may not be available to all users. See Replicate an Image here for more details.
	// A list of regions that customer wants to replicate this image in. At least one available region is required and only core regions allowed. Existing images in the regions not passed will be removed.
	ReplicaRegions []*string `json:"replicaRegions,omitempty" tf:"replica_regions,omitempty"`

	// A list of image replications region and corresponding status.
	// A list of image replications region and corresponding status.
	Replications []ReplicationsObservation `json:"replications,omitempty" tf:"replications,omitempty"`

	// The minimum size this Image needs to deploy. Size is in MB.
	// The minimum size this Image needs to deploy. Size is in MB.
	Size *float64 `json:"size,omitempty" tf:"size,omitempty"`

	// The status of an image replica.
	// The current status of this Image.
	Status *string `json:"status,omitempty" tf:"status,omitempty"`

	// A list of customized tags.
	// The customized tags for the image.
	Tags []*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// The total size of the image in all available regions.
	// The total size of the image in all available regions.
	TotalSize *float64 `json:"totalSize,omitempty" tf:"total_size,omitempty"`

	// How the Image was created. 'Manual' Images can be created at any time. 'Automatic' images are created automatically from a deleted Linode.
	// How the Image was created. 'Manual' Images can be created at any time. 'Automatic' images are created automatically from a deleted Linode.
	Type *string `json:"type,omitempty" tf:"type,omitempty"`

	// The upstream distribution vendor. Nil for private Images.
	// The upstream distribution vendor. Nil for private Images.
	Vendor *string `json:"vendor,omitempty" tf:"vendor,omitempty"`

	// Whether to wait for all image replications become available. Default to false.
	// Whether to wait for all image replications become `available`.
	WaitForReplications *bool `json:"waitForReplications,omitempty" tf:"wait_for_replications,omitempty"`
}

func (*ImageObservation) DeepCopy

func (in *ImageObservation) DeepCopy() *ImageObservation

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

func (*ImageObservation) DeepCopyInto

func (in *ImageObservation) DeepCopyInto(out *ImageObservation)

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

type ImageParameters

type ImageParameters struct {

	// Whether this image supports cloud-init.
	// +kubebuilder:validation:Optional
	CloudInit *bool `json:"cloudInit,omitempty" tf:"cloud_init,omitempty"`

	// A detailed description of this Image.
	// A detailed description of this Image.
	// +kubebuilder:validation:Optional
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// The ID of the Linode Disk that this Image will be created from.
	// The ID of the Linode Disk that this Image will be created from.
	// +crossplane:generate:reference:type=github.com/linode/provider-linode/apis/instance/v1alpha1.Disk
	// +kubebuilder:validation:Optional
	DiskID *float64 `json:"diskId,omitempty" tf:"disk_id,omitempty"`

	// Reference to a Disk in instance to populate diskId.
	// +kubebuilder:validation:Optional
	DiskIDRef *v1.Reference `json:"diskIdRef,omitempty" tf:"-"`

	// Selector for a Disk in instance to populate diskId.
	// +kubebuilder:validation:Optional
	DiskIDSelector *v1.Selector `json:"diskIdSelector,omitempty" tf:"-"`

	// The MD5 hash of the file to be uploaded. This is used to trigger file updates.
	// The MD5 hash of the image file.
	// +kubebuilder:validation:Optional
	FileHash *string `json:"fileHash,omitempty" tf:"file_hash,omitempty"`

	// The path of the image file to be uploaded.
	// The name of the file to upload to this image.
	// +kubebuilder:validation:Optional
	FilePath *string `json:"filePath,omitempty" tf:"file_path,omitempty"`

	// A short description of the Image. Labels cannot contain special characters.
	// A short description of the Image. Labels cannot contain special characters.
	// +kubebuilder:validation:Optional
	Label *string `json:"label,omitempty" tf:"label,omitempty"`

	// The ID of the Linode that this Image will be created from.
	// The ID of the Linode that this Image will be created from.
	// +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 of the image. See all regions here.
	// The region to upload to.
	// +kubebuilder:validation:Optional
	Region *string `json:"region,omitempty" tf:"region,omitempty"`

	// A list of regions that customer wants to replicate this image in. At least one valid region is required and only core regions allowed. Existing images in the regions not passed will be removed. Note: Image replication may not be available to all users. See Replicate an Image here for more details.
	// A list of regions that customer wants to replicate this image in. At least one available region is required and only core regions allowed. Existing images in the regions not passed will be removed.
	// +kubebuilder:validation:Optional
	ReplicaRegions []*string `json:"replicaRegions,omitempty" tf:"replica_regions,omitempty"`

	// A list of customized tags.
	// The customized tags for the image.
	// +kubebuilder:validation:Optional
	Tags []*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// Whether to wait for all image replications become available. Default to false.
	// Whether to wait for all image replications become `available`.
	// +kubebuilder:validation:Optional
	WaitForReplications *bool `json:"waitForReplications,omitempty" tf:"wait_for_replications,omitempty"`
}

func (*ImageParameters) DeepCopy

func (in *ImageParameters) DeepCopy() *ImageParameters

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

func (*ImageParameters) DeepCopyInto

func (in *ImageParameters) DeepCopyInto(out *ImageParameters)

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

type ImageSpec

type ImageSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     ImageParameters `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 ImageInitParameters `json:"initProvider,omitempty"`
}

ImageSpec defines the desired state of Image

func (*ImageSpec) DeepCopy

func (in *ImageSpec) DeepCopy() *ImageSpec

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

func (*ImageSpec) DeepCopyInto

func (in *ImageSpec) DeepCopyInto(out *ImageSpec)

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

type ImageStatus

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

ImageStatus defines the observed state of Image.

func (*ImageStatus) DeepCopy

func (in *ImageStatus) DeepCopy() *ImageStatus

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

func (*ImageStatus) DeepCopyInto

func (in *ImageStatus) DeepCopyInto(out *ImageStatus)

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

type ReplicationsInitParameters added in v0.0.24

type ReplicationsInitParameters struct {
}

func (*ReplicationsInitParameters) DeepCopy added in v0.0.24

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

func (*ReplicationsInitParameters) DeepCopyInto added in v0.0.24

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

type ReplicationsObservation added in v0.0.24

type ReplicationsObservation struct {

	// The region of the image. See all regions here.
	Region *string `json:"region,omitempty" tf:"region,omitempty"`

	// The status of an image replica.
	Status *string `json:"status,omitempty" tf:"status,omitempty"`
}

func (*ReplicationsObservation) DeepCopy added in v0.0.24

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

func (*ReplicationsObservation) DeepCopyInto added in v0.0.24

func (in *ReplicationsObservation) DeepCopyInto(out *ReplicationsObservation)

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

type ReplicationsParameters added in v0.0.24

type ReplicationsParameters struct {
}

func (*ReplicationsParameters) DeepCopy added in v0.0.24

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

func (*ReplicationsParameters) DeepCopyInto added in v0.0.24

func (in *ReplicationsParameters) DeepCopyInto(out *ReplicationsParameters)

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