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
- Variables
- type AddrType
- type Disk
- type HealtcheckSpec
- type InstanceStatus
- type Labels
- type ListenerSpec
- type LoadBalancerSpec
- type LoadBalancerStatus
- type LoadBalancerType
- type NetworkInterface
- type NetworkSpec
- type Resources
- type SubnetSpec
- type YandexCluster
- func (in *YandexCluster) DeepCopy() *YandexCluster
- func (in *YandexCluster) DeepCopyInto(out *YandexCluster)
- func (in *YandexCluster) DeepCopyObject() runtime.Object
- func (c *YandexCluster) Default()
- func (yc *YandexCluster) GetConditions() clusterv1.Conditions
- func (yc *YandexCluster) SetConditions(conditions clusterv1.Conditions)
- func (c *YandexCluster) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (c *YandexCluster) ValidateCreate() (admission.Warnings, error)
- func (c *YandexCluster) ValidateDelete() (admission.Warnings, error)
- func (c *YandexCluster) ValidateUpdate(oldRaw runtime.Object) (admission.Warnings, error)
- type YandexClusterList
- type YandexClusterSpec
- type YandexClusterStatus
- type YandexMachine
- func (in *YandexMachine) DeepCopy() *YandexMachine
- func (in *YandexMachine) DeepCopyInto(out *YandexMachine)
- func (in *YandexMachine) DeepCopyObject() runtime.Object
- func (ym *YandexMachine) Default()
- func (ym *YandexMachine) GetConditions() clusterv1.Conditions
- func (ym *YandexMachine) SetConditions(conditions clusterv1.Conditions)
- func (ym *YandexMachine) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (ym *YandexMachine) ValidateCreate() (admission.Warnings, error)
- func (ym *YandexMachine) ValidateDelete() (admission.Warnings, error)
- func (ym *YandexMachine) ValidateUpdate(oldRaw runtime.Object) (admission.Warnings, error)
- type YandexMachineList
- type YandexMachineSpec
- type YandexMachineStatus
- type YandexMachineTemplate
- func (in *YandexMachineTemplate) DeepCopy() *YandexMachineTemplate
- func (in *YandexMachineTemplate) DeepCopyInto(out *YandexMachineTemplate)
- func (in *YandexMachineTemplate) DeepCopyObject() runtime.Object
- func (t *YandexMachineTemplate) Default()
- func (t *YandexMachineTemplate) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (t *YandexMachineTemplate) ValidateCreate() (admission.Warnings, error)
- func (t *YandexMachineTemplate) ValidateDelete() (admission.Warnings, error)
- func (t *YandexMachineTemplate) ValidateUpdate(oldRaw runtime.Object) (admission.Warnings, error)
- type YandexMachineTemplateList
- type YandexMachineTemplateResource
- type YandexMachineTemplateSpec
Constants ¶
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" )
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" )
const ( // MachineFinalizer allows cleaning up resources associated with // YandexMachine before removing it from the apiserver. MachineFinalizer = "yandexmachine.infrastructure.cluster.x-k8s.io" )
Variables ¶
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 )
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 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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Disk.
func (*Disk) DeepCopyInto ¶
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 ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Labels.
func (Labels) DeepCopyInto ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Resources.
func (*Resources) DeepCopyInto ¶
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 ¶
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 ¶
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 ¶
func (in *YandexMachineTemplate) DeepCopy() *YandexMachineTemplate
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 ¶
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 ¶
func (in *YandexMachineTemplateList) DeepCopy() *YandexMachineTemplateList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new YandexMachineTemplateList.
func (*YandexMachineTemplateList) DeepCopyInto ¶
func (in *YandexMachineTemplateList) DeepCopyInto(out *YandexMachineTemplateList)
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 ¶
func (in *YandexMachineTemplateResource) DeepCopy() *YandexMachineTemplateResource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new YandexMachineTemplateResource.
func (*YandexMachineTemplateResource) DeepCopyInto ¶
func (in *YandexMachineTemplateResource) DeepCopyInto(out *YandexMachineTemplateResource)
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 ¶
func (in *YandexMachineTemplateSpec) DeepCopy() *YandexMachineTemplateSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new YandexMachineTemplateSpec.
func (*YandexMachineTemplateSpec) DeepCopyInto ¶
func (in *YandexMachineTemplateSpec) DeepCopyInto(out *YandexMachineTemplateSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.