// 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 {
	DelegatedResources     map[string]DelegatedResource_STATUS                             `json:"delegatedResources"`
	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"`
	AiToolchainOperatorProfile *ManagedClusterAIToolchainOperatorProfile_STATUS     `json:"aiToolchainOperatorProfile,omitempty"`
	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"`
	CreationData               *CreationData_STATUS                                 `json:"creationData,omitempty"`
	CurrentKubernetesVersion   *string                                              `json:"currentKubernetesVersion,omitempty"`
	DisableLocalAccounts       *bool                                                `json:"disableLocalAccounts,omitempty"`
	DiskEncryptionSetID        *string                                              `json:"diskEncryptionSetID,omitempty"`
	DnsPrefix                  *string                                              `json:"dnsPrefix,omitempty"`
	EnableNamespaceResources   *bool                                                `json:"enableNamespaceResources,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"`
	IngressProfile             *ManagedClusterIngressProfile_STATUS                 `json:"ingressProfile,omitempty"`
	KubernetesVersion          *string                                              `json:"kubernetesVersion,omitempty"`
	LinuxProfile               *ContainerServiceLinuxProfile_STATUS                 `json:"linuxProfile,omitempty"`
	MaxAgentPools              *int                                                 `json:"maxAgentPools,omitempty"`
	MetricsProfile             *ManagedClusterMetricsProfile_STATUS                 `json:"metricsProfile,omitempty"`
	NetworkProfile             *ContainerServiceNetworkProfile_STATUS               `json:"networkProfile,omitempty"`
	NodeProvisioningProfile    *ManagedClusterNodeProvisioningProfile_STATUS        `json:"nodeProvisioningProfile,omitempty"`
	NodeResourceGroup          *string                                              `json:"nodeResourceGroup,omitempty"`
	NodeResourceGroupProfile   *ManagedClusterNodeResourceGroupProfile_STATUS       `json:"nodeResourceGroupProfile,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"`
	ResourceUID                *string                                              `json:"resourceUID,omitempty"`
	SafeguardsProfile          *SafeguardsProfile_STATUS                            `json:"safeguardsProfile,omitempty"`
	SecurityProfile            *ManagedClusterSecurityProfile_STATUS                `json:"securityProfile,omitempty"`
	ServiceMeshProfile         *ServiceMeshProfile_STATUS                           `json:"serviceMeshProfile,omitempty"`
	ServicePrincipalProfile    *ManagedClusterServicePrincipalProfile_STATUS        `json:"servicePrincipalProfile,omitempty"`
	StorageProfile             *ManagedClusterStorageProfile_STATUS                 `json:"storageProfile,omitempty"`
	SupportPlan                *KubernetesSupportPlan_STATUS                        `json:"supportPlan,omitempty"`
	UpgradeSettings            *ClusterUpgradeSettings_STATUS                       `json:"upgradeSettings,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 ClusterUpgradeSettings_STATUS struct {
	OverrideSettings *UpgradeOverrideSettings_STATUS `json:"overrideSettings,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"`
	IpFamilies          []IpFamily_STATUS                                      `json:"ipFamilies"`
	KubeProxyConfig     *ContainerServiceNetworkProfile_KubeProxyConfig_STATUS `json:"kubeProxyConfig,omitempty"`
	LoadBalancerProfile *ManagedClusterLoadBalancerProfile_STATUS              `json:"loadBalancerProfile,omitempty"`
	LoadBalancerSku     *LoadBalancerSku_STATUS                                `json:"loadBalancerSku,omitempty"`
	Monitoring          *NetworkMonitoring_STATUS                              `json:"monitoring,omitempty"`
	NatGatewayProfile   *ManagedClusterNATGatewayProfile_STATUS                `json:"natGatewayProfile,omitempty"`
	NetworkDataplane    *NetworkDataplane_STATUS                               `json:"networkDataplane,omitempty"`
	NetworkMode         *NetworkMode_STATUS                                    `json:"networkMode,omitempty"`
	NetworkPlugin       *NetworkPlugin_STATUS                                  `json:"networkPlugin,omitempty"`
	NetworkPluginMode   *NetworkPluginMode_STATUS                              `json:"networkPluginMode,omitempty"`
	NetworkPolicy       *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 CreationData_STATUS struct {
	SourceResourceId *string `json:"sourceResourceId,omitempty"`
}

type DelegatedResource_STATUS struct {
	Location         *string `json:"location,omitempty"`
	ReferralResource *string `json:"referralResource,omitempty"`
	ResourceId       *string `json:"resourceId,omitempty"`
	TenantId         *string `json:"tenantId,omitempty"`
}

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 KubernetesSupportPlan_STATUS string

const (
	KubernetesSupportPlan_STATUS_AKSLongTermSupport = KubernetesSupportPlan_STATUS("AKSLongTermSupport")
	KubernetesSupportPlan_STATUS_KubernetesOfficial = KubernetesSupportPlan_STATUS("KubernetesOfficial")
)

// Mapping from string to KubernetesSupportPlan_STATUS
var kubernetesSupportPlan_STATUS_Values = map[string]KubernetesSupportPlan_STATUS{
	"akslongtermsupport": KubernetesSupportPlan_STATUS_AKSLongTermSupport,
	"kubernetesofficial": KubernetesSupportPlan_STATUS_KubernetesOfficial,
}

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 {
	ArtifactStreamingProfile   *AgentPoolArtifactStreamingProfile_STATUS `json:"artifactStreamingProfile,omitempty"`
	AvailabilityZones          []string                                  `json:"availabilityZones"`
	CapacityReservationGroupID *string                                   `json:"capacityReservationGroupID,omitempty"`
	Count                      *int                                      `json:"count,omitempty"`
	CreationData               *CreationData_STATUS                      `json:"creationData,omitempty"`
	CurrentOrchestratorVersion *string                                   `json:"currentOrchestratorVersion,omitempty"`
	EnableAutoScaling          *bool                                     `json:"enableAutoScaling,omitempty"`
	EnableCustomCATrust        *bool                                     `json:"enableCustomCATrust,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"`
	GpuProfile                 *AgentPoolGPUProfile_STATUS               `json:"gpuProfile,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"`
	MessageOfTheDay            *string                                   `json:"messageOfTheDay,omitempty"`
	MinCount                   *int                                      `json:"minCount,omitempty"`
	Mode                       *AgentPoolMode_STATUS                     `json:"mode,omitempty"`
	Name                       *string                                   `json:"name,omitempty"`
	NetworkProfile             *AgentPoolNetworkProfile_STATUS           `json:"networkProfile,omitempty"`
	NodeImageVersion           *string                                   `json:"nodeImageVersion,omitempty"`
	NodeInitializationTaints   []string                                  `json:"nodeInitializationTaints"`
	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"`
	SecurityProfile            *AgentPoolSecurityProfile_STATUS          `json:"securityProfile,omitempty"`
	SpotMaxPrice               *float64                                  `json:"spotMaxPrice,omitempty"`
	Tags                       map[string]string                         `json:"tags"`
	Type                       *AgentPoolType_STATUS                     `json:"type,omitempty"`
	UpgradeSettings            *AgentPoolUpgradeSettings_STATUS          `json:"upgradeSettings,omitempty"`
	VirtualMachineNodesStatus  []VirtualMachineNodes_STATUS              `json:"virtualMachineNodesStatus"`
	VirtualMachinesProfile     *VirtualMachinesProfile_STATUS            `json:"virtualMachinesProfile,omitempty"`
	VmSize                     *string                                   `json:"vmSize,omitempty"`
	VnetSubnetID               *string                                   `json:"vnetSubnetID,omitempty"`
	WindowsProfile             *AgentPoolWindowsProfile_STATUS           `json:"windowsProfile,omitempty"`
	WorkloadRuntime            *WorkloadRuntime_STATUS                   `json:"workloadRuntime,omitempty"`
}

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

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

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

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

type ManagedClusterHTTPProxyConfig_STATUS struct {
	EffectiveNoProxy []string `json:"effectiveNoProxy"`
	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 ManagedClusterIngressProfile_STATUS struct {
	WebAppRouting *ManagedClusterIngressProfileWebAppRouting_STATUS `json:"webAppRouting,omitempty"`
}

type ManagedClusterMetricsProfile_STATUS struct {
	CostAnalysis *ManagedClusterCostAnalysis_STATUS `json:"costAnalysis,omitempty"`
}

type ManagedClusterNodeProvisioningProfile_STATUS struct {
	Mode *ManagedClusterNodeProvisioningProfile_Mode_STATUS `json:"mode,omitempty"`
}

type ManagedClusterNodeResourceGroupProfile_STATUS struct {
	RestrictionLevel *ManagedClusterNodeResourceGroupProfile_RestrictionLevel_STATUS `json:"restrictionLevel,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"`
	DaemonsetEvictionForEmptyNodes    *bool            `json:"daemonset-eviction-for-empty-nodes,omitempty"`
	DaemonsetEvictionForOccupiedNodes *bool            `json:"daemonset-eviction-for-occupied-nodes,omitempty"`
	Expander                          *Expander_STATUS `json:"expander,omitempty"`
	IgnoreDaemonsetsUtilization       *bool            `json:"ignore-daemonsets-utilization,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")
	ManagedClusterProperties_PublicNetworkAccess_STATUS_SecuredByPerimeter = ManagedClusterProperties_PublicNetworkAccess_STATUS("SecuredByPerimeter")
)

// 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,
	"securedbyperimeter": ManagedClusterProperties_PublicNetworkAccess_STATUS_SecuredByPerimeter,
}

type ManagedClusterSecurityProfile_STATUS struct {
	AzureKeyVaultKms          *AzureKeyVaultKms_STATUS                              `json:"azureKeyVaultKms,omitempty"`
	CustomCATrustCertificates []string                                              `json:"customCATrustCertificates"`
	Defender                  *ManagedClusterSecurityProfileDefender_STATUS         `json:"defender,omitempty"`
	ImageCleaner              *ManagedClusterSecurityProfileImageCleaner_STATUS     `json:"imageCleaner,omitempty"`
	ImageIntegrity            *ManagedClusterSecurityProfileImageIntegrity_STATUS   `json:"imageIntegrity,omitempty"`
	NodeRestriction           *ManagedClusterSecurityProfileNodeRestriction_STATUS  `json:"nodeRestriction,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_Premium  = ManagedClusterSKU_Tier_STATUS("Premium")
	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,
	"premium":  ManagedClusterSKU_Tier_STATUS_Premium,
	"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"`
	VerticalPodAutoscaler *ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS `json:"verticalPodAutoscaler,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 SafeguardsProfile_STATUS struct {
	ExcludedNamespaces       []string                        `json:"excludedNamespaces"`
	Level                    *SafeguardsProfile_Level_STATUS `json:"level,omitempty"`
	SystemExcludedNamespaces []string                        `json:"systemExcludedNamespaces"`
	Version                  *string                         `json:"version,omitempty"`
}

type ServiceMeshProfile_STATUS struct {
	Istio *IstioServiceMesh_STATUS        `json:"istio,omitempty"`
	Mode  *ServiceMeshProfile_Mode_STATUS `json:"mode,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_KubeProxyConfig_STATUS struct {
	Enabled    *bool                                                             `json:"enabled,omitempty"`
	IpvsConfig *ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig_STATUS `json:"ipvsConfig,omitempty"`
	Mode       *ContainerServiceNetworkProfile_KubeProxyConfig_Mode_STATUS       `json:"mode,omitempty"`
}

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 Expander_STATUS string

const (
	Expander_STATUS_LeastWaste = Expander_STATUS("least-waste")
	Expander_STATUS_MostPods   = Expander_STATUS("most-pods")
	Expander_STATUS_Priority   = Expander_STATUS("priority")
	Expander_STATUS_Random     = Expander_STATUS("random")
)

// Mapping from string to Expander_STATUS
var expander_STATUS_Values = map[string]Expander_STATUS{
	"least-waste": Expander_STATUS_LeastWaste,
	"most-pods":   Expander_STATUS_MostPods,
	"priority":    Expander_STATUS_Priority,
	"random":      Expander_STATUS_Random,
}

type IpFamily_STATUS string

const (
	IpFamily_STATUS_IPv4 = IpFamily_STATUS("IPv4")
	IpFamily_STATUS_IPv6 = IpFamily_STATUS("IPv6")
)

// Mapping from string to IpFamily_STATUS
var ipFamily_STATUS_Values = map[string]IpFamily_STATUS{
	"ipv4": IpFamily_STATUS_IPv4,
	"ipv6": IpFamily_STATUS_IPv6,
}

type IstioServiceMesh_STATUS struct {
	CertificateAuthority *IstioCertificateAuthority_STATUS `json:"certificateAuthority,omitempty"`
	Components           *IstioComponents_STATUS           `json:"components,omitempty"`
	Revisions            []string                          `json:"revisions"`
}

type LoadBalancerSku_STATUS string

const (
	LoadBalancerSku_STATUS_Basic    = LoadBalancerSku_STATUS("basic")
	LoadBalancerSku_STATUS_Standard = LoadBalancerSku_STATUS("standard")
)

// Mapping from string to LoadBalancerSku_STATUS
var loadBalancerSku_STATUS_Values = map[string]LoadBalancerSku_STATUS{
	"basic":    LoadBalancerSku_STATUS_Basic,
	"standard": LoadBalancerSku_STATUS_Standard,
}

type ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel_STATUS string

const (
	ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel_STATUS_NodeImage     = ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel_STATUS("NodeImage")
	ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel_STATUS_None          = ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel_STATUS("None")
	ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel_STATUS_SecurityPatch = ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel_STATUS("SecurityPatch")
	ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel_STATUS_Unmanaged     = ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel_STATUS("Unmanaged")
)

// Mapping from string to ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel_STATUS
var managedClusterAutoUpgradeProfile_NodeOSUpgradeChannel_STATUS_Values = map[string]ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel_STATUS{
	"nodeimage":     ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel_STATUS_NodeImage,
	"none":          ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel_STATUS_None,
	"securitypatch": ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel_STATUS_SecurityPatch,
	"unmanaged":     ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel_STATUS_Unmanaged,
}

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 ManagedClusterAzureMonitorProfileLogs_STATUS struct {
	AppMonitoring     *ManagedClusterAzureMonitorProfileAppMonitoring_STATUS     `json:"appMonitoring,omitempty"`
	ContainerInsights *ManagedClusterAzureMonitorProfileContainerInsights_STATUS `json:"containerInsights,omitempty"`
}

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

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

type ManagedClusterIngressProfileWebAppRouting_STATUS struct {
	DnsZoneResourceIds []string                     `json:"dnsZoneResourceIds"`
	Enabled            *bool                        `json:"enabled,omitempty"`
	Identity           *UserAssignedIdentity_STATUS `json:"identity,omitempty"`
}

type ManagedClusterLoadBalancerProfile_STATUS struct {
	AllocatedOutboundPorts              *int                                                         `json:"allocatedOutboundPorts,omitempty"`
	BackendPoolType                     *ManagedClusterLoadBalancerProfile_BackendPoolType_STATUS    `json:"backendPoolType,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 ManagedClusterNodeProvisioningProfile_Mode_STATUS string

const (
	ManagedClusterNodeProvisioningProfile_Mode_STATUS_Auto   = ManagedClusterNodeProvisioningProfile_Mode_STATUS("Auto")
	ManagedClusterNodeProvisioningProfile_Mode_STATUS_Manual = ManagedClusterNodeProvisioningProfile_Mode_STATUS("Manual")
)

// Mapping from string to ManagedClusterNodeProvisioningProfile_Mode_STATUS
var managedClusterNodeProvisioningProfile_Mode_STATUS_Values = map[string]ManagedClusterNodeProvisioningProfile_Mode_STATUS{
	"auto":   ManagedClusterNodeProvisioningProfile_Mode_STATUS_Auto,
	"manual": ManagedClusterNodeProvisioningProfile_Mode_STATUS_Manual,
}

type ManagedClusterNodeResourceGroupProfile_RestrictionLevel_STATUS string

const (
	ManagedClusterNodeResourceGroupProfile_RestrictionLevel_STATUS_ReadOnly     = ManagedClusterNodeResourceGroupProfile_RestrictionLevel_STATUS("ReadOnly")
	ManagedClusterNodeResourceGroupProfile_RestrictionLevel_STATUS_Unrestricted = ManagedClusterNodeResourceGroupProfile_RestrictionLevel_STATUS("Unrestricted")
)

// Mapping from string to ManagedClusterNodeResourceGroupProfile_RestrictionLevel_STATUS
var managedClusterNodeResourceGroupProfile_RestrictionLevel_STATUS_Values = map[string]ManagedClusterNodeResourceGroupProfile_RestrictionLevel_STATUS{
	"readonly":     ManagedClusterNodeResourceGroupProfile_RestrictionLevel_STATUS_ReadOnly,
	"unrestricted": ManagedClusterNodeResourceGroupProfile_RestrictionLevel_STATUS_Unrestricted,
}

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 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 ManagedClusterSecurityProfileImageIntegrity_STATUS struct {
	Enabled *bool `json:"enabled,omitempty"`
}

type ManagedClusterSecurityProfileNodeRestriction_STATUS struct {
	Enabled *bool `json:"enabled,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"`
	Version *string `json:"version,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 ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS struct {
	AddonAutoscaling *ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_AddonAutoscaling_STATUS `json:"addonAutoscaling,omitempty"`
	Enabled          *bool                                                                                 `json:"enabled,omitempty"`
}

type NetworkDataplane_STATUS string

const (
	NetworkDataplane_STATUS_Azure  = NetworkDataplane_STATUS("azure")
	NetworkDataplane_STATUS_Cilium = NetworkDataplane_STATUS("cilium")
)

// Mapping from string to NetworkDataplane_STATUS
var networkDataplane_STATUS_Values = map[string]NetworkDataplane_STATUS{
	"azure":  NetworkDataplane_STATUS_Azure,
	"cilium": NetworkDataplane_STATUS_Cilium,
}

type NetworkMode_STATUS string

const (
	NetworkMode_STATUS_Bridge      = NetworkMode_STATUS("bridge")
	NetworkMode_STATUS_Transparent = NetworkMode_STATUS("transparent")
)

// Mapping from string to NetworkMode_STATUS
var networkMode_STATUS_Values = map[string]NetworkMode_STATUS{
	"bridge":      NetworkMode_STATUS_Bridge,
	"transparent": NetworkMode_STATUS_Transparent,
}

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

type NetworkPlugin_STATUS string

const (
	NetworkPlugin_STATUS_Azure   = NetworkPlugin_STATUS("azure")
	NetworkPlugin_STATUS_Kubenet = NetworkPlugin_STATUS("kubenet")
	NetworkPlugin_STATUS_None    = NetworkPlugin_STATUS("none")
)

// Mapping from string to NetworkPlugin_STATUS
var networkPlugin_STATUS_Values = map[string]NetworkPlugin_STATUS{
	"azure":   NetworkPlugin_STATUS_Azure,
	"kubenet": NetworkPlugin_STATUS_Kubenet,
	"none":    NetworkPlugin_STATUS_None,
}

type NetworkPluginMode_STATUS string

const NetworkPluginMode_STATUS_Overlay = NetworkPluginMode_STATUS("overlay")

// Mapping from string to NetworkPluginMode_STATUS
var networkPluginMode_STATUS_Values = map[string]NetworkPluginMode_STATUS{
	"overlay": NetworkPluginMode_STATUS_Overlay,
}

type NetworkPolicy_STATUS string

const (
	NetworkPolicy_STATUS_Azure  = NetworkPolicy_STATUS("azure")
	NetworkPolicy_STATUS_Calico = NetworkPolicy_STATUS("calico")
	NetworkPolicy_STATUS_Cilium = NetworkPolicy_STATUS("cilium")
	NetworkPolicy_STATUS_None   = NetworkPolicy_STATUS("none")
)

// Mapping from string to NetworkPolicy_STATUS
var networkPolicy_STATUS_Values = map[string]NetworkPolicy_STATUS{
	"azure":  NetworkPolicy_STATUS_Azure,
	"calico": NetworkPolicy_STATUS_Calico,
	"cilium": NetworkPolicy_STATUS_Cilium,
	"none":   NetworkPolicy_STATUS_None,
}

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 SafeguardsProfile_Level_STATUS string

const (
	SafeguardsProfile_Level_STATUS_Enforcement = SafeguardsProfile_Level_STATUS("Enforcement")
	SafeguardsProfile_Level_STATUS_Off         = SafeguardsProfile_Level_STATUS("Off")
	SafeguardsProfile_Level_STATUS_Warning     = SafeguardsProfile_Level_STATUS("Warning")
)

// Mapping from string to SafeguardsProfile_Level_STATUS
var safeguardsProfile_Level_STATUS_Values = map[string]SafeguardsProfile_Level_STATUS{
	"enforcement": SafeguardsProfile_Level_STATUS_Enforcement,
	"off":         SafeguardsProfile_Level_STATUS_Off,
	"warning":     SafeguardsProfile_Level_STATUS_Warning,
}

type ServiceMeshProfile_Mode_STATUS string

const (
	ServiceMeshProfile_Mode_STATUS_Disabled = ServiceMeshProfile_Mode_STATUS("Disabled")
	ServiceMeshProfile_Mode_STATUS_Istio    = ServiceMeshProfile_Mode_STATUS("Istio")
)

// Mapping from string to ServiceMeshProfile_Mode_STATUS
var serviceMeshProfile_Mode_STATUS_Values = map[string]ServiceMeshProfile_Mode_STATUS{
	"disabled": ServiceMeshProfile_Mode_STATUS_Disabled,
	"istio":    ServiceMeshProfile_Mode_STATUS_Istio,
}

type UpgradeOverrideSettings_STATUS struct {
	ForceUpgrade *bool   `json:"forceUpgrade,omitempty"`
	Until        *string `json:"until,omitempty"`
}

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 ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig_STATUS struct {
	Scheduler            *ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig_Scheduler_STATUS `json:"scheduler,omitempty"`
	TcpFinTimeoutSeconds *int                                                                        `json:"tcpFinTimeoutSeconds,omitempty"`
	TcpTimeoutSeconds    *int                                                                        `json:"tcpTimeoutSeconds,omitempty"`
	UdpTimeoutSeconds    *int                                                                        `json:"udpTimeoutSeconds,omitempty"`
}

type ContainerServiceNetworkProfile_KubeProxyConfig_Mode_STATUS string

const (
	ContainerServiceNetworkProfile_KubeProxyConfig_Mode_STATUS_IPTABLES = ContainerServiceNetworkProfile_KubeProxyConfig_Mode_STATUS("IPTABLES")
	ContainerServiceNetworkProfile_KubeProxyConfig_Mode_STATUS_IPVS     = ContainerServiceNetworkProfile_KubeProxyConfig_Mode_STATUS("IPVS")
)

// Mapping from string to ContainerServiceNetworkProfile_KubeProxyConfig_Mode_STATUS
var containerServiceNetworkProfile_KubeProxyConfig_Mode_STATUS_Values = map[string]ContainerServiceNetworkProfile_KubeProxyConfig_Mode_STATUS{
	"iptables": ContainerServiceNetworkProfile_KubeProxyConfig_Mode_STATUS_IPTABLES,
	"ipvs":     ContainerServiceNetworkProfile_KubeProxyConfig_Mode_STATUS_IPVS,
}

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

type IstioCertificateAuthority_STATUS struct {
	Plugin *IstioPluginCertificateAuthority_STATUS `json:"plugin,omitempty"`
}

type IstioComponents_STATUS struct {
	EgressGateways  []IstioEgressGateway_STATUS  `json:"egressGateways"`
	IngressGateways []IstioIngressGateway_STATUS `json:"ingressGateways"`
}

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

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

type ManagedClusterAzureMonitorProfileContainerInsights_STATUS struct {
	Enabled                         *bool                                                    `json:"enabled,omitempty"`
	LogAnalyticsWorkspaceResourceId *string                                                  `json:"logAnalyticsWorkspaceResourceId,omitempty"`
	WindowsHostLogs                 *ManagedClusterAzureMonitorProfileWindowsHostLogs_STATUS `json:"windowsHostLogs,omitempty"`
}

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

type ManagedClusterLoadBalancerProfile_BackendPoolType_STATUS string

const (
	ManagedClusterLoadBalancerProfile_BackendPoolType_STATUS_NodeIP              = ManagedClusterLoadBalancerProfile_BackendPoolType_STATUS("NodeIP")
	ManagedClusterLoadBalancerProfile_BackendPoolType_STATUS_NodeIPConfiguration = ManagedClusterLoadBalancerProfile_BackendPoolType_STATUS("NodeIPConfiguration")
)

// Mapping from string to ManagedClusterLoadBalancerProfile_BackendPoolType_STATUS
var managedClusterLoadBalancerProfile_BackendPoolType_STATUS_Values = map[string]ManagedClusterLoadBalancerProfile_BackendPoolType_STATUS{
	"nodeip":              ManagedClusterLoadBalancerProfile_BackendPoolType_STATUS_NodeIP,
	"nodeipconfiguration": ManagedClusterLoadBalancerProfile_BackendPoolType_STATUS_NodeIPConfiguration,
}

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 ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_AddonAutoscaling_STATUS string

const (
	ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_AddonAutoscaling_STATUS_Disabled = ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_AddonAutoscaling_STATUS("Disabled")
	ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_AddonAutoscaling_STATUS_Enabled  = ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_AddonAutoscaling_STATUS("Enabled")
)

// Mapping from string to ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_AddonAutoscaling_STATUS
var managedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_AddonAutoscaling_STATUS_Values = map[string]ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_AddonAutoscaling_STATUS{
	"disabled": ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_AddonAutoscaling_STATUS_Disabled,
	"enabled":  ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_AddonAutoscaling_STATUS_Enabled,
}

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

type ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig_Scheduler_STATUS string

const (
	ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig_Scheduler_STATUS_LeastConnection = ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig_Scheduler_STATUS("LeastConnection")
	ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig_Scheduler_STATUS_RoundRobin      = ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig_Scheduler_STATUS("RoundRobin")
)

// Mapping from string to ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig_Scheduler_STATUS
var containerServiceNetworkProfile_KubeProxyConfig_IpvsConfig_Scheduler_STATUS_Values = map[string]ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig_Scheduler_STATUS{
	"leastconnection": ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig_Scheduler_STATUS_LeastConnection,
	"roundrobin":      ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig_Scheduler_STATUS_RoundRobin,
}

type IstioEgressGateway_STATUS struct {
	Enabled      *bool             `json:"enabled,omitempty"`
	NodeSelector map[string]string `json:"nodeSelector"`
}

type IstioIngressGateway_STATUS struct {
	Enabled *bool                            `json:"enabled,omitempty"`
	Mode    *IstioIngressGateway_Mode_STATUS `json:"mode,omitempty"`
}

type IstioPluginCertificateAuthority_STATUS struct {
	CertChainObjectName *string `json:"certChainObjectName,omitempty"`
	CertObjectName      *string `json:"certObjectName,omitempty"`
	KeyObjectName       *string `json:"keyObjectName,omitempty"`
	KeyVaultId          *string `json:"keyVaultId,omitempty"`
	RootCertObjectName  *string `json:"rootCertObjectName,omitempty"`
}

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

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

type IstioIngressGateway_Mode_STATUS string

const (
	IstioIngressGateway_Mode_STATUS_External = IstioIngressGateway_Mode_STATUS("External")
	IstioIngressGateway_Mode_STATUS_Internal = IstioIngressGateway_Mode_STATUS("Internal")
)

// Mapping from string to IstioIngressGateway_Mode_STATUS
var istioIngressGateway_Mode_STATUS_Values = map[string]IstioIngressGateway_Mode_STATUS{
	"external": IstioIngressGateway_Mode_STATUS_External,
	"internal": IstioIngressGateway_Mode_STATUS_Internal,
}

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