Documentation
¶
Overview ¶
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 CIDR
- type ControlPlaneDNSSpec
- type ControlPlaneLoadBalancerSpec
- type ImageSpec
- type LoadBalancerSpec
- type NetworkSpec
- type NetworkStatus
- type PrivateNetworkSpec
- type PublicGatewaySpec
- type PublicNetworkSpec
- type RootVolumeSpec
- type ScalewayCluster
- type ScalewayClusterList
- type ScalewayClusterSpec
- type ScalewayClusterStatus
- type ScalewayClusterTemplate
- type ScalewayClusterTemplateList
- type ScalewayClusterTemplateResource
- type ScalewayClusterTemplateSpec
- type ScalewayMachine
- type ScalewayMachineList
- type ScalewayMachineSpec
- type ScalewayMachineStatus
- type ScalewayMachineTemplate
- type ScalewayMachineTemplateList
- type ScalewayMachineTemplateResource
- type ScalewayMachineTemplateSpec
Constants ¶
const ClusterFinalizer = "scalewaycluster.infrastructure.cluster.x-k8s.io/sc-protection"
const MachineFinalizer = "scalewaycluster.infrastructure.cluster.x-k8s.io/sm-protection"
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 )
Functions ¶
This section is empty.
Types ¶
type CIDR ¶
type CIDR string
CIDR is an IP address range in CIDR notation (for example, "10.0.0.0/8" or "fd00::/8"). +kubebuilder:validation:XValidation:rule="isCIDR(self)",message="value must be a valid CIDR network address" +kubebuilder:validation:MaxLength:=43 +kubebuilder:validation:MinLength:=1
type ControlPlaneDNSSpec ¶
type ControlPlaneDNSSpec struct { // Domain is the DNS Zone that this record should live in. It must be pre-existing in your Scaleway account. // The format must be a string that conforms to the definition of a subdomain in DNS (RFC 1123). // +kubebuilder:validation:Pattern:=^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ Domain string `json:"domain"` // Name is the DNS short name of the record (non-FQDN). The format must consist of // alphanumeric characters, '-' or '.', and must start and end with an alphanumeric character. // +kubebuilder:validation:Pattern:=^[a-z0-9]([-a-z0-9.]*[a-z0-9])?$ Name string `json:"name"` }
func (*ControlPlaneDNSSpec) DeepCopy ¶
func (in *ControlPlaneDNSSpec) DeepCopy() *ControlPlaneDNSSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControlPlaneDNSSpec.
func (*ControlPlaneDNSSpec) DeepCopyInto ¶
func (in *ControlPlaneDNSSpec) DeepCopyInto(out *ControlPlaneDNSSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ControlPlaneLoadBalancerSpec ¶
type ControlPlaneLoadBalancerSpec struct { // +kubebuilder:validation:XValidation:rule="has(self.ip) == has(oldSelf.ip)",message="ip cannot be added or removed" // +kubebuilder:validation:XValidation:rule="!has(oldSelf.ip) || self.ip == oldSelf.ip",message="ip is immutable" // +kubebuilder:validation:XValidation:rule="has(self.zone) == has(oldSelf.zone)",message="zone cannot be added or removed" // +kubebuilder:validation:XValidation:rule="!has(oldSelf.zone) || self.zone == oldSelf.zone",message="zone is immutable" LoadBalancerSpec `json:",inline"` // Port configured on the Load Balancer. It must be valid port range (1-65535). // +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable" // +kubebuilder:validation:Minimum=1 // +kubebuilder:validation:Maximum=65535 Port *int32 `json:"port,omitempty"` // AllowedRanges allows to set a list of allowed IP ranges that can access // the cluster through the loadbalancer. When unset, all IP ranges are allowed. // To allow the cluster to work properly, public IPs of nodes and Public // Gateways will automatically be allowed. However, if this field is set, // you MUST manually allow IPs of the nodes of your management cluster. // +kubebuilder:validation:MaxItems=30 // +listType=set // +optional AllowedRanges []CIDR `json:"allowedRanges,omitempty"` }
ControlPlaneLoadBalancerSpec defines control-plane loadbalancer settings for the cluster. +kubebuilder:validation:XValidation:rule="has(self.port) == has(oldSelf.port)",message="port cannot be added or removed"
func (*ControlPlaneLoadBalancerSpec) DeepCopy ¶
func (in *ControlPlaneLoadBalancerSpec) DeepCopy() *ControlPlaneLoadBalancerSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControlPlaneLoadBalancerSpec.
func (*ControlPlaneLoadBalancerSpec) DeepCopyInto ¶
func (in *ControlPlaneLoadBalancerSpec) DeepCopyInto(out *ControlPlaneLoadBalancerSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ImageSpec ¶
type ImageSpec struct { // ID of the image. ID *string `json:"id,omitempty"` // Name of the image. Name *string `json:"name,omitempty"` // Label of the image. Label *string `json:"label,omitempty"` }
ImageSpec contains an ID, Name or Label to use to create the instance. +kubebuilder:validation:XValidation:rule="(has(self.id) ? 1 : 0) + (has(self.name) ? 1 : 0) + (has(self.label) ? 1 : 0) == 1",message="exactly one of id, name or label must be set"
func (*ImageSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageSpec.
func (*ImageSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LoadBalancerSpec ¶
type LoadBalancerSpec struct { // Zone where to create the loadbalancer. Must be in the same region as the // cluster. Defaults to the first zone of the region. // +optional Zone *string `json:"zone,omitempty"` // Load Balancer commercial offer type. // +kubebuilder:default="LB-S" // +optional Type *string `json:"type,omitempty"` // IP to use when creating a loadbalancer. // +kubebuilder:validation:Format=ipv4 // +optional IP *string `json:"ip,omitempty"` }
LoadBalancerSpec defines loadbalancer parameters.
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 NetworkSpec ¶
type NetworkSpec struct { // ControlPlaneLoadBalancer contains loadbalancer settings. // +optional ControlPlaneLoadBalancer *ControlPlaneLoadBalancerSpec `json:"controlPlaneLoadBalancer,omitempty"` // ControlPlaneExtraLoadBalancers allows configuring additional LoadBalancers. // Because Scaleway LoadBalancers are currently zonal resources, you may set // up to 3 additional LoadBalancers for achieving regional redundancy. It is // mandatory to set the controlPlaneDNS field when you do so. // This may be removed in the future, when Scaleway supports regional LoadBalancers. // +kubebuilder:validation:MaxItems=3 // +optional ControlPlaneExtraLoadBalancers []LoadBalancerSpec `json:"controlPlaneExtraLoadBalancers,omitempty"` // ControlPlaneDNS allows configuring a Scaleway Domain DNS Zone. // +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable" // +optional ControlPlaneDNS *ControlPlaneDNSSpec `json:"controlPlaneDNS,omitempty"` // PrivateNetwork allows attaching machines of the cluster to a Private Network. // +optional PrivateNetwork *PrivateNetworkSpec `json:"privateNetwork,omitempty"` // PublicGateways allows to create Public Gateways that will be attached to the // Private Network of the cluster. // +kubebuilder:validation:MaxItems=6 // +optional PublicGateways []PublicGatewaySpec `json:"publicGateways,omitempty"` }
NetworkSpec defines network specific settings. +kubebuilder:validation:XValidation:rule="!has(self.controlPlaneExtraLoadBalancers) || has(self.controlPlaneDNS)",message="controlPlaneDNS is required when controlPlaneExtraLoadBalancers is set" +kubebuilder:validation:XValidation:rule="has(self.controlPlaneDNS) == has(oldSelf.controlPlaneDNS)",message="controlPlaneDNS cannot be added or removed" +kubebuilder:validation:XValidation:rule="has(self.privateNetwork) == has(oldSelf.privateNetwork)",message="privateNetwork cannot be added or removed" +kubebuilder:validation:XValidation:rule="!has(self.publicGateways) || has(self.privateNetwork) && self.privateNetwork.enabled",message="privateNetwork is required when publicGateways is set"
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 NetworkStatus ¶
type NetworkStatus struct { // PrivateNetworkID is set if the cluster has an associated Private Network. // +optional PrivateNetworkID *string `json:"privateNetworkID,omitempty"` // PublicGatewayIDs is a list of Public Gateway IDs. // +optional PublicGatewayIDs []string `json:"publicGatewayIDs,omitempty"` // LoadBalancerIP is the public IP of the cluster control-plane. // +optional LoadBalancerIP *string `json:"loadBalancerIP,omitempty"` // ExtraLoadBalancerIPs is a list of IPs of the extra loadbalancers. // +optional ExtraLoadBalancerIPs []string `json:"extraLoadBalancerIPs,omitempty"` }
NetworkStatus contains information about network resources of the cluster.
func (*NetworkStatus) DeepCopy ¶
func (in *NetworkStatus) DeepCopy() *NetworkStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkStatus.
func (*NetworkStatus) DeepCopyInto ¶
func (in *NetworkStatus) DeepCopyInto(out *NetworkStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PrivateNetworkSpec ¶
type PrivateNetworkSpec struct { // Set to true to automatically attach machines to a Private Network. // The Private Network is automatically created if no existing Private // Network ID is provided. // +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable" Enabled bool `json:"enabled"` // Set a Private Network ID to reuse an existing Private Network. // +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable" // +optional ID *string `json:"id,omitempty"` // Set the VPC ID where the new Private Network will be created. // +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable" // +optional VPCID *string `json:"vpcID,omitempty"` // Optional subnet for the Private Network. Only used on newly created Private Networks. // +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable" // +optional Subnet *string `json:"subnet,omitempty"` }
PrivateNetworkSpec defines Private Network settings for the cluster. +kubebuilder:validation:XValidation:rule="has(self.vpcID) == has(oldSelf.vpcID)",message="vpcID cannot be added or removed" +kubebuilder:validation:XValidation:rule="has(self.id) == has(oldSelf.id)",message="id cannot be added or removed" +kubebuilder:validation:XValidation:rule="has(self.subnet) == has(oldSelf.subnet)",message="subnet cannot be added or removed" +kubebuilder:validation:XValidation:rule="has(self.id) && !has(self.subnet) || !has(self.id)",message="subnet cannot be set when id is set" +kubebuilder:validation:XValidation:rule="has(self.id) && !has(self.vpcID) || !has(self.id)",message="vpcID cannot be set when id is set"
func (*PrivateNetworkSpec) DeepCopy ¶
func (in *PrivateNetworkSpec) DeepCopy() *PrivateNetworkSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PrivateNetworkSpec.
func (*PrivateNetworkSpec) DeepCopyInto ¶
func (in *PrivateNetworkSpec) DeepCopyInto(out *PrivateNetworkSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PublicGatewaySpec ¶
type PublicGatewaySpec struct { // Public Gateway commercial offer type. // +kubebuilder:default="VPC-GW-S" // +optional Type *string `json:"type,omitempty"` // IP to use when creating a Public Gateway. // +kubebuilder:validation:Format=ipv4 // +optional IP *string `json:"ip,omitempty"` // Zone where to create the Public Gateway. Must be in the same region as the // cluster. Defaults to the first zone of the region. // +optional Zone *string `json:"zone,omitempty"` }
PublicGatewaySpec defines Public Gateway settings for the cluster.
func (*PublicGatewaySpec) DeepCopy ¶
func (in *PublicGatewaySpec) DeepCopy() *PublicGatewaySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PublicGatewaySpec.
func (*PublicGatewaySpec) DeepCopyInto ¶
func (in *PublicGatewaySpec) DeepCopyInto(out *PublicGatewaySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PublicNetworkSpec ¶
type PublicNetworkSpec struct { // EnableIPv4 defines whether server has IPv4 address enabled. // +optional EnableIPv4 *bool `json:"enableIPv4,omitempty"` // EnableIPv6 defines whether server has IPv6 addresses enabled. // +optional EnableIPv6 *bool `json:"enableIPv6,omitempty"` }
PublicNetworkSpec allows enabling the attachment of public IPs to the instance.
func (*PublicNetworkSpec) DeepCopy ¶
func (in *PublicNetworkSpec) DeepCopy() *PublicNetworkSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PublicNetworkSpec.
func (*PublicNetworkSpec) DeepCopyInto ¶
func (in *PublicNetworkSpec) DeepCopyInto(out *PublicNetworkSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RootVolumeSpec ¶
type RootVolumeSpec struct { // Size of the root volume in GB. Defaults to 20 GB. // +kubebuilder:default=20 // +kubebuilder:validation:Minimum=8 // +optional Size *int64 `json:"size,omitempty"` // Type of the root volume. Can be local or block. Note that not all types // of instances support local volumes. // +kubebuilder:validation:Enum=local;block // +kubebuilder:default="block" // +optional Type *string `json:"type,omitempty"` // IOPS is the number of IOPS requested for the disk. This is only applicable for block volumes. // +optional IOPS *int64 `json:"iops,omitempty"` }
RootVolumeSpec defines the characteristics of the system (root) volume.
func (*RootVolumeSpec) DeepCopy ¶
func (in *RootVolumeSpec) DeepCopy() *RootVolumeSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RootVolumeSpec.
func (*RootVolumeSpec) DeepCopyInto ¶
func (in *RootVolumeSpec) DeepCopyInto(out *RootVolumeSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ScalewayCluster ¶
type ScalewayCluster struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec ScalewayClusterSpec `json:"spec,omitempty"` Status ScalewayClusterStatus `json:"status,omitempty"` }
ScalewayCluster is the Schema for the scalewayclusters API. +kubebuilder:validation:XValidation:rule="self.metadata.name.size() <= 63",message="name must be between 1 and 63 characters" +kubebuilder:validation:XValidation:rule="self.metadata.name.matches('^[a-z0-9]([-a-z0-9]*[a-z0-9])?$')",message="name must be a valid DNS label"
func (*ScalewayCluster) DeepCopy ¶
func (in *ScalewayCluster) DeepCopy() *ScalewayCluster
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScalewayCluster.
func (*ScalewayCluster) DeepCopyInto ¶
func (in *ScalewayCluster) DeepCopyInto(out *ScalewayCluster)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ScalewayCluster) DeepCopyObject ¶
func (in *ScalewayCluster) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ScalewayClusterList ¶
type ScalewayClusterList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []ScalewayCluster `json:"items"` }
ScalewayClusterList contains a list of ScalewayCluster.
func (*ScalewayClusterList) DeepCopy ¶
func (in *ScalewayClusterList) DeepCopy() *ScalewayClusterList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScalewayClusterList.
func (*ScalewayClusterList) DeepCopyInto ¶
func (in *ScalewayClusterList) DeepCopyInto(out *ScalewayClusterList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ScalewayClusterList) DeepCopyObject ¶
func (in *ScalewayClusterList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ScalewayClusterSpec ¶
type ScalewayClusterSpec struct { // ProjectID is the Scaleway project ID where the cluster will be created. // +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable" // +kubebuilder:validation:Pattern:="^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$" ProjectID string `json:"projectID"` // Region represents the region where the cluster will be hosted. // +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable" // +kubebuilder:validation:Pattern:="^[a-z]{2}-[a-z]{3}$" Region string `json:"region"` // Network contains network related options for the cluster. // +optional Network *NetworkSpec `json:"network,omitempty"` // ScalewaySecretName is the name of the secret that contains the Scaleway client parameters. // The following keys are required: SCW_ACCESS_KEY, SCW_SECRET_KEY, SCW_DEFAULT_PROJECT_ID. // The following key is optional: SCW_API_URL. ScalewaySecretName string `json:"scalewaySecretName"` // FailureDomains is a list of failure domains where the control-plane nodes will be created. // Failure domains correspond to Scaleway zones inside the cluster region (e.g. fr-par-1). // +listType=set // +optional FailureDomains []string `json:"failureDomains,omitempty"` // ControlPlaneEndpoint represents the endpoint used to communicate with the control plane. // +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable" // +optional ControlPlaneEndpoint clusterv1.APIEndpoint `json:"controlPlaneEndpoint,omitempty"` }
ScalewayClusterSpec defines the desired state of ScalewayCluster. +kubebuilder:validation:XValidation:rule="!has(oldSelf.controlPlaneEndpoint) || has(self.controlPlaneEndpoint)", message="controlPlaneEndpoint is required once set"
func (*ScalewayClusterSpec) DeepCopy ¶
func (in *ScalewayClusterSpec) DeepCopy() *ScalewayClusterSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScalewayClusterSpec.
func (*ScalewayClusterSpec) DeepCopyInto ¶
func (in *ScalewayClusterSpec) DeepCopyInto(out *ScalewayClusterSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ScalewayClusterStatus ¶
type ScalewayClusterStatus struct { // Ready denotes that the Scaleway cluster infrastructure is fully provisioned. // NOTE: this field is part of the Cluster API contract and it is used to orchestrate provisioning. // The value of this field is never updated after provisioning is completed. // +optional Ready bool `json:"ready"` // Network contains information about network resources of the cluster. // +optional Network *NetworkStatus `json:"network,omitempty"` // FailureDomains is a list of failure domain objects synced from the infrastructure provider. // +optional FailureDomains clusterv1.FailureDomains `json:"failureDomains,omitempty"` }
ScalewayClusterStatus defines the observed state of ScalewayCluster.
func (*ScalewayClusterStatus) DeepCopy ¶
func (in *ScalewayClusterStatus) DeepCopy() *ScalewayClusterStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScalewayClusterStatus.
func (*ScalewayClusterStatus) DeepCopyInto ¶
func (in *ScalewayClusterStatus) DeepCopyInto(out *ScalewayClusterStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ScalewayClusterTemplate ¶
type ScalewayClusterTemplate struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec ScalewayClusterTemplateSpec `json:"spec,omitempty"` }
ScalewayClusterTemplate is the Schema for the scalewayclustertemplates API.
func (*ScalewayClusterTemplate) DeepCopy ¶
func (in *ScalewayClusterTemplate) DeepCopy() *ScalewayClusterTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScalewayClusterTemplate.
func (*ScalewayClusterTemplate) DeepCopyInto ¶
func (in *ScalewayClusterTemplate) DeepCopyInto(out *ScalewayClusterTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ScalewayClusterTemplate) DeepCopyObject ¶
func (in *ScalewayClusterTemplate) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ScalewayClusterTemplateList ¶
type ScalewayClusterTemplateList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []ScalewayClusterTemplate `json:"items"` }
ScalewayClusterTemplateList contains a list of ScalewayClusterTemplate.
func (*ScalewayClusterTemplateList) DeepCopy ¶
func (in *ScalewayClusterTemplateList) DeepCopy() *ScalewayClusterTemplateList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScalewayClusterTemplateList.
func (*ScalewayClusterTemplateList) DeepCopyInto ¶
func (in *ScalewayClusterTemplateList) DeepCopyInto(out *ScalewayClusterTemplateList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ScalewayClusterTemplateList) DeepCopyObject ¶
func (in *ScalewayClusterTemplateList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ScalewayClusterTemplateResource ¶
type ScalewayClusterTemplateResource struct { // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional ObjectMeta metav1.ObjectMeta `json:"metadata,omitempty"` Spec ScalewayClusterSpec `json:"spec"` }
func (*ScalewayClusterTemplateResource) DeepCopy ¶
func (in *ScalewayClusterTemplateResource) DeepCopy() *ScalewayClusterTemplateResource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScalewayClusterTemplateResource.
func (*ScalewayClusterTemplateResource) DeepCopyInto ¶
func (in *ScalewayClusterTemplateResource) DeepCopyInto(out *ScalewayClusterTemplateResource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ScalewayClusterTemplateSpec ¶
type ScalewayClusterTemplateSpec struct {
Template ScalewayClusterTemplateResource `json:"template"`
}
ScalewayClusterTemplateSpec defines the desired state of ScalewayClusterTemplate.
func (*ScalewayClusterTemplateSpec) DeepCopy ¶
func (in *ScalewayClusterTemplateSpec) DeepCopy() *ScalewayClusterTemplateSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScalewayClusterTemplateSpec.
func (*ScalewayClusterTemplateSpec) DeepCopyInto ¶
func (in *ScalewayClusterTemplateSpec) DeepCopyInto(out *ScalewayClusterTemplateSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ScalewayMachine ¶
type ScalewayMachine struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // +kubebuilder:validation:Required Spec ScalewayMachineSpec `json:"spec,omitempty"` Status ScalewayMachineStatus `json:"status,omitempty"` }
ScalewayMachine is the Schema for the scalewaymachines API. +kubebuilder:validation:XValidation:rule="self.metadata.name.size() <= 63",message="name must be between 1 and 63 characters" +kubebuilder:validation:XValidation:rule="self.metadata.name.matches('^[a-z0-9]([-a-z0-9]*[a-z0-9])?$')",message="name must be a valid DNS label"
func (*ScalewayMachine) DeepCopy ¶
func (in *ScalewayMachine) DeepCopy() *ScalewayMachine
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScalewayMachine.
func (*ScalewayMachine) DeepCopyInto ¶
func (in *ScalewayMachine) DeepCopyInto(out *ScalewayMachine)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ScalewayMachine) DeepCopyObject ¶
func (in *ScalewayMachine) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ScalewayMachineList ¶
type ScalewayMachineList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []ScalewayMachine `json:"items"` }
ScalewayMachineList contains a list of ScalewayMachine.
func (*ScalewayMachineList) DeepCopy ¶
func (in *ScalewayMachineList) DeepCopy() *ScalewayMachineList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScalewayMachineList.
func (*ScalewayMachineList) DeepCopyInto ¶
func (in *ScalewayMachineList) DeepCopyInto(out *ScalewayMachineList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ScalewayMachineList) DeepCopyObject ¶
func (in *ScalewayMachineList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ScalewayMachineSpec ¶
type ScalewayMachineSpec struct { // ProviderID must match the provider ID as seen on the node object corresponding to this machine. // +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable" // +optional ProviderID *string `json:"providerID,omitempty"` // CommercialType of instance (e.g. PRO2-S). // +kubebuilder:default="PRO2-S" // +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable" CommercialType string `json:"commercialType"` // Image ID, Name or Label to use to create the instance. // +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable" Image ImageSpec `json:"image"` // RootVolume defines the characteristics of the system (root) volume. // +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable" // +optional RootVolume *RootVolumeSpec `json:"rootVolume,omitempty"` // PublicNetwork allows attaching public IPs to the instance. // +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable" // +optional PublicNetwork *PublicNetworkSpec `json:"publicNetwork,omitempty"` }
ScalewayMachineSpec defines the desired state of ScalewayMachine. +kubebuilder:validation:XValidation:rule="has(self.rootVolume) == has(oldSelf.rootVolume)",message="rootVolume cannot be added or removed" +kubebuilder:validation:XValidation:rule="has(self.publicNetwork) == has(oldSelf.publicNetwork)",message="publicNetwork cannot be added or removed"
func (*ScalewayMachineSpec) DeepCopy ¶
func (in *ScalewayMachineSpec) DeepCopy() *ScalewayMachineSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScalewayMachineSpec.
func (*ScalewayMachineSpec) DeepCopyInto ¶
func (in *ScalewayMachineSpec) DeepCopyInto(out *ScalewayMachineSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ScalewayMachineStatus ¶
type ScalewayMachineStatus struct { // Addresses contains the associated addresses for the machine. // +optional Addresses []clusterv1.MachineAddress `json:"addresses,omitempty"` // Ready denotes that the Scaleway machine infrastructure is fully provisioned. // NOTE: this field is part of the Cluster API contract and it is used to orchestrate provisioning. // The value of this field is never updated after provisioning is completed. Please use conditions // to check the operational state of the infra machine. // +optional Ready bool `json:"ready"` }
ScalewayMachineStatus defines the observed state of ScalewayMachine.
func (*ScalewayMachineStatus) DeepCopy ¶
func (in *ScalewayMachineStatus) DeepCopy() *ScalewayMachineStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScalewayMachineStatus.
func (*ScalewayMachineStatus) DeepCopyInto ¶
func (in *ScalewayMachineStatus) DeepCopyInto(out *ScalewayMachineStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ScalewayMachineTemplate ¶
type ScalewayMachineTemplate struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec ScalewayMachineTemplateSpec `json:"spec,omitempty"` }
ScalewayMachineTemplate is the Schema for the scalewaymachinetemplates API.
func (*ScalewayMachineTemplate) DeepCopy ¶
func (in *ScalewayMachineTemplate) DeepCopy() *ScalewayMachineTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScalewayMachineTemplate.
func (*ScalewayMachineTemplate) DeepCopyInto ¶
func (in *ScalewayMachineTemplate) DeepCopyInto(out *ScalewayMachineTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ScalewayMachineTemplate) DeepCopyObject ¶
func (in *ScalewayMachineTemplate) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ScalewayMachineTemplateList ¶
type ScalewayMachineTemplateList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []ScalewayMachineTemplate `json:"items"` }
ScalewayMachineTemplateList contains a list of ScalewayMachineTemplate.
func (*ScalewayMachineTemplateList) DeepCopy ¶
func (in *ScalewayMachineTemplateList) DeepCopy() *ScalewayMachineTemplateList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScalewayMachineTemplateList.
func (*ScalewayMachineTemplateList) DeepCopyInto ¶
func (in *ScalewayMachineTemplateList) DeepCopyInto(out *ScalewayMachineTemplateList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ScalewayMachineTemplateList) DeepCopyObject ¶
func (in *ScalewayMachineTemplateList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ScalewayMachineTemplateResource ¶
type ScalewayMachineTemplateResource struct { // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional ObjectMeta metav1.ObjectMeta `json:"metadata,omitempty"` Spec ScalewayMachineSpec `json:"spec"` }
func (*ScalewayMachineTemplateResource) DeepCopy ¶
func (in *ScalewayMachineTemplateResource) DeepCopy() *ScalewayMachineTemplateResource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScalewayMachineTemplateResource.
func (*ScalewayMachineTemplateResource) DeepCopyInto ¶
func (in *ScalewayMachineTemplateResource) DeepCopyInto(out *ScalewayMachineTemplateResource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ScalewayMachineTemplateSpec ¶
type ScalewayMachineTemplateSpec struct {
Template ScalewayMachineTemplateResource `json:"template"`
}
ScalewayMachineTemplateSpec defines the desired state of ScalewayMachineTemplate.
func (*ScalewayMachineTemplateSpec) DeepCopy ¶
func (in *ScalewayMachineTemplateSpec) DeepCopy() *ScalewayMachineTemplateSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScalewayMachineTemplateSpec.
func (*ScalewayMachineTemplateSpec) DeepCopyInto ¶
func (in *ScalewayMachineTemplateSpec) DeepCopyInto(out *ScalewayMachineTemplateSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.