v1alpha4

package
v0.5.0 Latest Latest
Warning

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

Go to latest
Published: Jul 12, 2021 License: Apache-2.0 Imports: 25 Imported by: 0

Documentation

Overview

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

Index

Constants

View Source
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"
)
View Source
const (
	// AzureMachinePoolMachineFinalizer is used to ensure deletion of dependencies (nodes, infra).
	AzureMachinePoolMachineFinalizer = "azuremachinepoolmachine.infrastructure.cluster.x-k8s.io"
)

Variables

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

	// 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 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) Default

func (amp *AzureMachinePool) Default()

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

func (*AzureMachinePool) GetConditions

func (amp *AzureMachinePool) GetConditions() clusterv1.Conditions

GetConditions returns the list of conditions 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) SetIdentityDefaults

func (amp *AzureMachinePool) SetIdentityDefaults()

SetIdentityDefaults sets the defaults for VMSS Identity.

func (*AzureMachinePool) SetupWebhookWithManager

func (amp *AzureMachinePool) SetupWebhookWithManager(mgr ctrl.Manager) error

SetupWebhookWithManager sets up and registers the webhook with the manager.

func (*AzureMachinePool) Validate

func (amp *AzureMachinePool) Validate(old runtime.Object) error

Validate the Azure Machine Pool and return an aggregate error.

func (*AzureMachinePool) ValidateCreate

func (amp *AzureMachinePool) ValidateCreate() error

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

func (*AzureMachinePool) ValidateDelete

func (amp *AzureMachinePool) ValidateDelete() error

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

func (*AzureMachinePool) ValidateImage

func (amp *AzureMachinePool) ValidateImage() error

ValidateImage of an AzureMachinePool.

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) ValidateTerminateNotificationTimeout

func (amp *AzureMachinePool) ValidateTerminateNotificationTimeout() error

ValidateTerminateNotificationTimeout termination notification timeout to be between 5 and 15.

func (*AzureMachinePool) ValidateUpdate

func (amp *AzureMachinePool) ValidateUpdate(old runtime.Object) error

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

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

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

func (*AzureMachinePoolDeploymentStrategy) DeepCopyInto

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

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

func (*AzureMachinePoolInstanceStatus) DeepCopyInto

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

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

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) SetConditions

func (ampm *AzureMachinePoolMachine) SetConditions(conditions clusterv1.Conditions)

SetConditions will set the given conditions on an AzureMachinePool 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() error

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

func (*AzureMachinePoolMachine) ValidateDelete

func (ampm *AzureMachinePoolMachine) ValidateDelete() error

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

func (*AzureMachinePoolMachine) ValidateUpdate

func (ampm *AzureMachinePoolMachine) ValidateUpdate(old runtime.Object) error

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

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

func (*AzureMachinePoolMachineList) DeepCopyInto

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.

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
	InstanceID string `json:"instanceID"`
}

AzureMachinePoolMachineSpec defines the desired state of AzureMachinePoolMachine.

func (*AzureMachinePoolMachineSpec) DeepCopy

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

func (*AzureMachinePoolMachineSpec) DeepCopyInto

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

	// LongRunningOperationState saves the state for an Azure long running operations so it can be continued on the
	// next reconciliation loop.
	// +optional
	LongRunningOperationState *infrav1.Future `json:"longRunningOperationState,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.
	LatestModelApplied bool `json:"latestModelApplied"`

	// Ready is true when the provider resource is ready.
	// +optional
	Ready bool `json:"ready"`
}

AzureMachinePoolMachineStatus defines the observed state of AzureMachinePoolMachine.

func (*AzureMachinePoolMachineStatus) DeepCopy

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

func (*AzureMachinePoolMachineStatus) DeepCopyInto

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://docs.microsoft.com/en-us/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
	SSHPublicKey string `json:"sshPublicKey"`

	// AcceleratedNetworking enables or disables Azure accelerated networking. If omitted, it will be set based on
	// whether the requested VMSize supports accelerated networking.
	// If AcceleratedNetworking is set to true with a VMSize that does not support it, Azure will return an error.
	// +optional
	AcceleratedNetworking *bool `json:"acceleratedNetworking,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"`
}

AzureMachinePoolMachineTemplate defines the template for an AzureMachine.

func (*AzureMachinePoolMachineTemplate) DeepCopy

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

func (*AzureMachinePoolMachineTemplate) DeepCopyInto

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

	// 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://docs.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/how-to-manage-ua-identity-cli
	// +optional
	UserAssignedIdentities []infrav1.UserAssignedIdentity `json:"userAssignedIdentities,omitempty"`

	// RoleAssignmentName is the name of the role assignment to create for a system assigned identity. It can be any valid GUID.
	// If not specified, a random GUID will be generated.
	// +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"`

	// NodeDrainTimeout is the total amount of time that the controller will spend on draining a node.
	// The default value is 0, meaning that the node can be drained without any time limitations.
	// NOTE: NodeDrainTimeout is different from `kubectl drain --timeout`
	// +optional
	NodeDrainTimeout *metav1.Duration `json:"nodeDrainTimeout,omitempty"`
}

AzureMachinePoolSpec defines the desired state of AzureMachinePool.

func (*AzureMachinePoolSpec) DeepCopy

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

	// LongRunningOperationState saves the state for an Azure long-running operations so it can be continued on the
	// next reconciliation loop.
	// +optional
	LongRunningOperationState *infrav1.Future `json:"longRunningOperationState,omitempty"`
}

AzureMachinePoolStatus defines the observed state of AzureMachinePool.

func (*AzureMachinePoolStatus) DeepCopy

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 AzureManagedCluster

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

	Spec   AzureManagedClusterSpec   `json:"spec,omitempty"`
	Status AzureManagedClusterStatus `json:"status,omitempty"`
}

AzureManagedCluster is the Schema for the azuremanagedclusters API.

func (*AzureManagedCluster) DeepCopy

func (in *AzureManagedCluster) DeepCopy() *AzureManagedCluster

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

func (*AzureManagedCluster) DeepCopyInto

func (in *AzureManagedCluster) DeepCopyInto(out *AzureManagedCluster)

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

func (*AzureManagedCluster) DeepCopyObject

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

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

func (*AzureManagedCluster) Hub

func (*AzureManagedCluster) Hub()

Hub marks AzureManagedCluster as a conversion hub.

type AzureManagedClusterList

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

AzureManagedClusterList contains a list of AzureManagedClusters.

func (*AzureManagedClusterList) DeepCopy

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

func (*AzureManagedClusterList) DeepCopyInto

func (in *AzureManagedClusterList) DeepCopyInto(out *AzureManagedClusterList)

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

func (*AzureManagedClusterList) DeepCopyObject

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

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

func (*AzureManagedClusterList) Hub

func (*AzureManagedClusterList) Hub()

Hub marks AzureManagedClusterList as a conversion hub.

type AzureManagedClusterSpec

type AzureManagedClusterSpec struct {
	// ControlPlaneEndpoint represents the endpoint used to communicate with the control plane.
	// +optional
	ControlPlaneEndpoint clusterv1.APIEndpoint `json:"controlPlaneEndpoint"`
}

AzureManagedClusterSpec defines the desired state of AzureManagedCluster.

func (*AzureManagedClusterSpec) DeepCopy

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

func (*AzureManagedClusterSpec) DeepCopyInto

func (in *AzureManagedClusterSpec) DeepCopyInto(out *AzureManagedClusterSpec)

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

type AzureManagedClusterStatus

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

AzureManagedClusterStatus defines the observed state of AzureManagedCluster.

func (*AzureManagedClusterStatus) DeepCopy

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

func (*AzureManagedClusterStatus) DeepCopyInto

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

type AzureManagedControlPlane

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

	Spec   AzureManagedControlPlaneSpec   `json:"spec,omitempty"`
	Status AzureManagedControlPlaneStatus `json:"status,omitempty"`
}

AzureManagedControlPlane is the Schema for the azuremanagedcontrolplanes API.

func (*AzureManagedControlPlane) DeepCopy

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

func (*AzureManagedControlPlane) DeepCopyInto

func (in *AzureManagedControlPlane) DeepCopyInto(out *AzureManagedControlPlane)

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

func (*AzureManagedControlPlane) DeepCopyObject

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

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

func (*AzureManagedControlPlane) Default

func (r *AzureManagedControlPlane) Default()

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

func (*AzureManagedControlPlane) Hub

func (*AzureManagedControlPlane) Hub()

Hub marks AzureManagedControlPlane as a conversion hub.

func (*AzureManagedControlPlane) SetupWebhookWithManager

func (r *AzureManagedControlPlane) SetupWebhookWithManager(mgr ctrl.Manager) error

SetupWebhookWithManager sets up and registers the webhook with the manager.

func (*AzureManagedControlPlane) Validate

func (r *AzureManagedControlPlane) Validate() error

Validate the Azure Machine Pool and return an aggregate error.

func (*AzureManagedControlPlane) ValidateCreate

func (r *AzureManagedControlPlane) ValidateCreate() error

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

func (*AzureManagedControlPlane) ValidateDelete

func (r *AzureManagedControlPlane) ValidateDelete() error

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

func (*AzureManagedControlPlane) ValidateUpdate

func (r *AzureManagedControlPlane) ValidateUpdate(oldRaw runtime.Object) error

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

type AzureManagedControlPlaneList

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

AzureManagedControlPlaneList contains a list of AzureManagedControlPlane.

func (*AzureManagedControlPlaneList) DeepCopy

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

func (*AzureManagedControlPlaneList) DeepCopyInto

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

func (*AzureManagedControlPlaneList) DeepCopyObject

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

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

func (*AzureManagedControlPlaneList) Hub

Hub marks AzureManagedControlPlaneList as a conversion hub.

type AzureManagedControlPlaneSpec

type AzureManagedControlPlaneSpec struct {
	// Version defines the desired Kubernetes version.
	// +kubebuilder:validation:MinLength:=2
	Version string `json:"version"`

	// ResourceGroupName is the name of the Azure resource group for this AKS Cluster.
	ResourceGroupName string `json:"resourceGroupName"`

	// NodeResourceGroupName is the name of the resource group
	// containining cluster IaaS resources. Will be populated to default
	// in webhook.
	// +optional
	NodeResourceGroupName string `json:"nodeResourceGroupName,omitempty"`

	// VirtualNetwork describes the vnet for the AKS cluster. Will be created if it does not exist.
	VirtualNetwork ManagedControlPlaneVirtualNetwork `json:"virtualNetwork,omitempty"`

	// SubscriptionID is the GUID of the Azure subscription to hold this cluster.
	SubscriptionID string `json:"subscriptionID,omitempty"`

	// Location is a string matching one of the canonical Azure region names. Examples: "westus2", "eastus".
	Location string `json:"location"`

	// ControlPlaneEndpoint represents the endpoint used to communicate with the control plane.
	// +optional
	ControlPlaneEndpoint clusterv1.APIEndpoint `json:"controlPlaneEndpoint"`

	// AdditionalTags is an optional set of tags to add to Azure resources managed by the Azure provider, in addition to the
	// ones added by default.
	// +optional
	AdditionalTags infrav1.Tags `json:"additionalTags,omitempty"`

	// NetworkPlugin used for building Kubernetes network.
	// +kubebuilder:validation:Enum=azure;kubenet
	// +optional
	NetworkPlugin *string `json:"networkPlugin,omitempty"`

	// NetworkPolicy used for building Kubernetes network.
	// +kubebuilder:validation:Enum=azure;calico
	// +optional
	NetworkPolicy *string `json:"networkPolicy,omitempty"`

	// SSHPublicKey is a string literal containing an ssh public key base64 encoded.
	SSHPublicKey string `json:"sshPublicKey"`

	// DefaultPoolRef is the specification for the default pool, without which an AKS cluster cannot be created.
	DefaultPoolRef corev1.LocalObjectReference `json:"defaultPoolRef"`

	// DNSServiceIP is an IP address assigned to the Kubernetes DNS service.
	// It must be within the Kubernetes service address range specified in serviceCidr.
	// +optional
	DNSServiceIP *string `json:"dnsServiceIP,omitempty"`

	// LoadBalancerSKU is the SKU of the loadBalancer to be provisioned.
	// +kubebuilder:validation:Enum=Basic;Standard
	// +optional
	LoadBalancerSKU *string `json:"loadBalancerSKU,omitempty"`

	// IdentityRef is a reference to a AzureClusterIdentity to be used when reconciling this cluster
	// +optional
	IdentityRef *corev1.ObjectReference `json:"identityRef,omitempty"`
}

AzureManagedControlPlaneSpec defines the desired state of AzureManagedControlPlane.

func (*AzureManagedControlPlaneSpec) DeepCopy

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

func (*AzureManagedControlPlaneSpec) DeepCopyInto

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

type AzureManagedControlPlaneStatus

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

	// Initialized is true when the the control plane is available for initial contact.
	// This may occur before the control plane is fully ready.
	// In the AzureManagedControlPlane implementation, these are identical.
	// +optional
	Initialized bool `json:"initialized,omitempty"`
}

AzureManagedControlPlaneStatus defines the observed state of AzureManagedControlPlane.

func (*AzureManagedControlPlaneStatus) DeepCopy

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

func (*AzureManagedControlPlaneStatus) DeepCopyInto

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

type AzureManagedMachinePool

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

	Spec   AzureManagedMachinePoolSpec   `json:"spec,omitempty"`
	Status AzureManagedMachinePoolStatus `json:"status,omitempty"`
}

AzureManagedMachinePool is the Schema for the azuremanagedmachinepools API.

func (*AzureManagedMachinePool) DeepCopy

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

func (*AzureManagedMachinePool) DeepCopyInto

func (in *AzureManagedMachinePool) DeepCopyInto(out *AzureManagedMachinePool)

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

func (*AzureManagedMachinePool) DeepCopyObject

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

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

func (*AzureManagedMachinePool) Hub

func (*AzureManagedMachinePool) Hub()

Hub marks AzureManagedMachinePool as a conversion hub.

type AzureManagedMachinePoolList

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

AzureManagedMachinePoolList contains a list of AzureManagedMachinePools.

func (*AzureManagedMachinePoolList) DeepCopy

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

func (*AzureManagedMachinePoolList) DeepCopyInto

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

func (*AzureManagedMachinePoolList) DeepCopyObject

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

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

func (*AzureManagedMachinePoolList) Hub

Hub marks AzureManagedMachinePoolList as a conversion hub.

type AzureManagedMachinePoolSpec

type AzureManagedMachinePoolSpec struct {
	// SKU is the size of the VMs in the node pool.
	SKU string `json:"sku"`

	// OSDiskSizeGB is the disk size for every machine in this agent pool.
	// If you specify 0, it will apply the default osDisk size according to the vmSize specified.
	OSDiskSizeGB *int32 `json:"osDiskSizeGB,omitempty"`

	// ProviderIDList is the unique identifier as specified by the cloud provider.
	// +optional
	ProviderIDList []string `json:"providerIDList,omitempty"`
}

AzureManagedMachinePoolSpec defines the desired state of AzureManagedMachinePool.

func (*AzureManagedMachinePoolSpec) DeepCopy

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

func (*AzureManagedMachinePoolSpec) DeepCopyInto

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

type AzureManagedMachinePoolStatus

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

	// 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
	ErrorReason *capierrors.MachineStatusError `json:"errorReason,omitempty"`

	// 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
	ErrorMessage *string `json:"errorMessage,omitempty"`
}

AzureManagedMachinePoolStatus defines the observed state of AzureManagedMachinePool.

func (*AzureManagedMachinePoolStatus) DeepCopy

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

func (*AzureManagedMachinePoolStatus) DeepCopyInto

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

type MachineRollingUpdateDeployment

type MachineRollingUpdateDeployment struct {
	// The maximum number of machines that can be unavailable during the update.
	// 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

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

func (*MachineRollingUpdateDeployment) DeepCopyInto

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

type ManagedControlPlaneSubnet

type ManagedControlPlaneSubnet struct {
	Name      string `json:"name"`
	CIDRBlock string `json:"cidrBlock"`
}

ManagedControlPlaneSubnet describes a subnet for an AKS cluster.

func (*ManagedControlPlaneSubnet) DeepCopy

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

func (*ManagedControlPlaneSubnet) DeepCopyInto

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

type ManagedControlPlaneVirtualNetwork

type ManagedControlPlaneVirtualNetwork struct {
	Name      string                    `json:"name"`
	CIDRBlock string                    `json:"cidrBlock"`
	Subnet    ManagedControlPlaneSubnet `json:"subnet,omitempty"`
}

ManagedControlPlaneVirtualNetwork describes a virtual network required to provision AKS clusters.

func (*ManagedControlPlaneVirtualNetwork) DeepCopy

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

func (*ManagedControlPlaneVirtualNetwork) DeepCopyInto

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

Jump to

Keyboard shortcuts

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