// Code generated by azure-service-operator-codegen. DO NOT EDIT.
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT license.
package arm

type ManagedCluster_STATUS struct {
	ExtendedLocation *ExtendedLocation_STATUS         `json:"extendedLocation,omitempty"`
	Id               *string                          `json:"id,omitempty"`
	Identity         *ManagedClusterIdentity_STATUS   `json:"identity,omitempty"`
	Location         *string                          `json:"location,omitempty"`
	Name             *string                          `json:"name,omitempty"`
	Properties       *ManagedClusterProperties_STATUS `json:"properties,omitempty"`
	Sku              *ManagedClusterSKU_STATUS        `json:"sku,omitempty"`
	SystemData       *SystemData_STATUS               `json:"systemData,omitempty"`
	Tags             map[string]string                `json:"tags"`
	Type             *string                          `json:"type,omitempty"`
}

type ExtendedLocation_STATUS struct {
	Name *string                      `json:"name,omitempty"`
	Type *ExtendedLocationType_STATUS `json:"type,omitempty"`
}

type ManagedClusterIdentity_STATUS struct {
	PrincipalId            *string                                                         `json:"principalId,omitempty"`
	TenantId               *string                                                         `json:"tenantId,omitempty"`
	Type                   *ManagedClusterIdentity_Type_STATUS                             `json:"type,omitempty"`
	UserAssignedIdentities map[string]ManagedClusterIdentity_UserAssignedIdentities_STATUS `json:"userAssignedIdentities"`
}

type ManagedClusterProperties_STATUS struct {
	AadProfile                *ManagedClusterAADProfile_STATUS                     `json:"aadProfile,omitempty"`
	AddonProfiles             map[string]ManagedClusterAddonProfile_STATUS         `json:"addonProfiles"`
	AgentPoolProfiles         []ManagedClusterAgentPoolProfile_STATUS              `json:"agentPoolProfiles"`
	ApiServerAccessProfile    *ManagedClusterAPIServerAccessProfile_STATUS         `json:"apiServerAccessProfile,omitempty"`
	AutoScalerProfile         *ManagedClusterProperties_AutoScalerProfile_STATUS   `json:"autoScalerProfile,omitempty"`
	AutoUpgradeProfile        *ManagedClusterAutoUpgradeProfile_STATUS             `json:"autoUpgradeProfile,omitempty"`
	AzureMonitorProfile       *ManagedClusterAzureMonitorProfile_STATUS            `json:"azureMonitorProfile,omitempty"`
	AzurePortalFQDN           *string                                              `json:"azurePortalFQDN,omitempty"`
	CurrentKubernetesVersion  *string                                              `json:"currentKubernetesVersion,omitempty"`
	DisableLocalAccounts      *bool                                                `json:"disableLocalAccounts,omitempty"`
	DiskEncryptionSetID       *string                                              `json:"diskEncryptionSetID,omitempty"`
	DnsPrefix                 *string                                              `json:"dnsPrefix,omitempty"`
	EnablePodSecurityPolicy   *bool                                                `json:"enablePodSecurityPolicy,omitempty"`
	EnableRBAC                *bool                                                `json:"enableRBAC,omitempty"`
	Fqdn                      *string                                              `json:"fqdn,omitempty"`
	FqdnSubdomain             *string                                              `json:"fqdnSubdomain,omitempty"`
	HttpProxyConfig           *ManagedClusterHTTPProxyConfig_STATUS                `json:"httpProxyConfig,omitempty"`
	IdentityProfile           map[string]UserAssignedIdentity_STATUS               `json:"identityProfile"`
	KubernetesVersion         *string                                              `json:"kubernetesVersion,omitempty"`
	LinuxProfile              *ContainerServiceLinuxProfile_STATUS                 `json:"linuxProfile,omitempty"`
	MaxAgentPools             *int                                                 `json:"maxAgentPools,omitempty"`
	NetworkProfile            *ContainerServiceNetworkProfile_STATUS               `json:"networkProfile,omitempty"`
	NodeResourceGroup         *string                                              `json:"nodeResourceGroup,omitempty"`
	OidcIssuerProfile         *ManagedClusterOIDCIssuerProfile_STATUS              `json:"oidcIssuerProfile,omitempty"`
	PodIdentityProfile        *ManagedClusterPodIdentityProfile_STATUS             `json:"podIdentityProfile,omitempty"`
	PowerState                *PowerState_STATUS                                   `json:"powerState,omitempty"`
	PrivateFQDN               *string                                              `json:"privateFQDN,omitempty"`
	PrivateLinkResources      []PrivateLinkResource_STATUS                         `json:"privateLinkResources"`
	ProvisioningState         *string                                              `json:"provisioningState,omitempty"`
	PublicNetworkAccess       *ManagedClusterProperties_PublicNetworkAccess_STATUS `json:"publicNetworkAccess,omitempty"`
	SecurityProfile           *ManagedClusterSecurityProfile_STATUS                `json:"securityProfile,omitempty"`
	ServicePrincipalProfile   *ManagedClusterServicePrincipalProfile_STATUS        `json:"servicePrincipalProfile,omitempty"`
	StorageProfile            *ManagedClusterStorageProfile_STATUS                 `json:"storageProfile,omitempty"`
	WindowsProfile            *ManagedClusterWindowsProfile_STATUS                 `json:"windowsProfile,omitempty"`
	WorkloadAutoScalerProfile *ManagedClusterWorkloadAutoScalerProfile_STATUS      `json:"workloadAutoScalerProfile,omitempty"`
}

type ManagedClusterSKU_STATUS struct {
	Name *ManagedClusterSKU_Name_STATUS `json:"name,omitempty"`
	Tier *ManagedClusterSKU_Tier_STATUS `json:"tier,omitempty"`
}

type SystemData_STATUS struct {
	CreatedAt          *string                               `json:"createdAt,omitempty"`
	CreatedBy          *string                               `json:"createdBy,omitempty"`
	CreatedByType      *SystemData_CreatedByType_STATUS      `json:"createdByType,omitempty"`
	LastModifiedAt     *string                               `json:"lastModifiedAt,omitempty"`
	LastModifiedBy     *string                               `json:"lastModifiedBy,omitempty"`
	LastModifiedByType *SystemData_LastModifiedByType_STATUS `json:"lastModifiedByType,omitempty"`
}

type ContainerServiceLinuxProfile_STATUS struct {
	AdminUsername *string                                  `json:"adminUsername,omitempty"`
	Ssh           *ContainerServiceSshConfiguration_STATUS `json:"ssh,omitempty"`
}

type ContainerServiceNetworkProfile_STATUS struct {
	DnsServiceIP        *string                                                  `json:"dnsServiceIP,omitempty"`
	DockerBridgeCidr    *string                                                  `json:"dockerBridgeCidr,omitempty"`
	IpFamilies          []ContainerServiceNetworkProfile_IpFamilies_STATUS       `json:"ipFamilies"`
	LoadBalancerProfile *ManagedClusterLoadBalancerProfile_STATUS                `json:"loadBalancerProfile,omitempty"`
	LoadBalancerSku     *ContainerServiceNetworkProfile_LoadBalancerSku_STATUS   `json:"loadBalancerSku,omitempty"`
	NatGatewayProfile   *ManagedClusterNATGatewayProfile_STATUS                  `json:"natGatewayProfile,omitempty"`
	NetworkDataplane    *ContainerServiceNetworkProfile_NetworkDataplane_STATUS  `json:"networkDataplane,omitempty"`
	NetworkMode         *ContainerServiceNetworkProfile_NetworkMode_STATUS       `json:"networkMode,omitempty"`
	NetworkPlugin       *ContainerServiceNetworkProfile_NetworkPlugin_STATUS     `json:"networkPlugin,omitempty"`
	NetworkPluginMode   *ContainerServiceNetworkProfile_NetworkPluginMode_STATUS `json:"networkPluginMode,omitempty"`
	NetworkPolicy       *ContainerServiceNetworkProfile_NetworkPolicy_STATUS     `json:"networkPolicy,omitempty"`
	OutboundType        *ContainerServiceNetworkProfile_OutboundType_STATUS      `json:"outboundType,omitempty"`
	PodCidr             *string                                                  `json:"podCidr,omitempty"`
	PodCidrs            []string                                                 `json:"podCidrs"`
	ServiceCidr         *string                                                  `json:"serviceCidr,omitempty"`
	ServiceCidrs        []string                                                 `json:"serviceCidrs"`
}

type ExtendedLocationType_STATUS string

const ExtendedLocationType_STATUS_EdgeZone = ExtendedLocationType_STATUS("EdgeZone")

// Mapping from string to ExtendedLocationType_STATUS
var extendedLocationType_STATUS_Values = map[string]ExtendedLocationType_STATUS{
	"edgezone": ExtendedLocationType_STATUS_EdgeZone,
}

type ManagedClusterAADProfile_STATUS struct {
	AdminGroupObjectIDs []string `json:"adminGroupObjectIDs"`
	ClientAppID         *string  `json:"clientAppID,omitempty"`
	EnableAzureRBAC     *bool    `json:"enableAzureRBAC,omitempty"`
	Managed             *bool    `json:"managed,omitempty"`
	ServerAppID         *string  `json:"serverAppID,omitempty"`
	ServerAppSecret     *string  `json:"serverAppSecret,omitempty"`
	TenantID            *string  `json:"tenantID,omitempty"`
}

type ManagedClusterAddonProfile_STATUS struct {
	Config   map[string]string            `json:"config"`
	Enabled  *bool                        `json:"enabled,omitempty"`
	Identity *UserAssignedIdentity_STATUS `json:"identity,omitempty"`
}

type ManagedClusterAgentPoolProfile_STATUS struct {
	AvailabilityZones          []string                         `json:"availabilityZones"`
	Count                      *int                             `json:"count,omitempty"`
	CreationData               *CreationData_STATUS             `json:"creationData,omitempty"`
	CurrentOrchestratorVersion *string                          `json:"currentOrchestratorVersion,omitempty"`
	EnableAutoScaling          *bool                            `json:"enableAutoScaling,omitempty"`
	EnableEncryptionAtHost     *bool                            `json:"enableEncryptionAtHost,omitempty"`
	EnableFIPS                 *bool                            `json:"enableFIPS,omitempty"`
	EnableNodePublicIP         *bool                            `json:"enableNodePublicIP,omitempty"`
	EnableUltraSSD             *bool                            `json:"enableUltraSSD,omitempty"`
	GpuInstanceProfile         *GPUInstanceProfile_STATUS       `json:"gpuInstanceProfile,omitempty"`
	HostGroupID                *string                          `json:"hostGroupID,omitempty"`
	KubeletConfig              *KubeletConfig_STATUS            `json:"kubeletConfig,omitempty"`
	KubeletDiskType            *KubeletDiskType_STATUS          `json:"kubeletDiskType,omitempty"`
	LinuxOSConfig              *LinuxOSConfig_STATUS            `json:"linuxOSConfig,omitempty"`
	MaxCount                   *int                             `json:"maxCount,omitempty"`
	MaxPods                    *int                             `json:"maxPods,omitempty"`
	MinCount                   *int                             `json:"minCount,omitempty"`
	Mode                       *AgentPoolMode_STATUS            `json:"mode,omitempty"`
	Name                       *string                          `json:"name,omitempty"`
	NodeImageVersion           *string                          `json:"nodeImageVersion,omitempty"`
	NodeLabels                 map[string]string                `json:"nodeLabels"`
	NodePublicIPPrefixID       *string                          `json:"nodePublicIPPrefixID,omitempty"`
	NodeTaints                 []string                         `json:"nodeTaints"`
	OrchestratorVersion        *string                          `json:"orchestratorVersion,omitempty"`
	OsDiskSizeGB               *int                             `json:"osDiskSizeGB,omitempty"`
	OsDiskType                 *OSDiskType_STATUS               `json:"osDiskType,omitempty"`
	OsSKU                      *OSSKU_STATUS                    `json:"osSKU,omitempty"`
	OsType                     *OSType_STATUS                   `json:"osType,omitempty"`
	PodSubnetID                *string                          `json:"podSubnetID,omitempty"`
	PowerState                 *PowerState_STATUS               `json:"powerState,omitempty"`
	ProvisioningState          *string                          `json:"provisioningState,omitempty"`
	ProximityPlacementGroupID  *string                          `json:"proximityPlacementGroupID,omitempty"`
	ScaleDownMode              *ScaleDownMode_STATUS            `json:"scaleDownMode,omitempty"`
	ScaleSetEvictionPolicy     *ScaleSetEvictionPolicy_STATUS   `json:"scaleSetEvictionPolicy,omitempty"`
	ScaleSetPriority           *ScaleSetPriority_STATUS         `json:"scaleSetPriority,omitempty"`
	SpotMaxPrice               *float64                         `json:"spotMaxPrice,omitempty"`
	Tags                       map[string]string                `json:"tags"`
	Type                       *AgentPoolType_STATUS            `json:"type,omitempty"`
	UpgradeSettings            *AgentPoolUpgradeSettings_STATUS `json:"upgradeSettings,omitempty"`
	VmSize                     *string                          `json:"vmSize,omitempty"`
	VnetSubnetID               *string                          `json:"vnetSubnetID,omitempty"`
	WorkloadRuntime            *WorkloadRuntime_STATUS          `json:"workloadRuntime,omitempty"`
}

type ManagedClusterAPIServerAccessProfile_STATUS struct {
	AuthorizedIPRanges             []string `json:"authorizedIPRanges"`
	DisableRunCommand              *bool    `json:"disableRunCommand,omitempty"`
	EnablePrivateCluster           *bool    `json:"enablePrivateCluster,omitempty"`
	EnablePrivateClusterPublicFQDN *bool    `json:"enablePrivateClusterPublicFQDN,omitempty"`
	PrivateDNSZone                 *string  `json:"privateDNSZone,omitempty"`
}

type ManagedClusterAutoUpgradeProfile_STATUS struct {
	UpgradeChannel *ManagedClusterAutoUpgradeProfile_UpgradeChannel_STATUS `json:"upgradeChannel,omitempty"`
}

type ManagedClusterAzureMonitorProfile_STATUS struct {
	Metrics *ManagedClusterAzureMonitorProfileMetrics_STATUS `json:"metrics,omitempty"`
}

type ManagedClusterHTTPProxyConfig_STATUS struct {
	HttpProxy  *string  `json:"httpProxy,omitempty"`
	HttpsProxy *string  `json:"httpsProxy,omitempty"`
	NoProxy    []string `json:"noProxy"`
	TrustedCa  *string  `json:"trustedCa,omitempty"`
}

type ManagedClusterIdentity_Type_STATUS string

const (
	ManagedClusterIdentity_Type_STATUS_None           = ManagedClusterIdentity_Type_STATUS("None")
	ManagedClusterIdentity_Type_STATUS_SystemAssigned = ManagedClusterIdentity_Type_STATUS("SystemAssigned")
	ManagedClusterIdentity_Type_STATUS_UserAssigned   = ManagedClusterIdentity_Type_STATUS("UserAssigned")
)

// Mapping from string to ManagedClusterIdentity_Type_STATUS
var managedClusterIdentity_Type_STATUS_Values = map[string]ManagedClusterIdentity_Type_STATUS{
	"none":           ManagedClusterIdentity_Type_STATUS_None,
	"systemassigned": ManagedClusterIdentity_Type_STATUS_SystemAssigned,
	"userassigned":   ManagedClusterIdentity_Type_STATUS_UserAssigned,
}

type ManagedClusterIdentity_UserAssignedIdentities_STATUS struct {
	ClientId    *string `json:"clientId,omitempty"`
	PrincipalId *string `json:"principalId,omitempty"`
}

type ManagedClusterOIDCIssuerProfile_STATUS struct {
	Enabled   *bool   `json:"enabled,omitempty"`
	IssuerURL *string `json:"issuerURL,omitempty"`
}

type ManagedClusterPodIdentityProfile_STATUS struct {
	AllowNetworkPluginKubenet      *bool                                       `json:"allowNetworkPluginKubenet,omitempty"`
	Enabled                        *bool                                       `json:"enabled,omitempty"`
	UserAssignedIdentities         []ManagedClusterPodIdentity_STATUS          `json:"userAssignedIdentities"`
	UserAssignedIdentityExceptions []ManagedClusterPodIdentityException_STATUS `json:"userAssignedIdentityExceptions"`
}

type ManagedClusterProperties_AutoScalerProfile_STATUS struct {
	BalanceSimilarNodeGroups      *string                                                     `json:"balance-similar-node-groups,omitempty"`
	Expander                      *ManagedClusterProperties_AutoScalerProfile_Expander_STATUS `json:"expander,omitempty"`
	MaxEmptyBulkDelete            *string                                                     `json:"max-empty-bulk-delete,omitempty"`
	MaxGracefulTerminationSec     *string                                                     `json:"max-graceful-termination-sec,omitempty"`
	MaxNodeProvisionTime          *string                                                     `json:"max-node-provision-time,omitempty"`
	MaxTotalUnreadyPercentage     *string                                                     `json:"max-total-unready-percentage,omitempty"`
	NewPodScaleUpDelay            *string                                                     `json:"new-pod-scale-up-delay,omitempty"`
	OkTotalUnreadyCount           *string                                                     `json:"ok-total-unready-count,omitempty"`
	ScaleDownDelayAfterAdd        *string                                                     `json:"scale-down-delay-after-add,omitempty"`
	ScaleDownDelayAfterDelete     *string                                                     `json:"scale-down-delay-after-delete,omitempty"`
	ScaleDownDelayAfterFailure    *string                                                     `json:"scale-down-delay-after-failure,omitempty"`
	ScaleDownUnneededTime         *string                                                     `json:"scale-down-unneeded-time,omitempty"`
	ScaleDownUnreadyTime          *string                                                     `json:"scale-down-unready-time,omitempty"`
	ScaleDownUtilizationThreshold *string                                                     `json:"scale-down-utilization-threshold,omitempty"`
	ScanInterval                  *string                                                     `json:"scan-interval,omitempty"`
	SkipNodesWithLocalStorage     *string                                                     `json:"skip-nodes-with-local-storage,omitempty"`
	SkipNodesWithSystemPods       *string                                                     `json:"skip-nodes-with-system-pods,omitempty"`
}

type ManagedClusterProperties_PublicNetworkAccess_STATUS string

const (
	ManagedClusterProperties_PublicNetworkAccess_STATUS_Disabled = ManagedClusterProperties_PublicNetworkAccess_STATUS("Disabled")
	ManagedClusterProperties_PublicNetworkAccess_STATUS_Enabled  = ManagedClusterProperties_PublicNetworkAccess_STATUS("Enabled")
)

// Mapping from string to ManagedClusterProperties_PublicNetworkAccess_STATUS
var managedClusterProperties_PublicNetworkAccess_STATUS_Values = map[string]ManagedClusterProperties_PublicNetworkAccess_STATUS{
	"disabled": ManagedClusterProperties_PublicNetworkAccess_STATUS_Disabled,
	"enabled":  ManagedClusterProperties_PublicNetworkAccess_STATUS_Enabled,
}

type ManagedClusterSecurityProfile_STATUS struct {
	AzureKeyVaultKms *AzureKeyVaultKms_STATUS                              `json:"azureKeyVaultKms,omitempty"`
	Defender         *ManagedClusterSecurityProfileDefender_STATUS         `json:"defender,omitempty"`
	ImageCleaner     *ManagedClusterSecurityProfileImageCleaner_STATUS     `json:"imageCleaner,omitempty"`
	WorkloadIdentity *ManagedClusterSecurityProfileWorkloadIdentity_STATUS `json:"workloadIdentity,omitempty"`
}

type ManagedClusterServicePrincipalProfile_STATUS struct {
	ClientId *string `json:"clientId,omitempty"`
}

type ManagedClusterSKU_Name_STATUS string

const ManagedClusterSKU_Name_STATUS_Base = ManagedClusterSKU_Name_STATUS("Base")

// Mapping from string to ManagedClusterSKU_Name_STATUS
var managedClusterSKU_Name_STATUS_Values = map[string]ManagedClusterSKU_Name_STATUS{
	"base": ManagedClusterSKU_Name_STATUS_Base,
}

type ManagedClusterSKU_Tier_STATUS string

const (
	ManagedClusterSKU_Tier_STATUS_Free     = ManagedClusterSKU_Tier_STATUS("Free")
	ManagedClusterSKU_Tier_STATUS_Standard = ManagedClusterSKU_Tier_STATUS("Standard")
)

// Mapping from string to ManagedClusterSKU_Tier_STATUS
var managedClusterSKU_Tier_STATUS_Values = map[string]ManagedClusterSKU_Tier_STATUS{
	"free":     ManagedClusterSKU_Tier_STATUS_Free,
	"standard": ManagedClusterSKU_Tier_STATUS_Standard,
}

type ManagedClusterStorageProfile_STATUS struct {
	BlobCSIDriver      *ManagedClusterStorageProfileBlobCSIDriver_STATUS      `json:"blobCSIDriver,omitempty"`
	DiskCSIDriver      *ManagedClusterStorageProfileDiskCSIDriver_STATUS      `json:"diskCSIDriver,omitempty"`
	FileCSIDriver      *ManagedClusterStorageProfileFileCSIDriver_STATUS      `json:"fileCSIDriver,omitempty"`
	SnapshotController *ManagedClusterStorageProfileSnapshotController_STATUS `json:"snapshotController,omitempty"`
}

type ManagedClusterWindowsProfile_STATUS struct {
	AdminUsername  *string                                          `json:"adminUsername,omitempty"`
	EnableCSIProxy *bool                                            `json:"enableCSIProxy,omitempty"`
	GmsaProfile    *WindowsGmsaProfile_STATUS                       `json:"gmsaProfile,omitempty"`
	LicenseType    *ManagedClusterWindowsProfile_LicenseType_STATUS `json:"licenseType,omitempty"`
}

type ManagedClusterWorkloadAutoScalerProfile_STATUS struct {
	Keda *ManagedClusterWorkloadAutoScalerProfileKeda_STATUS `json:"keda,omitempty"`
}

type PowerState_STATUS struct {
	Code *PowerState_Code_STATUS `json:"code,omitempty"`
}

type PrivateLinkResource_STATUS struct {
	GroupId              *string  `json:"groupId,omitempty"`
	Id                   *string  `json:"id,omitempty"`
	Name                 *string  `json:"name,omitempty"`
	PrivateLinkServiceID *string  `json:"privateLinkServiceID,omitempty"`
	RequiredMembers      []string `json:"requiredMembers"`
	Type                 *string  `json:"type,omitempty"`
}

type SystemData_CreatedByType_STATUS string

const (
	SystemData_CreatedByType_STATUS_Application     = SystemData_CreatedByType_STATUS("Application")
	SystemData_CreatedByType_STATUS_Key             = SystemData_CreatedByType_STATUS("Key")
	SystemData_CreatedByType_STATUS_ManagedIdentity = SystemData_CreatedByType_STATUS("ManagedIdentity")
	SystemData_CreatedByType_STATUS_User            = SystemData_CreatedByType_STATUS("User")
)

// Mapping from string to SystemData_CreatedByType_STATUS
var systemData_CreatedByType_STATUS_Values = map[string]SystemData_CreatedByType_STATUS{
	"application":     SystemData_CreatedByType_STATUS_Application,
	"key":             SystemData_CreatedByType_STATUS_Key,
	"managedidentity": SystemData_CreatedByType_STATUS_ManagedIdentity,
	"user":            SystemData_CreatedByType_STATUS_User,
}

type SystemData_LastModifiedByType_STATUS string

const (
	SystemData_LastModifiedByType_STATUS_Application     = SystemData_LastModifiedByType_STATUS("Application")
	SystemData_LastModifiedByType_STATUS_Key             = SystemData_LastModifiedByType_STATUS("Key")
	SystemData_LastModifiedByType_STATUS_ManagedIdentity = SystemData_LastModifiedByType_STATUS("ManagedIdentity")
	SystemData_LastModifiedByType_STATUS_User            = SystemData_LastModifiedByType_STATUS("User")
)

// Mapping from string to SystemData_LastModifiedByType_STATUS
var systemData_LastModifiedByType_STATUS_Values = map[string]SystemData_LastModifiedByType_STATUS{
	"application":     SystemData_LastModifiedByType_STATUS_Application,
	"key":             SystemData_LastModifiedByType_STATUS_Key,
	"managedidentity": SystemData_LastModifiedByType_STATUS_ManagedIdentity,
	"user":            SystemData_LastModifiedByType_STATUS_User,
}

type UserAssignedIdentity_STATUS struct {
	ClientId   *string `json:"clientId,omitempty"`
	ObjectId   *string `json:"objectId,omitempty"`
	ResourceId *string `json:"resourceId,omitempty"`
}

type AzureKeyVaultKms_STATUS struct {
	Enabled               *bool                                          `json:"enabled,omitempty"`
	KeyId                 *string                                        `json:"keyId,omitempty"`
	KeyVaultNetworkAccess *AzureKeyVaultKms_KeyVaultNetworkAccess_STATUS `json:"keyVaultNetworkAccess,omitempty"`
	KeyVaultResourceId    *string                                        `json:"keyVaultResourceId,omitempty"`
}

type ContainerServiceNetworkProfile_IpFamilies_STATUS string

const (
	ContainerServiceNetworkProfile_IpFamilies_STATUS_IPv4 = ContainerServiceNetworkProfile_IpFamilies_STATUS("IPv4")
	ContainerServiceNetworkProfile_IpFamilies_STATUS_IPv6 = ContainerServiceNetworkProfile_IpFamilies_STATUS("IPv6")
)

// Mapping from string to ContainerServiceNetworkProfile_IpFamilies_STATUS
var containerServiceNetworkProfile_IpFamilies_STATUS_Values = map[string]ContainerServiceNetworkProfile_IpFamilies_STATUS{
	"ipv4": ContainerServiceNetworkProfile_IpFamilies_STATUS_IPv4,
	"ipv6": ContainerServiceNetworkProfile_IpFamilies_STATUS_IPv6,
}

type ContainerServiceNetworkProfile_LoadBalancerSku_STATUS string

const (
	ContainerServiceNetworkProfile_LoadBalancerSku_STATUS_Basic    = ContainerServiceNetworkProfile_LoadBalancerSku_STATUS("basic")
	ContainerServiceNetworkProfile_LoadBalancerSku_STATUS_Standard = ContainerServiceNetworkProfile_LoadBalancerSku_STATUS("standard")
)

// Mapping from string to ContainerServiceNetworkProfile_LoadBalancerSku_STATUS
var containerServiceNetworkProfile_LoadBalancerSku_STATUS_Values = map[string]ContainerServiceNetworkProfile_LoadBalancerSku_STATUS{
	"basic":    ContainerServiceNetworkProfile_LoadBalancerSku_STATUS_Basic,
	"standard": ContainerServiceNetworkProfile_LoadBalancerSku_STATUS_Standard,
}

type ContainerServiceNetworkProfile_NetworkDataplane_STATUS string

const (
	ContainerServiceNetworkProfile_NetworkDataplane_STATUS_Azure  = ContainerServiceNetworkProfile_NetworkDataplane_STATUS("azure")
	ContainerServiceNetworkProfile_NetworkDataplane_STATUS_Cilium = ContainerServiceNetworkProfile_NetworkDataplane_STATUS("cilium")
)

// Mapping from string to ContainerServiceNetworkProfile_NetworkDataplane_STATUS
var containerServiceNetworkProfile_NetworkDataplane_STATUS_Values = map[string]ContainerServiceNetworkProfile_NetworkDataplane_STATUS{
	"azure":  ContainerServiceNetworkProfile_NetworkDataplane_STATUS_Azure,
	"cilium": ContainerServiceNetworkProfile_NetworkDataplane_STATUS_Cilium,
}

type ContainerServiceNetworkProfile_NetworkMode_STATUS string

const (
	ContainerServiceNetworkProfile_NetworkMode_STATUS_Bridge      = ContainerServiceNetworkProfile_NetworkMode_STATUS("bridge")
	ContainerServiceNetworkProfile_NetworkMode_STATUS_Transparent = ContainerServiceNetworkProfile_NetworkMode_STATUS("transparent")
)

// Mapping from string to ContainerServiceNetworkProfile_NetworkMode_STATUS
var containerServiceNetworkProfile_NetworkMode_STATUS_Values = map[string]ContainerServiceNetworkProfile_NetworkMode_STATUS{
	"bridge":      ContainerServiceNetworkProfile_NetworkMode_STATUS_Bridge,
	"transparent": ContainerServiceNetworkProfile_NetworkMode_STATUS_Transparent,
}

type ContainerServiceNetworkProfile_NetworkPlugin_STATUS string

const (
	ContainerServiceNetworkProfile_NetworkPlugin_STATUS_Azure   = ContainerServiceNetworkProfile_NetworkPlugin_STATUS("azure")
	ContainerServiceNetworkProfile_NetworkPlugin_STATUS_Kubenet = ContainerServiceNetworkProfile_NetworkPlugin_STATUS("kubenet")
	ContainerServiceNetworkProfile_NetworkPlugin_STATUS_None    = ContainerServiceNetworkProfile_NetworkPlugin_STATUS("none")
)

// Mapping from string to ContainerServiceNetworkProfile_NetworkPlugin_STATUS
var containerServiceNetworkProfile_NetworkPlugin_STATUS_Values = map[string]ContainerServiceNetworkProfile_NetworkPlugin_STATUS{
	"azure":   ContainerServiceNetworkProfile_NetworkPlugin_STATUS_Azure,
	"kubenet": ContainerServiceNetworkProfile_NetworkPlugin_STATUS_Kubenet,
	"none":    ContainerServiceNetworkProfile_NetworkPlugin_STATUS_None,
}

type ContainerServiceNetworkProfile_NetworkPluginMode_STATUS string

const ContainerServiceNetworkProfile_NetworkPluginMode_STATUS_Overlay = ContainerServiceNetworkProfile_NetworkPluginMode_STATUS("overlay")

// Mapping from string to ContainerServiceNetworkProfile_NetworkPluginMode_STATUS
var containerServiceNetworkProfile_NetworkPluginMode_STATUS_Values = map[string]ContainerServiceNetworkProfile_NetworkPluginMode_STATUS{
	"overlay": ContainerServiceNetworkProfile_NetworkPluginMode_STATUS_Overlay,
}

type ContainerServiceNetworkProfile_NetworkPolicy_STATUS string

const (
	ContainerServiceNetworkProfile_NetworkPolicy_STATUS_Azure  = ContainerServiceNetworkProfile_NetworkPolicy_STATUS("azure")
	ContainerServiceNetworkProfile_NetworkPolicy_STATUS_Calico = ContainerServiceNetworkProfile_NetworkPolicy_STATUS("calico")
	ContainerServiceNetworkProfile_NetworkPolicy_STATUS_Cilium = ContainerServiceNetworkProfile_NetworkPolicy_STATUS("cilium")
)

// Mapping from string to ContainerServiceNetworkProfile_NetworkPolicy_STATUS
var containerServiceNetworkProfile_NetworkPolicy_STATUS_Values = map[string]ContainerServiceNetworkProfile_NetworkPolicy_STATUS{
	"azure":  ContainerServiceNetworkProfile_NetworkPolicy_STATUS_Azure,
	"calico": ContainerServiceNetworkProfile_NetworkPolicy_STATUS_Calico,
	"cilium": ContainerServiceNetworkProfile_NetworkPolicy_STATUS_Cilium,
}

type ContainerServiceNetworkProfile_OutboundType_STATUS string

const (
	ContainerServiceNetworkProfile_OutboundType_STATUS_LoadBalancer           = ContainerServiceNetworkProfile_OutboundType_STATUS("loadBalancer")
	ContainerServiceNetworkProfile_OutboundType_STATUS_ManagedNATGateway      = ContainerServiceNetworkProfile_OutboundType_STATUS("managedNATGateway")
	ContainerServiceNetworkProfile_OutboundType_STATUS_UserAssignedNATGateway = ContainerServiceNetworkProfile_OutboundType_STATUS("userAssignedNATGateway")
	ContainerServiceNetworkProfile_OutboundType_STATUS_UserDefinedRouting     = ContainerServiceNetworkProfile_OutboundType_STATUS("userDefinedRouting")
)

// Mapping from string to ContainerServiceNetworkProfile_OutboundType_STATUS
var containerServiceNetworkProfile_OutboundType_STATUS_Values = map[string]ContainerServiceNetworkProfile_OutboundType_STATUS{
	"loadbalancer":           ContainerServiceNetworkProfile_OutboundType_STATUS_LoadBalancer,
	"managednatgateway":      ContainerServiceNetworkProfile_OutboundType_STATUS_ManagedNATGateway,
	"userassignednatgateway": ContainerServiceNetworkProfile_OutboundType_STATUS_UserAssignedNATGateway,
	"userdefinedrouting":     ContainerServiceNetworkProfile_OutboundType_STATUS_UserDefinedRouting,
}

type ContainerServiceSshConfiguration_STATUS struct {
	PublicKeys []ContainerServiceSshPublicKey_STATUS `json:"publicKeys"`
}

type ManagedClusterAutoUpgradeProfile_UpgradeChannel_STATUS string

const (
	ManagedClusterAutoUpgradeProfile_UpgradeChannel_STATUS_NodeImage = ManagedClusterAutoUpgradeProfile_UpgradeChannel_STATUS("node-image")
	ManagedClusterAutoUpgradeProfile_UpgradeChannel_STATUS_None      = ManagedClusterAutoUpgradeProfile_UpgradeChannel_STATUS("none")
	ManagedClusterAutoUpgradeProfile_UpgradeChannel_STATUS_Patch     = ManagedClusterAutoUpgradeProfile_UpgradeChannel_STATUS("patch")
	ManagedClusterAutoUpgradeProfile_UpgradeChannel_STATUS_Rapid     = ManagedClusterAutoUpgradeProfile_UpgradeChannel_STATUS("rapid")
	ManagedClusterAutoUpgradeProfile_UpgradeChannel_STATUS_Stable    = ManagedClusterAutoUpgradeProfile_UpgradeChannel_STATUS("stable")
)

// Mapping from string to ManagedClusterAutoUpgradeProfile_UpgradeChannel_STATUS
var managedClusterAutoUpgradeProfile_UpgradeChannel_STATUS_Values = map[string]ManagedClusterAutoUpgradeProfile_UpgradeChannel_STATUS{
	"node-image": ManagedClusterAutoUpgradeProfile_UpgradeChannel_STATUS_NodeImage,
	"none":       ManagedClusterAutoUpgradeProfile_UpgradeChannel_STATUS_None,
	"patch":      ManagedClusterAutoUpgradeProfile_UpgradeChannel_STATUS_Patch,
	"rapid":      ManagedClusterAutoUpgradeProfile_UpgradeChannel_STATUS_Rapid,
	"stable":     ManagedClusterAutoUpgradeProfile_UpgradeChannel_STATUS_Stable,
}

type ManagedClusterAzureMonitorProfileMetrics_STATUS struct {
	Enabled          *bool                                                     `json:"enabled,omitempty"`
	KubeStateMetrics *ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS `json:"kubeStateMetrics,omitempty"`
}

type ManagedClusterLoadBalancerProfile_STATUS struct {
	AllocatedOutboundPorts              *int                                                         `json:"allocatedOutboundPorts,omitempty"`
	EffectiveOutboundIPs                []ResourceReference_STATUS                                   `json:"effectiveOutboundIPs"`
	EnableMultipleStandardLoadBalancers *bool                                                        `json:"enableMultipleStandardLoadBalancers,omitempty"`
	IdleTimeoutInMinutes                *int                                                         `json:"idleTimeoutInMinutes,omitempty"`
	ManagedOutboundIPs                  *ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS `json:"managedOutboundIPs,omitempty"`
	OutboundIPPrefixes                  *ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS `json:"outboundIPPrefixes,omitempty"`
	OutboundIPs                         *ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS        `json:"outboundIPs,omitempty"`
}

type ManagedClusterNATGatewayProfile_STATUS struct {
	EffectiveOutboundIPs     []ResourceReference_STATUS                     `json:"effectiveOutboundIPs"`
	IdleTimeoutInMinutes     *int                                           `json:"idleTimeoutInMinutes,omitempty"`
	ManagedOutboundIPProfile *ManagedClusterManagedOutboundIPProfile_STATUS `json:"managedOutboundIPProfile,omitempty"`
}

type ManagedClusterPodIdentity_STATUS struct {
	BindingSelector   *string                                             `json:"bindingSelector,omitempty"`
	Identity          *UserAssignedIdentity_STATUS                        `json:"identity,omitempty"`
	Name              *string                                             `json:"name,omitempty"`
	Namespace         *string                                             `json:"namespace,omitempty"`
	ProvisioningInfo  *ManagedClusterPodIdentity_ProvisioningInfo_STATUS  `json:"provisioningInfo,omitempty"`
	ProvisioningState *ManagedClusterPodIdentity_ProvisioningState_STATUS `json:"provisioningState,omitempty"`
}

type ManagedClusterPodIdentityException_STATUS struct {
	Name      *string           `json:"name,omitempty"`
	Namespace *string           `json:"namespace,omitempty"`
	PodLabels map[string]string `json:"podLabels"`
}

type ManagedClusterProperties_AutoScalerProfile_Expander_STATUS string

const (
	ManagedClusterProperties_AutoScalerProfile_Expander_STATUS_LeastWaste = ManagedClusterProperties_AutoScalerProfile_Expander_STATUS("least-waste")
	ManagedClusterProperties_AutoScalerProfile_Expander_STATUS_MostPods   = ManagedClusterProperties_AutoScalerProfile_Expander_STATUS("most-pods")
	ManagedClusterProperties_AutoScalerProfile_Expander_STATUS_Priority   = ManagedClusterProperties_AutoScalerProfile_Expander_STATUS("priority")
	ManagedClusterProperties_AutoScalerProfile_Expander_STATUS_Random     = ManagedClusterProperties_AutoScalerProfile_Expander_STATUS("random")
)

// Mapping from string to ManagedClusterProperties_AutoScalerProfile_Expander_STATUS
var managedClusterProperties_AutoScalerProfile_Expander_STATUS_Values = map[string]ManagedClusterProperties_AutoScalerProfile_Expander_STATUS{
	"least-waste": ManagedClusterProperties_AutoScalerProfile_Expander_STATUS_LeastWaste,
	"most-pods":   ManagedClusterProperties_AutoScalerProfile_Expander_STATUS_MostPods,
	"priority":    ManagedClusterProperties_AutoScalerProfile_Expander_STATUS_Priority,
	"random":      ManagedClusterProperties_AutoScalerProfile_Expander_STATUS_Random,
}

type ManagedClusterSecurityProfileDefender_STATUS struct {
	LogAnalyticsWorkspaceResourceId *string                                                         `json:"logAnalyticsWorkspaceResourceId,omitempty"`
	SecurityMonitoring              *ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS `json:"securityMonitoring,omitempty"`
}

type ManagedClusterSecurityProfileImageCleaner_STATUS struct {
	Enabled       *bool `json:"enabled,omitempty"`
	IntervalHours *int  `json:"intervalHours,omitempty"`
}

type ManagedClusterSecurityProfileWorkloadIdentity_STATUS struct {
	Enabled *bool `json:"enabled,omitempty"`
}

type ManagedClusterStorageProfileBlobCSIDriver_STATUS struct {
	Enabled *bool `json:"enabled,omitempty"`
}

type ManagedClusterStorageProfileDiskCSIDriver_STATUS struct {
	Enabled *bool `json:"enabled,omitempty"`
}

type ManagedClusterStorageProfileFileCSIDriver_STATUS struct {
	Enabled *bool `json:"enabled,omitempty"`
}

type ManagedClusterStorageProfileSnapshotController_STATUS struct {
	Enabled *bool `json:"enabled,omitempty"`
}

type ManagedClusterWindowsProfile_LicenseType_STATUS string

const (
	ManagedClusterWindowsProfile_LicenseType_STATUS_None           = ManagedClusterWindowsProfile_LicenseType_STATUS("None")
	ManagedClusterWindowsProfile_LicenseType_STATUS_Windows_Server = ManagedClusterWindowsProfile_LicenseType_STATUS("Windows_Server")
)

// Mapping from string to ManagedClusterWindowsProfile_LicenseType_STATUS
var managedClusterWindowsProfile_LicenseType_STATUS_Values = map[string]ManagedClusterWindowsProfile_LicenseType_STATUS{
	"none":           ManagedClusterWindowsProfile_LicenseType_STATUS_None,
	"windows_server": ManagedClusterWindowsProfile_LicenseType_STATUS_Windows_Server,
}

type ManagedClusterWorkloadAutoScalerProfileKeda_STATUS struct {
	Enabled *bool `json:"enabled,omitempty"`
}

type PowerState_Code_STATUS string

const (
	PowerState_Code_STATUS_Running = PowerState_Code_STATUS("Running")
	PowerState_Code_STATUS_Stopped = PowerState_Code_STATUS("Stopped")
)

// Mapping from string to PowerState_Code_STATUS
var powerState_Code_STATUS_Values = map[string]PowerState_Code_STATUS{
	"running": PowerState_Code_STATUS_Running,
	"stopped": PowerState_Code_STATUS_Stopped,
}

type WindowsGmsaProfile_STATUS struct {
	DnsServer      *string `json:"dnsServer,omitempty"`
	Enabled        *bool   `json:"enabled,omitempty"`
	RootDomainName *string `json:"rootDomainName,omitempty"`
}

type AzureKeyVaultKms_KeyVaultNetworkAccess_STATUS string

const (
	AzureKeyVaultKms_KeyVaultNetworkAccess_STATUS_Private = AzureKeyVaultKms_KeyVaultNetworkAccess_STATUS("Private")
	AzureKeyVaultKms_KeyVaultNetworkAccess_STATUS_Public  = AzureKeyVaultKms_KeyVaultNetworkAccess_STATUS("Public")
)

// Mapping from string to AzureKeyVaultKms_KeyVaultNetworkAccess_STATUS
var azureKeyVaultKms_KeyVaultNetworkAccess_STATUS_Values = map[string]AzureKeyVaultKms_KeyVaultNetworkAccess_STATUS{
	"private": AzureKeyVaultKms_KeyVaultNetworkAccess_STATUS_Private,
	"public":  AzureKeyVaultKms_KeyVaultNetworkAccess_STATUS_Public,
}

type ContainerServiceSshPublicKey_STATUS struct {
	KeyData *string `json:"keyData,omitempty"`
}

type ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS struct {
	MetricAnnotationsAllowList *string `json:"metricAnnotationsAllowList,omitempty"`
	MetricLabelsAllowlist      *string `json:"metricLabelsAllowlist,omitempty"`
}

type ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS struct {
	Count     *int `json:"count,omitempty"`
	CountIPv6 *int `json:"countIPv6,omitempty"`
}

type ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS struct {
	PublicIPPrefixes []ResourceReference_STATUS `json:"publicIPPrefixes"`
}

type ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS struct {
	PublicIPs []ResourceReference_STATUS `json:"publicIPs"`
}

type ManagedClusterManagedOutboundIPProfile_STATUS struct {
	Count *int `json:"count,omitempty"`
}

type ManagedClusterPodIdentity_ProvisioningInfo_STATUS struct {
	Error *ManagedClusterPodIdentityProvisioningError_STATUS `json:"error,omitempty"`
}

type ManagedClusterPodIdentity_ProvisioningState_STATUS string

const (
	ManagedClusterPodIdentity_ProvisioningState_STATUS_Assigned  = ManagedClusterPodIdentity_ProvisioningState_STATUS("Assigned")
	ManagedClusterPodIdentity_ProvisioningState_STATUS_Canceled  = ManagedClusterPodIdentity_ProvisioningState_STATUS("Canceled")
	ManagedClusterPodIdentity_ProvisioningState_STATUS_Deleting  = ManagedClusterPodIdentity_ProvisioningState_STATUS("Deleting")
	ManagedClusterPodIdentity_ProvisioningState_STATUS_Failed    = ManagedClusterPodIdentity_ProvisioningState_STATUS("Failed")
	ManagedClusterPodIdentity_ProvisioningState_STATUS_Succeeded = ManagedClusterPodIdentity_ProvisioningState_STATUS("Succeeded")
	ManagedClusterPodIdentity_ProvisioningState_STATUS_Updating  = ManagedClusterPodIdentity_ProvisioningState_STATUS("Updating")
)

// Mapping from string to ManagedClusterPodIdentity_ProvisioningState_STATUS
var managedClusterPodIdentity_ProvisioningState_STATUS_Values = map[string]ManagedClusterPodIdentity_ProvisioningState_STATUS{
	"assigned":  ManagedClusterPodIdentity_ProvisioningState_STATUS_Assigned,
	"canceled":  ManagedClusterPodIdentity_ProvisioningState_STATUS_Canceled,
	"deleting":  ManagedClusterPodIdentity_ProvisioningState_STATUS_Deleting,
	"failed":    ManagedClusterPodIdentity_ProvisioningState_STATUS_Failed,
	"succeeded": ManagedClusterPodIdentity_ProvisioningState_STATUS_Succeeded,
	"updating":  ManagedClusterPodIdentity_ProvisioningState_STATUS_Updating,
}

type ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS struct {
	Enabled *bool `json:"enabled,omitempty"`
}

type ResourceReference_STATUS struct {
	Id *string `json:"id,omitempty"`
}

type ManagedClusterPodIdentityProvisioningError_STATUS struct {
	Error *ManagedClusterPodIdentityProvisioningErrorBody_STATUS `json:"error,omitempty"`
}

type ManagedClusterPodIdentityProvisioningErrorBody_STATUS struct {
	Code    *string                                                          `json:"code,omitempty"`
	Details []ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled `json:"details"`
	Message *string                                                          `json:"message,omitempty"`
	Target  *string                                                          `json:"target,omitempty"`
}

type ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled struct {
	Code    *string `json:"code,omitempty"`
	Message *string `json:"message,omitempty"`
	Target  *string `json:"target,omitempty"`
}
