v1alpha1

package
v0.0.20 Latest Latest
Warning

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

Go to latest
Published: Apr 30, 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"`
}

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"`

	// 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 current status of this Image.
	Status *string `json:"status,omitempty" tf:"status,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"`
}

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"`
}

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.

Jump to

Keyboard shortcuts

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