// 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"`
	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"`
	AzurePortalFQDN         *string                                            `json:"azurePortalFQDN,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"`
	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"`
	ServicePrincipalProfile *ManagedClusterServicePrincipalProfile_STATUS      `json:"servicePrincipalProfile,omitempty"`
	WindowsProfile          *ManagedClusterWindowsProfile_STATUS               `json:"windowsProfile,omitempty"`
}

type ManagedClusterSKU_STATUS struct {
	Name *ManagedClusterSKU_Name_STATUS `json:"name,omitempty"`
	Tier *ManagedClusterSKU_Tier_STATUS `json:"tier,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"`
	LoadBalancerProfile *ManagedClusterLoadBalancerProfile_STATUS              `json:"loadBalancerProfile,omitempty"`
	LoadBalancerSku     *ContainerServiceNetworkProfile_LoadBalancerSku_STATUS `json:"loadBalancerSku,omitempty"`
	NetworkMode         *ContainerServiceNetworkProfile_NetworkMode_STATUS     `json:"networkMode,omitempty"`
	NetworkPlugin       *ContainerServiceNetworkProfile_NetworkPlugin_STATUS   `json:"networkPlugin,omitempty"`
	NetworkPolicy       *ContainerServiceNetworkProfile_NetworkPolicy_STATUS   `json:"networkPolicy,omitempty"`
	OutboundType        *ContainerServiceNetworkProfile_OutboundType_STATUS    `json:"outboundType,omitempty"`
	PodCidr             *string                                                `json:"podCidr,omitempty"`
	ServiceCidr         *string                                                `json:"serviceCidr,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 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"`
	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"`
	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"`
	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"`
}

type ManagedClusterAPIServerAccessProfile_STATUS struct {
	AuthorizedIPRanges             []string `json:"authorizedIPRanges"`
	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 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 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 ManagedClusterServicePrincipalProfile_STATUS struct {
	ClientId *string `json:"clientId,omitempty"`
}

type ManagedClusterSKU_Name_STATUS string

const ManagedClusterSKU_Name_STATUS_Basic = ManagedClusterSKU_Name_STATUS("Basic")

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

type ManagedClusterSKU_Tier_STATUS string

const (
	ManagedClusterSKU_Tier_STATUS_Free = ManagedClusterSKU_Tier_STATUS("Free")
	ManagedClusterSKU_Tier_STATUS_Paid = ManagedClusterSKU_Tier_STATUS("Paid")
)

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

type ManagedClusterWindowsProfile_STATUS struct {
	AdminUsername  *string                                          `json:"adminUsername,omitempty"`
	EnableCSIProxy *bool                                            `json:"enableCSIProxy,omitempty"`
	LicenseType    *ManagedClusterWindowsProfile_LicenseType_STATUS `json:"licenseType,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 UserAssignedIdentity_STATUS struct {
	ClientId   *string `json:"clientId,omitempty"`
	ObjectId   *string `json:"objectId,omitempty"`
	ResourceId *string `json:"resourceId,omitempty"`
}

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_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")
)

// 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,
}

type ContainerServiceNetworkProfile_NetworkPolicy_STATUS string

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

// 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,
}

type ContainerServiceNetworkProfile_OutboundType_STATUS string

const (
	ContainerServiceNetworkProfile_OutboundType_STATUS_LoadBalancer       = ContainerServiceNetworkProfile_OutboundType_STATUS("loadBalancer")
	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,
	"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 ManagedClusterLoadBalancerProfile_STATUS struct {
	AllocatedOutboundPorts *int                                                         `json:"allocatedOutboundPorts,omitempty"`
	EffectiveOutboundIPs   []ResourceReference_STATUS                                   `json:"effectiveOutboundIPs"`
	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 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 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 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 ContainerServiceSshPublicKey_STATUS struct {
	KeyData *string `json:"keyData,omitempty"`
}

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

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

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

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_Deleting = ManagedClusterPodIdentity_ProvisioningState_STATUS("Deleting")
	ManagedClusterPodIdentity_ProvisioningState_STATUS_Failed   = ManagedClusterPodIdentity_ProvisioningState_STATUS("Failed")
	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,
	"deleting": ManagedClusterPodIdentity_ProvisioningState_STATUS_Deleting,
	"failed":   ManagedClusterPodIdentity_ProvisioningState_STATUS_Failed,
	"updating": ManagedClusterPodIdentity_ProvisioningState_STATUS_Updating,
}

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