v1alpha1

package
v0.1.1 Latest Latest
Warning

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

Go to latest
Published: Jan 31, 2025 License: Apache-2.0 Imports: 18 Imported by: 0

Documentation

Overview

Package v1alpha1 contains the v1alpha1 API implementation.

Package v1alpha1 contains API Schema definitions for the infrastructure v1alpha1 API group +kubebuilder:object:generate=true +groupName=infrastructure.cluster.x-k8s.io

Index

Constants

View Source
const (
	// ConditionStatusProvisioning is the string representing an instance in a provisioning state.
	ConditionStatusProvisioning clusterv1.ConditionType = "PROVISIONING"
	// ConditionStatusRunning is the string representing an instance in a running state.
	ConditionStatusRunning = "RUNNING"
	// ConditionStatusReady is the string representing an instance in a ready state.
	ConditionStatusReady = "READY"
	// ConditionStatusError is the string representing an instance in a error state.
	ConditionStatusError = "ERROR"
	// ConditionStatusNotfound used when the instance couldn't be retrieved.
	ConditionStatusNotfound = "NOTFOUND"
)
View Source
const (
	// LoadBalancerReadyCondition reports on whether a control plane load balancer was successfully reconciled.
	LoadBalancerReadyCondition clusterv1.ConditionType = "LoadBalancerReady"
	// LoadBalancerFailedReason used when an error occurs during load balancer reconciliation.
	LoadBalancerFailedReason = "LoadBalancerFailed"
)
View Source
const (
	// MachineFinalizer allows cleaning up resources associated with
	// YandexMachine before removing it from the apiserver.
	MachineFinalizer = "yandexmachine.infrastructure.cluster.x-k8s.io"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "infrastructure.cluster.x-k8s.io", Version: "v1alpha1"}

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

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)
View Source
var (
	// InstanceStatusProvisioning is the string representing an instance in a provisioning state.
	InstanceStatusProvisioning = InstanceStatus("PROVISIONING")
	// InstanceStatusRunning is the string representing an instance in a running state.
	InstanceStatusRunning = InstanceStatus("RUNNING")
	// InstanceStatusError is the string representing an instance in a error state.
	InstanceStatusError = InstanceStatus("ERROR")
	// InstanceStatusStopped is the string representing an instance in a stopped state.
	InstanceStatusStopped = InstanceStatus("STOPPED")
	// InstanceStatusStarting is the string representing an instance in a starting state.
	InstanceStatusStarting = InstanceStatus("STARTING")
	// InstanceStatusStopping is the string representing an instance in a stopping state.
	InstanceStatusStopping = InstanceStatus("STOPPING")
	// InstanceStatusRestarting is the string representing an instance in a restarting state.
	InstanceStatusRestarting = InstanceStatus("RESTARTING")
	// InstanceStatusUpdating is the string representing an instance in a updating state.
	InstanceStatusUpdating = InstanceStatus("UPDATING")
	// InstanceStatusCrashed is the string representing an instance in a crashed state.
	InstanceStatusCrashed = InstanceStatus("CRASHED")
	// InstanceStatusDeleting is the string representing an instance in a deleting state.
	InstanceStatusDeleting = InstanceStatus("DELETING")
	// InstanceStatusDeleted is the string representing an instance in a deleted state.
	InstanceStatusDeleted = InstanceStatus("DELETED")
	// InstanceStatusUnspecified is the string representing an instance in a unknown state.
	InstanceStatusUnspecified = InstanceStatus("UNSPECIFIED")
)

Functions

This section is empty.

Types

type AddrType

type AddrType int

AddrType is a address type

const (
	Unknown AddrType = iota + 1
	FQDN
	IPV4
	IPV6
)

Possible address types

type Disk

type Disk struct {
	// TypeID is the disk storage type for YandexCloud VM
	// Possible values: network-ssd, network-hdd, network-ssd-nonreplicated, network-ssd-io-m3
	// More information https://cloud.yandex.ru/ru/docs/compute/concepts/disk .
	// +optional
	// +kubebuilder:default=network-ssd
	TypeID *string `json:"typeID,omitempty"`

	// Size is the disk size in bytes
	// Allows to specify k,M,G... or Ki,Mi,Gi... suffixes
	// For more information see https://pkg.go.dev/k8s.io/apimachinery/pkg/api/resource#Quantity .
	Size resource.Quantity `json:"size"`

	// ImageID is the identifier for OS image of YandexCloud VM.
	ImageID string `json:"imageID"`
}

Disk defines YandexCloud VM disk configuration.

func (*Disk) DeepCopy

func (in *Disk) DeepCopy() *Disk

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

func (*Disk) DeepCopyInto

func (in *Disk) DeepCopyInto(out *Disk)

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

type HealtcheckSpec

type HealtcheckSpec struct {
	// +optional
	// +kubebuilder:default=1
	HealthcheckTimeoutSec int `json:"healthcheckTimeoutSec,omitempty"`
	// +optional
	// +kubebuilder:default=3
	HealthcheckIntervalSec int `json:"healthcheckIntervalSec,omitempty"`
	// +optional
	// +kubebuilder:default=3
	HealthcheckThreshold int `json:"healthcheckThreshold,omitempty"`
}

HealtcheckSpec configures load balancer healthchecks.

func (*HealtcheckSpec) DeepCopy

func (in *HealtcheckSpec) DeepCopy() *HealtcheckSpec

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

func (*HealtcheckSpec) DeepCopyInto

func (in *HealtcheckSpec) DeepCopyInto(out *HealtcheckSpec)

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

type InstanceStatus

type InstanceStatus string

InstanceStatus describes the status of a Yandex Cloud Compute instance.

type Labels

type Labels map[string]string

Labels defines a map of tags. No more than 64 per resource. The string length in characters for each key must be 1-63. Each key must match the regular expression [a-z][-_./\@0-9a-z]*. The maximum string length in characters for each value is 63. Each value must match the regular expression [-_./\@0-9a-z]*. More information https://yandex.cloud/docs/overview/concepts/services#labels.

func (Labels) DeepCopy

func (in Labels) DeepCopy() Labels

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

func (Labels) DeepCopyInto

func (in Labels) DeepCopyInto(out *Labels)

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

type ListenerSpec

type ListenerSpec struct {
	// load balancer listener ip address.
	// +optional
	Address string `json:"address,omitempty"`

	// load balancer listener port. Acceptable values are 1 to 65535, inclusive.
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=65535
	// +kubebuilder:default=8443
	// +optional
	Port int32 `json:"port,omitempty"`

	// If Internal value is true, then a private IP will be used for the listener address.
	// +kubebuilder:default=true
	// +optional
	Internal bool `json:"internal,omitempty"`

	// Load balancer listener will be located in this subnet.
	// More information https://yandex.cloud/ru/docs/vpc/concepts/network#subnet.
	// +required
	Subnet SubnetSpec `json:"subnet"`
}

ListenerSpec is a load balancer listener configuration for the kubernetes cluster api. More information https://yandex.cloud/ru/docs/application-load-balancer/concepts/application-load-balancer#listener.

func (*ListenerSpec) DeepCopy

func (in *ListenerSpec) DeepCopy() *ListenerSpec

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

func (*ListenerSpec) DeepCopyInto

func (in *ListenerSpec) DeepCopyInto(out *ListenerSpec)

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

type LoadBalancerSpec

type LoadBalancerSpec struct {
	// Type is a type of a loadbalancer, possible values are: NLB and ALB.
	// If Type not provided, loadbalancer type will be set to the ALB.
	// +optional
	// +kubebuilder:default=ALB
	// +kubebuilder:validation:Enum:=ALB;NLB
	Type LoadBalancerType `json:"type,omitempty"`

	// Name sets the name of the ALB load balancer. The name must be unique within your set of
	// load balancers for the folder, must have a minimum 3 and maximum of 63 characters,
	// must contain only alphanumeric characters or hyphens, and cannot begin or end with a hyphen.
	// Once set, the value cannot be changed.
	// +kubebuilder:validation:MinLength:=3
	// +kubebuilder:validation:MaxLength:=63
	// +kubebuilder:validation:Pattern=`([a-z]([-a-z0-9]{0,61}[a-z0-9])?)?`
	// +optional
	Name string `json:"name,omitempty"`

	// ListenerSpec is a listener configuration for the load balancer.
	// +required
	Listener ListenerSpec `json:"listener"`

	// Load balancer backend port. Acceptable values are 1 to 65535, inclusive.
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=65535
	// +kubebuilder:default=8443
	// +optional
	BackendPort int32 `json:"backendPort,omitempty"`

	// +optional
	// +kubebuilder:default={}
	Healthcheck HealtcheckSpec `json:"healthcheck,omitempty"`

	// SecurityGroups sets the security groups ID used by the load balancer.
	// If SecurityGroups not provided, new security group will be created for the load balancer.
	// More information https://yandex.cloud/ru/docs/vpc/concepts/security-groups.
	// +optional
	SecurityGroups []string `json:"securityGroups,omitempty"`
}

LoadBalancerSpec is a loadbalancer configuration for the kubernetes cluster API.

func (*LoadBalancerSpec) DeepCopy

func (in *LoadBalancerSpec) DeepCopy() *LoadBalancerSpec

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

func (*LoadBalancerSpec) DeepCopyInto

func (in *LoadBalancerSpec) DeepCopyInto(out *LoadBalancerSpec)

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

type LoadBalancerStatus

type LoadBalancerStatus struct {
	// The name of the load balancer.
	// +optional
	Name string `json:"name,omitempty"`

	// ListenerAddress is the IPV4 l address assigned to the load balancer listener,
	// created for the API Server.
	// +optional
	ListenerAddress string `json:"listenerAddress,omitempty"`

	// ListenerPort is the port assigned to the load balancer listener, created for the API Server.
	// +optional
	ListenerPort int32 `json:"listenerPort,omitempty"`
}

LoadBalancerStatus encapsulates load balancer resources.

func (*LoadBalancerStatus) DeepCopy

func (in *LoadBalancerStatus) DeepCopy() *LoadBalancerStatus

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

func (*LoadBalancerStatus) DeepCopyInto

func (in *LoadBalancerStatus) DeepCopyInto(out *LoadBalancerStatus)

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

type LoadBalancerType

type LoadBalancerType string

LoadBalancerType is a type of a loadbalancer. More details about loadbalancer type in YandexCloud docs: NLB https://yandex.cloud/ru/services/network-load-balancer . ALB https://yandex.cloud/ru/services/application-load-balancer .

const (
	// ClusterFinalizer allows cleaning up resources associated with
	// YandexCluster before removing it from the apiserver.
	ClusterFinalizer = "yandexcluster.infrastructure.cluster.x-k8s.io"
	// LoadBalancerTypeALB is the name of the application load balancer type.
	LoadBalancerTypeALB LoadBalancerType = "ALB"
	// LoadBalancerTypeNLB is the name of the network load balancer type.
	LoadBalancerTypeNLB LoadBalancerType = "NLB"
)

type NetworkInterface

type NetworkInterface struct {
	// SubnetID is the identifier of subnetwork to use for this instance.
	SubnetID string `json:"subnetID"`

	// HasPublicIP is set to true if public IP for YandexCloud VM is needed.
	// +optional
	// +kubebuilder:default=false
	HasPublicIP *bool `json:"hasPublicIP,omitempty"`
}

NetworkInterface defines the network interface configuration of YandexCloud VM.

func (*NetworkInterface) DeepCopy

func (in *NetworkInterface) DeepCopy() *NetworkInterface

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

func (*NetworkInterface) DeepCopyInto

func (in *NetworkInterface) DeepCopyInto(out *NetworkInterface)

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

type NetworkSpec

type NetworkSpec struct {
	// ID is the unique identificator of the cloud network to be used.
	// More information https://yandex.cloud/ru/docs/vpc/concepts/network.
	ID string `json:"id,omitempty"`
}

NetworkSpec encapsulates all things related to Yandex network.

func (*NetworkSpec) DeepCopy

func (in *NetworkSpec) DeepCopy() *NetworkSpec

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

func (*NetworkSpec) DeepCopyInto

func (in *NetworkSpec) DeepCopyInto(out *NetworkSpec)

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

type Resources

type Resources struct {
	// Memory is the RAM memory size for YandexCloud VM in bytes
	// Allows to specify k,M,G... or Ki,Mi,Gi... suffixes
	// For more information see https://pkg.go.dev/k8s.io/apimachinery/pkg/api/resource#Quantity .
	Memory resource.Quantity `json:"memory"`

	// Cores is the number of cpu cores for YandexCloud VM.
	Cores int64 `json:"cores"`

	// CoreFraction is baseline level of CPU performance with the ability to burst performance above that baseline level.
	// This field sets baseline performance for each core.
	// For more information see https://yandex.cloud/en/docs/compute/concepts/performance-levels
	// +optional
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Maximum=100
	// +kubebuilder:default=100
	CoreFraction *int64 `json:"coreFraction,omitempty"`

	// GPUs is the number of GPUs available for YandexCloud VM.
	// +optional
	GPUs *int64 `json:"gpus,omitempty"`
}

Resources defines the YandexCloud VM resources, like cores, memory etc.

func (*Resources) DeepCopy

func (in *Resources) DeepCopy() *Resources

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

func (*Resources) DeepCopyInto

func (in *Resources) DeepCopyInto(out *Resources)

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

type SubnetSpec

type SubnetSpec struct {
	// ZoneID is the identifier of YandexCloud availability zone where the subnet resides.
	ZoneID string `json:"zoneID,omitempty"`

	// ID defines a unique identificator of the subnet to be used.
	ID string `json:"id,omitempty"`
}

SubnetSpec configures an Yandex Subnet.

func (*SubnetSpec) DeepCopy

func (in *SubnetSpec) DeepCopy() *SubnetSpec

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

func (*SubnetSpec) DeepCopyInto

func (in *SubnetSpec) DeepCopyInto(out *SubnetSpec)

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

type YandexCluster

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

	Spec   YandexClusterSpec   `json:"spec,omitempty"`
	Status YandexClusterStatus `json:"status,omitempty"`
}

YandexCluster is the Schema for the yandexclusters API.

func (*YandexCluster) DeepCopy

func (in *YandexCluster) DeepCopy() *YandexCluster

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

func (*YandexCluster) DeepCopyInto

func (in *YandexCluster) DeepCopyInto(out *YandexCluster)

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

func (*YandexCluster) DeepCopyObject

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

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

func (*YandexCluster) Default

func (c *YandexCluster) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type.

func (*YandexCluster) GetConditions

func (yc *YandexCluster) GetConditions() clusterv1.Conditions

GetConditions returns the list of conditions for an YandexCluster API object.

func (*YandexCluster) SetConditions

func (yc *YandexCluster) SetConditions(conditions clusterv1.Conditions)

SetConditions will set the given conditions on an YandexCluster API object.

func (*YandexCluster) SetupWebhookWithManager

func (c *YandexCluster) SetupWebhookWithManager(mgr ctrl.Manager) error

SetupWebhookWithManager creates a validation webhook

func (*YandexCluster) ValidateCreate

func (c *YandexCluster) ValidateCreate() (admission.Warnings, error)

ValidateCreate implements webhook.Validator so a webhook will be registered for the type.

func (*YandexCluster) ValidateDelete

func (c *YandexCluster) ValidateDelete() (admission.Warnings, error)

ValidateDelete implements webhook.Validator so a webhook will be registered for the type.

func (*YandexCluster) ValidateUpdate

func (c *YandexCluster) ValidateUpdate(oldRaw runtime.Object) (admission.Warnings, error)

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.

type YandexClusterList

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

YandexClusterList contains a list of YandexCluster.

func (*YandexClusterList) DeepCopy

func (in *YandexClusterList) DeepCopy() *YandexClusterList

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

func (*YandexClusterList) DeepCopyInto

func (in *YandexClusterList) DeepCopyInto(out *YandexClusterList)

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

func (*YandexClusterList) DeepCopyObject

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

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

type YandexClusterSpec

type YandexClusterSpec struct {
	// NetworkSpec encapsulates all things related to Yandex network.
	NetworkSpec NetworkSpec `json:"network,omitempty"`

	// ControlPlaneEndpoint represents the endpoint used to communicate with the control plane.
	// Once set, the value cannot be changed.
	// Do not set it manually when creating YandexCluster as CAPY will set this for you
	// after creating load balancer based on LoadBalancer specification.
	// +optional
	ControlPlaneEndpoint clusterv1.APIEndpoint `json:"controlPlaneEndpoint"`

	// FolderID is the identifier of YandexCloud folder to deploy the cluster to.
	// +required
	// +kubebuilder:validation:MinLength=1
	FolderID string `json:"folderID"`

	// LoadBalancer is a loadbalancer configuration for the kubernetes cluster API.
	// +required
	LoadBalancer LoadBalancerSpec `json:"loadBalancer"`

	// Labels is an optional set of labels to add to Yandex resources managed by the CAPY provider.
	// +optional
	Labels Labels `json:"labels,omitempty"`
}

YandexClusterSpec defines the desired state of YandexCluster.

func (*YandexClusterSpec) DeepCopy

func (in *YandexClusterSpec) DeepCopy() *YandexClusterSpec

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

func (*YandexClusterSpec) DeepCopyInto

func (in *YandexClusterSpec) DeepCopyInto(out *YandexClusterSpec)

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

type YandexClusterStatus

type YandexClusterStatus struct {
	// Ready is true when the provider resource is ready.
	// +kubebuilder:default=false
	Ready        bool                 `json:"ready"`
	LoadBalancer LoadBalancerStatus   `json:"loadBalancerStatus,omitempty"`
	Conditions   clusterv1.Conditions `json:"conditions,omitempty"`
}

YandexClusterStatus defines the observed state of YandexCluster.

func (*YandexClusterStatus) DeepCopy

func (in *YandexClusterStatus) DeepCopy() *YandexClusterStatus

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

func (*YandexClusterStatus) DeepCopyInto

func (in *YandexClusterStatus) DeepCopyInto(out *YandexClusterStatus)

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

type YandexMachine

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

	Spec   YandexMachineSpec   `json:"spec,omitempty"`
	Status YandexMachineStatus `json:"status,omitempty"`
}

YandexMachine is the Schema for the yandexmachines API.

func (*YandexMachine) DeepCopy

func (in *YandexMachine) DeepCopy() *YandexMachine

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

func (*YandexMachine) DeepCopyInto

func (in *YandexMachine) DeepCopyInto(out *YandexMachine)

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

func (*YandexMachine) DeepCopyObject

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

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

func (*YandexMachine) Default

func (ym *YandexMachine) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type.

func (*YandexMachine) GetConditions

func (ym *YandexMachine) GetConditions() clusterv1.Conditions

GetConditions returns the list of conditions for an Yandex Machine API object.

func (*YandexMachine) SetConditions

func (ym *YandexMachine) SetConditions(conditions clusterv1.Conditions)

SetConditions will set the given conditions on an Yandex Machine API object.

func (*YandexMachine) SetupWebhookWithManager

func (ym *YandexMachine) SetupWebhookWithManager(mgr ctrl.Manager) error

SetupWebhookWithManager creates an YandexMachine validation webhook.

func (*YandexMachine) ValidateCreate

func (ym *YandexMachine) ValidateCreate() (admission.Warnings, error)

ValidateCreate implements webhook.Validator so a webhook will be registered for the type.

func (*YandexMachine) ValidateDelete

func (ym *YandexMachine) ValidateDelete() (admission.Warnings, error)

ValidateDelete implements webhook.Validator so a webhook will be registered for the type.

func (*YandexMachine) ValidateUpdate

func (ym *YandexMachine) ValidateUpdate(oldRaw runtime.Object) (admission.Warnings, error)

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.

type YandexMachineList

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

YandexMachineList contains a list of YandexMachine.

func (*YandexMachineList) DeepCopy

func (in *YandexMachineList) DeepCopy() *YandexMachineList

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

func (*YandexMachineList) DeepCopyInto

func (in *YandexMachineList) DeepCopyInto(out *YandexMachineList)

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

func (*YandexMachineList) DeepCopyObject

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

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

type YandexMachineSpec

type YandexMachineSpec struct {
	// ProviderID is the unique identifier as specified by the cloud provider.
	ProviderID *string `json:"providerID,omitempty"`

	// ZoneID is the identifier of YandexCloud availability zone.
	// +optional
	// +kubebuilder:default=ru-central1-d
	ZoneID *string `json:"zoneID,omitempty"`

	// PlatformID is the identifier of YandexCloud current CPU model.
	// For example: standard-v1, standard-v2, standard-v3, highfreq-v3
	// With GPU: gpu-standard-v1, gpu-standard-v2, gpu-standard-v3, standard-v3-t4
	// More information https://cloud.yandex.ru/ru/docs/compute/concepts/vm-platforms .
	// +optional
	// +kubebuilder:default=standard-v3
	PlatformID *string `json:"platformID,omitempty"`

	// Disk is boot storage configuration for YandexCloud VM.
	BootDisk *Disk `json:"bootDisk"`

	// Resources contains computing resources of YandexCloud VM.
	Resources Resources `json:"resources"`

	// NetworkInterfaces is a network interfaces configurations for YandexCloud VM
	NetworkInterfaces []NetworkInterface `json:"networkInterfaces"`
}

YandexMachineSpec defines the desired state of YandexMachine.

func (*YandexMachineSpec) DeepCopy

func (in *YandexMachineSpec) DeepCopy() *YandexMachineSpec

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

func (*YandexMachineSpec) DeepCopyInto

func (in *YandexMachineSpec) DeepCopyInto(out *YandexMachineSpec)

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

type YandexMachineStatus

type YandexMachineStatus struct {
	// Ready is true when the provider resource is ready.
	// +optional
	Ready bool `json:"ready"`

	// Addresses contains the YandexCloud instance associated addresses.
	// +optional
	Addresses []corev1.NodeAddress `json:"addresses,omitempty"`

	// InstanceStatus is the status of the Yandex instance for this machine.
	// +optional
	InstanceStatus *InstanceStatus `json:"instanceState,omitempty"`

	// FailureReason will be set in the event that there is a terminal problem
	// reconciling the Machine and will contain a succinct value suitable
	// for machine interpretation.
	//
	// This field should not be set for transitive errors that a controller
	// faces that are expected to be fixed automatically over
	// time (like service outages), but instead indicate that something is
	// fundamentally wrong with the Machine's spec or the configuration of
	// the controller, and that manual intervention is required. Examples
	// of terminal errors would be invalid combinations of settings in the
	// spec, values that are unsupported by the controller, or the
	// responsible controller itself being critically misconfigured.
	//
	// Any transient errors that occur during the reconciliation of Machines
	// can be added as events to the Machine object and/or logged in the
	// controller's output.
	// +optional
	FailureReason *errors.MachineStatusError `json:"failureReason,omitempty"`

	// FailureMessage will be set in the event that there is a terminal problem
	// reconciling the Machine and will contain a more verbose string suitable
	// for logging and human consumption.
	//
	// This field should not be set for transitive errors that a controller
	// faces that are expected to be fixed automatically over
	// time (like service outages), but instead indicate that something is
	// fundamentally wrong with the Machine's spec or the configuration of
	// the controller, and that manual intervention is required. Examples
	// of terminal errors would be invalid combinations of settings in the
	// spec, values that are unsupported by the controller, or the
	// responsible controller itself being critically misconfigured.
	//
	// Any transient errors that occur during the reconciliation of Machines
	// can be added as events to the Machine object and/or logged in the
	// controller's output.
	// +optional
	FailureMessage *string `json:"failureMessage,omitempty"`

	// Conditions defines current service state of the YandexMachine.
	// +optional
	Conditions clusterv1.Conditions `json:"conditions,omitempty"`
}

YandexMachineStatus defines the observed state of YandexMachine.

func (*YandexMachineStatus) DeepCopy

func (in *YandexMachineStatus) DeepCopy() *YandexMachineStatus

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

func (*YandexMachineStatus) DeepCopyInto

func (in *YandexMachineStatus) DeepCopyInto(out *YandexMachineStatus)

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

type YandexMachineTemplate

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

	Spec YandexMachineTemplateSpec `json:"spec,omitempty"`
}

YandexMachineTemplate is the Schema for the yandexmachinetemplates API.

func (*YandexMachineTemplate) DeepCopy

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

func (*YandexMachineTemplate) DeepCopyInto

func (in *YandexMachineTemplate) DeepCopyInto(out *YandexMachineTemplate)

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

func (*YandexMachineTemplate) DeepCopyObject

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

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

func (*YandexMachineTemplate) Default

func (t *YandexMachineTemplate) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type.

func (*YandexMachineTemplate) SetupWebhookWithManager

func (t *YandexMachineTemplate) SetupWebhookWithManager(mgr ctrl.Manager) error

SetupWebhookWithManager creates an YandexMachineTemplate validation webhook.

func (*YandexMachineTemplate) ValidateCreate

func (t *YandexMachineTemplate) ValidateCreate() (admission.Warnings, error)

ValidateCreate implements webhook.Validator so a webhook will be registered for the type.

func (*YandexMachineTemplate) ValidateDelete

func (t *YandexMachineTemplate) ValidateDelete() (admission.Warnings, error)

ValidateDelete implements webhook.Validator so a webhook will be registered for the type.

func (*YandexMachineTemplate) ValidateUpdate

func (t *YandexMachineTemplate) ValidateUpdate(oldRaw runtime.Object) (admission.Warnings, error)

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.

type YandexMachineTemplateList

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

YandexMachineTemplateList contains a list of YandexMachineTemplate.

func (*YandexMachineTemplateList) DeepCopy

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

func (*YandexMachineTemplateList) DeepCopyInto

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

func (*YandexMachineTemplateList) DeepCopyObject

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

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

type YandexMachineTemplateResource

type YandexMachineTemplateResource struct {
	// Standard object's metadata.
	// +optional
	ObjectMeta clusterv1.ObjectMeta `json:"metadata,omitempty"`

	// Spec is the specification of the desired behavior of the machine.
	Spec YandexMachineSpec `json:"spec"`
}

YandexMachineTemplateResource describes the data needed to create am YandexMachine from a template.

func (*YandexMachineTemplateResource) DeepCopy

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

func (*YandexMachineTemplateResource) DeepCopyInto

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

type YandexMachineTemplateSpec

type YandexMachineTemplateSpec struct {
	Template YandexMachineTemplateResource `json:"template"`
}

YandexMachineTemplateSpec defines the desired state of YandexMachineTemplate.

func (*YandexMachineTemplateSpec) DeepCopy

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

func (*YandexMachineTemplateSpec) DeepCopyInto

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