v1beta1

package
v1.6.1 Latest Latest
Warning

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

Go to latest
Published: Dec 29, 2022 License: Apache-2.0 Imports: 34 Imported by: 99

Documentation

Overview

Package v1beta1 contains API Schema definitions for the exp v1beta1 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 (
	// ManagedClusterFinalizer allows Reconcile to clean up Azure resources associated with the AzureManagedControlPlane before
	// removing it from the apiserver.
	ManagedClusterFinalizer = "azuremanagedcontrolplane.infrastructure.cluster.x-k8s.io"

	// PrivateDNSZoneModeSystem represents mode System for azuremanagedcontrolplane.
	PrivateDNSZoneModeSystem string = "System"

	// PrivateDNSZoneModeNone represents mode None for azuremanagedcontrolplane.
	PrivateDNSZoneModeNone string = "None"
)
View Source
const (
	// LabelAgentPoolMode represents mode of an agent pool. Possible values include: System, User.
	LabelAgentPoolMode = "azuremanagedmachinepool.infrastructure.cluster.x-k8s.io/agentpoolmode"

	// NodePoolModeSystem represents mode system for azuremachinepool.
	NodePoolModeSystem NodePoolMode = "System"

	// NodePoolModeUser represents mode user for azuremachinepool.
	NodePoolModeUser NodePoolMode = "User"

	// DefaultOSType represents the default operating system for azmachinepool.
	DefaultOSType string = azure.LinuxOS
)
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: "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

This section is empty.

Types

type AADProfile

type AADProfile struct {
	// Managed - Whether to enable managed AAD.
	// +kubebuilder:validation:Required
	Managed bool `json:"managed"`

	// AdminGroupObjectIDs - AAD group object IDs that will have admin role of the cluster.
	// +kubebuilder:validation:Required
	AdminGroupObjectIDs []string `json:"adminGroupObjectIDs"`
}

AADProfile - AAD integration managed by AKS.

func (*AADProfile) DeepCopy

func (in *AADProfile) DeepCopy() *AADProfile

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

func (*AADProfile) DeepCopyInto

func (in *AADProfile) DeepCopyInto(out *AADProfile)

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

type APIServerAccessProfile

type APIServerAccessProfile struct {
	// AuthorizedIPRanges - Authorized IP Ranges to kubernetes API server.
	// +optional
	AuthorizedIPRanges []string `json:"authorizedIPRanges,omitempty"`
	// EnablePrivateCluster - Whether to create the cluster as a private cluster or not.
	// +optional
	EnablePrivateCluster *bool `json:"enablePrivateCluster,omitempty"`
	// PrivateDNSZone - Private dns zone mode for private cluster.
	// +kubebuilder:validation:Enum=System;None
	// +optional
	PrivateDNSZone *string `json:"privateDNSZone,omitempty"`
	// EnablePrivateClusterPublicFQDN - Whether to create additional public FQDN for private cluster or not.
	// +optional
	EnablePrivateClusterPublicFQDN *bool `json:"enablePrivateClusterPublicFQDN,omitempty"`
}

APIServerAccessProfile - access profile for AKS API server.

func (*APIServerAccessProfile) DeepCopy

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

func (*APIServerAccessProfile) DeepCopyInto

func (in *APIServerAccessProfile) DeepCopyInto(out *APIServerAccessProfile)

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

type AddonProfile added in v1.3.0

type AddonProfile struct {
	// Name - The name of the managed cluster add-on.
	Name string `json:"name"`

	// Config - Key-value pairs for configuring the add-on.
	// +optional
	Config map[string]string `json:"config,omitempty"`

	// Enabled - Whether the add-on is enabled or not.
	Enabled bool `json:"enabled"`
}

AddonProfile represents a managed cluster add-on.

func (*AddonProfile) DeepCopy added in v1.3.0

func (in *AddonProfile) DeepCopy() *AddonProfile

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

func (*AddonProfile) DeepCopyInto added in v1.3.0

func (in *AddonProfile) DeepCopyInto(out *AddonProfile)

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

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

SetIdentityDefaults sets the defaults for VMSS Identity.

func (*AzureMachinePool) SetSpotEvictionPolicyDefaults added in v1.6.0

func (amp *AzureMachinePool) SetSpotEvictionPolicyDefaults()

SetSpotEvictionPolicyDefaults sets the defaults for the spot VM eviction policy.

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) 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() 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.

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

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

	// SubnetName selects the Subnet where the VMSS will be placed
	// +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"`
}

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

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

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.

func (*AzureManagedCluster) SetupWebhookWithManager added in v1.2.0

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

SetupWebhookWithManager sets up and registers the webhook with the manager.

func (*AzureManagedCluster) ValidateCreate added in v1.2.0

func (r *AzureManagedCluster) ValidateCreate() error

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

func (*AzureManagedCluster) ValidateDelete added in v1.2.0

func (r *AzureManagedCluster) ValidateDelete() error

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

func (*AzureManagedCluster) ValidateUpdate added in v1.2.0

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

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

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 (m *AzureManagedControlPlane) Default(_ client.Client)

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

func (*AzureManagedControlPlane) GetConditions added in v1.2.0

func (m *AzureManagedControlPlane) GetConditions() clusterv1.Conditions

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

func (*AzureManagedControlPlane) GetFutures

func (m *AzureManagedControlPlane) GetFutures() infrav1.Futures

GetFutures returns the list of long running operation states for an AzureManagedControlPlane API object.

func (*AzureManagedControlPlane) Hub

func (*AzureManagedControlPlane) Hub()

Hub marks AzureManagedControlPlane as a conversion hub.

func (*AzureManagedControlPlane) SetConditions added in v1.2.0

func (m *AzureManagedControlPlane) SetConditions(conditions clusterv1.Conditions)

SetConditions will set the given conditions on an AzureManagedControlPlane object.

func (*AzureManagedControlPlane) SetFutures

func (m *AzureManagedControlPlane) SetFutures(futures infrav1.Futures)

SetFutures will set the given long running operation states on an AzureManagedControlPlane object.

func (*AzureManagedControlPlane) SetupWebhookWithManager

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

SetupWebhookWithManager sets up and registers the webhook with the manager.

func (*AzureManagedControlPlane) Validate

func (m *AzureManagedControlPlane) Validate(cli client.Client) error

Validate the Azure Machine Pool and return an aggregate error.

func (*AzureManagedControlPlane) ValidateCreate

func (m *AzureManagedControlPlane) ValidateCreate(client client.Client) error

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

func (*AzureManagedControlPlane) ValidateDelete

func (m *AzureManagedControlPlane) ValidateDelete(_ client.Client) error

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

func (*AzureManagedControlPlane) ValidateUpdate

func (m *AzureManagedControlPlane) ValidateUpdate(oldRaw runtime.Object, client client.Client) 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 AzureManagedControlPlaneSkuTier added in v1.1.0

type AzureManagedControlPlaneSkuTier string

AzureManagedControlPlaneSkuTier - Tier of a managed cluster SKU. +kubebuilder:validation:Enum=Free;Paid

const (
	// FreeManagedControlPlaneTier is the free tier of AKS without corresponding SLAs.
	FreeManagedControlPlaneTier AzureManagedControlPlaneSkuTier = "Free"
	// PaidManagedControlPlaneTier is the paid tier of AKS with corresponding SLAs.
	PaidManagedControlPlaneTier AzureManagedControlPlaneSkuTier = "Paid"
)

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
	// containing 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.
	// +optional
	VirtualNetwork ManagedControlPlaneVirtualNetwork `json:"virtualNetwork,omitempty"`

	// SubscriptionID is the GUID of the Azure subscription to hold this cluster.
	// +optional
	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,omitempty"`

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

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

	// AadProfile is Azure Active Directory configuration to integrate with AKS for aad authentication.
	// +optional
	AADProfile *AADProfile `json:"aadProfile,omitempty"`

	// AddonProfiles are the profiles of managed cluster add-on.
	// +optional
	AddonProfiles []AddonProfile `json:"addonProfiles,omitempty"`

	// SKU is the SKU of the AKS to be provisioned.
	// +optional
	SKU *SKU `json:"sku,omitempty"`

	// LoadBalancerProfile is the profile of the cluster load balancer.
	// +optional
	LoadBalancerProfile *LoadBalancerProfile `json:"loadBalancerProfile,omitempty"`

	// APIServerAccessProfile is the access profile for AKS API server.
	// +optional
	APIServerAccessProfile *APIServerAccessProfile `json:"apiServerAccessProfile,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 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"`

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

	// LongRunningOperationStates saves the states for Azure long-running operations so they can be continued on the
	// next reconciliation loop.
	// +optional
	LongRunningOperationStates infrav1.Futures `json:"longRunningOperationStates,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) Default

func (m *AzureManagedMachinePool) Default(client client.Client)

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

func (*AzureManagedMachinePool) GetConditions added in v1.2.0

func (m *AzureManagedMachinePool) GetConditions() clusterv1.Conditions

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

func (*AzureManagedMachinePool) GetFutures added in v1.2.0

func (m *AzureManagedMachinePool) GetFutures() infrav1.Futures

GetFutures returns the list of long running operation states for an AzureManagedMachinePool API object.

func (*AzureManagedMachinePool) Hub

func (*AzureManagedMachinePool) Hub()

Hub marks AzureManagedMachinePool as a conversion hub.

func (*AzureManagedMachinePool) SetConditions added in v1.2.0

func (m *AzureManagedMachinePool) SetConditions(conditions clusterv1.Conditions)

SetConditions will set the given conditions on an AzureManagedMachinePool object.

func (*AzureManagedMachinePool) SetFutures added in v1.2.0

func (m *AzureManagedMachinePool) SetFutures(futures infrav1.Futures)

SetFutures will set the given long running operation states on an AzureManagedMachinePool object.

func (*AzureManagedMachinePool) ValidateCreate

func (m *AzureManagedMachinePool) ValidateCreate(client client.Client) error

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

func (*AzureManagedMachinePool) ValidateDelete

func (m *AzureManagedMachinePool) ValidateDelete(client client.Client) error

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

func (*AzureManagedMachinePool) ValidateUpdate

func (m *AzureManagedMachinePool) ValidateUpdate(oldRaw runtime.Object, client client.Client) error

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

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 {

	// Name - name of the agent pool. If not specified, CAPZ uses the name of the CR as the agent pool name.
	// +optional
	Name *string `json:"name,omitempty"`

	// Mode - represents mode of an agent pool. Possible values include: System, User.
	// +kubebuilder:validation:Enum=System;User
	Mode string `json:"mode"`

	// 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.
	// +optional
	OSDiskSizeGB *int32 `json:"osDiskSizeGB,omitempty"`

	// AvailabilityZones - Availability zones for nodes. Must use VirtualMachineScaleSets AgentPoolType.
	// +optional
	AvailabilityZones []string `json:"availabilityZones,omitempty"`

	// Node labels - labels for all of the nodes present in node pool
	// +optional
	NodeLabels map[string]string `json:"nodeLabels,omitempty"`

	// Taints specifies the taints for nodes present in this agent pool.
	// +optional
	Taints Taints `json:"taints,omitempty"`

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

	// Scaling specifies the autoscaling parameters for the node pool.
	// +optional
	Scaling *ManagedMachinePoolScaling `json:"scaling,omitempty"`

	// MaxPods specifies the kubelet --max-pods configuration for the node pool.
	// +optional
	MaxPods *int32 `json:"maxPods,omitempty"`

	// OsDiskType specifies the OS disk type for each node in the pool. Allowed values are 'Ephemeral' and 'Managed'.
	// +kubebuilder:validation:Enum=Ephemeral;Managed
	// +kubebuilder:default=Managed
	// +optional
	OsDiskType *string `json:"osDiskType,omitempty"`

	// EnableUltraSSD enables the storage type UltraSSD_LRS for the agent pool.
	// +optional
	EnableUltraSSD *bool `json:"enableUltraSSD,omitempty"`

	// OSType specifies the virtual machine operating system. Default to Linux. Possible values include: 'Linux', 'Windows'
	// +kubebuilder:validation:Enum=Linux;Windows
	// +optional
	OSType *string `json:"osType,omitempty"`

	// EnableNodePublicIP controls whether or not nodes in the pool each have a public IP address.
	// +optional
	EnableNodePublicIP *bool `json:"enableNodePublicIP,omitempty"`

	// NodePublicIPPrefixID specifies the public IP prefix resource ID which VM nodes should use IPs from.
	// +optional
	NodePublicIPPrefixID *string `json:"nodePublicIPPrefixID,omitempty"`

	// ScaleSetPriority specifies the ScaleSetPriority value. Default to Regular. Possible values include: 'Regular', 'Spot'
	// +kubebuilder:validation:Enum=Regular;Spot
	// +optional
	ScaleSetPriority *string `json:"scaleSetPriority,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"`

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

	// LongRunningOperationStates saves the states for Azure long-running operations so they can be continued on the
	// next reconciliation loop.
	// +optional
	LongRunningOperationStates infrav1.Futures `json:"longRunningOperationStates,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 LoadBalancerProfile

type LoadBalancerProfile struct {

	// ManagedOutboundIPs - Desired managed outbound IPs for the cluster load balancer.
	// +optional
	ManagedOutboundIPs *int32 `json:"managedOutboundIPs,omitempty"`

	// OutboundIPPrefixes - Desired outbound IP Prefix resources for the cluster load balancer.
	// +optional
	OutboundIPPrefixes []string `json:"outboundIPPrefixes,omitempty"`

	// OutboundIPs - Desired outbound IP resources for the cluster load balancer.
	// +optional
	OutboundIPs []string `json:"outboundIPs,omitempty"`

	// AllocatedOutboundPorts - Desired number of allocated SNAT ports per VM. Allowed values must be in the range of 0 to 64000 (inclusive). The default value is 0 which results in Azure dynamically allocating ports.
	// +optional
	AllocatedOutboundPorts *int32 `json:"allocatedOutboundPorts,omitempty"`

	// IdleTimeoutInMinutes - Desired outbound flow idle timeout in minutes. Allowed values must be in the range of 4 to 120 (inclusive). The default value is 30 minutes.
	// +optional
	IdleTimeoutInMinutes *int32 `json:"idleTimeoutInMinutes,omitempty"`
}

LoadBalancerProfile - Profile of the cluster load balancer.

func (*LoadBalancerProfile) DeepCopy

func (in *LoadBalancerProfile) DeepCopy() *LoadBalancerProfile

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

func (*LoadBalancerProfile) DeepCopyInto

func (in *LoadBalancerProfile) DeepCopyInto(out *LoadBalancerProfile)

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

	// ServiceEndpoints is a slice of Virtual Network service endpoints to enable for the subnets.
	// +optional
	ServiceEndpoints infrav1.ServiceEndpoints `json:"serviceEndpoints,omitempty"`
}

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"`
	// +optional
	Subnet ManagedControlPlaneSubnet `json:"subnet,omitempty"`
	// ResourceGroup is the name of the Azure resource group for the VNet and Subnet.
	// +optional
	ResourceGroup string `json:"resourceGroup,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.

type ManagedMachinePoolScaling added in v1.1.0

type ManagedMachinePoolScaling struct {
	MinSize *int32 `json:"minSize,omitempty"`
	MaxSize *int32 `json:"maxSize,omitempty"`
}

ManagedMachinePoolScaling specifies scaling options.

func (*ManagedMachinePoolScaling) DeepCopy added in v1.1.0

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

func (*ManagedMachinePoolScaling) DeepCopyInto added in v1.1.0

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

type NodePoolMode

type NodePoolMode string

NodePoolMode enumerates the values for agent pool mode.

type SKU

type SKU struct {
	// Tier - Tier of a managed cluster SKU.
	Tier AzureManagedControlPlaneSkuTier `json:"tier"`
}

SKU - AKS SKU.

func (*SKU) DeepCopy

func (in *SKU) DeepCopy() *SKU

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

func (*SKU) DeepCopyInto

func (in *SKU) DeepCopyInto(out *SKU)

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

type Taint added in v1.2.0

type Taint struct {
	// Effect specifies the effect for the taint
	// +kubebuilder:validation:Enum=NoSchedule;NoExecute;PreferNoSchedule
	Effect TaintEffect `json:"effect"`
	// Key is the key of the taint
	Key string `json:"key"`
	// Value is the value of the taint
	Value string `json:"value"`
}

Taint represents a Kubernetes taint.

func (*Taint) DeepCopy added in v1.2.0

func (in *Taint) DeepCopy() *Taint

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

func (*Taint) DeepCopyInto added in v1.2.0

func (in *Taint) DeepCopyInto(out *Taint)

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

type TaintEffect added in v1.2.0

type TaintEffect string

TaintEffect is the effect for a Kubernetes taint.

type Taints added in v1.2.0

type Taints []Taint

Taints is an array of Taints.

func (Taints) DeepCopy added in v1.2.0

func (in Taints) DeepCopy() Taints

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

func (Taints) DeepCopyInto added in v1.2.0

func (in Taints) DeepCopyInto(out *Taints)

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