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

import "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"

// Cognitive Services account is an Azure resource representing the provisioned account, it's type, location and SKU.
type Account_STATUS struct {
	// Etag: Resource Etag.
	Etag *string `json:"etag,omitempty"`

	// Id: Fully qualified resource ID for the resource. Ex -
	// /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
	Id *string `json:"id,omitempty"`

	// Identity: Identity for the resource.
	Identity *Identity_STATUS `json:"identity,omitempty"`

	// Kind: The Kind of the resource.
	Kind *string `json:"kind,omitempty"`

	// Location: The geo-location where the resource lives
	Location *string `json:"location,omitempty"`

	// Name: The name of the resource
	Name *string `json:"name,omitempty"`

	// Properties: Properties of Cognitive Services account.
	Properties *AccountProperties_STATUS `json:"properties,omitempty"`

	// Sku: The resource model definition representing SKU
	Sku *Sku_STATUS `json:"sku,omitempty"`

	// SystemData: Metadata pertaining to creation and last modification of the resource.
	SystemData *SystemData_STATUS `json:"systemData,omitempty"`

	// Tags: Resource tags.
	Tags map[string]string `json:"tags,omitempty"`

	// Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
	Type *string `json:"type,omitempty"`
}

// Properties of Cognitive Services account.
type AccountProperties_STATUS struct {
	// AbusePenalty: The abuse penalty.
	AbusePenalty *AbusePenalty_STATUS `json:"abusePenalty,omitempty"`

	// AllowProjectManagement: Specifies whether this resource support project management as child resources, used as
	// containers for access management, data isolation and cost in AI Foundry.
	AllowProjectManagement *bool    `json:"allowProjectManagement,omitempty"`
	AllowedFqdnList        []string `json:"allowedFqdnList,omitempty"`

	// AmlWorkspace: The user owned AML account properties.
	AmlWorkspace *UserOwnedAmlWorkspace_STATUS `json:"amlWorkspace,omitempty"`

	// ApiProperties: The api properties for special APIs.
	ApiProperties *ApiProperties_STATUS `json:"apiProperties,omitempty"`

	// AssociatedProjects: Specifies the projects, by project name, that are associated with this resource.
	AssociatedProjects []string `json:"associatedProjects,omitempty"`

	// CallRateLimit: The call rate limit Cognitive Services account.
	CallRateLimit *CallRateLimit_STATUS `json:"callRateLimit,omitempty"`

	// Capabilities: Gets the capabilities of the cognitive services account. Each item indicates the capability of a specific
	// feature. The values are read-only and for reference only.
	Capabilities []SkuCapability_STATUS `json:"capabilities,omitempty"`

	// CommitmentPlanAssociations: The commitment plan associations of Cognitive Services account.
	CommitmentPlanAssociations []CommitmentPlanAssociation_STATUS `json:"commitmentPlanAssociations,omitempty"`

	// CustomSubDomainName: Optional subdomain name used for token-based authentication.
	CustomSubDomainName *string `json:"customSubDomainName,omitempty"`

	// DateCreated: Gets the date of cognitive services account creation.
	DateCreated *string `json:"dateCreated,omitempty"`

	// DefaultProject: Specifies the project, by project name, that is targeted when data plane endpoints are called without a
	// project parameter.
	DefaultProject *string `json:"defaultProject,omitempty"`

	// DeletionDate: The deletion date, only available for deleted account.
	DeletionDate     *string `json:"deletionDate,omitempty"`
	DisableLocalAuth *bool   `json:"disableLocalAuth,omitempty"`

	// DynamicThrottlingEnabled: The flag to enable dynamic throttling.
	DynamicThrottlingEnabled *bool `json:"dynamicThrottlingEnabled,omitempty"`

	// Encryption: The encryption properties for this resource.
	Encryption *Encryption_STATUS `json:"encryption,omitempty"`

	// Endpoint: Endpoint of the created account.
	Endpoint  *string           `json:"endpoint,omitempty"`
	Endpoints map[string]string `json:"endpoints,omitempty"`

	// InternalId: The internal identifier (deprecated, do not use this property).
	InternalId *string `json:"internalId,omitempty"`

	// IsMigrated: If the resource is migrated from an existing key.
	IsMigrated *bool `json:"isMigrated,omitempty"`

	// Locations: The multiregion settings of Cognitive Services account.
	Locations *MultiRegionSettings_STATUS `json:"locations,omitempty"`

	// NetworkAcls: A collection of rules governing the accessibility from specific network locations.
	NetworkAcls       *NetworkRuleSet_STATUS    `json:"networkAcls,omitempty"`
	NetworkInjections []NetworkInjection_STATUS `json:"networkInjections,omitempty"`

	// PrivateEndpointConnections: The private endpoint connection associated with the Cognitive Services account.
	PrivateEndpointConnections []PrivateEndpointConnection_STATUS `json:"privateEndpointConnections,omitempty"`

	// ProvisioningState: Gets the status of the cognitive services account at the time the operation was called.
	ProvisioningState *AccountProperties_ProvisioningState_STATUS `json:"provisioningState,omitempty"`

	// PublicNetworkAccess: Whether or not public endpoint access is allowed for this account.
	PublicNetworkAccess *AccountProperties_PublicNetworkAccess_STATUS `json:"publicNetworkAccess,omitempty"`
	QuotaLimit          *QuotaLimit_STATUS                            `json:"quotaLimit,omitempty"`

	// RaiMonitorConfig: Cognitive Services Rai Monitor Config.
	RaiMonitorConfig              *RaiMonitorConfig_STATUS `json:"raiMonitorConfig,omitempty"`
	Restore                       *bool                    `json:"restore,omitempty"`
	RestrictOutboundNetworkAccess *bool                    `json:"restrictOutboundNetworkAccess,omitempty"`

	// ScheduledPurgeDate: The scheduled purge date, only available for deleted account.
	ScheduledPurgeDate *string `json:"scheduledPurgeDate,omitempty"`

	// SkuChangeInfo: Sku change info of account.
	SkuChangeInfo *SkuChangeInfo_STATUS `json:"skuChangeInfo,omitempty"`

	// UserOwnedStorage: The storage accounts for this resource.
	UserOwnedStorage []UserOwnedStorage_STATUS `json:"userOwnedStorage,omitempty"`
}

// Identity for the resource.
type Identity_STATUS struct {
	// PrincipalId: The principal ID of resource identity.
	PrincipalId *string `json:"principalId,omitempty"`

	// TenantId: The tenant ID of resource.
	TenantId *string `json:"tenantId,omitempty"`

	// Type: The identity type.
	Type *Identity_Type_STATUS `json:"type,omitempty"`

	// UserAssignedIdentities: The list of user assigned identities associated with the resource. The user identity dictionary
	// key references will be ARM resource ids in the form:
	// '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}
	UserAssignedIdentities map[string]UserAssignedIdentity_STATUS `json:"userAssignedIdentities,omitempty"`
}

// The resource model definition representing SKU
type Sku_STATUS struct {
	// Capacity: If the SKU supports scale out/in then the capacity integer should be included. If scale out/in is not possible
	// for the resource this may be omitted.
	Capacity *int `json:"capacity,omitempty"`

	// Family: If the service has different generations of hardware, for the same SKU, then that can be captured here.
	Family *string `json:"family,omitempty"`

	// Name: The name of the SKU. Ex - P3. It is typically a letter+number code
	Name *string `json:"name,omitempty"`

	// Size: The SKU size. When the name field is the combination of tier and some other value, this would be the standalone
	// code.
	Size *string `json:"size,omitempty"`

	// Tier: This field is required to be implemented by the Resource Provider if the service has more than one tier, but is
	// not required on a PUT.
	Tier *Sku_Tier_STATUS `json:"tier,omitempty"`
}

// Metadata pertaining to creation and last modification of the resource.
type SystemData_STATUS struct {
	// CreatedAt: The timestamp of resource creation (UTC).
	CreatedAt *string `json:"createdAt,omitempty"`

	// CreatedBy: The identity that created the resource.
	CreatedBy *string `json:"createdBy,omitempty"`

	// CreatedByType: The type of identity that created the resource.
	CreatedByType *SystemData_CreatedByType_STATUS `json:"createdByType,omitempty"`

	// LastModifiedAt: The timestamp of resource last modification (UTC)
	LastModifiedAt *string `json:"lastModifiedAt,omitempty"`

	// LastModifiedBy: The identity that last modified the resource.
	LastModifiedBy *string `json:"lastModifiedBy,omitempty"`

	// LastModifiedByType: The type of identity that last modified the resource.
	LastModifiedByType *SystemData_LastModifiedByType_STATUS `json:"lastModifiedByType,omitempty"`
}

// The abuse penalty.
type AbusePenalty_STATUS struct {
	// Action: The action of AbusePenalty.
	Action *AbusePenalty_Action_STATUS `json:"action,omitempty"`

	// Expiration: The datetime of expiration of the AbusePenalty.
	Expiration *string `json:"expiration,omitempty"`

	// RateLimitPercentage: The percentage of rate limit.
	RateLimitPercentage *float64 `json:"rateLimitPercentage,omitempty"`
}

type AccountProperties_ProvisioningState_STATUS string

const (
	AccountProperties_ProvisioningState_STATUS_Accepted     = AccountProperties_ProvisioningState_STATUS("Accepted")
	AccountProperties_ProvisioningState_STATUS_Creating     = AccountProperties_ProvisioningState_STATUS("Creating")
	AccountProperties_ProvisioningState_STATUS_Deleting     = AccountProperties_ProvisioningState_STATUS("Deleting")
	AccountProperties_ProvisioningState_STATUS_Failed       = AccountProperties_ProvisioningState_STATUS("Failed")
	AccountProperties_ProvisioningState_STATUS_Moving       = AccountProperties_ProvisioningState_STATUS("Moving")
	AccountProperties_ProvisioningState_STATUS_ResolvingDNS = AccountProperties_ProvisioningState_STATUS("ResolvingDNS")
	AccountProperties_ProvisioningState_STATUS_Succeeded    = AccountProperties_ProvisioningState_STATUS("Succeeded")
)

// Mapping from string to AccountProperties_ProvisioningState_STATUS
var accountProperties_ProvisioningState_STATUS_Values = map[string]AccountProperties_ProvisioningState_STATUS{
	"accepted":     AccountProperties_ProvisioningState_STATUS_Accepted,
	"creating":     AccountProperties_ProvisioningState_STATUS_Creating,
	"deleting":     AccountProperties_ProvisioningState_STATUS_Deleting,
	"failed":       AccountProperties_ProvisioningState_STATUS_Failed,
	"moving":       AccountProperties_ProvisioningState_STATUS_Moving,
	"resolvingdns": AccountProperties_ProvisioningState_STATUS_ResolvingDNS,
	"succeeded":    AccountProperties_ProvisioningState_STATUS_Succeeded,
}

type AccountProperties_PublicNetworkAccess_STATUS string

const (
	AccountProperties_PublicNetworkAccess_STATUS_Disabled = AccountProperties_PublicNetworkAccess_STATUS("Disabled")
	AccountProperties_PublicNetworkAccess_STATUS_Enabled  = AccountProperties_PublicNetworkAccess_STATUS("Enabled")
)

// Mapping from string to AccountProperties_PublicNetworkAccess_STATUS
var accountProperties_PublicNetworkAccess_STATUS_Values = map[string]AccountProperties_PublicNetworkAccess_STATUS{
	"disabled": AccountProperties_PublicNetworkAccess_STATUS_Disabled,
	"enabled":  AccountProperties_PublicNetworkAccess_STATUS_Enabled,
}

// The api properties for special APIs.
type ApiProperties_STATUS struct {
	// AadClientId: (Metrics Advisor Only) The Azure AD Client Id (Application Id).
	AadClientId *string `json:"aadClientId,omitempty"`

	// AadTenantId: (Metrics Advisor Only) The Azure AD Tenant Id.
	AadTenantId          *string            `json:"aadTenantId,omitempty"`
	AdditionalProperties map[string]v1.JSON `json:"additionalProperties,omitempty"`

	// QnaAzureSearchEndpointId: (QnAMaker Only) The Azure Search endpoint id of QnAMaker.
	QnaAzureSearchEndpointId *string `json:"qnaAzureSearchEndpointId,omitempty"`

	// QnaRuntimeEndpoint: (QnAMaker Only) The runtime endpoint of QnAMaker.
	QnaRuntimeEndpoint *string `json:"qnaRuntimeEndpoint,omitempty"`

	// StatisticsEnabled: (Bing Search Only) The flag to enable statistics of Bing Search.
	StatisticsEnabled *bool `json:"statisticsEnabled,omitempty"`

	// SuperUser: (Metrics Advisor Only) The super user of Metrics Advisor.
	SuperUser *string `json:"superUser,omitempty"`

	// WebsiteName: (Metrics Advisor Only) The website name of Metrics Advisor.
	WebsiteName *string `json:"websiteName,omitempty"`
}

// The call rate limit Cognitive Services account.
type CallRateLimit_STATUS struct {
	// Count: The count value of Call Rate Limit.
	Count *float64 `json:"count,omitempty"`

	// RenewalPeriod: The renewal period in seconds of Call Rate Limit.
	RenewalPeriod *float64                `json:"renewalPeriod,omitempty"`
	Rules         []ThrottlingRule_STATUS `json:"rules,omitempty"`
}

// The commitment plan association.
type CommitmentPlanAssociation_STATUS struct {
	// CommitmentPlanId: The Azure resource id of the commitment plan.
	CommitmentPlanId *string `json:"commitmentPlanId,omitempty"`

	// CommitmentPlanLocation: The location of of the commitment plan.
	CommitmentPlanLocation *string `json:"commitmentPlanLocation,omitempty"`
}

// Properties to configure Encryption
type Encryption_STATUS struct {
	// KeySource: Enumerates the possible value of keySource for Encryption
	KeySource *Encryption_KeySource_STATUS `json:"keySource,omitempty"`

	// KeyVaultProperties: Properties of KeyVault
	KeyVaultProperties *KeyVaultProperties_STATUS `json:"keyVaultProperties,omitempty"`
}

type Identity_Type_STATUS string

const (
	Identity_Type_STATUS_None                       = Identity_Type_STATUS("None")
	Identity_Type_STATUS_SystemAssigned             = Identity_Type_STATUS("SystemAssigned")
	Identity_Type_STATUS_SystemAssignedUserAssigned = Identity_Type_STATUS("SystemAssigned, UserAssigned")
	Identity_Type_STATUS_UserAssigned               = Identity_Type_STATUS("UserAssigned")
)

// Mapping from string to Identity_Type_STATUS
var identity_Type_STATUS_Values = map[string]Identity_Type_STATUS{
	"none":                         Identity_Type_STATUS_None,
	"systemassigned":               Identity_Type_STATUS_SystemAssigned,
	"systemassigned, userassigned": Identity_Type_STATUS_SystemAssignedUserAssigned,
	"userassigned":                 Identity_Type_STATUS_UserAssigned,
}

// The multiregion settings Cognitive Services account.
type MultiRegionSettings_STATUS struct {
	Regions []RegionSetting_STATUS `json:"regions,omitempty"`

	// RoutingMethod: Multiregion routing methods.
	RoutingMethod *MultiRegionSettings_RoutingMethod_STATUS `json:"routingMethod,omitempty"`
}

// Specifies in AI Foundry where virtual network injection occurs to secure scenarios like Agents entirely within the
// user's private network, eliminating public internet exposure while maintaining control over network configurations and
// resources.
type NetworkInjection_STATUS struct {
	// Scenario: Specifies what features in AI Foundry network injection applies to. Currently only supports 'agent' for agent
	// scenarios. 'none' means no network injection.
	Scenario *NetworkInjection_Scenario_STATUS `json:"scenario,omitempty"`

	// SubnetArmId: Specify the subnet for which your Agent Client is injected into.
	SubnetArmId *string `json:"subnetArmId,omitempty"`

	// UseMicrosoftManagedNetwork: Boolean to enable Microsoft Managed Network for subnet delegation
	UseMicrosoftManagedNetwork *bool `json:"useMicrosoftManagedNetwork,omitempty"`
}

// A set of rules governing the network accessibility.
type NetworkRuleSet_STATUS struct {
	// Bypass: Setting for trusted services.
	Bypass *NetworkRuleSet_Bypass_STATUS `json:"bypass,omitempty"`

	// DefaultAction: The default action when no rule from ipRules and from virtualNetworkRules match. This is only used after
	// the bypass property has been evaluated.
	DefaultAction *NetworkRuleSet_DefaultAction_STATUS `json:"defaultAction,omitempty"`

	// IpRules: The list of IP address rules.
	IpRules []IpRule_STATUS `json:"ipRules,omitempty"`

	// VirtualNetworkRules: The list of virtual network rules.
	VirtualNetworkRules []VirtualNetworkRule_STATUS `json:"virtualNetworkRules,omitempty"`
}

// The Private Endpoint Connection resource.
type PrivateEndpointConnection_STATUS struct {
	// Id: Fully qualified resource ID for the resource. Ex -
	// /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
	Id *string `json:"id,omitempty"`
}

type QuotaLimit_STATUS struct {
	Count         *float64                `json:"count,omitempty"`
	RenewalPeriod *float64                `json:"renewalPeriod,omitempty"`
	Rules         []ThrottlingRule_STATUS `json:"rules,omitempty"`
}

// Cognitive Services Rai Monitor Config.
type RaiMonitorConfig_STATUS struct {
	// AdxStorageResourceId: The storage resource Id.
	AdxStorageResourceId *string `json:"adxStorageResourceId,omitempty"`

	// IdentityClientId: The identity client Id to access the storage.
	IdentityClientId *string `json:"identityClientId,omitempty"`
}

type Sku_Tier_STATUS string

const (
	Sku_Tier_STATUS_Basic      = Sku_Tier_STATUS("Basic")
	Sku_Tier_STATUS_Enterprise = Sku_Tier_STATUS("Enterprise")
	Sku_Tier_STATUS_Free       = Sku_Tier_STATUS("Free")
	Sku_Tier_STATUS_Premium    = Sku_Tier_STATUS("Premium")
	Sku_Tier_STATUS_Standard   = Sku_Tier_STATUS("Standard")
)

// Mapping from string to Sku_Tier_STATUS
var sku_Tier_STATUS_Values = map[string]Sku_Tier_STATUS{
	"basic":      Sku_Tier_STATUS_Basic,
	"enterprise": Sku_Tier_STATUS_Enterprise,
	"free":       Sku_Tier_STATUS_Free,
	"premium":    Sku_Tier_STATUS_Premium,
	"standard":   Sku_Tier_STATUS_Standard,
}

// SkuCapability indicates the capability of a certain feature.
type SkuCapability_STATUS struct {
	// Name: The name of the SkuCapability.
	Name *string `json:"name,omitempty"`

	// Value: The value of the SkuCapability.
	Value *string `json:"value,omitempty"`
}

// Sku change info of account.
type SkuChangeInfo_STATUS struct {
	// CountOfDowngrades: Gets the count of downgrades.
	CountOfDowngrades *float64 `json:"countOfDowngrades,omitempty"`

	// CountOfUpgradesAfterDowngrades: Gets the count of upgrades after downgrades.
	CountOfUpgradesAfterDowngrades *float64 `json:"countOfUpgradesAfterDowngrades,omitempty"`

	// LastChangeDate: Gets the last change date.
	LastChangeDate *string `json:"lastChangeDate,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,
}

// User-assigned managed identity.
type UserAssignedIdentity_STATUS struct {
	// ClientId: Client App Id associated with this identity.
	ClientId *string `json:"clientId,omitempty"`

	// PrincipalId: Azure Active Directory principal ID associated with this Identity.
	PrincipalId *string `json:"principalId,omitempty"`
}

// The user owned AML account for Cognitive Services account.
type UserOwnedAmlWorkspace_STATUS struct {
	// IdentityClientId: Identity Client id of a AML account resource.
	IdentityClientId *string `json:"identityClientId,omitempty"`

	// ResourceId: Full resource id of a AML account resource.
	ResourceId *string `json:"resourceId,omitempty"`
}

// The user owned storage for Cognitive Services account.
type UserOwnedStorage_STATUS struct {
	IdentityClientId *string `json:"identityClientId,omitempty"`

	// ResourceId: Full resource id of a Microsoft.Storage resource.
	ResourceId *string `json:"resourceId,omitempty"`
}

type AbusePenalty_Action_STATUS string

const (
	AbusePenalty_Action_STATUS_Block    = AbusePenalty_Action_STATUS("Block")
	AbusePenalty_Action_STATUS_Throttle = AbusePenalty_Action_STATUS("Throttle")
)

// Mapping from string to AbusePenalty_Action_STATUS
var abusePenalty_Action_STATUS_Values = map[string]AbusePenalty_Action_STATUS{
	"block":    AbusePenalty_Action_STATUS_Block,
	"throttle": AbusePenalty_Action_STATUS_Throttle,
}

type Encryption_KeySource_STATUS string

const (
	Encryption_KeySource_STATUS_MicrosoftCognitiveServices = Encryption_KeySource_STATUS("Microsoft.CognitiveServices")
	Encryption_KeySource_STATUS_MicrosoftKeyVault          = Encryption_KeySource_STATUS("Microsoft.KeyVault")
)

// Mapping from string to Encryption_KeySource_STATUS
var encryption_KeySource_STATUS_Values = map[string]Encryption_KeySource_STATUS{
	"microsoft.cognitiveservices": Encryption_KeySource_STATUS_MicrosoftCognitiveServices,
	"microsoft.keyvault":          Encryption_KeySource_STATUS_MicrosoftKeyVault,
}

// A rule governing the accessibility from a specific ip address or ip range.
type IpRule_STATUS struct {
	// Value: An IPv4 address range in CIDR notation, such as '124.56.78.91' (simple IP address) or '124.56.78.0/24' (all
	// addresses that start with 124.56.78).
	Value *string `json:"value,omitempty"`
}

// Properties to configure keyVault Properties
type KeyVaultProperties_STATUS struct {
	IdentityClientId *string `json:"identityClientId,omitempty"`

	// KeyName: Name of the Key from KeyVault
	KeyName *string `json:"keyName,omitempty"`

	// KeyVaultUri: Uri of KeyVault
	KeyVaultUri *string `json:"keyVaultUri,omitempty"`

	// KeyVersion: Version of the Key from KeyVault
	KeyVersion *string `json:"keyVersion,omitempty"`
}

type MultiRegionSettings_RoutingMethod_STATUS string

const (
	MultiRegionSettings_RoutingMethod_STATUS_Performance = MultiRegionSettings_RoutingMethod_STATUS("Performance")
	MultiRegionSettings_RoutingMethod_STATUS_Priority    = MultiRegionSettings_RoutingMethod_STATUS("Priority")
	MultiRegionSettings_RoutingMethod_STATUS_Weighted    = MultiRegionSettings_RoutingMethod_STATUS("Weighted")
)

// Mapping from string to MultiRegionSettings_RoutingMethod_STATUS
var multiRegionSettings_RoutingMethod_STATUS_Values = map[string]MultiRegionSettings_RoutingMethod_STATUS{
	"performance": MultiRegionSettings_RoutingMethod_STATUS_Performance,
	"priority":    MultiRegionSettings_RoutingMethod_STATUS_Priority,
	"weighted":    MultiRegionSettings_RoutingMethod_STATUS_Weighted,
}

type NetworkInjection_Scenario_STATUS string

const (
	NetworkInjection_Scenario_STATUS_Agent = NetworkInjection_Scenario_STATUS("agent")
	NetworkInjection_Scenario_STATUS_None  = NetworkInjection_Scenario_STATUS("none")
)

// Mapping from string to NetworkInjection_Scenario_STATUS
var networkInjection_Scenario_STATUS_Values = map[string]NetworkInjection_Scenario_STATUS{
	"agent": NetworkInjection_Scenario_STATUS_Agent,
	"none":  NetworkInjection_Scenario_STATUS_None,
}

type NetworkRuleSet_Bypass_STATUS string

const (
	NetworkRuleSet_Bypass_STATUS_AzureServices = NetworkRuleSet_Bypass_STATUS("AzureServices")
	NetworkRuleSet_Bypass_STATUS_None          = NetworkRuleSet_Bypass_STATUS("None")
)

// Mapping from string to NetworkRuleSet_Bypass_STATUS
var networkRuleSet_Bypass_STATUS_Values = map[string]NetworkRuleSet_Bypass_STATUS{
	"azureservices": NetworkRuleSet_Bypass_STATUS_AzureServices,
	"none":          NetworkRuleSet_Bypass_STATUS_None,
}

type NetworkRuleSet_DefaultAction_STATUS string

const (
	NetworkRuleSet_DefaultAction_STATUS_Allow = NetworkRuleSet_DefaultAction_STATUS("Allow")
	NetworkRuleSet_DefaultAction_STATUS_Deny  = NetworkRuleSet_DefaultAction_STATUS("Deny")
)

// Mapping from string to NetworkRuleSet_DefaultAction_STATUS
var networkRuleSet_DefaultAction_STATUS_Values = map[string]NetworkRuleSet_DefaultAction_STATUS{
	"allow": NetworkRuleSet_DefaultAction_STATUS_Allow,
	"deny":  NetworkRuleSet_DefaultAction_STATUS_Deny,
}

// The call rate limit Cognitive Services account.
type RegionSetting_STATUS struct {
	// Customsubdomain: Maps the region to the regional custom subdomain.
	Customsubdomain *string `json:"customsubdomain,omitempty"`

	// Name: Name of the region.
	Name *string `json:"name,omitempty"`

	// Value: A value for priority or weighted routing methods.
	Value *float64 `json:"value,omitempty"`
}

// A rule governing the accessibility from a specific virtual network.
type VirtualNetworkRule_STATUS struct {
	// Id: Full resource id of a vnet subnet, such as
	// '/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1'.
	Id *string `json:"id,omitempty"`

	// IgnoreMissingVnetServiceEndpoint: Ignore missing vnet service endpoint or not.
	IgnoreMissingVnetServiceEndpoint *bool `json:"ignoreMissingVnetServiceEndpoint,omitempty"`

	// State: Gets the state of virtual network rule.
	State *string `json:"state,omitempty"`
}
