v1alpha3

package
v6.6.0 Latest Latest
Warning

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

Go to latest
Published: Jun 1, 2023 License: Apache-2.0 Imports: 6 Imported by: 16

Documentation

Overview

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

Index

Constants

This section is empty.

Variables

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

	// AddToScheme is used by the generated client.
	AddToScheme = schemeBuilder.AddToScheme
)
View Source
var SchemeGroupVersion = schema.GroupVersion{
	Group:   GroupVersion.Group,
	Version: GroupVersion.Version,
}

SchemeGroupVersion is group version used to register these objects

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

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

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

func (*AzureMachinePool) SetConditions

func (amp *AzureMachinePool) SetConditions(conditions clusterv1.Conditions)

SetConditions will set the given conditions on an AzureMachinePool object

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.VMState `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 AzureMachinePool

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.

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

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

	// 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.VMState `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 AzureMachineTemplate

type AzureMachineTemplate 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 Virtual Machine 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"`
}

AzureMachineTemplate defines the template for an AzureMachine.

func (*AzureMachineTemplate) DeepCopy

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

func (*AzureMachineTemplate) DeepCopyInto

func (in *AzureMachineTemplate) DeepCopyInto(out *AzureMachineTemplate)

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

type VMSS

type VMSS struct {
	ID        string             `json:"id,omitempty"`
	Name      string             `json:"name,omitempty"`
	Sku       string             `json:"sku,omitempty"`
	Capacity  int64              `json:"capacity,omitempty"`
	Zones     []string           `json:"zones,omitempty"`
	Image     infrav1.Image      `json:"image,omitempty"`
	State     infrav1.VMState    `json:"vmState,omitempty"`
	Identity  infrav1.VMIdentity `json:"identity,omitempty"`
	Tags      infrav1.Tags       `json:"tags,omitempty"`
	Instances []VMSSVM           `json:"instances,omitempty"`
}

VMSS defines a virtual machine scale set.

func (*VMSS) DeepCopy

func (in *VMSS) DeepCopy() *VMSS

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

func (*VMSS) DeepCopyInto

func (in *VMSS) DeepCopyInto(out *VMSS)

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

type VMSSVM

type VMSSVM struct {
	ID                 string          `json:"id,omitempty"`
	InstanceID         string          `json:"instanceID,omitempty"`
	Name               string          `json:"name,omitempty"`
	AvailabilityZone   string          `json:"availabilityZone,omitempty"`
	State              infrav1.VMState `json:"vmState,omitempty"`
	LatestModelApplied bool            `json:"latestModelApplied,omitempty"`
}

VMSSVM defines a VM in a virtual machine scale set.

func (*VMSSVM) DeepCopy

func (in *VMSSVM) DeepCopy() *VMSSVM

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

func (*VMSSVM) DeepCopyInto

func (in *VMSSVM) DeepCopyInto(out *VMSSVM)

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