Documentation ¶
Overview ¶
+groupName=infrastructure.cluster.x-k8s.io
Package v1beta1 contains API Schema definitions for the exp v1beta1 API group +kubebuilder:object:generate=true
Index ¶
- Constants
- Variables
- func SetupAzureMachinePoolWebhookWithManager(mgr ctrl.Manager) error
- type AzureMachinePool
- func (in *AzureMachinePool) DeepCopy() *AzureMachinePool
- func (in *AzureMachinePool) DeepCopyInto(out *AzureMachinePool)
- func (in *AzureMachinePool) DeepCopyObject() runtime.Object
- func (amp *AzureMachinePool) GetConditions() clusterv1.Conditions
- func (amp *AzureMachinePool) GetFutures() infrav1.Futures
- func (*AzureMachinePool) Hub()
- func (amp *AzureMachinePool) SetConditions(conditions clusterv1.Conditions)
- func (amp *AzureMachinePool) SetDefaultSSHPublicKey() error
- func (amp *AzureMachinePool) SetDefaults(client client.Client) error
- func (amp *AzureMachinePool) SetDiagnosticsDefaults()
- func (amp *AzureMachinePool) SetFutures(futures infrav1.Futures)
- func (amp *AzureMachinePool) SetIdentityDefaults(client client.Client) error
- func (amp *AzureMachinePool) SetNetworkInterfacesDefaults()
- func (amp *AzureMachinePool) SetSpotEvictionPolicyDefaults()
- func (amp *AzureMachinePool) Validate(old runtime.Object, client client.Client) error
- func (amp *AzureMachinePool) ValidateDiagnostics() error
- func (amp *AzureMachinePool) ValidateImage() error
- func (amp *AzureMachinePool) ValidateNetwork() error
- func (amp *AzureMachinePool) ValidateOrchestrationMode(c client.Client) func() error
- func (amp *AzureMachinePool) ValidateSSHKey() error
- func (amp *AzureMachinePool) ValidateStrategy() func() error
- func (amp *AzureMachinePool) ValidateSystemAssignedIdentity(old runtime.Object) func() error
- func (amp *AzureMachinePool) ValidateSystemAssignedIdentityRole() error
- func (amp *AzureMachinePool) ValidateTerminateNotificationTimeout() error
- func (amp *AzureMachinePool) ValidateUserAssignedIdentity() error
- type AzureMachinePoolDeletePolicyType
- type AzureMachinePoolDeploymentStrategy
- type AzureMachinePoolDeploymentStrategyType
- type AzureMachinePoolInstanceStatus
- type AzureMachinePoolList
- type AzureMachinePoolMachine
- func (in *AzureMachinePoolMachine) DeepCopy() *AzureMachinePoolMachine
- func (in *AzureMachinePoolMachine) DeepCopyInto(out *AzureMachinePoolMachine)
- func (in *AzureMachinePoolMachine) DeepCopyObject() runtime.Object
- func (ampm *AzureMachinePoolMachine) GetConditions() clusterv1.Conditions
- func (ampm *AzureMachinePoolMachine) GetFutures() infrav1.Futures
- func (*AzureMachinePoolMachine) Hub()
- func (ampm *AzureMachinePoolMachine) SetConditions(conditions clusterv1.Conditions)
- func (ampm *AzureMachinePoolMachine) SetFutures(futures infrav1.Futures)
- func (ampm *AzureMachinePoolMachine) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (ampm *AzureMachinePoolMachine) ValidateCreate() (admission.Warnings, error)
- func (ampm *AzureMachinePoolMachine) ValidateDelete() (admission.Warnings, error)
- func (ampm *AzureMachinePoolMachine) ValidateUpdate(old runtime.Object) (admission.Warnings, error)
- type AzureMachinePoolMachineList
- type AzureMachinePoolMachineSpec
- type AzureMachinePoolMachineStatus
- type AzureMachinePoolMachineTemplate
- type AzureMachinePoolSpec
- type AzureMachinePoolStatus
- type MachineRollingUpdateDeployment
Constants ¶
const ( // MachinePoolNameLabel indicates the AzureMachinePool name the AzureMachinePoolMachine belongs. MachinePoolNameLabel = "azuremachinepool.infrastructure.cluster.x-k8s.io/machine-pool" // RollingUpdateAzureMachinePoolDeploymentStrategyType replaces AzureMachinePoolMachines with older models with // AzureMachinePoolMachines based on the latest model. // i.e. gradually scale down the old AzureMachinePoolMachines and scale up the new ones. RollingUpdateAzureMachinePoolDeploymentStrategyType AzureMachinePoolDeploymentStrategyType = "RollingUpdate" // OldestDeletePolicyType will delete machines with the oldest creation date first. OldestDeletePolicyType AzureMachinePoolDeletePolicyType = "Oldest" // NewestDeletePolicyType will delete machines with the newest creation date first. NewestDeletePolicyType AzureMachinePoolDeletePolicyType = "Newest" // RandomDeletePolicyType will delete machines in random order. RandomDeletePolicyType AzureMachinePoolDeletePolicyType = "Random" )
const ( // AzureMachinePoolMachineFinalizer is used to ensure deletion of dependencies (nodes, infra). AzureMachinePoolMachineFinalizer = "azuremachinepoolmachine.infrastructure.cluster.x-k8s.io" // AzureMachinePoolMachineKind indicates the kind of an AzureMachinePoolMachine. AzureMachinePoolMachineKind = "AzureMachinePoolMachine" )
Variables ¶
var ( // GroupVersion is group version used to register these objects. GroupVersion = schema.GroupVersion{Group: "infrastructure.cluster.x-k8s.io", Version: "v1beta1"} // 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 ¶
func SetupAzureMachinePoolWebhookWithManager ¶ added in v1.9.0
SetupAzureMachinePoolWebhookWithManager sets up and registers the webhook with the manager.
Types ¶
type AzureMachinePool ¶
type AzureMachinePool struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec AzureMachinePoolSpec `json:"spec,omitempty"` Status AzureMachinePoolStatus `json:"status,omitempty"` }
AzureMachinePool is the Schema for the azuremachinepools API.
func (*AzureMachinePool) DeepCopy ¶
func (in *AzureMachinePool) DeepCopy() *AzureMachinePool
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AzureMachinePool.
func (*AzureMachinePool) DeepCopyInto ¶
func (in *AzureMachinePool) DeepCopyInto(out *AzureMachinePool)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AzureMachinePool) DeepCopyObject ¶
func (in *AzureMachinePool) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*AzureMachinePool) GetConditions ¶
func (amp *AzureMachinePool) GetConditions() clusterv1.Conditions
GetConditions returns the list of conditions for an AzureMachinePool API object.
func (*AzureMachinePool) GetFutures ¶
func (amp *AzureMachinePool) GetFutures() infrav1.Futures
GetFutures returns the list of long running operation states for an AzureMachinePool API object.
func (*AzureMachinePool) Hub ¶
func (*AzureMachinePool) Hub()
Hub marks AzureMachinePool as a conversion hub.
func (*AzureMachinePool) SetConditions ¶
func (amp *AzureMachinePool) SetConditions(conditions clusterv1.Conditions)
SetConditions will set the given conditions on an AzureMachinePool object.
func (*AzureMachinePool) SetDefaultSSHPublicKey ¶
func (amp *AzureMachinePool) SetDefaultSSHPublicKey() error
SetDefaultSSHPublicKey sets the default SSHPublicKey for an AzureMachinePool.
func (*AzureMachinePool) SetDefaults ¶ added in v1.8.0
func (amp *AzureMachinePool) SetDefaults(client client.Client) error
SetDefaults sets the default values for an AzureMachinePool.
func (*AzureMachinePool) SetDiagnosticsDefaults ¶ added in v1.7.0
func (amp *AzureMachinePool) SetDiagnosticsDefaults()
SetDiagnosticsDefaults sets the defaults for Diagnostic settings for an AzureMachinePool.
func (*AzureMachinePool) SetFutures ¶
func (amp *AzureMachinePool) SetFutures(futures infrav1.Futures)
SetFutures will set the given long running operation states on an AzureMachinePool object.
func (*AzureMachinePool) SetIdentityDefaults ¶
func (amp *AzureMachinePool) SetIdentityDefaults(client client.Client) error
SetIdentityDefaults sets the defaults for VMSS Identity.
func (*AzureMachinePool) SetNetworkInterfacesDefaults ¶ added in v1.7.0
func (amp *AzureMachinePool) SetNetworkInterfacesDefaults()
SetNetworkInterfacesDefaults sets the defaults for the network interfaces.
func (*AzureMachinePool) SetSpotEvictionPolicyDefaults ¶ added in v1.6.0
func (amp *AzureMachinePool) SetSpotEvictionPolicyDefaults()
SetSpotEvictionPolicyDefaults sets the defaults for the spot VM eviction policy.
func (*AzureMachinePool) ValidateDiagnostics ¶ added in v1.7.0
func (amp *AzureMachinePool) ValidateDiagnostics() error
ValidateDiagnostics validates the Diagnostic spec.
func (*AzureMachinePool) ValidateImage ¶
func (amp *AzureMachinePool) ValidateImage() error
ValidateImage of an AzureMachinePool.
func (*AzureMachinePool) ValidateNetwork ¶ added in v1.7.0
func (amp *AzureMachinePool) ValidateNetwork() error
ValidateNetwork of an AzureMachinePool.
func (*AzureMachinePool) ValidateOrchestrationMode ¶ added in v1.7.0
func (amp *AzureMachinePool) ValidateOrchestrationMode(c client.Client) func() error
ValidateOrchestrationMode validates requirements for the VMSS orchestration mode.
func (*AzureMachinePool) ValidateSSHKey ¶
func (amp *AzureMachinePool) ValidateSSHKey() error
ValidateSSHKey validates an SSHKey.
func (*AzureMachinePool) ValidateStrategy ¶
func (amp *AzureMachinePool) ValidateStrategy() func() error
ValidateStrategy validates the strategy.
func (*AzureMachinePool) ValidateSystemAssignedIdentity ¶
func (amp *AzureMachinePool) ValidateSystemAssignedIdentity(old runtime.Object) func() error
ValidateSystemAssignedIdentity validates system-assigned identity role.
func (*AzureMachinePool) ValidateSystemAssignedIdentityRole ¶ added in v1.8.0
func (amp *AzureMachinePool) ValidateSystemAssignedIdentityRole() error
ValidateSystemAssignedIdentityRole validates the scope and roleDefinitionID for the system-assigned identity.
func (*AzureMachinePool) ValidateTerminateNotificationTimeout ¶
func (amp *AzureMachinePool) ValidateTerminateNotificationTimeout() error
ValidateTerminateNotificationTimeout termination notification timeout to be between 5 and 15.
func (*AzureMachinePool) ValidateUserAssignedIdentity ¶
func (amp *AzureMachinePool) ValidateUserAssignedIdentity() error
ValidateUserAssignedIdentity validates the user-assigned identities list.
type AzureMachinePoolDeletePolicyType ¶
type AzureMachinePoolDeletePolicyType string
AzureMachinePoolDeletePolicyType is the type of DeletePolicy employed to select machines to be deleted during an upgrade.
type AzureMachinePoolDeploymentStrategy ¶
type AzureMachinePoolDeploymentStrategy struct { // Type of deployment. Currently the only supported strategy is RollingUpdate // +optional // +kubebuilder:validation:Enum=RollingUpdate // +optional // +kubebuilder:default=RollingUpdate Type AzureMachinePoolDeploymentStrategyType `json:"type,omitempty"` // Rolling update config params. Present only if // MachineDeploymentStrategyType = RollingUpdate. // +optional RollingUpdate *MachineRollingUpdateDeployment `json:"rollingUpdate,omitempty"` }
AzureMachinePoolDeploymentStrategy describes how to replace existing machines with new ones.
func (*AzureMachinePoolDeploymentStrategy) DeepCopy ¶
func (in *AzureMachinePoolDeploymentStrategy) DeepCopy() *AzureMachinePoolDeploymentStrategy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AzureMachinePoolDeploymentStrategy.
func (*AzureMachinePoolDeploymentStrategy) DeepCopyInto ¶
func (in *AzureMachinePoolDeploymentStrategy) DeepCopyInto(out *AzureMachinePoolDeploymentStrategy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AzureMachinePoolDeploymentStrategyType ¶
type AzureMachinePoolDeploymentStrategyType string
AzureMachinePoolDeploymentStrategyType is the type of deployment strategy employed to rollout a new version of the AzureMachinePool.
type AzureMachinePoolInstanceStatus ¶
type AzureMachinePoolInstanceStatus struct { // Version defines the Kubernetes version for the VM Instance // +optional Version string `json:"version"` // ProvisioningState is the provisioning state of the Azure virtual machine instance. // +optional ProvisioningState *infrav1.ProvisioningState `json:"provisioningState"` // ProviderID is the provider identification of the VMSS Instance // +optional ProviderID string `json:"providerID"` // InstanceID is the identification of the Machine Instance within the VMSS // +optional InstanceID string `json:"instanceID"` // InstanceName is the name of the Machine Instance within the VMSS // +optional InstanceName string `json:"instanceName"` // LatestModelApplied indicates the instance is running the most up-to-date VMSS model. A VMSS model describes // the image version the VM is running. If the instance is not running the latest model, it means the instance // may not be running the version of Kubernetes the Machine Pool has specified and needs to be updated. LatestModelApplied bool `json:"latestModelApplied"` }
AzureMachinePoolInstanceStatus provides status information for each instance in the VMSS.
func (*AzureMachinePoolInstanceStatus) DeepCopy ¶
func (in *AzureMachinePoolInstanceStatus) DeepCopy() *AzureMachinePoolInstanceStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AzureMachinePoolInstanceStatus.
func (*AzureMachinePoolInstanceStatus) DeepCopyInto ¶
func (in *AzureMachinePoolInstanceStatus) DeepCopyInto(out *AzureMachinePoolInstanceStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AzureMachinePoolList ¶
type AzureMachinePoolList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []AzureMachinePool `json:"items"` }
AzureMachinePoolList contains a list of AzureMachinePools.
func (*AzureMachinePoolList) DeepCopy ¶
func (in *AzureMachinePoolList) DeepCopy() *AzureMachinePoolList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AzureMachinePoolList.
func (*AzureMachinePoolList) DeepCopyInto ¶
func (in *AzureMachinePoolList) DeepCopyInto(out *AzureMachinePoolList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AzureMachinePoolList) DeepCopyObject ¶
func (in *AzureMachinePoolList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*AzureMachinePoolList) Hub ¶
func (*AzureMachinePoolList) Hub()
Hub marks AzureMachinePoolList as a conversion hub.
type AzureMachinePoolMachine ¶
type AzureMachinePoolMachine struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec AzureMachinePoolMachineSpec `json:"spec,omitempty"` Status AzureMachinePoolMachineStatus `json:"status,omitempty"` }
AzureMachinePoolMachine is the Schema for the azuremachinepoolmachines API.
func (*AzureMachinePoolMachine) DeepCopy ¶
func (in *AzureMachinePoolMachine) DeepCopy() *AzureMachinePoolMachine
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AzureMachinePoolMachine.
func (*AzureMachinePoolMachine) DeepCopyInto ¶
func (in *AzureMachinePoolMachine) DeepCopyInto(out *AzureMachinePoolMachine)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AzureMachinePoolMachine) DeepCopyObject ¶
func (in *AzureMachinePoolMachine) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*AzureMachinePoolMachine) GetConditions ¶
func (ampm *AzureMachinePoolMachine) GetConditions() clusterv1.Conditions
GetConditions returns the list of conditions for an AzureMachinePool API object.
func (*AzureMachinePoolMachine) GetFutures ¶
func (ampm *AzureMachinePoolMachine) GetFutures() infrav1.Futures
GetFutures returns the list of long running operation states for an AzureMachinePoolMachine API object.
func (*AzureMachinePoolMachine) Hub ¶
func (*AzureMachinePoolMachine) Hub()
Hub marks AzureMachinePoolMachine as a conversion hub.
func (*AzureMachinePoolMachine) SetConditions ¶
func (ampm *AzureMachinePoolMachine) SetConditions(conditions clusterv1.Conditions)
SetConditions will set the given conditions on an AzureMachinePool object.
func (*AzureMachinePoolMachine) SetFutures ¶
func (ampm *AzureMachinePoolMachine) SetFutures(futures infrav1.Futures)
SetFutures will set the given long running operation states on an AzureMachinePoolMachine object.
func (*AzureMachinePoolMachine) SetupWebhookWithManager ¶
func (ampm *AzureMachinePoolMachine) SetupWebhookWithManager(mgr ctrl.Manager) error
SetupWebhookWithManager sets up and registers the webhook with the manager.
func (*AzureMachinePoolMachine) ValidateCreate ¶
func (ampm *AzureMachinePoolMachine) ValidateCreate() (admission.Warnings, error)
ValidateCreate implements webhook.Validator so a webhook will be registered for the type.
func (*AzureMachinePoolMachine) ValidateDelete ¶
func (ampm *AzureMachinePoolMachine) ValidateDelete() (admission.Warnings, error)
ValidateDelete implements webhook.Validator so a webhook will be registered for the type.
func (*AzureMachinePoolMachine) ValidateUpdate ¶
ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.
type AzureMachinePoolMachineList ¶
type AzureMachinePoolMachineList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []AzureMachinePoolMachine `json:"items"` }
AzureMachinePoolMachineList contains a list of AzureMachinePoolMachines.
func (*AzureMachinePoolMachineList) DeepCopy ¶
func (in *AzureMachinePoolMachineList) DeepCopy() *AzureMachinePoolMachineList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AzureMachinePoolMachineList.
func (*AzureMachinePoolMachineList) DeepCopyInto ¶
func (in *AzureMachinePoolMachineList) DeepCopyInto(out *AzureMachinePoolMachineList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AzureMachinePoolMachineList) DeepCopyObject ¶
func (in *AzureMachinePoolMachineList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*AzureMachinePoolMachineList) Hub ¶
func (*AzureMachinePoolMachineList) Hub()
Hub marks AzureMachinePoolMachineList as a conversion hub.
type AzureMachinePoolMachineSpec ¶
type AzureMachinePoolMachineSpec struct { // ProviderID is the identification ID of the Virtual Machine Scale Set ProviderID string `json:"providerID"` // InstanceID is the identification of the Machine Instance within the VMSS // +optional InstanceID string `json:"instanceID,omitempty"` }
AzureMachinePoolMachineSpec defines the desired state of AzureMachinePoolMachine.
func (*AzureMachinePoolMachineSpec) DeepCopy ¶
func (in *AzureMachinePoolMachineSpec) DeepCopy() *AzureMachinePoolMachineSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AzureMachinePoolMachineSpec.
func (*AzureMachinePoolMachineSpec) DeepCopyInto ¶
func (in *AzureMachinePoolMachineSpec) DeepCopyInto(out *AzureMachinePoolMachineSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AzureMachinePoolMachineStatus ¶
type AzureMachinePoolMachineStatus struct { // NodeRef will point to the corresponding Node if it exists. // +optional NodeRef *corev1.ObjectReference `json:"nodeRef,omitempty"` // Version defines the Kubernetes version for the VM Instance // +optional Version string `json:"version"` // ProvisioningState is the provisioning state of the Azure virtual machine instance. // +optional ProvisioningState *infrav1.ProvisioningState `json:"provisioningState"` // InstanceName is the name of the Machine Instance within the VMSS // +optional InstanceName string `json:"instanceName"` // FailureReason will be set in the event that there is a terminal problem // reconciling the MachinePool machine and will contain a succinct value suitable // for machine interpretation. // // Any transient errors that occur during the reconciliation of MachinePools // can be added as events to the MachinePool 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 MachinePool and will contain a more verbose string suitable // for logging and human consumption. // // Any transient errors that occur during the reconciliation of MachinePools // can be added as events to the MachinePool object and/or logged in the // controller's output. // +optional FailureMessage *string `json:"failureMessage,omitempty"` // Conditions defines current service state of the AzureMachinePool. // +optional Conditions clusterv1.Conditions `json:"conditions,omitempty"` // LongRunningOperationStates saves the state for Azure long running operations so they can be continued on the // next reconciliation loop. // +optional LongRunningOperationStates infrav1.Futures `json:"longRunningOperationStates,omitempty"` // LatestModelApplied indicates the instance is running the most up-to-date VMSS model. A VMSS model describes // the image version the VM is running. If the instance is not running the latest model, it means the instance // may not be running the version of Kubernetes the Machine Pool has specified and needs to be updated. // +optional LatestModelApplied bool `json:"latestModelApplied,omitempty"` // Ready is true when the provider resource is ready. // +optional Ready bool `json:"ready"` }
AzureMachinePoolMachineStatus defines the observed state of AzureMachinePoolMachine.
func (*AzureMachinePoolMachineStatus) DeepCopy ¶
func (in *AzureMachinePoolMachineStatus) DeepCopy() *AzureMachinePoolMachineStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AzureMachinePoolMachineStatus.
func (*AzureMachinePoolMachineStatus) DeepCopyInto ¶
func (in *AzureMachinePoolMachineStatus) DeepCopyInto(out *AzureMachinePoolMachineStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AzureMachinePoolMachineTemplate ¶
type AzureMachinePoolMachineTemplate struct { // VMSize is the size of the Virtual Machine to build. // See https://learn.microsoft.com/rest/api/compute/virtualmachines/createorupdate#virtualmachinesizetypes VMSize string `json:"vmSize"` // Image is used to provide details of an image to use during VM creation. // If image details are omitted the image will default the Azure Marketplace "capi" offer, // which is based on Ubuntu. // +kubebuilder:validation:nullable // +optional Image *infrav1.Image `json:"image,omitempty"` // OSDisk contains the operating system disk information for a Virtual Machine OSDisk infrav1.OSDisk `json:"osDisk"` // DataDisks specifies the list of data disks to be created for a Virtual Machine // +optional DataDisks []infrav1.DataDisk `json:"dataDisks,omitempty"` // SSHPublicKey is the SSH public key string, base64-encoded to add to a Virtual Machine. Linux only. // Refer to documentation on how to set up SSH access on Windows instances. // +optional SSHPublicKey string `json:"sshPublicKey"` // Deprecated: AcceleratedNetworking should be set in the networkInterfaces field. // +optional AcceleratedNetworking *bool `json:"acceleratedNetworking,omitempty"` // Diagnostics specifies the diagnostics settings for a virtual machine. // If not specified then Boot diagnostics (Managed) will be enabled. // +optional Diagnostics *infrav1.Diagnostics `json:"diagnostics,omitempty"` // TerminateNotificationTimeout enables or disables VMSS scheduled events termination notification with specified timeout // allowed values are between 5 and 15 (mins) // +optional TerminateNotificationTimeout *int `json:"terminateNotificationTimeout,omitempty"` // SecurityProfile specifies the Security profile settings for a virtual machine. // +optional SecurityProfile *infrav1.SecurityProfile `json:"securityProfile,omitempty"` // SpotVMOptions allows the ability to specify the Machine should use a Spot VM // +optional SpotVMOptions *infrav1.SpotVMOptions `json:"spotVMOptions,omitempty"` // Deprecated: SubnetName should be set in the networkInterfaces field. // +optional SubnetName string `json:"subnetName,omitempty"` // VMExtensions specifies a list of extensions to be added to the scale set. // +optional VMExtensions []infrav1.VMExtension `json:"vmExtensions,omitempty"` // NetworkInterfaces specifies a list of network interface configurations. // If left unspecified, the VM will get a single network interface with a // single IPConfig in the subnet specified in the cluster's node subnet field. // The primary interface will be the first networkInterface specified (index 0) in the list. // +optional NetworkInterfaces []infrav1.NetworkInterface `json:"networkInterfaces,omitempty"` }
AzureMachinePoolMachineTemplate defines the template for an AzureMachine.
func (*AzureMachinePoolMachineTemplate) DeepCopy ¶
func (in *AzureMachinePoolMachineTemplate) DeepCopy() *AzureMachinePoolMachineTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AzureMachinePoolMachineTemplate.
func (*AzureMachinePoolMachineTemplate) DeepCopyInto ¶
func (in *AzureMachinePoolMachineTemplate) DeepCopyInto(out *AzureMachinePoolMachineTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AzureMachinePoolSpec ¶
type AzureMachinePoolSpec struct { // Location is the Azure region location e.g. westus2 Location string `json:"location"` // Template contains the details used to build a replica virtual machine within the Machine Pool Template AzureMachinePoolMachineTemplate `json:"template"` // AdditionalTags is an optional set of tags to add to an instance, in addition to the ones added by default by the // Azure provider. If both the AzureCluster and the AzureMachine specify the same tag name with different values, the // AzureMachine's value takes precedence. // +optional AdditionalTags infrav1.Tags `json:"additionalTags,omitempty"` // ProviderID is the identification ID of the Virtual Machine Scale Set // +optional ProviderID string `json:"providerID,omitempty"` // ProviderIDList are the identification IDs of machine instances provided by the provider. // This field must match the provider IDs as seen on the node objects corresponding to a machine pool's machine instances. // +optional ProviderIDList []string `json:"providerIDList,omitempty"` // Identity is the type of identity used for the Virtual Machine Scale Set. // The type 'SystemAssigned' is an implicitly created identity. // The generated identity will be assigned a Subscription contributor role. // The type 'UserAssigned' is a standalone Azure resource provided by the user // and assigned to the VM // +kubebuilder:default=None // +optional Identity infrav1.VMIdentity `json:"identity,omitempty"` // SystemAssignedIdentityRole defines the role and scope to assign to the system assigned identity. // +optional SystemAssignedIdentityRole *infrav1.SystemAssignedIdentityRole `json:"systemAssignedIdentityRole,omitempty"` // UserAssignedIdentities is a list of standalone Azure identities provided by the user // The lifecycle of a user-assigned identity is managed separately from the lifecycle of // the AzureMachinePool. // See https://learn.microsoft.com/azure/active-directory/managed-identities-azure-resources/how-to-manage-ua-identity-cli // +optional UserAssignedIdentities []infrav1.UserAssignedIdentity `json:"userAssignedIdentities,omitempty"` // Deprecated: RoleAssignmentName should be set in the systemAssignedIdentityRole field. // +optional RoleAssignmentName string `json:"roleAssignmentName,omitempty"` // The deployment strategy to use to replace existing AzureMachinePoolMachines with new ones. // +optional // +kubebuilder:default={type: "RollingUpdate", rollingUpdate: {maxSurge: 1, maxUnavailable: 0, deletePolicy: Oldest}} Strategy AzureMachinePoolDeploymentStrategy `json:"strategy,omitempty"` // OrchestrationMode specifies the orchestration mode for the Virtual Machine Scale Set // +kubebuilder:default=Uniform OrchestrationMode infrav1.OrchestrationModeType `json:"orchestrationMode,omitempty"` // PlatformFaultDomainCount specifies the number of fault domains that the Virtual Machine Scale Set can use. // The count determines the spreading algorithm of the Azure fault domain. // +optional PlatformFaultDomainCount *int32 `json:"platformFaultDomainCount,omitempty"` // ZoneBalane dictates whether to force strictly even Virtual Machine distribution cross x-zones in case there is zone outage. // +optional ZoneBalance *bool `json:"zoneBalance,omitempty"` }
AzureMachinePoolSpec defines the desired state of AzureMachinePool.
func (*AzureMachinePoolSpec) DeepCopy ¶
func (in *AzureMachinePoolSpec) DeepCopy() *AzureMachinePoolSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AzureMachinePoolSpec.
func (*AzureMachinePoolSpec) DeepCopyInto ¶
func (in *AzureMachinePoolSpec) DeepCopyInto(out *AzureMachinePoolSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AzureMachinePoolStatus ¶
type AzureMachinePoolStatus struct { // Ready is true when the provider resource is ready. // +optional Ready bool `json:"ready"` // Replicas is the most recently observed number of replicas. // +optional Replicas int32 `json:"replicas"` // Instances is the VM instance status for each VM in the VMSS // +optional Instances []*AzureMachinePoolInstanceStatus `json:"instances,omitempty"` // Image is the current image used in the AzureMachinePool. When the spec image is nil, this image is populated // with the details of the defaulted Azure Marketplace "capi" offer. // +optional Image *infrav1.Image `json:"image,omitempty"` // Version is the Kubernetes version for the current VMSS model // +optional Version string `json:"version"` // ProvisioningState is the provisioning state of the Azure virtual machine. // +optional ProvisioningState *infrav1.ProvisioningState `json:"provisioningState,omitempty"` // FailureReason will be set in the event that there is a terminal problem // reconciling the MachinePool 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 MachinePool'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 MachinePools // can be added as events to the MachinePool 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 MachinePool 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 MachinePool'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 MachinePools // can be added as events to the MachinePool object and/or logged in the // controller's output. // +optional FailureMessage *string `json:"failureMessage,omitempty"` // Conditions defines current service state of the AzureMachinePool. // +optional Conditions clusterv1.Conditions `json:"conditions,omitempty"` // LongRunningOperationStates saves the state for Azure long-running operations so they can be continued on the // next reconciliation loop. // +optional LongRunningOperationStates infrav1.Futures `json:"longRunningOperationStates,omitempty"` // InfrastructureMachineKind is the kind of the infrastructure resources behind MachinePool Machines. // +optional InfrastructureMachineKind string `json:"infrastructureMachineKind,omitempty"` }
AzureMachinePoolStatus defines the observed state of AzureMachinePool.
func (*AzureMachinePoolStatus) DeepCopy ¶
func (in *AzureMachinePoolStatus) DeepCopy() *AzureMachinePoolStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AzureMachinePoolStatus.
func (*AzureMachinePoolStatus) DeepCopyInto ¶
func (in *AzureMachinePoolStatus) DeepCopyInto(out *AzureMachinePoolStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MachineRollingUpdateDeployment ¶
type MachineRollingUpdateDeployment struct { // Value can be an absolute number (ex: 5) or a percentage of desired // machines (ex: 10%). // Absolute number is calculated from percentage by rounding down. // This can not be 0 if MaxSurge is 0. // Defaults to 0. // Example: when this is set to 30%, the old MachineSet can be scaled // down to 70% of desired machines immediately when the rolling update // starts. Once new machines are ready, old MachineSet can be scaled // down further, followed by scaling up the new MachineSet, ensuring // that the total number of machines available at all times // during the update is at least 70% of desired machines. // +optional // +kubebuilder:default:=0 MaxUnavailable *intstr.IntOrString `json:"maxUnavailable,omitempty"` // The maximum number of machines that can be scheduled above the // desired number of machines. // Value can be an absolute number (ex: 5) or a percentage of // desired machines (ex: 10%). // This can not be 0 if MaxUnavailable is 0. // Absolute number is calculated from percentage by rounding up. // Defaults to 1. // Example: when this is set to 30%, the new MachineSet can be scaled // up immediately when the rolling update starts, such that the total // number of old and new machines do not exceed 130% of desired // machines. Once old machines have been killed, new MachineSet can // be scaled up further, ensuring that total number of machines running // at any time during the update is at most 130% of desired machines. // +optional // +kubebuilder:default:=1 MaxSurge *intstr.IntOrString `json:"maxSurge,omitempty"` // DeletePolicy defines the policy used by the MachineDeployment to identify nodes to delete when downscaling. // Valid values are "Random, "Newest", "Oldest" // When no value is supplied, the default is Oldest // +optional // +kubebuilder:validation:Enum=Random;Newest;Oldest // +kubebuilder:default:=Oldest DeletePolicy AzureMachinePoolDeletePolicyType `json:"deletePolicy,omitempty"` }
MachineRollingUpdateDeployment is used to control the desired behavior of rolling update.
func (*MachineRollingUpdateDeployment) DeepCopy ¶
func (in *MachineRollingUpdateDeployment) DeepCopy() *MachineRollingUpdateDeployment
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachineRollingUpdateDeployment.
func (*MachineRollingUpdateDeployment) DeepCopyInto ¶
func (in *MachineRollingUpdateDeployment) DeepCopyInto(out *MachineRollingUpdateDeployment)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.