sdk/resourcemanager/containerservice/armcontainerservice/constants.go (871 lines of code) (raw):

// Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for license information. // Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. // Changes may cause incorrect behavior and will be lost if the code is regenerated. package armcontainerservice const ( moduleName = "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/containerservice/armcontainerservice" moduleVersion = "v7.0.0-beta.2" ) // AddonAutoscaling - Whether VPA add-on is enabled and configured to scale AKS-managed add-ons. type AddonAutoscaling string const ( // AddonAutoscalingDisabled - Feature to autoscale AKS-managed add-ons is disabled. AddonAutoscalingDisabled AddonAutoscaling = "Disabled" // AddonAutoscalingEnabled - Feature to autoscale AKS-managed add-ons is enabled. The default VPA update mode is Initial mode. AddonAutoscalingEnabled AddonAutoscaling = "Enabled" ) // PossibleAddonAutoscalingValues returns the possible values for the AddonAutoscaling const type. func PossibleAddonAutoscalingValues() []AddonAutoscaling { return []AddonAutoscaling{ AddonAutoscalingDisabled, AddonAutoscalingEnabled, } } // AdoptionPolicy - Action if Kubernetes namespace with same name already exists. type AdoptionPolicy string const ( // AdoptionPolicyAlways - Always take over the existing namespace to be managed by ARM, some fields might be overwritten. AdoptionPolicyAlways AdoptionPolicy = "Always" // AdoptionPolicyIfIdentical - Take over the existing namespace to be managed by ARM, if there is no difference. AdoptionPolicyIfIdentical AdoptionPolicy = "IfIdentical" // AdoptionPolicyNever - If the namespace already exists in Kubernetes, attempts to create that same namespace in ARM will // fail. AdoptionPolicyNever AdoptionPolicy = "Never" ) // PossibleAdoptionPolicyValues returns the possible values for the AdoptionPolicy const type. func PossibleAdoptionPolicyValues() []AdoptionPolicy { return []AdoptionPolicy{ AdoptionPolicyAlways, AdoptionPolicyIfIdentical, AdoptionPolicyNever, } } // AdvancedNetworkPolicies - This allows users to configure Layer 7 network policies (FQDN, HTTP, Kafka). Policies themselves // must be configured via the Cilium Network Policy resources, see // https://docs.cilium.io/en/latest/security/policy/index.html. This can be enabled only on cilium-based clusters. If not // specified, the default value is FQDN if security.enabled is set to true. type AdvancedNetworkPolicies string const ( // AdvancedNetworkPoliciesFQDN - Enable FQDN based network policies AdvancedNetworkPoliciesFQDN AdvancedNetworkPolicies = "FQDN" // AdvancedNetworkPoliciesL7 - Enable Layer7 network policies (FQDN, HTTP/S, Kafka). This option is a superset of the FQDN // option. AdvancedNetworkPoliciesL7 AdvancedNetworkPolicies = "L7" // AdvancedNetworkPoliciesNone - Disable Layer 7 network policies (FQDN, HTTP/S, Kafka) AdvancedNetworkPoliciesNone AdvancedNetworkPolicies = "None" ) // PossibleAdvancedNetworkPoliciesValues returns the possible values for the AdvancedNetworkPolicies const type. func PossibleAdvancedNetworkPoliciesValues() []AdvancedNetworkPolicies { return []AdvancedNetworkPolicies{ AdvancedNetworkPoliciesFQDN, AdvancedNetworkPoliciesL7, AdvancedNetworkPoliciesNone, } } // AgentPoolMode - A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent // pool restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools type AgentPoolMode string const ( // AgentPoolModeGateway - Gateway agent pools are dedicated to providing static egress IPs to pods. For more details, see // https://aka.ms/aks/static-egress-gateway. AgentPoolModeGateway AgentPoolMode = "Gateway" // AgentPoolModeSystem - System agent pools are primarily for hosting critical system pods such as CoreDNS and metrics-server. // System agent pools osType must be Linux. System agent pools VM SKU must have at least 2vCPUs and 4GB of memory. AgentPoolModeSystem AgentPoolMode = "System" // AgentPoolModeUser - User agent pools are primarily for hosting your application pods. AgentPoolModeUser AgentPoolMode = "User" ) // PossibleAgentPoolModeValues returns the possible values for the AgentPoolMode const type. func PossibleAgentPoolModeValues() []AgentPoolMode { return []AgentPoolMode{ AgentPoolModeGateway, AgentPoolModeSystem, AgentPoolModeUser, } } // AgentPoolSSHAccess - SSH access method of an agent pool. type AgentPoolSSHAccess string const ( // AgentPoolSSHAccessDisabled - SSH service will be turned off on the node. AgentPoolSSHAccessDisabled AgentPoolSSHAccess = "Disabled" // AgentPoolSSHAccessLocalUser - Can SSH onto the node as a local user using private key. AgentPoolSSHAccessLocalUser AgentPoolSSHAccess = "LocalUser" ) // PossibleAgentPoolSSHAccessValues returns the possible values for the AgentPoolSSHAccess const type. func PossibleAgentPoolSSHAccessValues() []AgentPoolSSHAccess { return []AgentPoolSSHAccess{ AgentPoolSSHAccessDisabled, AgentPoolSSHAccessLocalUser, } } // AgentPoolType - The type of Agent Pool. type AgentPoolType string const ( // AgentPoolTypeAvailabilitySet - Use of this is strongly discouraged. AgentPoolTypeAvailabilitySet AgentPoolType = "AvailabilitySet" // AgentPoolTypeVirtualMachineScaleSets - Create an Agent Pool backed by a Virtual Machine Scale Set. AgentPoolTypeVirtualMachineScaleSets AgentPoolType = "VirtualMachineScaleSets" // AgentPoolTypeVirtualMachines - Create an Agent Pool backed by a Single Instance VM orchestration mode. AgentPoolTypeVirtualMachines AgentPoolType = "VirtualMachines" ) // PossibleAgentPoolTypeValues returns the possible values for the AgentPoolType const type. func PossibleAgentPoolTypeValues() []AgentPoolType { return []AgentPoolType{ AgentPoolTypeAvailabilitySet, AgentPoolTypeVirtualMachineScaleSets, AgentPoolTypeVirtualMachines, } } // ArtifactSource - The source where the artifacts are downloaded from. type ArtifactSource string const ( // ArtifactSourceCache - pull images from Azure Container Registry with cache ArtifactSourceCache ArtifactSource = "Cache" // ArtifactSourceDirect - pull images from Microsoft Artifact Registry ArtifactSourceDirect ArtifactSource = "Direct" ) // PossibleArtifactSourceValues returns the possible values for the ArtifactSource const type. func PossibleArtifactSourceValues() []ArtifactSource { return []ArtifactSource{ ArtifactSourceCache, ArtifactSourceDirect, } } // BackendPoolType - The type of the managed inbound Load Balancer BackendPool. type BackendPoolType string const ( // BackendPoolTypeNodeIP - The type of the managed inbound Load Balancer BackendPool. https://cloud-provider-azure.sigs.k8s.io/topics/loadbalancer/#configure-load-balancer-backend. BackendPoolTypeNodeIP BackendPoolType = "NodeIP" // BackendPoolTypeNodeIPConfiguration - The type of the managed inbound Load Balancer BackendPool. https://cloud-provider-azure.sigs.k8s.io/topics/loadbalancer/#configure-load-balancer-backend. BackendPoolTypeNodeIPConfiguration BackendPoolType = "NodeIPConfiguration" ) // PossibleBackendPoolTypeValues returns the possible values for the BackendPoolType const type. func PossibleBackendPoolTypeValues() []BackendPoolType { return []BackendPoolType{ BackendPoolTypeNodeIP, BackendPoolTypeNodeIPConfiguration, } } // ClusterServiceLoadBalancerHealthProbeMode - The health probing behavior for External Traffic Policy Cluster services. type ClusterServiceLoadBalancerHealthProbeMode string const ( // ClusterServiceLoadBalancerHealthProbeModeServiceNodePort - Each External Traffic Policy Cluster service will have its own // health probe targeting service nodePort. ClusterServiceLoadBalancerHealthProbeModeServiceNodePort ClusterServiceLoadBalancerHealthProbeMode = "ServiceNodePort" // ClusterServiceLoadBalancerHealthProbeModeShared - All External Traffic Policy Cluster services in a Standard Load Balancer // will have a dedicated health probe targeting the backend nodes' kube-proxy health check port 10256. ClusterServiceLoadBalancerHealthProbeModeShared ClusterServiceLoadBalancerHealthProbeMode = "Shared" ) // PossibleClusterServiceLoadBalancerHealthProbeModeValues returns the possible values for the ClusterServiceLoadBalancerHealthProbeMode const type. func PossibleClusterServiceLoadBalancerHealthProbeModeValues() []ClusterServiceLoadBalancerHealthProbeMode { return []ClusterServiceLoadBalancerHealthProbeMode{ ClusterServiceLoadBalancerHealthProbeModeServiceNodePort, ClusterServiceLoadBalancerHealthProbeModeShared, } } // Code - Tells whether the cluster is Running or Stopped type Code string const ( // CodeRunning - The cluster is running. CodeRunning Code = "Running" // CodeStopped - The cluster is stopped. CodeStopped Code = "Stopped" ) // PossibleCodeValues returns the possible values for the Code const type. func PossibleCodeValues() []Code { return []Code{ CodeRunning, CodeStopped, } } // ConnectionStatus - The private link service connection status. type ConnectionStatus string const ( ConnectionStatusApproved ConnectionStatus = "Approved" ConnectionStatusDisconnected ConnectionStatus = "Disconnected" ConnectionStatusPending ConnectionStatus = "Pending" ConnectionStatusRejected ConnectionStatus = "Rejected" ) // PossibleConnectionStatusValues returns the possible values for the ConnectionStatus const type. func PossibleConnectionStatusValues() []ConnectionStatus { return []ConnectionStatus{ ConnectionStatusApproved, ConnectionStatusDisconnected, ConnectionStatusPending, ConnectionStatusRejected, } } // CreatedByType - The type of identity that created the resource. type CreatedByType string const ( CreatedByTypeApplication CreatedByType = "Application" CreatedByTypeKey CreatedByType = "Key" CreatedByTypeManagedIdentity CreatedByType = "ManagedIdentity" CreatedByTypeUser CreatedByType = "User" ) // PossibleCreatedByTypeValues returns the possible values for the CreatedByType const type. func PossibleCreatedByTypeValues() []CreatedByType { return []CreatedByType{ CreatedByTypeApplication, CreatedByTypeKey, CreatedByTypeManagedIdentity, CreatedByTypeUser, } } // DeletePolicy - Delete options of a namespace. type DeletePolicy string const ( // DeletePolicyDelete - Delete both the ARM resource and the Kubernetes namespace together. DeletePolicyDelete DeletePolicy = "Delete" // DeletePolicyKeep - Only delete the ARM resource, keep the Kubernetes namespace. Also delete the ManagedByARM label. DeletePolicyKeep DeletePolicy = "Keep" ) // PossibleDeletePolicyValues returns the possible values for the DeletePolicy const type. func PossibleDeletePolicyValues() []DeletePolicy { return []DeletePolicy{ DeletePolicyDelete, DeletePolicyKeep, } } // DriverType - Specify the type of GPU driver to install when creating Windows agent pools. If not provided, AKS selects // the driver based on system compatibility. This cannot be changed once the AgentPool has been // created. This cannot be set on Linux AgentPools. For Linux AgentPools, the driver is selected based on system compatibility. type DriverType string const ( // DriverTypeCUDA - Install the CUDA driver for the GPU, optimized for computational tasks in scientific computing and data-intensive // applications. DriverTypeCUDA DriverType = "CUDA" // DriverTypeGRID - Install the GRID driver for the GPU, suitable for applications requiring virtualization support. DriverTypeGRID DriverType = "GRID" ) // PossibleDriverTypeValues returns the possible values for the DriverType const type. func PossibleDriverTypeValues() []DriverType { return []DriverType{ DriverTypeCUDA, DriverTypeGRID, } } // Expander - If not specified, the default is 'random'. See expanders [https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-expanders] // for more information. type Expander string const ( // ExpanderLeastWaste - Selects the node group that will have the least idle CPU (if tied, unused memory) after scale-up. // This is useful when you have different classes of nodes, for example, high CPU or high memory nodes, and only want to expand // those when there are pending pods that need a lot of those resources. ExpanderLeastWaste Expander = "least-waste" // ExpanderMostPods - Selects the node group that would be able to schedule the most pods when scaling up. This is useful // when you are using nodeSelector to make sure certain pods land on certain nodes. Note that this won't cause the autoscaler // to select bigger nodes vs. smaller, as it can add multiple smaller nodes at once. ExpanderMostPods Expander = "most-pods" // ExpanderPriority - Selects the node group that has the highest priority assigned by the user. It's configuration is described // in more details [here](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/expander/priority/readme.md). ExpanderPriority Expander = "priority" // ExpanderRandom - Used when you don't have a particular need for the node groups to scale differently. ExpanderRandom Expander = "random" ) // PossibleExpanderValues returns the possible values for the Expander const type. func PossibleExpanderValues() []Expander { return []Expander{ ExpanderLeastWaste, ExpanderMostPods, ExpanderPriority, ExpanderRandom, } } // ExtendedLocationTypes - The type of extendedLocation. type ExtendedLocationTypes string const ( ExtendedLocationTypesEdgeZone ExtendedLocationTypes = "EdgeZone" ) // PossibleExtendedLocationTypesValues returns the possible values for the ExtendedLocationTypes const type. func PossibleExtendedLocationTypesValues() []ExtendedLocationTypes { return []ExtendedLocationTypes{ ExtendedLocationTypesEdgeZone, } } type Format string const ( // FormatAzure - Return azure auth-provider kubeconfig. This format is deprecated in v1.22 and will be fully removed in v1.26. // See: https://aka.ms/k8s/changes-1-26. FormatAzure Format = "azure" // FormatExec - Return exec format kubeconfig. This format requires kubelogin binary in the path. FormatExec Format = "exec" ) // PossibleFormatValues returns the possible values for the Format const type. func PossibleFormatValues() []Format { return []Format{ FormatAzure, FormatExec, } } // GPUInstanceProfile - GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. type GPUInstanceProfile string const ( GPUInstanceProfileMIG1G GPUInstanceProfile = "MIG1g" GPUInstanceProfileMIG2G GPUInstanceProfile = "MIG2g" GPUInstanceProfileMIG3G GPUInstanceProfile = "MIG3g" GPUInstanceProfileMIG4G GPUInstanceProfile = "MIG4g" GPUInstanceProfileMIG7G GPUInstanceProfile = "MIG7g" ) // PossibleGPUInstanceProfileValues returns the possible values for the GPUInstanceProfile const type. func PossibleGPUInstanceProfileValues() []GPUInstanceProfile { return []GPUInstanceProfile{ GPUInstanceProfileMIG1G, GPUInstanceProfileMIG2G, GPUInstanceProfileMIG3G, GPUInstanceProfileMIG4G, GPUInstanceProfileMIG7G, } } // GuardrailsSupport - Whether the version is preview or stable. type GuardrailsSupport string const ( // GuardrailsSupportPreview - The version is preview. It is not recommended to use preview versions on critical production // clusters. The preview version may not support all use-cases. GuardrailsSupportPreview GuardrailsSupport = "Preview" // GuardrailsSupportStable - The version is stable and can be used on critical production clusters. GuardrailsSupportStable GuardrailsSupport = "Stable" ) // PossibleGuardrailsSupportValues returns the possible values for the GuardrailsSupport const type. func PossibleGuardrailsSupportValues() []GuardrailsSupport { return []GuardrailsSupport{ GuardrailsSupportPreview, GuardrailsSupportStable, } } // IPFamily - To determine if address belongs IPv4 or IPv6 family type IPFamily string const ( // IPFamilyIPv4 - IPv4 family IPFamilyIPv4 IPFamily = "IPv4" // IPFamilyIPv6 - IPv6 family IPFamilyIPv6 IPFamily = "IPv6" ) // PossibleIPFamilyValues returns the possible values for the IPFamily const type. func PossibleIPFamilyValues() []IPFamily { return []IPFamily{ IPFamilyIPv4, IPFamilyIPv6, } } // IpvsScheduler - IPVS scheduler, for more information please see http://www.linuxvirtualserver.org/docs/scheduling.html. type IpvsScheduler string const ( // IpvsSchedulerLeastConnection - Least Connection IpvsSchedulerLeastConnection IpvsScheduler = "LeastConnection" // IpvsSchedulerRoundRobin - Round Robin IpvsSchedulerRoundRobin IpvsScheduler = "RoundRobin" ) // PossibleIpvsSchedulerValues returns the possible values for the IpvsScheduler const type. func PossibleIpvsSchedulerValues() []IpvsScheduler { return []IpvsScheduler{ IpvsSchedulerLeastConnection, IpvsSchedulerRoundRobin, } } // IstioIngressGatewayMode - Mode of an ingress gateway. type IstioIngressGatewayMode string const ( // IstioIngressGatewayModeExternal - The ingress gateway is assigned a public IP address and is publicly accessible. IstioIngressGatewayModeExternal IstioIngressGatewayMode = "External" // IstioIngressGatewayModeInternal - The ingress gateway is assigned an internal IP address and cannot is accessed publicly. IstioIngressGatewayModeInternal IstioIngressGatewayMode = "Internal" ) // PossibleIstioIngressGatewayModeValues returns the possible values for the IstioIngressGatewayMode const type. func PossibleIstioIngressGatewayModeValues() []IstioIngressGatewayMode { return []IstioIngressGatewayMode{ IstioIngressGatewayModeExternal, IstioIngressGatewayModeInternal, } } // KeyVaultNetworkAccessTypes - Network access of key vault. The possible values are Public and Private. Public means the // key vault allows public access from all networks. Private means the key vault disables public access and // enables private link. The default value is Public. type KeyVaultNetworkAccessTypes string const ( KeyVaultNetworkAccessTypesPrivate KeyVaultNetworkAccessTypes = "Private" KeyVaultNetworkAccessTypesPublic KeyVaultNetworkAccessTypes = "Public" ) // PossibleKeyVaultNetworkAccessTypesValues returns the possible values for the KeyVaultNetworkAccessTypes const type. func PossibleKeyVaultNetworkAccessTypesValues() []KeyVaultNetworkAccessTypes { return []KeyVaultNetworkAccessTypes{ KeyVaultNetworkAccessTypesPrivate, KeyVaultNetworkAccessTypesPublic, } } // KubeletDiskType - Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage. type KubeletDiskType string const ( // KubeletDiskTypeOS - Kubelet will use the OS disk for its data. KubeletDiskTypeOS KubeletDiskType = "OS" // KubeletDiskTypeTemporary - Kubelet will use the temporary disk for its data. KubeletDiskTypeTemporary KubeletDiskType = "Temporary" ) // PossibleKubeletDiskTypeValues returns the possible values for the KubeletDiskType const type. func PossibleKubeletDiskTypeValues() []KubeletDiskType { return []KubeletDiskType{ KubeletDiskTypeOS, KubeletDiskTypeTemporary, } } // KubernetesSupportPlan - Different support tiers for AKS managed clusters type KubernetesSupportPlan string const ( // KubernetesSupportPlanAKSLongTermSupport - Support for the version extended past the KubernetesOfficial support of 1 year. // AKS continues to patch CVEs for another 1 year, for a total of 2 years of support. KubernetesSupportPlanAKSLongTermSupport KubernetesSupportPlan = "AKSLongTermSupport" // KubernetesSupportPlanKubernetesOfficial - Support for the version is the same as for the open source Kubernetes offering. // Official Kubernetes open source community support versions for 1 year after release. KubernetesSupportPlanKubernetesOfficial KubernetesSupportPlan = "KubernetesOfficial" ) // PossibleKubernetesSupportPlanValues returns the possible values for the KubernetesSupportPlan const type. func PossibleKubernetesSupportPlanValues() []KubernetesSupportPlan { return []KubernetesSupportPlan{ KubernetesSupportPlanAKSLongTermSupport, KubernetesSupportPlanKubernetesOfficial, } } // Level - The Safeguards level to be used. By default, Safeguards is enabled for all namespaces except those that AKS excludes // via systemExcludedNamespaces type Level string const ( LevelEnforcement Level = "Enforcement" LevelOff Level = "Off" LevelWarning Level = "Warning" ) // PossibleLevelValues returns the possible values for the Level const type. func PossibleLevelValues() []Level { return []Level{ LevelEnforcement, LevelOff, LevelWarning, } } // LicenseType - The license type to use for Windows VMs. See Azure Hybrid User Benefits [https://azure.microsoft.com/pricing/hybrid-benefit/faq/] // for more details. type LicenseType string const ( // LicenseTypeNone - No additional licensing is applied. LicenseTypeNone LicenseType = "None" // LicenseTypeWindowsServer - Enables Azure Hybrid User Benefits for Windows VMs. LicenseTypeWindowsServer LicenseType = "Windows_Server" ) // PossibleLicenseTypeValues returns the possible values for the LicenseType const type. func PossibleLicenseTypeValues() []LicenseType { return []LicenseType{ LicenseTypeNone, LicenseTypeWindowsServer, } } // LoadBalancerSKU - The default is 'standard'. See Azure Load Balancer SKUs [https://docs.microsoft.com/azure/load-balancer/skus] // for more information about the differences between load balancer SKUs. type LoadBalancerSKU string const ( // LoadBalancerSKUBasic - Use a basic Load Balancer with limited functionality. LoadBalancerSKUBasic LoadBalancerSKU = "basic" // LoadBalancerSKUStandard - Use a a standard Load Balancer. This is the recommended Load Balancer SKU. For more information // about on working with the load balancer in the managed cluster, see the [standard Load Balancer](https://docs.microsoft.com/azure/aks/load-balancer-standard) // article. LoadBalancerSKUStandard LoadBalancerSKU = "standard" ) // PossibleLoadBalancerSKUValues returns the possible values for the LoadBalancerSKU const type. func PossibleLoadBalancerSKUValues() []LoadBalancerSKU { return []LoadBalancerSKU{ LoadBalancerSKUBasic, LoadBalancerSKUStandard, } } // ManagedClusterPodIdentityProvisioningState - The current provisioning state of the pod identity. type ManagedClusterPodIdentityProvisioningState string const ( ManagedClusterPodIdentityProvisioningStateAssigned ManagedClusterPodIdentityProvisioningState = "Assigned" ManagedClusterPodIdentityProvisioningStateCanceled ManagedClusterPodIdentityProvisioningState = "Canceled" ManagedClusterPodIdentityProvisioningStateDeleting ManagedClusterPodIdentityProvisioningState = "Deleting" ManagedClusterPodIdentityProvisioningStateFailed ManagedClusterPodIdentityProvisioningState = "Failed" ManagedClusterPodIdentityProvisioningStateSucceeded ManagedClusterPodIdentityProvisioningState = "Succeeded" ManagedClusterPodIdentityProvisioningStateUpdating ManagedClusterPodIdentityProvisioningState = "Updating" ) // PossibleManagedClusterPodIdentityProvisioningStateValues returns the possible values for the ManagedClusterPodIdentityProvisioningState const type. func PossibleManagedClusterPodIdentityProvisioningStateValues() []ManagedClusterPodIdentityProvisioningState { return []ManagedClusterPodIdentityProvisioningState{ ManagedClusterPodIdentityProvisioningStateAssigned, ManagedClusterPodIdentityProvisioningStateCanceled, ManagedClusterPodIdentityProvisioningStateDeleting, ManagedClusterPodIdentityProvisioningStateFailed, ManagedClusterPodIdentityProvisioningStateSucceeded, ManagedClusterPodIdentityProvisioningStateUpdating, } } // ManagedClusterSKUName - The name of a managed cluster SKU. type ManagedClusterSKUName string const ( // ManagedClusterSKUNameAutomatic - Automatic clusters are optimized to run most production workloads with configuration that // follows AKS best practices and recommendations for cluster and workload setup, scalability, and security. For more details // about Automatic clusters see aka.ms/aks/automatic. ManagedClusterSKUNameAutomatic ManagedClusterSKUName = "Automatic" // ManagedClusterSKUNameBase - Base option for the AKS control plane. ManagedClusterSKUNameBase ManagedClusterSKUName = "Base" ) // PossibleManagedClusterSKUNameValues returns the possible values for the ManagedClusterSKUName const type. func PossibleManagedClusterSKUNameValues() []ManagedClusterSKUName { return []ManagedClusterSKUName{ ManagedClusterSKUNameAutomatic, ManagedClusterSKUNameBase, } } // ManagedClusterSKUTier - If not specified, the default is 'Free'. See AKS Pricing Tier [https://learn.microsoft.com/azure/aks/free-standard-pricing-tiers] // for more details. type ManagedClusterSKUTier string const ( // ManagedClusterSKUTierFree - The cluster management is free, but charged for VM, storage, and networking usage. Best for // experimenting, learning, simple testing, or workloads with fewer than 10 nodes. Not recommended for production use cases. ManagedClusterSKUTierFree ManagedClusterSKUTier = "Free" // ManagedClusterSKUTierPremium - Cluster has premium capabilities in addition to all of the capabilities included in 'Standard'. // Premium enables selection of LongTermSupport (aka.ms/aks/lts) for certain Kubernetes versions. ManagedClusterSKUTierPremium ManagedClusterSKUTier = "Premium" // ManagedClusterSKUTierStandard - Recommended for mission-critical and production workloads. Includes Kubernetes control // plane autoscaling, workload-intensive testing, and up to 5,000 nodes per cluster. Guarantees 99.95% availability of the // Kubernetes API server endpoint for clusters that use Availability Zones and 99.9% of availability for clusters that don't // use Availability Zones. ManagedClusterSKUTierStandard ManagedClusterSKUTier = "Standard" ) // PossibleManagedClusterSKUTierValues returns the possible values for the ManagedClusterSKUTier const type. func PossibleManagedClusterSKUTierValues() []ManagedClusterSKUTier { return []ManagedClusterSKUTier{ ManagedClusterSKUTierFree, ManagedClusterSKUTierPremium, ManagedClusterSKUTierStandard, } } // Mode - Specify which proxy mode to use ('IPTABLES' or 'IPVS') type Mode string const ( // ModeIPTABLES - IPTables proxy mode ModeIPTABLES Mode = "IPTABLES" // ModeIPVS - IPVS proxy mode. Must be using Kubernetes version >= 1.22. ModeIPVS Mode = "IPVS" ) // PossibleModeValues returns the possible values for the Mode const type. func PossibleModeValues() []Mode { return []Mode{ ModeIPTABLES, ModeIPVS, } } // NamespaceProvisioningState - The current provisioning state of the namespace. type NamespaceProvisioningState string const ( NamespaceProvisioningStateCanceled NamespaceProvisioningState = "Canceled" NamespaceProvisioningStateCreating NamespaceProvisioningState = "Creating" NamespaceProvisioningStateDeleting NamespaceProvisioningState = "Deleting" NamespaceProvisioningStateFailed NamespaceProvisioningState = "Failed" NamespaceProvisioningStateSucceeded NamespaceProvisioningState = "Succeeded" NamespaceProvisioningStateUpdating NamespaceProvisioningState = "Updating" ) // PossibleNamespaceProvisioningStateValues returns the possible values for the NamespaceProvisioningState const type. func PossibleNamespaceProvisioningStateValues() []NamespaceProvisioningState { return []NamespaceProvisioningState{ NamespaceProvisioningStateCanceled, NamespaceProvisioningStateCreating, NamespaceProvisioningStateDeleting, NamespaceProvisioningStateFailed, NamespaceProvisioningStateSucceeded, NamespaceProvisioningStateUpdating, } } // NetworkDataplane - Network dataplane used in the Kubernetes cluster. type NetworkDataplane string const ( // NetworkDataplaneAzure - Use Azure network dataplane. NetworkDataplaneAzure NetworkDataplane = "azure" // NetworkDataplaneCilium - Use Cilium network dataplane. See [Azure CNI Powered by Cilium](https://learn.microsoft.com/azure/aks/azure-cni-powered-by-cilium) // for more information. NetworkDataplaneCilium NetworkDataplane = "cilium" ) // PossibleNetworkDataplaneValues returns the possible values for the NetworkDataplane const type. func PossibleNetworkDataplaneValues() []NetworkDataplane { return []NetworkDataplane{ NetworkDataplaneAzure, NetworkDataplaneCilium, } } // NetworkMode - This cannot be specified if networkPlugin is anything other than 'azure'. type NetworkMode string const ( // NetworkModeBridge - This is no longer supported NetworkModeBridge NetworkMode = "bridge" // NetworkModeTransparent - No bridge is created. Intra-VM Pod to Pod communication is through IP routes created by Azure // CNI. See [Transparent Mode](https://docs.microsoft.com/azure/aks/faq#transparent-mode) for more information. NetworkModeTransparent NetworkMode = "transparent" ) // PossibleNetworkModeValues returns the possible values for the NetworkMode const type. func PossibleNetworkModeValues() []NetworkMode { return []NetworkMode{ NetworkModeBridge, NetworkModeTransparent, } } // NetworkPlugin - Network plugin used for building the Kubernetes network. type NetworkPlugin string const ( // NetworkPluginAzure - Use the Azure CNI network plugin. See [Azure CNI (advanced) networking](https://docs.microsoft.com/azure/aks/concepts-network#azure-cni-advanced-networking) // for more information. NetworkPluginAzure NetworkPlugin = "azure" // NetworkPluginKubenet - Use the Kubenet network plugin. See [Kubenet (basic) networking](https://docs.microsoft.com/azure/aks/concepts-network#kubenet-basic-networking) // for more information. NetworkPluginKubenet NetworkPlugin = "kubenet" // NetworkPluginNone - Do not use a network plugin. A custom CNI will need to be installed after cluster creation for networking // functionality. NetworkPluginNone NetworkPlugin = "none" ) // PossibleNetworkPluginValues returns the possible values for the NetworkPlugin const type. func PossibleNetworkPluginValues() []NetworkPlugin { return []NetworkPlugin{ NetworkPluginAzure, NetworkPluginKubenet, NetworkPluginNone, } } // NetworkPluginMode - The mode the network plugin should use. type NetworkPluginMode string const ( // NetworkPluginModeOverlay - Pods are given IPs from the PodCIDR address space but use Azure Routing Domains rather than // Kubenet reference plugins host-local and bridge. NetworkPluginModeOverlay NetworkPluginMode = "overlay" ) // PossibleNetworkPluginModeValues returns the possible values for the NetworkPluginMode const type. func PossibleNetworkPluginModeValues() []NetworkPluginMode { return []NetworkPluginMode{ NetworkPluginModeOverlay, } } // NetworkPolicy - Network policy used for building the Kubernetes network. type NetworkPolicy string const ( // NetworkPolicyAzure - Use Azure network policies. See [differences between Azure and Calico policies](https://docs.microsoft.com/azure/aks/use-network-policies#differences-between-azure-and-calico-policies-and-their-capabilities) // for more information. NetworkPolicyAzure NetworkPolicy = "azure" // NetworkPolicyCalico - Use Calico network policies. See [differences between Azure and Calico policies](https://docs.microsoft.com/azure/aks/use-network-policies#differences-between-azure-and-calico-policies-and-their-capabilities) // for more information. NetworkPolicyCalico NetworkPolicy = "calico" // NetworkPolicyCilium - Use Cilium to enforce network policies. This requires networkDataplane to be 'cilium'. NetworkPolicyCilium NetworkPolicy = "cilium" // NetworkPolicyNone - Network policies will not be enforced. This is the default value when NetworkPolicy is not specified. NetworkPolicyNone NetworkPolicy = "none" ) // PossibleNetworkPolicyValues returns the possible values for the NetworkPolicy const type. func PossibleNetworkPolicyValues() []NetworkPolicy { return []NetworkPolicy{ NetworkPolicyAzure, NetworkPolicyCalico, NetworkPolicyCilium, NetworkPolicyNone, } } // NginxIngressControllerType - Ingress type for the default NginxIngressController custom resource type NginxIngressControllerType string const ( // NginxIngressControllerTypeAnnotationControlled - The default NginxIngressController will be created. Users can edit the // default NginxIngressController Custom Resource to configure load balancer annotations. NginxIngressControllerTypeAnnotationControlled NginxIngressControllerType = "AnnotationControlled" // NginxIngressControllerTypeExternal - The default NginxIngressController will be created and the operator will provision // an external loadbalancer with it. Any annotation to make the default loadbalancer internal will be overwritten. NginxIngressControllerTypeExternal NginxIngressControllerType = "External" // NginxIngressControllerTypeInternal - The default NginxIngressController will be created and the operator will provision // an internal loadbalancer with it. Any annotation to make the default loadbalancer external will be overwritten. NginxIngressControllerTypeInternal NginxIngressControllerType = "Internal" // NginxIngressControllerTypeNone - The default Ingress Controller will not be created. It will not be deleted by the system // if it exists. Users should delete the default NginxIngressController Custom Resource manually if desired. NginxIngressControllerTypeNone NginxIngressControllerType = "None" ) // PossibleNginxIngressControllerTypeValues returns the possible values for the NginxIngressControllerType const type. func PossibleNginxIngressControllerTypeValues() []NginxIngressControllerType { return []NginxIngressControllerType{ NginxIngressControllerTypeAnnotationControlled, NginxIngressControllerTypeExternal, NginxIngressControllerTypeInternal, NginxIngressControllerTypeNone, } } // NodeOSUpgradeChannel - The default is Unmanaged, but may change to either NodeImage or SecurityPatch at GA. type NodeOSUpgradeChannel string const ( // NodeOSUpgradeChannelNodeImage - AKS will update the nodes with a newly patched VHD containing security fixes and bugfixes // on a weekly cadence. With the VHD update machines will be rolling reimaged to that VHD following maintenance windows and // surge settings. No extra VHD cost is incurred when choosing this option as AKS hosts the images. NodeOSUpgradeChannelNodeImage NodeOSUpgradeChannel = "NodeImage" // NodeOSUpgradeChannelNone - No attempt to update your machines OS will be made either by OS or by rolling VHDs. This means // you are responsible for your security updates NodeOSUpgradeChannelNone NodeOSUpgradeChannel = "None" // NodeOSUpgradeChannelSecurityPatch - AKS downloads and updates the nodes with tested security updates. These updates honor // the maintenance window settings and produce a new VHD that is used on new nodes. On some occasions it's not possible to // apply the updates in place, in such cases the existing nodes will also be re-imaged to the newly produced VHD in order // to apply the changes. This option incurs an extra cost of hosting the new Security Patch VHDs in your resource group for // just in time consumption. NodeOSUpgradeChannelSecurityPatch NodeOSUpgradeChannel = "SecurityPatch" // NodeOSUpgradeChannelUnmanaged - OS updates will be applied automatically through the OS built-in patching infrastructure. // Newly scaled in machines will be unpatched initially, and will be patched at some later time by the OS's infrastructure. // Behavior of this option depends on the OS in question. Ubuntu and Mariner apply security patches through unattended upgrade // roughly once a day around 06:00 UTC. Windows does not apply security patches automatically and so for them this option // is equivalent to None till further notice NodeOSUpgradeChannelUnmanaged NodeOSUpgradeChannel = "Unmanaged" ) // PossibleNodeOSUpgradeChannelValues returns the possible values for the NodeOSUpgradeChannel const type. func PossibleNodeOSUpgradeChannelValues() []NodeOSUpgradeChannel { return []NodeOSUpgradeChannel{ NodeOSUpgradeChannelNodeImage, NodeOSUpgradeChannelNone, NodeOSUpgradeChannelSecurityPatch, NodeOSUpgradeChannelUnmanaged, } } // NodeProvisioningMode - Once the mode it set to Auto, it cannot be changed back to Manual. type NodeProvisioningMode string const ( // NodeProvisioningModeAuto - Nodes are provisioned automatically by AKS using Karpenter. Fixed size Node Pools can still // be created, but autoscaling Node Pools cannot be. (See aka.ms/aks/nap for more details). NodeProvisioningModeAuto NodeProvisioningMode = "Auto" // NodeProvisioningModeManual - Nodes are provisioned manually by the user NodeProvisioningModeManual NodeProvisioningMode = "Manual" ) // PossibleNodeProvisioningModeValues returns the possible values for the NodeProvisioningMode const type. func PossibleNodeProvisioningModeValues() []NodeProvisioningMode { return []NodeProvisioningMode{ NodeProvisioningModeAuto, NodeProvisioningModeManual, } } // OSDiskType - The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. // Otherwise, defaults to 'Managed'. May not be changed after creation. For more information // see Ephemeral OS [https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os]. type OSDiskType string const ( // OSDiskTypeEphemeral - Ephemeral OS disks are stored only on the host machine, just like a temporary disk. This provides // lower read/write latency, along with faster node scaling and cluster upgrades. OSDiskTypeEphemeral OSDiskType = "Ephemeral" // OSDiskTypeManaged - Azure replicates the operating system disk for a virtual machine to Azure storage to avoid data loss // should the VM need to be relocated to another host. Since containers aren't designed to have local state persisted, this // behavior offers limited value while providing some drawbacks, including slower node provisioning and higher read/write // latency. OSDiskTypeManaged OSDiskType = "Managed" ) // PossibleOSDiskTypeValues returns the possible values for the OSDiskType const type. func PossibleOSDiskTypeValues() []OSDiskType { return []OSDiskType{ OSDiskTypeEphemeral, OSDiskTypeManaged, } } // OSSKU - Specifies the OS SKU used by the agent pool. If not specified, the default is Ubuntu if OSType=Linux or Windows2019 // if OSType=Windows. And the default Windows OSSKU will be changed to Windows2022 // after Windows2019 is deprecated. type OSSKU string const ( // OSSKUAzureLinux - Use AzureLinux as the OS for node images. Azure Linux is a container-optimized Linux distro built by // Microsoft, visit https://aka.ms/azurelinux for more information. OSSKUAzureLinux OSSKU = "AzureLinux" // OSSKUCBLMariner - Deprecated OSSKU. Microsoft recommends that new deployments choose 'AzureLinux' instead. OSSKUCBLMariner OSSKU = "CBLMariner" // OSSKUMariner - Deprecated OSSKU. Microsoft recommends that new deployments choose 'AzureLinux' instead. OSSKUMariner OSSKU = "Mariner" // OSSKUUbuntu - Use Ubuntu as the OS for node images. OSSKUUbuntu OSSKU = "Ubuntu" // OSSKUWindows2019 - Use Windows2019 as the OS for node images. Unsupported for system node pools. Windows2019 only supports // Windows2019 containers; it cannot run Windows2022 containers and vice versa. OSSKUWindows2019 OSSKU = "Windows2019" // OSSKUWindows2022 - Use Windows2022 as the OS for node images. Unsupported for system node pools. Windows2022 only supports // Windows2022 containers; it cannot run Windows2019 containers and vice versa. OSSKUWindows2022 OSSKU = "Windows2022" // OSSKUWindowsAnnual - Use Windows Annual Channel version as the OS for node images. Unsupported for system node pools. Details // about supported container images and kubernetes versions under different AKS Annual Channel versions could be seen in https://aka.ms/aks/windows-annual-channel-details. OSSKUWindowsAnnual OSSKU = "WindowsAnnual" ) // PossibleOSSKUValues returns the possible values for the OSSKU const type. func PossibleOSSKUValues() []OSSKU { return []OSSKU{ OSSKUAzureLinux, OSSKUCBLMariner, OSSKUMariner, OSSKUUbuntu, OSSKUWindows2019, OSSKUWindows2022, OSSKUWindowsAnnual, } } // OSType - The operating system type. The default is Linux. type OSType string const ( // OSTypeLinux - Use Linux. OSTypeLinux OSType = "Linux" // OSTypeWindows - Use Windows. OSTypeWindows OSType = "Windows" ) // PossibleOSTypeValues returns the possible values for the OSType const type. func PossibleOSTypeValues() []OSType { return []OSType{ OSTypeLinux, OSTypeWindows, } } // Operator - operator represents a key's relationship to a set of values. Valid operators are In and NotIn type Operator string const ( // OperatorDoesNotExist - The value of the key should not exist. OperatorDoesNotExist Operator = "DoesNotExist" // OperatorExists - The value of the key should exist. OperatorExists Operator = "Exists" // OperatorIn - The value of the key should be in the given list. OperatorIn Operator = "In" // OperatorNotIn - The value of the key should not be in the given list. OperatorNotIn Operator = "NotIn" ) // PossibleOperatorValues returns the possible values for the Operator const type. func PossibleOperatorValues() []Operator { return []Operator{ OperatorDoesNotExist, OperatorExists, OperatorIn, OperatorNotIn, } } // OutboundType - This can only be set at cluster creation time and cannot be changed later. For more information see egress // outbound type [https://docs.microsoft.com/azure/aks/egress-outboundtype]. type OutboundType string const ( // OutboundTypeLoadBalancer - The load balancer is used for egress through an AKS assigned public IP. This supports Kubernetes // services of type 'loadBalancer'. For more information see [outbound type loadbalancer](https://docs.microsoft.com/azure/aks/egress-outboundtype#outbound-type-of-loadbalancer). OutboundTypeLoadBalancer OutboundType = "loadBalancer" // OutboundTypeManagedNATGateway - The AKS-managed NAT gateway is used for egress. OutboundTypeManagedNATGateway OutboundType = "managedNATGateway" // OutboundTypeNone - The AKS cluster is not set with any outbound-type. All AKS nodes follows Azure VM default outbound behavior. // Please refer to https://azure.microsoft.com/en-us/updates/default-outbound-access-for-vms-in-azure-will-be-retired-transition-to-a-new-method-of-internet-access/ OutboundTypeNone OutboundType = "none" // OutboundTypeUserAssignedNATGateway - The user-assigned NAT gateway associated to the cluster subnet is used for egress. // This is an advanced scenario and requires proper network configuration. OutboundTypeUserAssignedNATGateway OutboundType = "userAssignedNATGateway" // OutboundTypeUserDefinedRouting - Egress paths must be defined by the user. This is an advanced scenario and requires proper // network configuration. For more information see [outbound type userDefinedRouting](https://docs.microsoft.com/azure/aks/egress-outboundtype#outbound-type-of-userdefinedrouting). OutboundTypeUserDefinedRouting OutboundType = "userDefinedRouting" ) // PossibleOutboundTypeValues returns the possible values for the OutboundType const type. func PossibleOutboundTypeValues() []OutboundType { return []OutboundType{ OutboundTypeLoadBalancer, OutboundTypeManagedNATGateway, OutboundTypeNone, OutboundTypeUserAssignedNATGateway, OutboundTypeUserDefinedRouting, } } // PodIPAllocationMode - The IP allocation mode for pods in the agent pool. Must be used with podSubnetId. The default is // 'DynamicIndividual'. type PodIPAllocationMode string const ( // PodIPAllocationModeDynamicIndividual - Each pod gets a single IP address assigned. This is better for maximizing a small // to medium subnet of size /16 or smaller. The Azure CNI cluster with dynamic IP allocation defaults to this mode if the // customer does not explicitly specify a podIPAllocationMode PodIPAllocationModeDynamicIndividual PodIPAllocationMode = "DynamicIndividual" // PodIPAllocationModeStaticBlock - Each node is statically allocated CIDR block(s) of size /28 = 16 IPs per block to satisfy // the maxPods per node. Number of CIDR blocks >= (maxPods / 16). The block, rather than a single IP, counts against the Azure // Vnet Private IP limit of 65K. Therefore block mode is suitable for running larger workloads with more than the current // limit of 65K pods in a cluster. This mode is better suited to scale with larger subnets of /15 or bigger PodIPAllocationModeStaticBlock PodIPAllocationMode = "StaticBlock" ) // PossiblePodIPAllocationModeValues returns the possible values for the PodIPAllocationMode const type. func PossiblePodIPAllocationModeValues() []PodIPAllocationMode { return []PodIPAllocationMode{ PodIPAllocationModeDynamicIndividual, PodIPAllocationModeStaticBlock, } } // PodLinkLocalAccess - Defines access to special link local addresses (Azure Instance Metadata Service, aka IMDS) for pods // with hostNetwork=false. If not specified, the default is 'IMDS'. type PodLinkLocalAccess string const ( // PodLinkLocalAccessIMDS - Pods with hostNetwork=false can access Azure Instance Metadata Service (IMDS) without restriction. PodLinkLocalAccessIMDS PodLinkLocalAccess = "IMDS" // PodLinkLocalAccessNone - Pods with hostNetwork=false cannot access Azure Instance Metadata Service (IMDS). PodLinkLocalAccessNone PodLinkLocalAccess = "None" ) // PossiblePodLinkLocalAccessValues returns the possible values for the PodLinkLocalAccess const type. func PossiblePodLinkLocalAccessValues() []PodLinkLocalAccess { return []PodLinkLocalAccess{ PodLinkLocalAccessIMDS, PodLinkLocalAccessNone, } } // PolicyRule - Enum representing different network policy rules. type PolicyRule string const ( // PolicyRuleAllowAll - Allow all network traffic. PolicyRuleAllowAll PolicyRule = "AllowAll" // PolicyRuleAllowSameNamespace - Allow traffic within the same namespace. PolicyRuleAllowSameNamespace PolicyRule = "AllowSameNamespace" // PolicyRuleDenyAll - Deny all network traffic. PolicyRuleDenyAll PolicyRule = "DenyAll" ) // PossiblePolicyRuleValues returns the possible values for the PolicyRule const type. func PossiblePolicyRuleValues() []PolicyRule { return []PolicyRule{ PolicyRuleAllowAll, PolicyRuleAllowSameNamespace, PolicyRuleDenyAll, } } // PrivateEndpointConnectionProvisioningState - The current provisioning state. type PrivateEndpointConnectionProvisioningState string const ( PrivateEndpointConnectionProvisioningStateCanceled PrivateEndpointConnectionProvisioningState = "Canceled" PrivateEndpointConnectionProvisioningStateCreating PrivateEndpointConnectionProvisioningState = "Creating" PrivateEndpointConnectionProvisioningStateDeleting PrivateEndpointConnectionProvisioningState = "Deleting" PrivateEndpointConnectionProvisioningStateFailed PrivateEndpointConnectionProvisioningState = "Failed" PrivateEndpointConnectionProvisioningStateSucceeded PrivateEndpointConnectionProvisioningState = "Succeeded" ) // PossiblePrivateEndpointConnectionProvisioningStateValues returns the possible values for the PrivateEndpointConnectionProvisioningState const type. func PossiblePrivateEndpointConnectionProvisioningStateValues() []PrivateEndpointConnectionProvisioningState { return []PrivateEndpointConnectionProvisioningState{ PrivateEndpointConnectionProvisioningStateCanceled, PrivateEndpointConnectionProvisioningStateCreating, PrivateEndpointConnectionProvisioningStateDeleting, PrivateEndpointConnectionProvisioningStateFailed, PrivateEndpointConnectionProvisioningStateSucceeded, } } // Protocol - The network protocol of the port. type Protocol string const ( // ProtocolTCP - TCP protocol. ProtocolTCP Protocol = "TCP" // ProtocolUDP - UDP protocol. ProtocolUDP Protocol = "UDP" ) // PossibleProtocolValues returns the possible values for the Protocol const type. func PossibleProtocolValues() []Protocol { return []Protocol{ ProtocolTCP, ProtocolUDP, } } // PublicNetworkAccess - Allow or deny public network access for AKS type PublicNetworkAccess string const ( // PublicNetworkAccessDisabled - Inbound traffic to managedCluster is disabled, traffic from managedCluster is allowed. PublicNetworkAccessDisabled PublicNetworkAccess = "Disabled" // PublicNetworkAccessEnabled - Inbound/Outbound to the managedCluster is allowed. PublicNetworkAccessEnabled PublicNetworkAccess = "Enabled" // PublicNetworkAccessSecuredByPerimeter - Inbound/Outbound traffic is managed by Microsoft.Network/NetworkSecurityPerimeters. PublicNetworkAccessSecuredByPerimeter PublicNetworkAccess = "SecuredByPerimeter" ) // PossiblePublicNetworkAccessValues returns the possible values for the PublicNetworkAccess const type. func PossiblePublicNetworkAccessValues() []PublicNetworkAccess { return []PublicNetworkAccess{ PublicNetworkAccessDisabled, PublicNetworkAccessEnabled, PublicNetworkAccessSecuredByPerimeter, } } // ResourceIdentityType - For more information see use managed identities in AKS [https://docs.microsoft.com/azure/aks/use-managed-identity]. type ResourceIdentityType string const ( // ResourceIdentityTypeNone - Do not use a managed identity for the Managed Cluster, service principal will be used instead. ResourceIdentityTypeNone ResourceIdentityType = "None" // ResourceIdentityTypeSystemAssigned - Use an implicitly created system assigned managed identity to manage cluster resources. // Master components in the control plane such as kube-controller-manager will use the system assigned managed identity to // manipulate Azure resources. ResourceIdentityTypeSystemAssigned ResourceIdentityType = "SystemAssigned" // ResourceIdentityTypeUserAssigned - Use a user-specified identity to manage cluster resources. Master components in the // control plane such as kube-controller-manager will use the specified user assigned managed identity to manipulate Azure // resources. ResourceIdentityTypeUserAssigned ResourceIdentityType = "UserAssigned" ) // PossibleResourceIdentityTypeValues returns the possible values for the ResourceIdentityType const type. func PossibleResourceIdentityTypeValues() []ResourceIdentityType { return []ResourceIdentityType{ ResourceIdentityTypeNone, ResourceIdentityTypeSystemAssigned, ResourceIdentityTypeUserAssigned, } } // RestrictionLevel - The restriction level applied to the cluster's node resource group type RestrictionLevel string const ( // RestrictionLevelReadOnly - Only */read RBAC permissions allowed on the managed node resource group RestrictionLevelReadOnly RestrictionLevel = "ReadOnly" // RestrictionLevelUnrestricted - All RBAC permissions are allowed on the managed node resource group RestrictionLevelUnrestricted RestrictionLevel = "Unrestricted" ) // PossibleRestrictionLevelValues returns the possible values for the RestrictionLevel const type. func PossibleRestrictionLevelValues() []RestrictionLevel { return []RestrictionLevel{ RestrictionLevelReadOnly, RestrictionLevelUnrestricted, } } // SafeguardsSupport - Whether the version is preview or stable. type SafeguardsSupport string const ( // SafeguardsSupportPreview - The version is preview. It is not recommended to use preview versions on critical production // clusters. The preview version may not support all use-cases. SafeguardsSupportPreview SafeguardsSupport = "Preview" // SafeguardsSupportStable - The version is stable and can be used on critical production clusters. SafeguardsSupportStable SafeguardsSupport = "Stable" ) // PossibleSafeguardsSupportValues returns the possible values for the SafeguardsSupport const type. func PossibleSafeguardsSupportValues() []SafeguardsSupport { return []SafeguardsSupport{ SafeguardsSupportPreview, SafeguardsSupportStable, } } // ScaleDownMode - Describes how VMs are added to or removed from Agent Pools. See billing states [https://docs.microsoft.com/azure/virtual-machines/states-billing]. type ScaleDownMode string const ( // ScaleDownModeDeallocate - Attempt to start deallocated instances (if they exist) during scale up and deallocate instances // during scale down. ScaleDownModeDeallocate ScaleDownMode = "Deallocate" // ScaleDownModeDelete - Create new instances during scale up and remove instances during scale down. ScaleDownModeDelete ScaleDownMode = "Delete" ) // PossibleScaleDownModeValues returns the possible values for the ScaleDownMode const type. func PossibleScaleDownModeValues() []ScaleDownMode { return []ScaleDownMode{ ScaleDownModeDeallocate, ScaleDownModeDelete, } } // ScaleSetEvictionPolicy - The eviction policy specifies what to do with the VM when it is evicted. The default is Delete. // For more information about eviction see spot VMs // [https://docs.microsoft.com/azure/virtual-machines/spot-vms] type ScaleSetEvictionPolicy string const ( // ScaleSetEvictionPolicyDeallocate - Nodes in the underlying Scale Set of the node pool are set to the stopped-deallocated // state upon eviction. Nodes in the stopped-deallocated state count against your compute quota and can cause issues with // cluster scaling or upgrading. ScaleSetEvictionPolicyDeallocate ScaleSetEvictionPolicy = "Deallocate" // ScaleSetEvictionPolicyDelete - Nodes in the underlying Scale Set of the node pool are deleted when they're evicted. ScaleSetEvictionPolicyDelete ScaleSetEvictionPolicy = "Delete" ) // PossibleScaleSetEvictionPolicyValues returns the possible values for the ScaleSetEvictionPolicy const type. func PossibleScaleSetEvictionPolicyValues() []ScaleSetEvictionPolicy { return []ScaleSetEvictionPolicy{ ScaleSetEvictionPolicyDeallocate, ScaleSetEvictionPolicyDelete, } } // ScaleSetPriority - The Virtual Machine Scale Set priority. type ScaleSetPriority string const ( // ScaleSetPriorityRegular - Regular VMs will be used. ScaleSetPriorityRegular ScaleSetPriority = "Regular" // ScaleSetPrioritySpot - Spot priority VMs will be used. There is no SLA for spot nodes. See [spot on AKS](https://docs.microsoft.com/azure/aks/spot-node-pool) // for more information. ScaleSetPrioritySpot ScaleSetPriority = "Spot" ) // PossibleScaleSetPriorityValues returns the possible values for the ScaleSetPriority const type. func PossibleScaleSetPriorityValues() []ScaleSetPriority { return []ScaleSetPriority{ ScaleSetPriorityRegular, ScaleSetPrioritySpot, } } // SeccompDefault - Specifies the default seccomp profile applied to all workloads. If not specified, 'Unconfined' will be // used by default. type SeccompDefault string const ( // SeccompDefaultRuntimeDefault - The default seccomp profile for container runtime is applied, which restricts certain system // calls for enhanced security. SeccompDefaultRuntimeDefault SeccompDefault = "RuntimeDefault" // SeccompDefaultUnconfined - No seccomp profile is applied, allowing all system calls. SeccompDefaultUnconfined SeccompDefault = "Unconfined" ) // PossibleSeccompDefaultValues returns the possible values for the SeccompDefault const type. func PossibleSeccompDefaultValues() []SeccompDefault { return []SeccompDefault{ SeccompDefaultRuntimeDefault, SeccompDefaultUnconfined, } } // ServiceMeshMode - Mode of the service mesh. type ServiceMeshMode string const ( // ServiceMeshModeDisabled - Mesh is disabled. ServiceMeshModeDisabled ServiceMeshMode = "Disabled" // ServiceMeshModeIstio - Istio deployed as an AKS addon. ServiceMeshModeIstio ServiceMeshMode = "Istio" ) // PossibleServiceMeshModeValues returns the possible values for the ServiceMeshMode const type. func PossibleServiceMeshModeValues() []ServiceMeshMode { return []ServiceMeshMode{ ServiceMeshModeDisabled, ServiceMeshModeIstio, } } // SnapshotType - The type of a snapshot. The default is NodePool. type SnapshotType string const ( // SnapshotTypeManagedCluster - The snapshot is a snapshot of a managed cluster. SnapshotTypeManagedCluster SnapshotType = "ManagedCluster" // SnapshotTypeNodePool - The snapshot is a snapshot of a node pool. SnapshotTypeNodePool SnapshotType = "NodePool" ) // PossibleSnapshotTypeValues returns the possible values for the SnapshotType const type. func PossibleSnapshotTypeValues() []SnapshotType { return []SnapshotType{ SnapshotTypeManagedCluster, SnapshotTypeNodePool, } } // TransitEncryption - This can be enabled only on Cilium-based clusters. If not specified, the default value is None. type TransitEncryption string const ( // TransitEncryptionNone - Disable WireGuard encryption for cluster traffic TransitEncryptionNone TransitEncryption = "None" // TransitEncryptionWireGuard - Enable WireGuard encryption for cluster traffic TransitEncryptionWireGuard TransitEncryption = "WireGuard" ) // PossibleTransitEncryptionValues returns the possible values for the TransitEncryption const type. func PossibleTransitEncryptionValues() []TransitEncryption { return []TransitEncryption{ TransitEncryptionNone, TransitEncryptionWireGuard, } } // TrustedAccessRoleBindingProvisioningState - The current provisioning state of trusted access role binding. type TrustedAccessRoleBindingProvisioningState string const ( TrustedAccessRoleBindingProvisioningStateCanceled TrustedAccessRoleBindingProvisioningState = "Canceled" TrustedAccessRoleBindingProvisioningStateDeleting TrustedAccessRoleBindingProvisioningState = "Deleting" TrustedAccessRoleBindingProvisioningStateFailed TrustedAccessRoleBindingProvisioningState = "Failed" TrustedAccessRoleBindingProvisioningStateSucceeded TrustedAccessRoleBindingProvisioningState = "Succeeded" TrustedAccessRoleBindingProvisioningStateUpdating TrustedAccessRoleBindingProvisioningState = "Updating" ) // PossibleTrustedAccessRoleBindingProvisioningStateValues returns the possible values for the TrustedAccessRoleBindingProvisioningState const type. func PossibleTrustedAccessRoleBindingProvisioningStateValues() []TrustedAccessRoleBindingProvisioningState { return []TrustedAccessRoleBindingProvisioningState{ TrustedAccessRoleBindingProvisioningStateCanceled, TrustedAccessRoleBindingProvisioningStateDeleting, TrustedAccessRoleBindingProvisioningStateFailed, TrustedAccessRoleBindingProvisioningStateSucceeded, TrustedAccessRoleBindingProvisioningStateUpdating, } } // Type - Specifies on which instance of the allowed days specified in daysOfWeek the maintenance occurs. type Type string const ( // TypeFirst - First. TypeFirst Type = "First" // TypeFourth - Fourth. TypeFourth Type = "Fourth" // TypeLast - Last. TypeLast Type = "Last" // TypeSecond - Second. TypeSecond Type = "Second" // TypeThird - Third. TypeThird Type = "Third" ) // PossibleTypeValues returns the possible values for the Type const type. func PossibleTypeValues() []Type { return []Type{ TypeFirst, TypeFourth, TypeLast, TypeSecond, TypeThird, } } // UndrainableNodeBehavior - Defines the behavior for undrainable nodes during upgrade. The most common cause of undrainable // nodes is Pod Disruption Budgets (PDBs), but other issues, such as pod termination grace period is // exceeding the remaining per-node drain timeout or pod is still being in a running state, can also cause undrainable nodes. type UndrainableNodeBehavior string const ( // UndrainableNodeBehaviorCordon - AKS will cordon the blocked nodes and replace them with surge nodes during upgrade. The // blocked nodes will be cordoned and replaced by surge nodes. The blocked nodes will have label 'kubernetes.azure.com/upgrade-status:Quarantined'. // A surge node will be retained for each blocked node. A best-effort attempt will be made to delete all other surge nodes. // If there are enough surge nodes to replace blocked nodes, then the upgrade operation and the managed cluster will be in // failed state. Otherwise, the upgrade operation and the managed cluster will be in canceled state. UndrainableNodeBehaviorCordon UndrainableNodeBehavior = "Cordon" // UndrainableNodeBehaviorSchedule - AKS will mark the blocked nodes schedulable, but the blocked nodes are not upgraded. // A best-effort attempt will be made to delete all surge nodes. The upgrade operation and the managed cluster will be in // failed state if there are any blocked nodes. UndrainableNodeBehaviorSchedule UndrainableNodeBehavior = "Schedule" ) // PossibleUndrainableNodeBehaviorValues returns the possible values for the UndrainableNodeBehavior const type. func PossibleUndrainableNodeBehaviorValues() []UndrainableNodeBehavior { return []UndrainableNodeBehavior{ UndrainableNodeBehaviorCordon, UndrainableNodeBehaviorSchedule, } } // UpgradeChannel - For more information see setting the AKS cluster auto-upgrade channel [https://docs.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel]. type UpgradeChannel string const ( // UpgradeChannelNodeImage - Automatically upgrade the node image to the latest version available. Consider using nodeOSUpgradeChannel // instead as that allows you to configure node OS patching separate from Kubernetes version patching UpgradeChannelNodeImage UpgradeChannel = "node-image" // UpgradeChannelNone - Disables auto-upgrades and keeps the cluster at its current version of Kubernetes. UpgradeChannelNone UpgradeChannel = "none" // UpgradeChannelPatch - Automatically upgrade the cluster to the latest supported patch version when it becomes available // while keeping the minor version the same. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, // 1.18.6, and 1.19.1 are available, your cluster is upgraded to 1.17.9. UpgradeChannelPatch UpgradeChannel = "patch" // UpgradeChannelRapid - Automatically upgrade the cluster to the latest supported patch release on the latest supported minor // version. In cases where the cluster is at a version of Kubernetes that is at an N-2 minor version where N is the latest // supported minor version, the cluster first upgrades to the latest supported patch version on N-1 minor version. For example, // if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster first // is upgraded to 1.18.6, then is upgraded to 1.19.1. UpgradeChannelRapid UpgradeChannel = "rapid" // UpgradeChannelStable - Automatically upgrade the cluster to the latest supported patch release on minor version N-1, where // N is the latest supported minor version. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, // 1.18.6, and 1.19.1 are available, your cluster is upgraded to 1.18.6. UpgradeChannelStable UpgradeChannel = "stable" ) // PossibleUpgradeChannelValues returns the possible values for the UpgradeChannel const type. func PossibleUpgradeChannelValues() []UpgradeChannel { return []UpgradeChannel{ UpgradeChannelNodeImage, UpgradeChannelNone, UpgradeChannelPatch, UpgradeChannelRapid, UpgradeChannelStable, } } // WeekDay - The weekday enum. type WeekDay string const ( WeekDayFriday WeekDay = "Friday" WeekDayMonday WeekDay = "Monday" WeekDaySaturday WeekDay = "Saturday" WeekDaySunday WeekDay = "Sunday" WeekDayThursday WeekDay = "Thursday" WeekDayTuesday WeekDay = "Tuesday" WeekDayWednesday WeekDay = "Wednesday" ) // PossibleWeekDayValues returns the possible values for the WeekDay const type. func PossibleWeekDayValues() []WeekDay { return []WeekDay{ WeekDayFriday, WeekDayMonday, WeekDaySaturday, WeekDaySunday, WeekDayThursday, WeekDayTuesday, WeekDayWednesday, } } // WorkloadRuntime - Determines the type of workload a node can run. type WorkloadRuntime string const ( // WorkloadRuntimeKataMshvVMIsolation - Nodes can use (Kata + Cloud Hypervisor + Hyper-V) to enable Nested VM-based pods (Preview). // Due to the use Hyper-V, AKS node OS itself is a nested VM (the root OS) of Hyper-V. Thus it can only be used with VM series // that support Nested Virtualization such as Dv3 series. WorkloadRuntimeKataMshvVMIsolation WorkloadRuntime = "KataMshvVmIsolation" // WorkloadRuntimeOCIContainer - Nodes will use Kubelet to run standard OCI container workloads. WorkloadRuntimeOCIContainer WorkloadRuntime = "OCIContainer" // WorkloadRuntimeWasmWasi - Nodes will use Krustlet to run WASM workloads using the WASI provider (Preview). WorkloadRuntimeWasmWasi WorkloadRuntime = "WasmWasi" ) // PossibleWorkloadRuntimeValues returns the possible values for the WorkloadRuntime const type. func PossibleWorkloadRuntimeValues() []WorkloadRuntime { return []WorkloadRuntime{ WorkloadRuntimeKataMshvVMIsolation, WorkloadRuntimeOCIContainer, WorkloadRuntimeWasmWasi, } }