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

// Deprecated version of StorageAccount_STATUS. Use v1api20210401.StorageAccount_STATUS instead
type StorageAccount_STATUS_ARM struct {
	ExtendedLocation *ExtendedLocation_STATUS_ARM         `json:"extendedLocation,omitempty"`
	Id               *string                              `json:"id,omitempty"`
	Identity         *Identity_STATUS_ARM                 `json:"identity,omitempty"`
	Kind             *StorageAccount_Kind_STATUS          `json:"kind,omitempty"`
	Location         *string                              `json:"location,omitempty"`
	Name             *string                              `json:"name,omitempty"`
	Properties       *StorageAccountProperties_STATUS_ARM `json:"properties,omitempty"`
	Sku              *Sku_STATUS_ARM                      `json:"sku,omitempty"`
	Tags             map[string]string                    `json:"tags"`
	Type             *string                              `json:"type,omitempty"`
}

// Deprecated version of ExtendedLocation_STATUS. Use v1api20210401.ExtendedLocation_STATUS instead
type ExtendedLocation_STATUS_ARM struct {
	Name *string                      `json:"name,omitempty"`
	Type *ExtendedLocationType_STATUS `json:"type,omitempty"`
}

// Deprecated version of Identity_STATUS. Use v1api20210401.Identity_STATUS instead
type Identity_STATUS_ARM struct {
	PrincipalId            *string                                    `json:"principalId,omitempty"`
	TenantId               *string                                    `json:"tenantId,omitempty"`
	Type                   *Identity_Type_STATUS                      `json:"type,omitempty"`
	UserAssignedIdentities map[string]UserAssignedIdentity_STATUS_ARM `json:"userAssignedIdentities"`
}

// Deprecated version of Sku_STATUS. Use v1api20210401.Sku_STATUS instead
type Sku_STATUS_ARM struct {
	Name *SkuName_STATUS `json:"name,omitempty"`
	Tier *Tier_STATUS    `json:"tier,omitempty"`
}

// Deprecated version of StorageAccount_Kind_STATUS. Use v1api20210401.StorageAccount_Kind_STATUS instead
type StorageAccount_Kind_STATUS string

const (
	StorageAccount_Kind_STATUS_BlobStorage      = StorageAccount_Kind_STATUS("BlobStorage")
	StorageAccount_Kind_STATUS_BlockBlobStorage = StorageAccount_Kind_STATUS("BlockBlobStorage")
	StorageAccount_Kind_STATUS_FileStorage      = StorageAccount_Kind_STATUS("FileStorage")
	StorageAccount_Kind_STATUS_Storage          = StorageAccount_Kind_STATUS("Storage")
	StorageAccount_Kind_STATUS_StorageV2        = StorageAccount_Kind_STATUS("StorageV2")
)

// Deprecated version of StorageAccountProperties_STATUS. Use v1api20210401.StorageAccountProperties_STATUS instead
type StorageAccountProperties_STATUS_ARM struct {
	AccessTier                            *StorageAccountProperties_AccessTier_STATUS           `json:"accessTier,omitempty"`
	AllowBlobPublicAccess                 *bool                                                 `json:"allowBlobPublicAccess,omitempty"`
	AllowCrossTenantReplication           *bool                                                 `json:"allowCrossTenantReplication,omitempty"`
	AllowSharedKeyAccess                  *bool                                                 `json:"allowSharedKeyAccess,omitempty"`
	AzureFilesIdentityBasedAuthentication *AzureFilesIdentityBasedAuthentication_STATUS_ARM     `json:"azureFilesIdentityBasedAuthentication,omitempty"`
	BlobRestoreStatus                     *BlobRestoreStatus_STATUS_ARM                         `json:"blobRestoreStatus,omitempty"`
	CreationTime                          *string                                               `json:"creationTime,omitempty"`
	CustomDomain                          *CustomDomain_STATUS_ARM                              `json:"customDomain,omitempty"`
	Encryption                            *Encryption_STATUS_ARM                                `json:"encryption,omitempty"`
	FailoverInProgress                    *bool                                                 `json:"failoverInProgress,omitempty"`
	GeoReplicationStats                   *GeoReplicationStats_STATUS_ARM                       `json:"geoReplicationStats,omitempty"`
	IsHnsEnabled                          *bool                                                 `json:"isHnsEnabled,omitempty"`
	IsNfsV3Enabled                        *bool                                                 `json:"isNfsV3Enabled,omitempty"`
	KeyCreationTime                       *KeyCreationTime_STATUS_ARM                           `json:"keyCreationTime,omitempty"`
	KeyPolicy                             *KeyPolicy_STATUS_ARM                                 `json:"keyPolicy,omitempty"`
	LargeFileSharesState                  *StorageAccountProperties_LargeFileSharesState_STATUS `json:"largeFileSharesState,omitempty"`
	LastGeoFailoverTime                   *string                                               `json:"lastGeoFailoverTime,omitempty"`
	MinimumTlsVersion                     *StorageAccountProperties_MinimumTlsVersion_STATUS    `json:"minimumTlsVersion,omitempty"`
	NetworkAcls                           *NetworkRuleSet_STATUS_ARM                            `json:"networkAcls,omitempty"`
	PrimaryEndpoints                      *Endpoints_STATUS_ARM                                 `json:"primaryEndpoints,omitempty"`
	PrimaryLocation                       *string                                               `json:"primaryLocation,omitempty"`
	PrivateEndpointConnections            []PrivateEndpointConnection_STATUS_ARM                `json:"privateEndpointConnections"`
	ProvisioningState                     *StorageAccountProperties_ProvisioningState_STATUS    `json:"provisioningState,omitempty"`
	RoutingPreference                     *RoutingPreference_STATUS_ARM                         `json:"routingPreference,omitempty"`
	SasPolicy                             *SasPolicy_STATUS_ARM                                 `json:"sasPolicy,omitempty"`
	SecondaryEndpoints                    *Endpoints_STATUS_ARM                                 `json:"secondaryEndpoints,omitempty"`
	SecondaryLocation                     *string                                               `json:"secondaryLocation,omitempty"`
	StatusOfPrimary                       *StorageAccountProperties_StatusOfPrimary_STATUS      `json:"statusOfPrimary,omitempty"`
	StatusOfSecondary                     *StorageAccountProperties_StatusOfSecondary_STATUS    `json:"statusOfSecondary,omitempty"`
	SupportsHttpsTrafficOnly              *bool                                                 `json:"supportsHttpsTrafficOnly,omitempty"`
}

// Deprecated version of AzureFilesIdentityBasedAuthentication_STATUS. Use v1api20210401.AzureFilesIdentityBasedAuthentication_STATUS instead
type AzureFilesIdentityBasedAuthentication_STATUS_ARM struct {
	ActiveDirectoryProperties *ActiveDirectoryProperties_STATUS_ARM                                 `json:"activeDirectoryProperties,omitempty"`
	DefaultSharePermission    *AzureFilesIdentityBasedAuthentication_DefaultSharePermission_STATUS  `json:"defaultSharePermission,omitempty"`
	DirectoryServiceOptions   *AzureFilesIdentityBasedAuthentication_DirectoryServiceOptions_STATUS `json:"directoryServiceOptions,omitempty"`
}

// Deprecated version of BlobRestoreStatus_STATUS. Use v1api20210401.BlobRestoreStatus_STATUS instead
type BlobRestoreStatus_STATUS_ARM struct {
	FailureReason *string                           `json:"failureReason,omitempty"`
	Parameters    *BlobRestoreParameters_STATUS_ARM `json:"parameters,omitempty"`
	RestoreId     *string                           `json:"restoreId,omitempty"`
	Status        *BlobRestoreStatus_Status_STATUS  `json:"status,omitempty"`
}

// Deprecated version of CustomDomain_STATUS. Use v1api20210401.CustomDomain_STATUS instead
type CustomDomain_STATUS_ARM struct {
	Name             *string `json:"name,omitempty"`
	UseSubDomainName *bool   `json:"useSubDomainName,omitempty"`
}

// Deprecated version of Encryption_STATUS. Use v1api20210401.Encryption_STATUS instead
type Encryption_STATUS_ARM struct {
	Identity                        *EncryptionIdentity_STATUS_ARM `json:"identity,omitempty"`
	KeySource                       *Encryption_KeySource_STATUS   `json:"keySource,omitempty"`
	Keyvaultproperties              *KeyVaultProperties_STATUS_ARM `json:"keyvaultproperties,omitempty"`
	RequireInfrastructureEncryption *bool                          `json:"requireInfrastructureEncryption,omitempty"`
	Services                        *EncryptionServices_STATUS_ARM `json:"services,omitempty"`
}

// Deprecated version of Endpoints_STATUS. Use v1api20210401.Endpoints_STATUS instead
type Endpoints_STATUS_ARM struct {
	Blob               *string                                      `json:"blob,omitempty"`
	Dfs                *string                                      `json:"dfs,omitempty"`
	File               *string                                      `json:"file,omitempty"`
	InternetEndpoints  *StorageAccountInternetEndpoints_STATUS_ARM  `json:"internetEndpoints,omitempty"`
	MicrosoftEndpoints *StorageAccountMicrosoftEndpoints_STATUS_ARM `json:"microsoftEndpoints,omitempty"`
	Queue              *string                                      `json:"queue,omitempty"`
	Table              *string                                      `json:"table,omitempty"`
	Web                *string                                      `json:"web,omitempty"`
}

// Deprecated version of ExtendedLocationType_STATUS. Use v1api20210401.ExtendedLocationType_STATUS instead
type ExtendedLocationType_STATUS string

const ExtendedLocationType_STATUS_EdgeZone = ExtendedLocationType_STATUS("EdgeZone")

// Deprecated version of GeoReplicationStats_STATUS. Use v1api20210401.GeoReplicationStats_STATUS instead
type GeoReplicationStats_STATUS_ARM struct {
	CanFailover  *bool                              `json:"canFailover,omitempty"`
	LastSyncTime *string                            `json:"lastSyncTime,omitempty"`
	Status       *GeoReplicationStats_Status_STATUS `json:"status,omitempty"`
}

// Deprecated version of Identity_Type_STATUS. Use v1api20210401.Identity_Type_STATUS instead
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")
)

// Deprecated version of KeyCreationTime_STATUS. Use v1api20210401.KeyCreationTime_STATUS instead
type KeyCreationTime_STATUS_ARM struct {
	Key1 *string `json:"key1,omitempty"`
	Key2 *string `json:"key2,omitempty"`
}

// Deprecated version of KeyPolicy_STATUS. Use v1api20210401.KeyPolicy_STATUS instead
type KeyPolicy_STATUS_ARM struct {
	KeyExpirationPeriodInDays *int `json:"keyExpirationPeriodInDays,omitempty"`
}

// Deprecated version of NetworkRuleSet_STATUS. Use v1api20210401.NetworkRuleSet_STATUS instead
type NetworkRuleSet_STATUS_ARM struct {
	Bypass              *NetworkRuleSet_Bypass_STATUS        `json:"bypass,omitempty"`
	DefaultAction       *NetworkRuleSet_DefaultAction_STATUS `json:"defaultAction,omitempty"`
	IpRules             []IPRule_STATUS_ARM                  `json:"ipRules"`
	ResourceAccessRules []ResourceAccessRule_STATUS_ARM      `json:"resourceAccessRules"`
	VirtualNetworkRules []VirtualNetworkRule_STATUS_ARM      `json:"virtualNetworkRules"`
}

// Deprecated version of PrivateEndpointConnection_STATUS. Use v1api20210401.PrivateEndpointConnection_STATUS instead
type PrivateEndpointConnection_STATUS_ARM struct {
	Id *string `json:"id,omitempty"`
}

// Deprecated version of RoutingPreference_STATUS. Use v1api20210401.RoutingPreference_STATUS instead
type RoutingPreference_STATUS_ARM struct {
	PublishInternetEndpoints  *bool                                   `json:"publishInternetEndpoints,omitempty"`
	PublishMicrosoftEndpoints *bool                                   `json:"publishMicrosoftEndpoints,omitempty"`
	RoutingChoice             *RoutingPreference_RoutingChoice_STATUS `json:"routingChoice,omitempty"`
}

// Deprecated version of SasPolicy_STATUS. Use v1api20210401.SasPolicy_STATUS instead
type SasPolicy_STATUS_ARM struct {
	ExpirationAction    *SasPolicy_ExpirationAction_STATUS `json:"expirationAction,omitempty"`
	SasExpirationPeriod *string                            `json:"sasExpirationPeriod,omitempty"`
}

// Deprecated version of SkuName_STATUS. Use v1api20210401.SkuName_STATUS instead
type SkuName_STATUS string

const (
	SkuName_STATUS_Premium_LRS     = SkuName_STATUS("Premium_LRS")
	SkuName_STATUS_Premium_ZRS     = SkuName_STATUS("Premium_ZRS")
	SkuName_STATUS_Standard_GRS    = SkuName_STATUS("Standard_GRS")
	SkuName_STATUS_Standard_GZRS   = SkuName_STATUS("Standard_GZRS")
	SkuName_STATUS_Standard_LRS    = SkuName_STATUS("Standard_LRS")
	SkuName_STATUS_Standard_RAGRS  = SkuName_STATUS("Standard_RAGRS")
	SkuName_STATUS_Standard_RAGZRS = SkuName_STATUS("Standard_RAGZRS")
	SkuName_STATUS_Standard_ZRS    = SkuName_STATUS("Standard_ZRS")
)

// Deprecated version of Tier_STATUS. Use v1api20210401.Tier_STATUS instead
type Tier_STATUS string

const (
	Tier_STATUS_Premium  = Tier_STATUS("Premium")
	Tier_STATUS_Standard = Tier_STATUS("Standard")
)

// Deprecated version of UserAssignedIdentity_STATUS. Use v1api20210401.UserAssignedIdentity_STATUS instead
type UserAssignedIdentity_STATUS_ARM struct {
	ClientId    *string `json:"clientId,omitempty"`
	PrincipalId *string `json:"principalId,omitempty"`
}

// Deprecated version of ActiveDirectoryProperties_STATUS. Use v1api20210401.ActiveDirectoryProperties_STATUS instead
type ActiveDirectoryProperties_STATUS_ARM struct {
	AzureStorageSid   *string `json:"azureStorageSid,omitempty"`
	DomainGuid        *string `json:"domainGuid,omitempty"`
	DomainName        *string `json:"domainName,omitempty"`
	DomainSid         *string `json:"domainSid,omitempty"`
	ForestName        *string `json:"forestName,omitempty"`
	NetBiosDomainName *string `json:"netBiosDomainName,omitempty"`
}

// Deprecated version of BlobRestoreParameters_STATUS. Use v1api20210401.BlobRestoreParameters_STATUS instead
type BlobRestoreParameters_STATUS_ARM struct {
	BlobRanges    []BlobRestoreRange_STATUS_ARM `json:"blobRanges"`
	TimeToRestore *string                       `json:"timeToRestore,omitempty"`
}

// Deprecated version of EncryptionIdentity_STATUS. Use v1api20210401.EncryptionIdentity_STATUS instead
type EncryptionIdentity_STATUS_ARM struct {
	UserAssignedIdentity *string `json:"userAssignedIdentity,omitempty"`
}

// Deprecated version of EncryptionServices_STATUS. Use v1api20210401.EncryptionServices_STATUS instead
type EncryptionServices_STATUS_ARM struct {
	Blob  *EncryptionService_STATUS_ARM `json:"blob,omitempty"`
	File  *EncryptionService_STATUS_ARM `json:"file,omitempty"`
	Queue *EncryptionService_STATUS_ARM `json:"queue,omitempty"`
	Table *EncryptionService_STATUS_ARM `json:"table,omitempty"`
}

// Deprecated version of IPRule_STATUS. Use v1api20210401.IPRule_STATUS instead
type IPRule_STATUS_ARM struct {
	Action *IPRule_Action_STATUS `json:"action,omitempty"`
	Value  *string               `json:"value,omitempty"`
}

// Deprecated version of KeyVaultProperties_STATUS. Use v1api20210401.KeyVaultProperties_STATUS instead
type KeyVaultProperties_STATUS_ARM struct {
	CurrentVersionedKeyIdentifier *string `json:"currentVersionedKeyIdentifier,omitempty"`
	Keyname                       *string `json:"keyname,omitempty"`
	Keyvaulturi                   *string `json:"keyvaulturi,omitempty"`
	Keyversion                    *string `json:"keyversion,omitempty"`
	LastKeyRotationTimestamp      *string `json:"lastKeyRotationTimestamp,omitempty"`
}

// Deprecated version of ResourceAccessRule_STATUS. Use v1api20210401.ResourceAccessRule_STATUS instead
type ResourceAccessRule_STATUS_ARM struct {
	ResourceId *string `json:"resourceId,omitempty"`
	TenantId   *string `json:"tenantId,omitempty"`
}

// Deprecated version of StorageAccountInternetEndpoints_STATUS. Use v1api20210401.StorageAccountInternetEndpoints_STATUS instead
type StorageAccountInternetEndpoints_STATUS_ARM struct {
	Blob *string `json:"blob,omitempty"`
	Dfs  *string `json:"dfs,omitempty"`
	File *string `json:"file,omitempty"`
	Web  *string `json:"web,omitempty"`
}

// Deprecated version of StorageAccountMicrosoftEndpoints_STATUS. Use v1api20210401.StorageAccountMicrosoftEndpoints_STATUS instead
type StorageAccountMicrosoftEndpoints_STATUS_ARM struct {
	Blob  *string `json:"blob,omitempty"`
	Dfs   *string `json:"dfs,omitempty"`
	File  *string `json:"file,omitempty"`
	Queue *string `json:"queue,omitempty"`
	Table *string `json:"table,omitempty"`
	Web   *string `json:"web,omitempty"`
}

// Deprecated version of VirtualNetworkRule_STATUS. Use v1api20210401.VirtualNetworkRule_STATUS instead
type VirtualNetworkRule_STATUS_ARM struct {
	Action *VirtualNetworkRule_Action_STATUS `json:"action,omitempty"`
	Id     *string                           `json:"id,omitempty"`
	State  *VirtualNetworkRule_State_STATUS  `json:"state,omitempty"`
}

// Deprecated version of BlobRestoreRange_STATUS. Use v1api20210401.BlobRestoreRange_STATUS instead
type BlobRestoreRange_STATUS_ARM struct {
	EndRange   *string `json:"endRange,omitempty"`
	StartRange *string `json:"startRange,omitempty"`
}

// Deprecated version of EncryptionService_STATUS. Use v1api20210401.EncryptionService_STATUS instead
type EncryptionService_STATUS_ARM struct {
	Enabled         *bool                             `json:"enabled,omitempty"`
	KeyType         *EncryptionService_KeyType_STATUS `json:"keyType,omitempty"`
	LastEnabledTime *string                           `json:"lastEnabledTime,omitempty"`
}
