Documentation ¶
Index ¶
- Constants
- Variables
- func ARMClientOptions(azureEnvironment string, extraPolicies ...policy.Policy) (*arm.ClientOptions, error)
- func AddressPoolID(subscriptionID, resourceGroup, loadBalancerName, backendPoolName string) string
- func AliasOrNil[T ~string](s *string) *T
- func AutoRestClientAppendUserAgent(c *autorest.Client, extension string)
- func AvailabilitySetID(subscriptionID, resourceGroup, availabilitySetName string) string
- func FrontendIPConfigID(subscriptionID, resourceGroup, loadBalancerName, configName string) string
- func GenerateAvailabilitySetName(clusterName, nodeGroup string) string
- func GenerateBackendAddressPoolName(lbName string) string
- func GenerateControlPlaneOutboundIPName(clusterName string) string
- func GenerateControlPlaneOutboundLBName(clusterName string) string
- func GenerateDataDiskName(machineName, nameSuffix string) string
- func GenerateFrontendIPConfigName(lbName string) string
- func GenerateNICName(machineName string, multiNIC bool, index int) string
- func GenerateNodeOutboundIPName(clusterName string) string
- func GenerateNodePublicIPName(machineName string) string
- func GenerateOSDiskName(machineName string) string
- func GenerateOutboundBackendAddressPoolName(lbName string) string
- func GeneratePrivateDNSZoneName(clusterName string) string
- func GeneratePrivateFQDN(zoneName string) string
- func GeneratePublicNICName(machineName string) string
- func GenerateVNetLinkName(vnetName string) string
- func GenerateVnetPeeringName(sourceVnetName string, remoteVnetName string) string
- func IsContextDeadlineExceededOrCanceledError(err error) bool
- func IsOperationNotDoneError(target error) bool
- func ManagedClusterID(subscriptionID, resourceGroup, managedClusterName string) string
- func NATRuleID(subscriptionID, resourceGroup, loadBalancerName, natRuleName string) string
- func NatGatewayID(subscriptionID, resourceGroup, natgatewayName string) string
- func NetworkInterfaceID(subscriptionID, resourceGroup, nicName string) string
- func PrivateDNSZoneID(subscriptionID, resourceGroup, privateDNSZoneName string) string
- func ProbeID(subscriptionID, resourceGroup, loadBalancerName, probeName string) string
- func PtrSlice[T any](p *[]T) []*T
- func PublicIPID(subscriptionID, resourceGroup, ipName string) string
- func ResourceConflict(err error) bool
- func ResourceGroupID(subscriptionID, resourceGroup string) string
- func ResourceNotFound(err error) bool
- func RouteTableID(subscriptionID, resourceGroup, routeTableName string) string
- func SecurityGroupID(subscriptionID, resourceGroup, nsgName string) string
- func SetAutoRestClientDefaults(c *autorest.Client, auth autorest.Authorizer)
- func StringMapPtr(m map[string]string) map[string]*string
- func StringSlice(s *[]string) []string
- func SubnetID(subscriptionID, resourceGroup, vnetName, subnetName string) string
- func UserAgent() string
- func VMID(subscriptionID, resourceGroup, vmName string) string
- func VNetID(subscriptionID, resourceGroup, vnetName string) string
- func VirtualNetworkLinkID(...) string
- func WithIndex(name string, n int) string
- type ASOResourceSpecGetter
- type AsyncStatusUpdater
- type Authorizer
- type ClusterDescriber
- type ClusterScoper
- type CustomPutPatchHeaderPolicy
- type ExtensionSpec
- type ManagedClusterScoper
- type NetworkDescriber
- type OperationNotDoneError
- type Pauser
- type ReconcileError
- type ReconcileErrorType
- type Reconciler
- type ResourceSpecGetter
- type ResourceSpecGetterWithHeaders
- type ResourceType
- type RoleAssignmentSpec
- type ScaleSetSpec
- type ServiceReconciler
- type TagsSpec
- type VMDeletedError
- type VMSS
- func (vmss VMSS) HasEnoughLatestModelOrNotMixedModel() bool
- func (vmss VMSS) HasLatestModelApplied(vm VMSSVM) bool
- func (vmss VMSS) HasLatestModelAppliedToAll() bool
- func (vmss VMSS) HasModelChanges(other VMSS) bool
- func (vmss VMSS) InstancesByProviderID(mode infrav1.OrchestrationModeType) map[string]VMSSVM
- type VMSSVM
Constants ¶
const ( // VMTagsLastAppliedAnnotation is the key for the machine object annotation // which tracks the AdditionalTags in the Machine Provider Config. // See https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ // for annotation formatting rules. VMTagsLastAppliedAnnotation = "sigs.k8s.io/cluster-api-provider-azure-last-applied-tags-vm" // RGTagsLastAppliedAnnotation is the key for the Azure Cluster object annotation // which tracks the AdditionalTags for Resource Group which is part in the Azure Cluster. // See https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ // for annotation formatting rules. RGTagsLastAppliedAnnotation = "sigs.k8s.io/cluster-api-provider-azure-last-applied-tags-rg" // ManagedClusterTagsLastAppliedAnnotation is the key for the AzureManagedControlPlane // object annotation which tracks the AdditionalTags for managed clusters. // See https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ // for annotation formatting rules. ManagedClusterTagsLastAppliedAnnotation = "sigs.k8s.io/cluster-api-provider-azure-last-applied-tags-managedcluster" // SecurityRuleLastAppliedAnnotation is the key for the Azure Cluster // object annotation which tracks the security rules for security groups. // See https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ // for annotation formatting rules. SecurityRuleLastAppliedAnnotation = "sigs.k8s.io/cluster-api-provider-azure-last-applied-security-rules" // CustomDataHashAnnotation is the key for the machine object annotation // which tracks the hash of the custom data. // See https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ // for annotation formatting rules. CustomDataHashAnnotation = "sigs.k8s.io/cluster-api-provider-azure-vmss-custom-data-hash" )
const ( // DefaultUserName is the default username for a created VM. DefaultUserName = "capi" // DefaultAKSUserName is the default username for a created AKS VM. DefaultAKSUserName = "azureuser" // PublicCloudName is the name of the Azure public cloud. PublicCloudName = "AzurePublicCloud" // ChinaCloudName is the name of the Azure China cloud. ChinaCloudName = "AzureChinaCloud" // USGovernmentCloudName is the name of the Azure US Government cloud. USGovernmentCloudName = "AzureUSGovernmentCloud" )
const ( // DefaultImageOfferID is the default Azure Marketplace offer ID. DefaultImageOfferID = "capi" // DefaultWindowsImageOfferID is the default Azure Marketplace offer ID for Windows. DefaultWindowsImageOfferID = "capi-windows" // DefaultImagePublisherID is the default Azure Marketplace publisher ID. DefaultImagePublisherID = "cncf-upstream" // LatestVersion is the image version latest. LatestVersion = "latest" )
const ( // LinuxOS is Linux OS value for OSDisk.OSType. LinuxOS = "Linux" // WindowsOS is Windows OS value for OSDisk.OSType. WindowsOS = "Windows" )
const ( // BootstrappingExtensionLinux is the name of the Linux CAPZ bootstrapping VM extension. BootstrappingExtensionLinux = "CAPZ.Linux.Bootstrapping" // BootstrappingExtensionWindows is the name of the Windows CAPZ bootstrapping VM extension. BootstrappingExtensionWindows = "CAPZ.Windows.Bootstrapping" )
const ( // VirtualMachine ... VirtualMachine = "VirtualMachine" // VirtualMachineScaleSet ... VirtualMachineScaleSet = "VirtualMachineScaleSet" )
const (
// ControlPlaneNodeGroup will be used to create availability set for control plane machines.
ControlPlaneNodeGroup = "control-plane"
)
const ( // CustomHeaderPrefix is the prefix of annotations that enable additional cluster / node pool features. // Whatever follows the prefix will be passed as a header to cluster/node pool creation/update requests. // E.g. add `"infrastructure.cluster.x-k8s.io/custom-header-UseGPUDedicatedVHD": "true"` annotation to // AzureManagedMachinePool CR to enable creating GPU nodes by the node pool. CustomHeaderPrefix = "infrastructure.cluster.x-k8s.io/custom-header-" )
const ( // DefaultWindowsOsAndVersion is the default Windows Server version to use when // generating default images for Windows nodes. DefaultWindowsOsAndVersion = "windows-2019" )
const (
// Global is the Azure global location value.
Global = "global"
)
const (
// PrivateAPIServerHostname will be used as the api server hostname for private clusters.
PrivateAPIServerHostname = "apiserver"
)
Variables ¶
var ( // LinuxBootstrapExtensionCommand is the command the VM bootstrap extension will execute to verify Linux nodes bootstrap completes successfully. LinuxBootstrapExtensionCommand = fmt.Sprintf("for i in $(seq 1 %d); do test -f %s && break; if [ $i -eq %d ]; then exit 1; else sleep %d; fi; done", bootstrapExtensionRetries, bootstrapSentinelFile, bootstrapExtensionRetries, bootstrapExtensionSleep) // WindowsBootstrapExtensionCommand is the command the VM bootstrap extension will execute to verify Windows nodes bootstrap completes successfully. WindowsBootstrapExtensionCommand = fmt.Sprintf("powershell.exe -Command \"for ($i = 0; $i -lt %d; $i++) {if (Test-Path '%s') {exit 0} else {Start-Sleep -Seconds %d}} exit -2\"", bootstrapExtensionRetries, bootstrapSentinelFile, bootstrapExtensionSleep) )
Functions ¶
func ARMClientOptions ¶ added in v1.11.0
func ARMClientOptions(azureEnvironment string, extraPolicies ...policy.Policy) (*arm.ClientOptions, error)
ARMClientOptions returns default ARM client options for CAPZ SDK v2 requests.
func AddressPoolID ¶
AddressPoolID returns the azure resource ID for a given backend address pool.
func AliasOrNil ¶ added in v1.11.0
AliasOrNil returns a pointer to a string-derived type from a passed string pointer, or nil if the pointer is nil or an empty string.
func AutoRestClientAppendUserAgent ¶
AutoRestClientAppendUserAgent autorest client calls "AddToUserAgent" but ignores errors.
func AvailabilitySetID ¶
AvailabilitySetID returns the azure resource ID for a given availability set.
func FrontendIPConfigID ¶
FrontendIPConfigID returns the azure resource ID for a given frontend IP config.
func GenerateAvailabilitySetName ¶
GenerateAvailabilitySetName generates the name of a availability set based on the cluster name and the node group. node group identifies the set of nodes that belong to this availability set: For control plane nodes, this will be `control-plane`. For worker nodes, this will be the machine deployment name.
func GenerateBackendAddressPoolName ¶
GenerateBackendAddressPoolName generates a load balancer backend address pool name.
func GenerateControlPlaneOutboundIPName ¶
GenerateControlPlaneOutboundIPName generates a public IP name, based on the cluster name.
func GenerateControlPlaneOutboundLBName ¶
GenerateControlPlaneOutboundLBName generates the name of the control plane outbound LB.
func GenerateDataDiskName ¶
GenerateDataDiskName generates the name of a data disk based on the name of a VM.
func GenerateFrontendIPConfigName ¶
GenerateFrontendIPConfigName generates a load balancer frontend IP config name.
func GenerateNICName ¶
GenerateNICName generates the name of a network interface based on the name of a VM.
func GenerateNodeOutboundIPName ¶
GenerateNodeOutboundIPName generates a public IP name, based on the cluster name.
func GenerateNodePublicIPName ¶
GenerateNodePublicIPName generates a node public IP name, based on the machine name.
func GenerateOSDiskName ¶
GenerateOSDiskName generates the name of an OS disk based on the name of a VM.
func GenerateOutboundBackendAddressPoolName ¶
GenerateOutboundBackendAddressPoolName generates a load balancer outbound backend address pool name.
func GeneratePrivateDNSZoneName ¶
GeneratePrivateDNSZoneName generates the name of a private DNS zone based on the cluster name.
func GeneratePrivateFQDN ¶
GeneratePrivateFQDN generates the FQDN for a private API Server based on the private DNS zone name.
func GeneratePublicNICName ¶
GeneratePublicNICName generates the name of a public network interface based on the name of a VM.
func GenerateVNetLinkName ¶
GenerateVNetLinkName generates the name of a virtual network link name based on the vnet name.
func GenerateVnetPeeringName ¶ added in v1.0.0
GenerateVnetPeeringName generates the name for a peering between two vnets.
func IsContextDeadlineExceededOrCanceledError ¶ added in v1.9.0
IsContextDeadlineExceededOrCanceledError checks if it's a context deadline exceeded or canceled error.
func IsOperationNotDoneError ¶ added in v0.5.3
IsOperationNotDoneError returns true if the target is an OperationNotDoneError.
func ManagedClusterID ¶ added in v1.7.0
ManagedClusterID returns the azure resource ID for a given managed cluster.
func NatGatewayID ¶
NatGatewayID returns the azure resource ID for a given NAT gateway.
func NetworkInterfaceID ¶
NetworkInterfaceID returns the azure resource ID for a given network interface.
func PrivateDNSZoneID ¶ added in v1.6.0
PrivateDNSZoneID returns the azure resource ID for a given private DNS zone.
func PtrSlice ¶ added in v1.11.0
func PtrSlice[T any](p *[]T) []*T
PtrSlice returns a slice of pointers from a pointer to a slice. It returns nil if the pointer is nil or the slice pointed to is empty.
func PublicIPID ¶
PublicIPID returns the azure resource ID for a given public IP.
func ResourceConflict ¶
ResourceConflict parses an error to check if its status code is Conflict (409).
func ResourceGroupID ¶ added in v1.0.0
ResourceGroupID returns the azure resource ID for a given resource group.
func ResourceNotFound ¶
ResourceNotFound parses an error to check if its status code is Not Found (404).
func RouteTableID ¶
RouteTableID returns the azure resource ID for a given route table.
func SecurityGroupID ¶
SecurityGroupID returns the azure resource ID for a given security group.
func SetAutoRestClientDefaults ¶
func SetAutoRestClientDefaults(c *autorest.Client, auth autorest.Authorizer)
SetAutoRestClientDefaults set authorizer and user agent for autorest client.
func StringMapPtr ¶ added in v1.8.0
StringMapPtr converts a map[string]string into a map[string]*string. It returns nil if the map is nil.
func StringSlice ¶ added in v1.8.0
StringSlice returns a string slice value for the passed string slice pointer. It returns a nil slice if the pointer is nil.
func UserAgent ¶
func UserAgent() string
UserAgent specifies a string to append to the agent identifier.
func VirtualNetworkLinkID ¶ added in v1.6.0
func VirtualNetworkLinkID(subscriptionID, resourceGroup, privateDNSZoneName, virtualNetworkLinkName string) string
VirtualNetworkLinkID returns the azure resource ID for a given virtual network link.
Types ¶
type ASOResourceSpecGetter ¶ added in v1.10.0
type ASOResourceSpecGetter interface { // ResourceRef returns a concrete, named (and namespaced if applicable) ASO // resource type to facilitate a strongly-typed GET. ResourceRef() genruntime.MetaObject // Parameters returns a modified object if it points to a non-nil resource. // Otherwise it returns a new value or nil if no updates are needed. Parameters(ctx context.Context, object genruntime.MetaObject) (genruntime.MetaObject, error) // WasManaged returns whether or not the given resource was managed by a // non-ASO-backed CAPZ and should be considered eligible for adoption. WasManaged(genruntime.MetaObject) bool }
ASOResourceSpecGetter is an interface for getting all the required information to create/update/delete an Azure resource.
type AsyncStatusUpdater ¶ added in v0.5.3
type AsyncStatusUpdater interface { SetLongRunningOperationState(*infrav1.Future) GetLongRunningOperationState(string, string, string) *infrav1.Future DeleteLongRunningOperationState(string, string, string) UpdatePutStatus(clusterv1.ConditionType, string, error) UpdateDeleteStatus(clusterv1.ConditionType, string, error) UpdatePatchStatus(clusterv1.ConditionType, string, error) }
AsyncStatusUpdater is an interface used to keep track of long running operations in Status that has Conditions and Futures.
type Authorizer ¶
type Authorizer interface { SubscriptionID() string ClientID() string ClientSecret() string CloudEnvironment() string TenantID() string BaseURI() string Authorizer() autorest.Authorizer HashKey() string Token() azcore.TokenCredential }
Authorizer is an interface which can get the subscription ID, base URI, and authorizer for an Azure service. The Authorizer field is used by SDKv1 services while the Token is used by SDKv2 services.
func WithRegionalBaseURI ¶ added in v1.1.0
func WithRegionalBaseURI(authorizer Authorizer, region string) (Authorizer, error)
WithRegionalBaseURI returns an authorizer that has a regional base URI, like `https://{region}.management.azure.com`.
type ClusterDescriber ¶
type ClusterDescriber interface { Authorizer ResourceGroup() string ClusterName() string Location() string ExtendedLocation() *infrav1.ExtendedLocationSpec ExtendedLocationName() string ExtendedLocationType() string AdditionalTags() infrav1.Tags AvailabilitySetEnabled() bool CloudProviderConfigOverrides() *infrav1.CloudProviderConfigOverrides FailureDomains() []*string }
ClusterDescriber is an interface which can get common Azure Cluster information.
type ClusterScoper ¶
type ClusterScoper interface { ClusterDescriber NetworkDescriber }
ClusterScoper combines the ClusterDescriber and NetworkDescriber interfaces.
type CustomPutPatchHeaderPolicy ¶ added in v1.11.0
CustomPutPatchHeaderPolicy adds custom headers to a PUT or PATCH request. It implements the policy.Policy interface.
type ExtensionSpec ¶ added in v0.5.3
type ExtensionSpec struct { Name string VMName string Publisher string Version string Settings map[string]string ProtectedSettings map[string]string }
ExtensionSpec defines the specification for a VM or VMSS extension.
func GetBootstrappingVMExtension ¶
func GetBootstrappingVMExtension(osType string, cloud string, vmName string, cpuArchitectureType string) *ExtensionSpec
GetBootstrappingVMExtension returns the CAPZ Bootstrapping VM extension. The CAPZ Bootstrapping extension is a simple clone of https://github.com/Azure/custom-script-extension-linux for Linux or https://learn.microsoft.com/azure/virtual-machines/extensions/custom-script-windows for Windows. This extension allows running arbitrary scripts on the VM. Its role is to detect and report Kubernetes bootstrap failure or success.
type ManagedClusterScoper ¶ added in v1.4.0
type ManagedClusterScoper interface { ClusterDescriber NodeResourceGroup() string }
ManagedClusterScoper defines the interface for ManagedClusterScope.
type NetworkDescriber ¶
type NetworkDescriber interface { Vnet() *infrav1.VnetSpec IsVnetManaged() bool ControlPlaneSubnet() infrav1.SubnetSpec Subnets() infrav1.Subnets Subnet(string) infrav1.SubnetSpec NodeSubnets() []infrav1.SubnetSpec SetSubnet(infrav1.SubnetSpec) IsIPv6Enabled() bool ControlPlaneRouteTable() infrav1.RouteTable APIServerLB() *infrav1.LoadBalancerSpec APIServerLBName() string APIServerLBPoolName() string IsAPIServerPrivate() bool GetPrivateDNSZoneName() string OutboundLBName(string) string OutboundPoolName(string) string }
NetworkDescriber is an interface which can get common Azure Cluster Networking information.
type OperationNotDoneError ¶
OperationNotDoneError is used to represent a long-running operation that is not yet complete.
func NewOperationNotDoneError ¶
func NewOperationNotDoneError(future *infrav1.Future) OperationNotDoneError
NewOperationNotDoneError returns a new OperationNotDoneError wrapping a Future.
func (OperationNotDoneError) Error ¶
func (onde OperationNotDoneError) Error() string
Error returns the error represented as a string.
func (OperationNotDoneError) Is ¶
func (onde OperationNotDoneError) Is(target error) bool
Is returns true if the target is an OperationNotDoneError.
type Pauser ¶ added in v1.11.0
Pauser may be implemented for a ServiceReconciler that requires additional work to stop reconciliation.
type ReconcileError ¶
type ReconcileError struct {
// contains filtered or unexported fields
}
ReconcileError represents an error that is not automatically recoverable errorType indicates what type of action is required to recover. It can take two values: 1. `Transient` - Can be recovered through manual intervention, will be requeued after. 2. `Terminal` - Cannot be recovered, will not be requeued.
func WithTerminalError ¶
func WithTerminalError(err error) ReconcileError
WithTerminalError wraps the error in a ReconcileError with errorType as `Terminal`.
func WithTransientError ¶
func WithTransientError(err error, requeueAfter time.Duration) ReconcileError
WithTransientError wraps the error in a ReconcileError with errorType as `Transient`.
func (ReconcileError) Error ¶
func (t ReconcileError) Error() string
Error returns the error message for a ReconcileError.
func (ReconcileError) Is ¶
func (t ReconcileError) Is(target error) bool
Is returns true if the target is a ReconcileError.
func (ReconcileError) IsTerminal ¶
func (t ReconcileError) IsTerminal() bool
IsTerminal returns if the ReconcileError is recoverable.
func (ReconcileError) IsTransient ¶
func (t ReconcileError) IsTransient() bool
IsTransient returns if the ReconcileError is recoverable.
func (ReconcileError) RequeueAfter ¶
func (t ReconcileError) RequeueAfter() time.Duration
RequeueAfter returns requestAfter value.
type ReconcileErrorType ¶
type ReconcileErrorType string
ReconcileErrorType represents the type of a ReconcileError.
const ( // TransientErrorType can be recovered, will be requeued after a configured time interval. TransientErrorType ReconcileErrorType = "Transient" // TerminalErrorType cannot be recovered, will not be requeued. TerminalErrorType ReconcileErrorType = "Terminal" )
type Reconciler ¶
type Reconciler interface { Reconcile(ctx context.Context) error Delete(ctx context.Context) error }
Reconciler is a generic interface for a controller reconciler which has Reconcile and Delete methods.
type ResourceSpecGetter ¶ added in v0.5.3
type ResourceSpecGetter interface { // ResourceName returns the name of the resource. ResourceName() string // OwnerResourceName returns the name of the resource that owns the resource // in the case that the resource is an Azure subresource. OwnerResourceName() string // ResourceGroupName returns the name of the resource group the resource is in. ResourceGroupName() string // Parameters takes the existing resource and returns the desired parameters of the resource. // If the resource does not exist, or we do not care about existing parameters to update the resource, existing should be nil. // If no update is needed on the resource, Parameters should return nil. Parameters(ctx context.Context, existing interface{}) (params interface{}, err error) }
ResourceSpecGetter is an interface for getting all the required information to create/update/delete an Azure resource.
type ResourceSpecGetterWithHeaders ¶ added in v1.4.0
type ResourceSpecGetterWithHeaders interface { ResourceSpecGetter // CustomHeaders returns the headers that should be added to Azure API calls. CustomHeaders() map[string]string }
ResourceSpecGetterWithHeaders is a ResourceSpecGetter that can return custom headers to be added to API calls.
type ResourceType ¶
type ResourceType string
ResourceType defines the type azure resource being reconciled. Eg. Virtual Machine, Virtual Machine Scale Sets.
type RoleAssignmentSpec ¶
RoleAssignmentSpec defines the specification for a Role Assignment.
type ScaleSetSpec ¶
type ScaleSetSpec struct { Name string Size string Capacity int64 SSHKeyData string OSDisk infrav1.OSDisk DataDisks []infrav1.DataDisk SubnetName string VNetName string VNetResourceGroup string PublicLBName string PublicLBAddressPoolName string AcceleratedNetworking *bool TerminateNotificationTimeout *int Identity infrav1.VMIdentity UserAssignedIdentities []infrav1.UserAssignedIdentity SecurityProfile *infrav1.SecurityProfile SpotVMOptions *infrav1.SpotVMOptions AdditionalCapabilities *infrav1.AdditionalCapabilities DiagnosticsProfile *infrav1.Diagnostics FailureDomains []string VMExtensions []infrav1.VMExtension NetworkInterfaces []infrav1.NetworkInterface IPv6Enabled bool OrchestrationMode infrav1.OrchestrationModeType }
ScaleSetSpec defines the specification for a Scale Set.
type ServiceReconciler ¶ added in v1.3.0
type ServiceReconciler interface { Name() string IsManaged(ctx context.Context) (bool, error) Reconciler }
ServiceReconciler is an Azure service reconciler which can reconcile an Azure service.
type TagsSpec ¶
type TagsSpec struct { Scope string Tags infrav1.Tags // Annotation is the key which stores the last applied tags as value in JSON format. // The last applied tags are used to find out which tags are being managed by CAPZ // and if any has to be deleted by comparing it with the new desired tags Annotation string }
TagsSpec defines the specification for a set of tags.
type VMDeletedError ¶
type VMDeletedError struct {
ProviderID string
}
VMDeletedError is returned when a virtual machine is deleted outside of capz.
func (VMDeletedError) Error ¶
func (vde VMDeletedError) Error() string
Error returns the error string.
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.ProvisioningState `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) HasEnoughLatestModelOrNotMixedModel ¶
HasEnoughLatestModelOrNotMixedModel returns true if VMSS instance have the latest model applied to all or equal to the capacity.
func (VMSS) HasLatestModelApplied ¶
HasLatestModelApplied returns true if the VMSS instance matches the VMSS image reference.
func (VMSS) HasLatestModelAppliedToAll ¶
HasLatestModelAppliedToAll returns true if all VMSS instance have the latest model applied.
func (VMSS) HasModelChanges ¶
HasModelChanges returns true if the spec fields which will mutate the Azure VMSS model are different.
func (VMSS) InstancesByProviderID ¶
func (vmss VMSS) InstancesByProviderID(mode infrav1.OrchestrationModeType) map[string]VMSSVM
InstancesByProviderID returns VMSSVMs by ID.
type VMSSVM ¶
type VMSSVM struct { ID string `json:"id,omitempty"` InstanceID string `json:"instanceID,omitempty"` Image infrav1.Image `json:"image,omitempty"` Name string `json:"name,omitempty"` AvailabilityZone string `json:"availabilityZone,omitempty"` State infrav1.ProvisioningState `json:"vmState,omitempty"` BootstrappingState infrav1.ProvisioningState `json:"bootstrappingState,omitempty"` OrchestrationMode infrav1.OrchestrationModeType `json:"orchestrationMode,omitempty"` }
VMSSVM defines a VM in a virtual machine scale set.
func (VMSSVM) ProviderID ¶
ProviderID returns the K8s provider ID for the VMSS instance.
Source Files ¶
Directories ¶
Path | Synopsis |
---|---|
Package mock_azure is a generated GoMock package.
|
Package mock_azure is a generated GoMock package. |
mocks
Run go generate to regenerate this mock.
|
Run go generate to regenerate this mock. |
services
|
|
agentpools/mock_agentpools
Package mock_agentpools is a generated GoMock package.
|
Package mock_agentpools is a generated GoMock package. |
aso/mock_aso
Package mock_aso is a generated GoMock package.
|
Package mock_aso is a generated GoMock package. |
async/mock_async
Package mock_async is a generated GoMock package.
|
Package mock_async is a generated GoMock package. |
availabilitysets/mock_availabilitysets
Package mock_availabilitysets is a generated GoMock package.
|
Package mock_availabilitysets is a generated GoMock package. |
bastionhosts/mocks_bastionhosts
Package mock_bastionhosts is a generated GoMock package.
|
Package mock_bastionhosts is a generated GoMock package. |
disks/mock_disks
Package mock_disks is a generated GoMock package.
|
Package mock_disks is a generated GoMock package. |
groups/mock_groups
Run go generate to regenerate this mock.
|
Run go generate to regenerate this mock. |
identities/mock_identities
Package mock_identities is a generated GoMock package.
|
Package mock_identities is a generated GoMock package. |
inboundnatrules/mock_inboundnatrules
Package mock_inboundnatrules is a generated GoMock package.
|
Package mock_inboundnatrules is a generated GoMock package. |
loadbalancers/mock_loadbalancers
Run go generate to regenerate this mock.
|
Run go generate to regenerate this mock. |
managedclusters/mock_managedclusters
Package mock_managedclusters is a generated GoMock package.
|
Package mock_managedclusters is a generated GoMock package. |
natgateways/mock_natgateways
Run go generate to regenerate this mock.
|
Run go generate to regenerate this mock. |
networkinterfaces/mock_networkinterfaces
Package mock_networkinterfaces is a generated GoMock package.
|
Package mock_networkinterfaces is a generated GoMock package. |
privatedns/mock_privatedns
Run go generate to regenerate this mock.
|
Run go generate to regenerate this mock. |
privateendpoints/mock_privateendpoints
Package mock_privateendpoints is a generated GoMock package.
|
Package mock_privateendpoints is a generated GoMock package. |
publicips/mock_publicips
Package mock_publicips is a generated GoMock package.
|
Package mock_publicips is a generated GoMock package. |
resourcehealth/mock_resourcehealth
Package mock_resourcehealth is a generated GoMock package.
|
Package mock_resourcehealth is a generated GoMock package. |
resourceskus/mock_resourceskus
Run go generate to regenerate this mock.
|
Run go generate to regenerate this mock. |
roleassignments/mock_roleassignments
Package mock_roleassignments is a generated GoMock package.
|
Package mock_roleassignments is a generated GoMock package. |
routetables/mock_routetables
Run go generate to regenerate this mock.
|
Run go generate to regenerate this mock. |
scalesets/mock_scalesets
Package mock_scalesets is a generated GoMock package.
|
Package mock_scalesets is a generated GoMock package. |
scalesetvms/mock_scalesetvms
Package mock_scalesetvms is a generated GoMock package.
|
Package mock_scalesetvms is a generated GoMock package. |
securitygroups/mock_securitygroups
Run go generate to regenerate this mock.
|
Run go generate to regenerate this mock. |
subnets/mock_subnets
Run go generate to regenerate this mock.
|
Run go generate to regenerate this mock. |
tags/mock_tags
Package mock_tags is a generated GoMock package.
|
Package mock_tags is a generated GoMock package. |
virtualmachineimages/mock_virtualmachineimages
Package mock_virtualmachineimages is a generated GoMock package.
|
Package mock_virtualmachineimages is a generated GoMock package. |
virtualmachines/mock_virtualmachines
Package mock_virtualmachines is a generated GoMock package.
|
Package mock_virtualmachines is a generated GoMock package. |
virtualnetworks/mock_virtualnetworks
Package mock_virtualnetworks is a generated GoMock package.
|
Package mock_virtualnetworks is a generated GoMock package. |
vmextensions/mock_vmextensions
Run go generate to regenerate this mock.
|
Run go generate to regenerate this mock. |
vnetpeerings/mock_vnetpeerings
Run go generate to regenerate this mock.
|
Run go generate to regenerate this mock. |