@azure/arm-netapp 22.1.0-alpha.20251203.1 → 22.1.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser/api/caches/operations.d.ts +2 -2
- package/dist/browser/api/caches/operations.js +1 -1
- package/dist/browser/api/caches/operations.js.map +1 -1
- package/dist/browser/classic/caches/index.d.ts +1 -1
- package/dist/browser/classic/caches/index.js.map +1 -1
- package/dist/browser/index.d.ts +1 -1
- package/dist/browser/index.js.map +1 -1
- package/dist/browser/models/index.d.ts +1 -1
- package/dist/browser/models/index.js.map +1 -1
- package/dist/browser/models/models.d.ts +13 -6
- package/dist/browser/models/models.js +14 -4
- package/dist/browser/models/models.js.map +1 -1
- package/dist/commonjs/api/caches/operations.d.ts +2 -2
- package/dist/commonjs/api/caches/operations.js +1 -1
- package/dist/commonjs/api/caches/operations.js.map +1 -1
- package/dist/commonjs/classic/caches/index.d.ts +1 -1
- package/dist/commonjs/classic/caches/index.js.map +1 -1
- package/dist/commonjs/index.d.ts +1 -1
- package/dist/commonjs/index.js.map +1 -1
- package/dist/commonjs/models/index.d.ts +1 -1
- package/dist/commonjs/models/index.js.map +1 -1
- package/dist/commonjs/models/models.d.ts +13 -6
- package/dist/commonjs/models/models.js +16 -4
- package/dist/commonjs/models/models.js.map +1 -1
- package/dist/esm/api/caches/operations.d.ts +2 -2
- package/dist/esm/api/caches/operations.js +1 -1
- package/dist/esm/api/caches/operations.js.map +1 -1
- package/dist/esm/classic/caches/index.d.ts +1 -1
- package/dist/esm/classic/caches/index.js.map +1 -1
- package/dist/esm/index.d.ts +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/models/index.d.ts +1 -1
- package/dist/esm/models/index.js.map +1 -1
- package/dist/esm/models/models.d.ts +13 -6
- package/dist/esm/models/models.js +14 -4
- package/dist/esm/models/models.js.map +1 -1
- package/dist/react-native/api/caches/operations.d.ts +2 -2
- package/dist/react-native/api/caches/operations.js +1 -1
- package/dist/react-native/api/caches/operations.js.map +1 -1
- package/dist/react-native/classic/caches/index.d.ts +1 -1
- package/dist/react-native/classic/caches/index.js.map +1 -1
- package/dist/react-native/index.d.ts +1 -1
- package/dist/react-native/index.js.map +1 -1
- package/dist/react-native/models/index.d.ts +1 -1
- package/dist/react-native/models/index.js.map +1 -1
- package/dist/react-native/models/models.d.ts +13 -6
- package/dist/react-native/models/models.js +14 -4
- package/dist/react-native/models/models.js.map +1 -1
- package/package.json +10 -10
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"models.js","sourceRoot":"","sources":["../../../src/models/models.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/**\n * This file contains only generated model types and their (de)serializers.\n * Disable the following rules for internal models with '_' prefix and deserializers which require 'any' for raw JSON input.\n */\n/* eslint-disable @typescript-eslint/naming-convention */\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n/** A list of REST API operations supported by an Azure Resource Provider. It contains an URL link to get the next set of results. */\nexport interface _OperationListResult {\n /** The Operation items on this page */\n value: Operation[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _operationListResultDeserializer(item: any): _OperationListResult {\n return {\n value: operationArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function operationArrayDeserializer(result: Array<Operation>): any[] {\n return result.map((item) => {\n return operationDeserializer(item);\n });\n}\n\n/** Microsoft.NetApp REST API operation definition. */\nexport interface Operation {\n /** Operation name: {provider}/{resource}/{operation} */\n name?: string;\n /** Display metadata associated with the operation. */\n display?: OperationDisplay;\n /** The origin of operations. */\n origin?: string;\n /** Properties of operation, include metric specifications. */\n properties?: OperationProperties;\n}\n\nexport function operationDeserializer(item: any): Operation {\n return {\n name: item[\"name\"],\n display: !item[\"display\"] ? item[\"display\"] : operationDisplayDeserializer(item[\"display\"]),\n origin: item[\"origin\"],\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : operationPropertiesDeserializer(item[\"properties\"]),\n };\n}\n\n/** Display metadata associated with the operation. */\nexport interface OperationDisplay {\n /** Service provider: Microsoft NetApp. */\n provider?: string;\n /** Resource on which the operation is performed etc. */\n resource?: string;\n /** Type of operation: get, read, delete, etc. */\n operation?: string;\n /** Operation description. */\n description?: string;\n}\n\nexport function operationDisplayDeserializer(item: any): OperationDisplay {\n return {\n provider: item[\"provider\"],\n resource: item[\"resource\"],\n operation: item[\"operation\"],\n description: item[\"description\"],\n };\n}\n\n/** Properties of operation, include metric specifications. */\nexport interface OperationProperties {\n /** One property of operation, include metric specifications. */\n serviceSpecification?: ServiceSpecification;\n}\n\nexport function operationPropertiesDeserializer(item: any): OperationProperties {\n return {\n serviceSpecification: !item[\"serviceSpecification\"]\n ? item[\"serviceSpecification\"]\n : serviceSpecificationDeserializer(item[\"serviceSpecification\"]),\n };\n}\n\n/** One property of operation, include metric specifications. */\nexport interface ServiceSpecification {\n /** Metric specifications of operation. */\n metricSpecifications?: MetricSpecification[];\n /** Log specification of operation. */\n logSpecifications?: LogSpecification[];\n}\n\nexport function serviceSpecificationDeserializer(item: any): ServiceSpecification {\n return {\n metricSpecifications: !item[\"metricSpecifications\"]\n ? item[\"metricSpecifications\"]\n : metricSpecificationArrayDeserializer(item[\"metricSpecifications\"]),\n logSpecifications: !item[\"logSpecifications\"]\n ? item[\"logSpecifications\"]\n : logSpecificationArrayDeserializer(item[\"logSpecifications\"]),\n };\n}\n\nexport function metricSpecificationArrayDeserializer(result: Array<MetricSpecification>): any[] {\n return result.map((item) => {\n return metricSpecificationDeserializer(item);\n });\n}\n\n/** Metric specification of operation. */\nexport interface MetricSpecification {\n /** Name of metric specification. */\n name?: string;\n /** Display name of metric specification. */\n displayName?: string;\n /** Display description of metric specification. */\n displayDescription?: string;\n /** Unit could be Bytes or Count. */\n unit?: string;\n /** Support metric aggregation type. */\n supportedAggregationTypes?: MetricAggregationType[];\n /** The supported time grain types for the metrics. */\n supportedTimeGrainTypes?: string[];\n /** The internal metric name. */\n internalMetricName?: string;\n /** Whether or not the service is using regional MDM accounts. */\n enableRegionalMdmAccount?: boolean;\n /** The source MDM account. */\n sourceMdmAccount?: string;\n /** The source MDM namespace. */\n sourceMdmNamespace?: string;\n /** Dimensions of blobs, including blob type and access tier. */\n dimensions?: Dimension[];\n /** Aggregation type could be Average. */\n aggregationType?: string;\n /** The property to decide fill gap with zero or not. */\n fillGapWithZero?: boolean;\n /** The category this metric specification belong to, could be Capacity. */\n category?: string;\n /** Account Resource Id. */\n resourceIdDimensionNameOverride?: string;\n /** Whether the metric is internal. */\n isInternal?: boolean;\n}\n\nexport function metricSpecificationDeserializer(item: any): MetricSpecification {\n return {\n name: item[\"name\"],\n displayName: item[\"displayName\"],\n displayDescription: item[\"displayDescription\"],\n unit: item[\"unit\"],\n supportedAggregationTypes: !item[\"supportedAggregationTypes\"]\n ? item[\"supportedAggregationTypes\"]\n : item[\"supportedAggregationTypes\"].map((p: any) => {\n return p;\n }),\n supportedTimeGrainTypes: !item[\"supportedTimeGrainTypes\"]\n ? item[\"supportedTimeGrainTypes\"]\n : item[\"supportedTimeGrainTypes\"].map((p: any) => {\n return p;\n }),\n internalMetricName: item[\"internalMetricName\"],\n enableRegionalMdmAccount: item[\"enableRegionalMdmAccount\"],\n sourceMdmAccount: item[\"sourceMdmAccount\"],\n sourceMdmNamespace: item[\"sourceMdmNamespace\"],\n dimensions: !item[\"dimensions\"]\n ? item[\"dimensions\"]\n : dimensionArrayDeserializer(item[\"dimensions\"]),\n aggregationType: item[\"aggregationType\"],\n fillGapWithZero: item[\"fillGapWithZero\"],\n category: item[\"category\"],\n resourceIdDimensionNameOverride: item[\"resourceIdDimensionNameOverride\"],\n isInternal: item[\"isInternal\"],\n };\n}\n\n/** Known values of {@link MetricAggregationType} that the service accepts. */\nexport enum KnownMetricAggregationType {\n /** Average */\n Average = \"Average\",\n}\n\n/** Type of MetricAggregationType */\nexport type MetricAggregationType = string;\n\nexport function dimensionArrayDeserializer(result: Array<Dimension>): any[] {\n return result.map((item) => {\n return dimensionDeserializer(item);\n });\n}\n\n/** Dimension of blobs, possibly be blob type or access tier. */\nexport interface Dimension {\n /** Display name of dimension. */\n name?: string;\n /** Display name of dimension. */\n displayName?: string;\n}\n\nexport function dimensionDeserializer(item: any): Dimension {\n return {\n name: item[\"name\"],\n displayName: item[\"displayName\"],\n };\n}\n\nexport function logSpecificationArrayDeserializer(result: Array<LogSpecification>): any[] {\n return result.map((item) => {\n return logSpecificationDeserializer(item);\n });\n}\n\n/** Log Definition of a single resource metric. */\nexport interface LogSpecification {\n /** Name of log specification. */\n name?: string;\n /** Display name of log specification. */\n displayName?: string;\n}\n\nexport function logSpecificationDeserializer(item: any): LogSpecification {\n return {\n name: item[\"name\"],\n displayName: item[\"displayName\"],\n };\n}\n\n/** Common error response for all Azure Resource Manager APIs to return error details for failed operations. */\nexport interface ErrorResponse {\n /** The error object. */\n error?: ErrorDetail;\n}\n\nexport function errorResponseDeserializer(item: any): ErrorResponse {\n return {\n error: !item[\"error\"] ? item[\"error\"] : errorDetailDeserializer(item[\"error\"]),\n };\n}\n\n/** The error detail. */\nexport interface ErrorDetail {\n /** The error code. */\n readonly code?: string;\n /** The error message. */\n readonly message?: string;\n /** The error target. */\n readonly target?: string;\n /** The error details. */\n readonly details?: ErrorDetail[];\n /** The error additional info. */\n readonly additionalInfo?: ErrorAdditionalInfo[];\n}\n\nexport function errorDetailDeserializer(item: any): ErrorDetail {\n return {\n code: item[\"code\"],\n message: item[\"message\"],\n target: item[\"target\"],\n details: !item[\"details\"] ? item[\"details\"] : errorDetailArrayDeserializer(item[\"details\"]),\n additionalInfo: !item[\"additionalInfo\"]\n ? item[\"additionalInfo\"]\n : errorAdditionalInfoArrayDeserializer(item[\"additionalInfo\"]),\n };\n}\n\nexport function errorDetailArrayDeserializer(result: Array<ErrorDetail>): any[] {\n return result.map((item) => {\n return errorDetailDeserializer(item);\n });\n}\n\nexport function errorAdditionalInfoArrayDeserializer(result: Array<ErrorAdditionalInfo>): any[] {\n return result.map((item) => {\n return errorAdditionalInfoDeserializer(item);\n });\n}\n\n/** The resource management error additional info. */\nexport interface ErrorAdditionalInfo {\n /** The additional info type. */\n readonly type?: string;\n /** The additional info. */\n readonly info?: any;\n}\n\nexport function errorAdditionalInfoDeserializer(item: any): ErrorAdditionalInfo {\n return {\n type: item[\"type\"],\n info: item[\"info\"],\n };\n}\n\n/** Information regarding Quota Item. */\nexport interface QuotaItem extends ProxyResource {\n /** QuotaItem properties */\n properties?: QuotaItemProperties;\n}\n\nexport function quotaItemDeserializer(item: any): QuotaItem {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : quotaItemPropertiesDeserializer(item[\"properties\"]),\n };\n}\n\n/** QuotaItem Properties */\nexport interface QuotaItemProperties {\n /** The current quota value. */\n readonly current?: number;\n /** The default quota value. */\n readonly default?: number;\n /** The usage quota value. */\n readonly usage?: number | null;\n}\n\nexport function quotaItemPropertiesDeserializer(item: any): QuotaItemProperties {\n return {\n current: item[\"current\"],\n default: item[\"default\"],\n usage: item[\"usage\"],\n };\n}\n\n/** The resource model definition for a Azure Resource Manager proxy resource. It will not have tags and a location */\nexport interface ProxyResource extends Resource {}\n\nexport function proxyResourceSerializer(item: ProxyResource): any {\n return item;\n}\n\nexport function proxyResourceDeserializer(item: any): ProxyResource {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n };\n}\n\n/** Common fields that are returned in the response for all Azure Resource Manager resources */\nexport interface Resource {\n /** Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} */\n readonly id?: string;\n /** The name of the resource */\n readonly name?: string;\n /** The type of the resource. E.g. \"Microsoft.Compute/virtualMachines\" or \"Microsoft.Storage/storageAccounts\" */\n readonly type?: string;\n /** Azure Resource Manager metadata containing createdBy and modifiedBy information. */\n readonly systemData?: SystemData;\n}\n\nexport function resourceSerializer(item: Resource): any {\n return item;\n}\n\nexport function resourceDeserializer(item: any): Resource {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n };\n}\n\n/** Metadata pertaining to creation and last modification of the resource. */\nexport interface SystemData {\n /** The identity that created the resource. */\n createdBy?: string;\n /** The type of identity that created the resource. */\n createdByType?: CreatedByType;\n /** The timestamp of resource creation (UTC). */\n createdAt?: Date;\n /** The identity that last modified the resource. */\n lastModifiedBy?: string;\n /** The type of identity that last modified the resource. */\n lastModifiedByType?: CreatedByType;\n /** The timestamp of resource last modification (UTC) */\n lastModifiedAt?: Date;\n}\n\nexport function systemDataDeserializer(item: any): SystemData {\n return {\n createdBy: item[\"createdBy\"],\n createdByType: item[\"createdByType\"],\n createdAt: !item[\"createdAt\"] ? item[\"createdAt\"] : new Date(item[\"createdAt\"]),\n lastModifiedBy: item[\"lastModifiedBy\"],\n lastModifiedByType: item[\"lastModifiedByType\"],\n lastModifiedAt: !item[\"lastModifiedAt\"]\n ? item[\"lastModifiedAt\"]\n : new Date(item[\"lastModifiedAt\"]),\n };\n}\n\n/** The kind of entity that created the resource. */\nexport enum KnownCreatedByType {\n /** The entity was created by a user. */\n User = \"User\",\n /** The entity was created by an application. */\n Application = \"Application\",\n /** The entity was created by a managed identity. */\n ManagedIdentity = \"ManagedIdentity\",\n /** The entity was created by a key. */\n Key = \"Key\",\n}\n\n/**\n * The kind of entity that created the resource. \\\n * {@link KnownCreatedByType} can be used interchangeably with CreatedByType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **User**: The entity was created by a user. \\\n * **Application**: The entity was created by an application. \\\n * **ManagedIdentity**: The entity was created by a managed identity. \\\n * **Key**: The entity was created by a key.\n */\nexport type CreatedByType = string;\n\n/** List of Quota Items */\nexport interface _QuotaItemList {\n /** The QuotaItem items on this page */\n value: QuotaItem[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _quotaItemListDeserializer(item: any): _QuotaItemList {\n return {\n value: quotaItemArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function quotaItemArrayDeserializer(result: Array<QuotaItem>): any[] {\n return result.map((item) => {\n return quotaItemDeserializer(item);\n });\n}\n\n/** Volume group resource for create */\nexport interface VolumeGroupDetails extends ProxyResource {\n /** Volume group properties */\n properties?: VolumeGroupProperties;\n /** Resource location */\n location?: string;\n}\n\nexport function volumeGroupDetailsSerializer(item: VolumeGroupDetails): any {\n return {\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : volumeGroupPropertiesSerializer(item[\"properties\"]),\n location: item[\"location\"],\n };\n}\n\nexport function volumeGroupDetailsDeserializer(item: any): VolumeGroupDetails {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : volumeGroupPropertiesDeserializer(item[\"properties\"]),\n location: item[\"location\"],\n };\n}\n\n/** Volume group properties */\nexport interface VolumeGroupProperties {\n /** Azure lifecycle management */\n readonly provisioningState?: string;\n /** Volume group details */\n groupMetaData?: VolumeGroupMetaData;\n /** List of volumes from group */\n volumes?: VolumeGroupVolumeProperties[];\n}\n\nexport function volumeGroupPropertiesSerializer(item: VolumeGroupProperties): any {\n return {\n groupMetaData: !item[\"groupMetaData\"]\n ? item[\"groupMetaData\"]\n : volumeGroupMetaDataSerializer(item[\"groupMetaData\"]),\n volumes: !item[\"volumes\"]\n ? item[\"volumes\"]\n : volumeGroupVolumePropertiesArraySerializer(item[\"volumes\"]),\n };\n}\n\nexport function volumeGroupPropertiesDeserializer(item: any): VolumeGroupProperties {\n return {\n provisioningState: item[\"provisioningState\"],\n groupMetaData: !item[\"groupMetaData\"]\n ? item[\"groupMetaData\"]\n : volumeGroupMetaDataDeserializer(item[\"groupMetaData\"]),\n volumes: !item[\"volumes\"]\n ? item[\"volumes\"]\n : volumeGroupVolumePropertiesArrayDeserializer(item[\"volumes\"]),\n };\n}\n\n/** Volume group properties */\nexport interface VolumeGroupMetaData {\n /** Group Description */\n groupDescription?: string;\n /** Application Type */\n applicationType?: ApplicationType;\n /** Application specific identifier */\n applicationIdentifier?: string;\n /** Application specific placement rules for the volume group */\n globalPlacementRules?: PlacementKeyValuePairs[];\n /** Number of volumes in volume group */\n readonly volumesCount?: number;\n}\n\nexport function volumeGroupMetaDataSerializer(item: VolumeGroupMetaData): any {\n return {\n groupDescription: item[\"groupDescription\"],\n applicationType: item[\"applicationType\"],\n applicationIdentifier: item[\"applicationIdentifier\"],\n globalPlacementRules: !item[\"globalPlacementRules\"]\n ? item[\"globalPlacementRules\"]\n : placementKeyValuePairsArraySerializer(item[\"globalPlacementRules\"]),\n };\n}\n\nexport function volumeGroupMetaDataDeserializer(item: any): VolumeGroupMetaData {\n return {\n groupDescription: item[\"groupDescription\"],\n applicationType: item[\"applicationType\"],\n applicationIdentifier: item[\"applicationIdentifier\"],\n globalPlacementRules: !item[\"globalPlacementRules\"]\n ? item[\"globalPlacementRules\"]\n : placementKeyValuePairsArrayDeserializer(item[\"globalPlacementRules\"]),\n volumesCount: item[\"volumesCount\"],\n };\n}\n\n/** Application Type */\nexport enum KnownApplicationType {\n /** SAP-HANA */\n SAPHana = \"SAP-HANA\",\n /** ORACLE */\n Oracle = \"ORACLE\",\n}\n\n/**\n * Application Type \\\n * {@link KnownApplicationType} can be used interchangeably with ApplicationType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **SAP-HANA** \\\n * **ORACLE**\n */\nexport type ApplicationType = string;\n\nexport function placementKeyValuePairsArraySerializer(\n result: Array<PlacementKeyValuePairs>,\n): any[] {\n return result.map((item) => {\n return placementKeyValuePairsSerializer(item);\n });\n}\n\nexport function placementKeyValuePairsArrayDeserializer(\n result: Array<PlacementKeyValuePairs>,\n): any[] {\n return result.map((item) => {\n return placementKeyValuePairsDeserializer(item);\n });\n}\n\n/** Application specific parameters for the placement of volumes in the volume group */\nexport interface PlacementKeyValuePairs {\n /** Key for an application specific parameter for the placement of volumes in the volume group */\n key: string;\n /** Value for an application specific parameter for the placement of volumes in the volume group */\n value: string;\n}\n\nexport function placementKeyValuePairsSerializer(item: PlacementKeyValuePairs): any {\n return { key: item[\"key\"], value: item[\"value\"] };\n}\n\nexport function placementKeyValuePairsDeserializer(item: any): PlacementKeyValuePairs {\n return {\n key: item[\"key\"],\n value: item[\"value\"],\n };\n}\n\nexport function volumeGroupVolumePropertiesArraySerializer(\n result: Array<VolumeGroupVolumeProperties>,\n): any[] {\n return result.map((item) => {\n return volumeGroupVolumePropertiesSerializer(item);\n });\n}\n\nexport function volumeGroupVolumePropertiesArrayDeserializer(\n result: Array<VolumeGroupVolumeProperties>,\n): any[] {\n return result.map((item) => {\n return volumeGroupVolumePropertiesDeserializer(item);\n });\n}\n\n/** Volume resource */\nexport interface VolumeGroupVolumeProperties {\n /** Resource Id */\n readonly id?: string;\n /** Resource name */\n name?: string;\n /** Resource type */\n readonly type?: string;\n /** Resource tags */\n tags?: Record<string, string>;\n /** Availability Zone */\n zones?: string[];\n /** Volume properties */\n properties: VolumeProperties;\n}\n\nexport function volumeGroupVolumePropertiesSerializer(item: VolumeGroupVolumeProperties): any {\n return {\n name: item[\"name\"],\n tags: item[\"tags\"],\n zones: !item[\"zones\"]\n ? item[\"zones\"]\n : item[\"zones\"].map((p: any) => {\n return p;\n }),\n properties: volumePropertiesSerializer(item[\"properties\"]),\n };\n}\n\nexport function volumeGroupVolumePropertiesDeserializer(item: any): VolumeGroupVolumeProperties {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n tags: item[\"tags\"],\n zones: !item[\"zones\"]\n ? item[\"zones\"]\n : item[\"zones\"].map((p: any) => {\n return p;\n }),\n properties: volumePropertiesDeserializer(item[\"properties\"]),\n };\n}\n\n/** Volume properties */\nexport interface VolumeProperties {\n /** Unique FileSystem Identifier. */\n readonly fileSystemId?: string;\n /** A unique file path for the volume. Used when creating mount targets */\n creationToken: string;\n /** The service level of the file system */\n serviceLevel?: ServiceLevel;\n /**\n * Maximum storage quota allowed for a file system in bytes. This is a soft quota used for alerting only. For regular volumes, valid values are in the range 50GiB to 100TiB.\n * For large volumes, valid values are in the range 100TiB to 500TiB, and on an exceptional basis, from to 2400GiB to 2400TiB.\n * For extra large volumes, valid values are in the range 2400GiB to 7200TiB. Values expressed in bytes as multiples of 1 GiB.\n */\n usageThreshold: number;\n /** Set of export policy rules */\n exportPolicy?: VolumePropertiesExportPolicy;\n /** Set of protocol types, default NFSv3, CIFS for SMB protocol */\n protocolTypes?: string[];\n /** Azure lifecycle management */\n readonly provisioningState?: string;\n /** Resource identifier used to identify the Snapshot. */\n snapshotId?: string | null;\n /** If enabled (true) the snapshot the volume was created from will be automatically deleted after the volume create operation has finished. Defaults to false */\n deleteBaseSnapshot?: boolean;\n /** Resource identifier used to identify the Backup. */\n backupId?: string | null;\n /** Unique Baremetal Tenant Identifier. */\n readonly baremetalTenantId?: string;\n /** The Azure Resource URI for a delegated subnet. Must have the delegation Microsoft.NetApp/volumes */\n subnetId: string;\n /** The original value of the network features type available to the volume at the time it was created. */\n networkFeatures?: NetworkFeatures;\n /** The effective value of the network features type available to the volume, or current effective state of update. */\n readonly effectiveNetworkFeatures?: NetworkFeatures;\n /** Network Sibling Set ID for the the group of volumes sharing networking resources. */\n readonly networkSiblingSetId?: string;\n /** Provides storage to network proximity information for the volume. */\n readonly storageToNetworkProximity?: VolumeStorageToNetworkProximity;\n /** List of mount targets */\n readonly mountTargets?: MountTargetProperties[];\n /** What type of volume is this. For destination volumes in Cross Region Replication, set type to DataProtection. For creating clone volume, set type to ShortTermClone */\n volumeType?: string;\n /** DataProtection type volumes include an object containing details of the replication */\n dataProtection?: VolumePropertiesDataProtection;\n /** While auto splitting the short term clone volume, if the parent pool does not have enough space to accommodate the volume after split, it will be automatically resized, which will lead to increased billing. To accept capacity pool size auto grow and create a short term clone volume, set the property as accepted. */\n acceptGrowCapacityPoolForShortTermCloneSplit?: AcceptGrowCapacityPoolForShortTermCloneSplit;\n /** Restoring */\n readonly isRestoring?: boolean;\n /** If enabled (true) the volume will contain a read-only snapshot directory which provides access to each of the volume's snapshots (defaults to true). */\n snapshotDirectoryVisible?: boolean;\n /** Describe if a volume is KerberosEnabled. To be use with swagger version 2020-05-01 or later */\n kerberosEnabled?: boolean;\n /** The security style of volume, default unix, defaults to ntfs for dual protocol or CIFS protocol */\n securityStyle?: SecurityStyle;\n /** Enables encryption for in-flight smb3 data. Only applicable for SMB/DualProtocol volume. To be used with swagger version 2020-08-01 or later */\n smbEncryption?: boolean;\n /** Enables access-based enumeration share property for SMB Shares. Only applicable for SMB/DualProtocol volume */\n smbAccessBasedEnumeration?: SmbAccessBasedEnumeration | null;\n /** Enables non-browsable property for SMB Shares. Only applicable for SMB/DualProtocol volume */\n smbNonBrowsable?: SmbNonBrowsable;\n /** Enables continuously available share property for smb volume. Only applicable for SMB volume */\n smbContinuouslyAvailable?: boolean;\n /** Maximum throughput in MiB/s that can be achieved by this volume and this will be accepted as input only for manual qosType volume */\n throughputMibps?: number | null;\n /** Actual throughput in MiB/s for auto qosType volumes calculated based on size and serviceLevel */\n readonly actualThroughputMibps?: number;\n /** Source of key used to encrypt data in volume. Applicable if NetApp account has encryption.keySource = 'Microsoft.KeyVault'. Possible values (case-insensitive) are: 'Microsoft.NetApp, Microsoft.KeyVault' */\n encryptionKeySource?: EncryptionKeySource;\n /** The resource ID of private endpoint for KeyVault. It must reside in the same VNET as the volume. Only applicable if encryptionKeySource = 'Microsoft.KeyVault'. */\n keyVaultPrivateEndpointResourceId?: string;\n /** Specifies whether LDAP is enabled or not for a given NFS volume. */\n ldapEnabled?: boolean;\n /** Specifies the type of LDAP server for a given NFS volume. */\n ldapServerType?: LdapServerType;\n /** Specifies whether Cool Access(tiering) is enabled for the volume. */\n coolAccess?: boolean;\n /** Specifies the number of days after which data that is not accessed by clients will be tiered. */\n coolnessPeriod?: number;\n /**\n * coolAccessRetrievalPolicy determines the data retrieval behavior from the cool tier to standard storage based on the read pattern for cool access enabled volumes. The possible values for this field are:\n * Default - Data will be pulled from cool tier to standard storage on random reads. This policy is the default.\n * OnRead - All client-driven data read is pulled from cool tier to standard storage on both sequential and random reads.\n * Never - No client-driven data is pulled from cool tier to standard storage.\n */\n coolAccessRetrievalPolicy?: CoolAccessRetrievalPolicy;\n /** coolAccessTieringPolicy determines which cold data blocks are moved to cool tier. The possible values for this field are: Auto - Moves cold user data blocks in both the Snapshot copies and the active file system to the cool tier tier. This policy is the default. SnapshotOnly - Moves user data blocks of the Volume Snapshot copies that are not associated with the active file system to the cool tier. */\n coolAccessTieringPolicy?: CoolAccessTieringPolicy;\n /** UNIX permissions for NFS volume accepted in octal 4 digit format. First digit selects the set user ID(4), set group ID (2) and sticky (1) attributes. Second digit selects permission for the owner of the file: read (4), write (2) and execute (1). Third selects permissions for other users in the same group. the fourth for other users not in the group. 0755 - gives read/write/execute permissions to owner and read/execute to group and other users. */\n unixPermissions?: string | null;\n /** When a volume is being restored from another volume's snapshot, will show the percentage completion of this cloning process. When this value is empty/null there is no cloning process currently happening on this volume. This value will update every 5 minutes during cloning. */\n readonly cloneProgress?: number | null;\n /** Flag indicating whether file access logs are enabled for the volume, based on active diagnostic settings present on the volume. */\n readonly fileAccessLogs?: FileAccessLogs;\n /** Specifies whether the volume is enabled for Azure VMware Solution (AVS) datastore purpose */\n avsDataStore?: AvsDataStore;\n /** Data store resource unique identifier */\n readonly dataStoreResourceId?: string[];\n /** Specifies if default quota is enabled for the volume. */\n isDefaultQuotaEnabled?: boolean;\n /** Default user quota for volume in KiBs. If isDefaultQuotaEnabled is set, the minimum value of 4 KiBs applies . */\n defaultUserQuotaInKiBs?: number;\n /** Default group quota for volume in KiBs. If isDefaultQuotaEnabled is set, the minimum value of 4 KiBs applies. */\n defaultGroupQuotaInKiBs?: number;\n /** Maximum number of files allowed. Needs a service request in order to be changed. Only allowed to be changed if volume quota is more than 4TiB. */\n readonly maximumNumberOfFiles?: number;\n /** Volume Group Name */\n readonly volumeGroupName?: string;\n /** Pool Resource Id used in case of creating a volume through volume group */\n capacityPoolResourceId?: string;\n /** Proximity placement group associated with the volume */\n proximityPlacementGroup?: string;\n /** T2 network information */\n readonly t2Network?: string;\n /** Volume spec name is the application specific designation or identifier for the particular volume in a volume group for e.g. data, log */\n volumeSpecName?: string;\n /** Specifies if the volume is encrypted or not. Only available on volumes created or updated after 2022-01-01. */\n readonly encrypted?: boolean;\n /** Application specific placement rules for the particular volume */\n placementRules?: PlacementKeyValuePairs[];\n /** Flag indicating whether subvolume operations are enabled on the volume */\n enableSubvolumes?: EnableSubvolumes;\n /** The availability zone where the volume is provisioned. This refers to the logical availability zone where the volume resides. */\n readonly provisionedAvailabilityZone?: string | null;\n /** Specifies whether volume is a Large Volume or Regular Volume. */\n isLargeVolume?: boolean;\n /**\n * Specifies the type of the Large Volume. When set to 'LargeVolume', the large volume is created with standard configuration.\n * If it is set to 'ExtraLargeVolume7Dot2PiB', the extra large volume is created with higher capacity limit 7.2PiB with cool access enabled,\n * delivering higher capacity limit with lower costs.\n */\n largeVolumeType?: LargeVolumeType;\n /** Id of the snapshot or backup that the volume is restored from. */\n readonly originatingResourceId?: string | null;\n /** Space shared by short term clone volume with parent volume in bytes. */\n readonly inheritedSizeInBytes?: number | null;\n /** Language supported for volume. */\n language?: VolumeLanguage;\n /** Specifies whether the volume operates in Breakthrough Mode. */\n breakthroughMode?: BreakthroughMode;\n}\n\nexport function volumePropertiesSerializer(item: VolumeProperties): any {\n return {\n creationToken: item[\"creationToken\"],\n serviceLevel: item[\"serviceLevel\"],\n usageThreshold: item[\"usageThreshold\"],\n exportPolicy: !item[\"exportPolicy\"]\n ? item[\"exportPolicy\"]\n : volumePropertiesExportPolicySerializer(item[\"exportPolicy\"]),\n protocolTypes: !item[\"protocolTypes\"]\n ? item[\"protocolTypes\"]\n : item[\"protocolTypes\"].map((p: any) => {\n return p;\n }),\n snapshotId: item[\"snapshotId\"],\n deleteBaseSnapshot: item[\"deleteBaseSnapshot\"],\n backupId: item[\"backupId\"],\n subnetId: item[\"subnetId\"],\n networkFeatures: item[\"networkFeatures\"],\n volumeType: item[\"volumeType\"],\n dataProtection: !item[\"dataProtection\"]\n ? item[\"dataProtection\"]\n : volumePropertiesDataProtectionSerializer(item[\"dataProtection\"]),\n acceptGrowCapacityPoolForShortTermCloneSplit:\n item[\"acceptGrowCapacityPoolForShortTermCloneSplit\"],\n snapshotDirectoryVisible: item[\"snapshotDirectoryVisible\"],\n kerberosEnabled: item[\"kerberosEnabled\"],\n securityStyle: item[\"securityStyle\"],\n smbEncryption: item[\"smbEncryption\"],\n smbAccessBasedEnumeration: item[\"smbAccessBasedEnumeration\"],\n smbNonBrowsable: item[\"smbNonBrowsable\"],\n smbContinuouslyAvailable: item[\"smbContinuouslyAvailable\"],\n throughputMibps: item[\"throughputMibps\"],\n encryptionKeySource: item[\"encryptionKeySource\"],\n keyVaultPrivateEndpointResourceId: item[\"keyVaultPrivateEndpointResourceId\"],\n ldapEnabled: item[\"ldapEnabled\"],\n ldapServerType: item[\"ldapServerType\"],\n coolAccess: item[\"coolAccess\"],\n coolnessPeriod: item[\"coolnessPeriod\"],\n coolAccessRetrievalPolicy: item[\"coolAccessRetrievalPolicy\"],\n coolAccessTieringPolicy: item[\"coolAccessTieringPolicy\"],\n unixPermissions: item[\"unixPermissions\"],\n avsDataStore: item[\"avsDataStore\"],\n isDefaultQuotaEnabled: item[\"isDefaultQuotaEnabled\"],\n defaultUserQuotaInKiBs: item[\"defaultUserQuotaInKiBs\"],\n defaultGroupQuotaInKiBs: item[\"defaultGroupQuotaInKiBs\"],\n capacityPoolResourceId: item[\"capacityPoolResourceId\"],\n proximityPlacementGroup: item[\"proximityPlacementGroup\"],\n volumeSpecName: item[\"volumeSpecName\"],\n placementRules: !item[\"placementRules\"]\n ? item[\"placementRules\"]\n : placementKeyValuePairsArraySerializer(item[\"placementRules\"]),\n enableSubvolumes: item[\"enableSubvolumes\"],\n isLargeVolume: item[\"isLargeVolume\"],\n largeVolumeType: item[\"largeVolumeType\"],\n language: item[\"language\"],\n breakthroughMode: item[\"breakthroughMode\"],\n };\n}\n\nexport function volumePropertiesDeserializer(item: any): VolumeProperties {\n return {\n fileSystemId: item[\"fileSystemId\"],\n creationToken: item[\"creationToken\"],\n serviceLevel: item[\"serviceLevel\"],\n usageThreshold: item[\"usageThreshold\"],\n exportPolicy: !item[\"exportPolicy\"]\n ? item[\"exportPolicy\"]\n : volumePropertiesExportPolicyDeserializer(item[\"exportPolicy\"]),\n protocolTypes: !item[\"protocolTypes\"]\n ? item[\"protocolTypes\"]\n : item[\"protocolTypes\"].map((p: any) => {\n return p;\n }),\n provisioningState: item[\"provisioningState\"],\n snapshotId: item[\"snapshotId\"],\n deleteBaseSnapshot: item[\"deleteBaseSnapshot\"],\n backupId: item[\"backupId\"],\n baremetalTenantId: item[\"baremetalTenantId\"],\n subnetId: item[\"subnetId\"],\n networkFeatures: item[\"networkFeatures\"],\n effectiveNetworkFeatures: item[\"effectiveNetworkFeatures\"],\n networkSiblingSetId: item[\"networkSiblingSetId\"],\n storageToNetworkProximity: item[\"storageToNetworkProximity\"],\n mountTargets: !item[\"mountTargets\"]\n ? item[\"mountTargets\"]\n : mountTargetPropertiesArrayDeserializer(item[\"mountTargets\"]),\n volumeType: item[\"volumeType\"],\n dataProtection: !item[\"dataProtection\"]\n ? item[\"dataProtection\"]\n : volumePropertiesDataProtectionDeserializer(item[\"dataProtection\"]),\n acceptGrowCapacityPoolForShortTermCloneSplit:\n item[\"acceptGrowCapacityPoolForShortTermCloneSplit\"],\n isRestoring: item[\"isRestoring\"],\n snapshotDirectoryVisible: item[\"snapshotDirectoryVisible\"],\n kerberosEnabled: item[\"kerberosEnabled\"],\n securityStyle: item[\"securityStyle\"],\n smbEncryption: item[\"smbEncryption\"],\n smbAccessBasedEnumeration: item[\"smbAccessBasedEnumeration\"],\n smbNonBrowsable: item[\"smbNonBrowsable\"],\n smbContinuouslyAvailable: item[\"smbContinuouslyAvailable\"],\n throughputMibps: item[\"throughputMibps\"],\n actualThroughputMibps: item[\"actualThroughputMibps\"],\n encryptionKeySource: item[\"encryptionKeySource\"],\n keyVaultPrivateEndpointResourceId: item[\"keyVaultPrivateEndpointResourceId\"],\n ldapEnabled: item[\"ldapEnabled\"],\n ldapServerType: item[\"ldapServerType\"],\n coolAccess: item[\"coolAccess\"],\n coolnessPeriod: item[\"coolnessPeriod\"],\n coolAccessRetrievalPolicy: item[\"coolAccessRetrievalPolicy\"],\n coolAccessTieringPolicy: item[\"coolAccessTieringPolicy\"],\n unixPermissions: item[\"unixPermissions\"],\n cloneProgress: item[\"cloneProgress\"],\n fileAccessLogs: item[\"fileAccessLogs\"],\n avsDataStore: item[\"avsDataStore\"],\n dataStoreResourceId: !item[\"dataStoreResourceId\"]\n ? item[\"dataStoreResourceId\"]\n : item[\"dataStoreResourceId\"].map((p: any) => {\n return p;\n }),\n isDefaultQuotaEnabled: item[\"isDefaultQuotaEnabled\"],\n defaultUserQuotaInKiBs: item[\"defaultUserQuotaInKiBs\"],\n defaultGroupQuotaInKiBs: item[\"defaultGroupQuotaInKiBs\"],\n maximumNumberOfFiles: item[\"maximumNumberOfFiles\"],\n volumeGroupName: item[\"volumeGroupName\"],\n capacityPoolResourceId: item[\"capacityPoolResourceId\"],\n proximityPlacementGroup: item[\"proximityPlacementGroup\"],\n t2Network: item[\"t2Network\"],\n volumeSpecName: item[\"volumeSpecName\"],\n encrypted: item[\"encrypted\"],\n placementRules: !item[\"placementRules\"]\n ? item[\"placementRules\"]\n : placementKeyValuePairsArrayDeserializer(item[\"placementRules\"]),\n enableSubvolumes: item[\"enableSubvolumes\"],\n provisionedAvailabilityZone: item[\"provisionedAvailabilityZone\"],\n isLargeVolume: item[\"isLargeVolume\"],\n largeVolumeType: item[\"largeVolumeType\"],\n originatingResourceId: item[\"originatingResourceId\"],\n inheritedSizeInBytes: item[\"inheritedSizeInBytes\"],\n language: item[\"language\"],\n breakthroughMode: item[\"breakthroughMode\"],\n };\n}\n\n/** The service level of the file system */\nexport enum KnownServiceLevel {\n /** Standard service level */\n Standard = \"Standard\",\n /** Premium service level */\n Premium = \"Premium\",\n /** Ultra service level */\n Ultra = \"Ultra\",\n /** Zone redundant storage service level. This will be deprecated soon. */\n StandardZRS = \"StandardZRS\",\n /** Flexible service level */\n Flexible = \"Flexible\",\n}\n\n/**\n * The service level of the file system \\\n * {@link KnownServiceLevel} can be used interchangeably with ServiceLevel,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Standard**: Standard service level \\\n * **Premium**: Premium service level \\\n * **Ultra**: Ultra service level \\\n * **StandardZRS**: Zone redundant storage service level. This will be deprecated soon. \\\n * **Flexible**: Flexible service level\n */\nexport type ServiceLevel = string;\n\n/** Set of export policy rules */\nexport interface VolumePropertiesExportPolicy {\n /** Export policy rule */\n rules?: ExportPolicyRule[];\n}\n\nexport function volumePropertiesExportPolicySerializer(item: VolumePropertiesExportPolicy): any {\n return {\n rules: !item[\"rules\"] ? item[\"rules\"] : exportPolicyRuleArraySerializer(item[\"rules\"]),\n };\n}\n\nexport function volumePropertiesExportPolicyDeserializer(item: any): VolumePropertiesExportPolicy {\n return {\n rules: !item[\"rules\"] ? item[\"rules\"] : exportPolicyRuleArrayDeserializer(item[\"rules\"]),\n };\n}\n\nexport function exportPolicyRuleArraySerializer(result: Array<ExportPolicyRule>): any[] {\n return result.map((item) => {\n return exportPolicyRuleSerializer(item);\n });\n}\n\nexport function exportPolicyRuleArrayDeserializer(result: Array<ExportPolicyRule>): any[] {\n return result.map((item) => {\n return exportPolicyRuleDeserializer(item);\n });\n}\n\n/** Volume Export Policy Rule */\nexport interface ExportPolicyRule {\n /** Order index */\n ruleIndex?: number;\n /** Read only access */\n unixReadOnly?: boolean;\n /** Read and write access */\n unixReadWrite?: boolean;\n /** Kerberos5 Read only access. To be use with swagger version 2020-05-01 or later */\n kerberos5ReadOnly?: boolean;\n /** Kerberos5 Read and write access. To be use with swagger version 2020-05-01 or later */\n kerberos5ReadWrite?: boolean;\n /** Kerberos5i Read only access. To be use with swagger version 2020-05-01 or later */\n kerberos5IReadOnly?: boolean;\n /** Kerberos5i Read and write access. To be use with swagger version 2020-05-01 or later */\n kerberos5IReadWrite?: boolean;\n /** Kerberos5p Read only access. To be use with swagger version 2020-05-01 or later */\n kerberos5PReadOnly?: boolean;\n /** Kerberos5p Read and write access. To be use with swagger version 2020-05-01 or later */\n kerberos5PReadWrite?: boolean;\n /** Allows CIFS protocol */\n cifs?: boolean;\n /** Allows NFSv3 protocol. Enable only for NFSv3 type volumes */\n nfsv3?: boolean;\n /** Allows NFSv4.1 protocol. Enable only for NFSv4.1 type volumes */\n nfsv41?: boolean;\n /** Client ingress specification as comma separated string with IPv4 CIDRs, IPv4 host addresses and host names */\n allowedClients?: string;\n /** Has root access to volume */\n hasRootAccess?: boolean;\n /** This parameter specifies who is authorized to change the ownership of a file. restricted - Only root user can change the ownership of the file. unrestricted - Non-root users can change ownership of files that they own. */\n chownMode?: ChownMode;\n}\n\nexport function exportPolicyRuleSerializer(item: ExportPolicyRule): any {\n return {\n ruleIndex: item[\"ruleIndex\"],\n unixReadOnly: item[\"unixReadOnly\"],\n unixReadWrite: item[\"unixReadWrite\"],\n kerberos5ReadOnly: item[\"kerberos5ReadOnly\"],\n kerberos5ReadWrite: item[\"kerberos5ReadWrite\"],\n kerberos5iReadOnly: item[\"kerberos5IReadOnly\"],\n kerberos5iReadWrite: item[\"kerberos5IReadWrite\"],\n kerberos5pReadOnly: item[\"kerberos5PReadOnly\"],\n kerberos5pReadWrite: item[\"kerberos5PReadWrite\"],\n cifs: item[\"cifs\"],\n nfsv3: item[\"nfsv3\"],\n nfsv41: item[\"nfsv41\"],\n allowedClients: item[\"allowedClients\"],\n hasRootAccess: item[\"hasRootAccess\"],\n chownMode: item[\"chownMode\"],\n };\n}\n\nexport function exportPolicyRuleDeserializer(item: any): ExportPolicyRule {\n return {\n ruleIndex: item[\"ruleIndex\"],\n unixReadOnly: item[\"unixReadOnly\"],\n unixReadWrite: item[\"unixReadWrite\"],\n kerberos5ReadOnly: item[\"kerberos5ReadOnly\"],\n kerberos5ReadWrite: item[\"kerberos5ReadWrite\"],\n kerberos5IReadOnly: item[\"kerberos5iReadOnly\"],\n kerberos5IReadWrite: item[\"kerberos5iReadWrite\"],\n kerberos5PReadOnly: item[\"kerberos5pReadOnly\"],\n kerberos5PReadWrite: item[\"kerberos5pReadWrite\"],\n cifs: item[\"cifs\"],\n nfsv3: item[\"nfsv3\"],\n nfsv41: item[\"nfsv41\"],\n allowedClients: item[\"allowedClients\"],\n hasRootAccess: item[\"hasRootAccess\"],\n chownMode: item[\"chownMode\"],\n };\n}\n\n/** This parameter specifies who is authorized to change the ownership of a file. restricted - Only root user can change the ownership of the file. unrestricted - Non-root users can change ownership of files that they own. */\nexport enum KnownChownMode {\n /** Restricted */\n Restricted = \"Restricted\",\n /** Unrestricted */\n Unrestricted = \"Unrestricted\",\n}\n\n/**\n * This parameter specifies who is authorized to change the ownership of a file. restricted - Only root user can change the ownership of the file. unrestricted - Non-root users can change ownership of files that they own. \\\n * {@link KnownChownMode} can be used interchangeably with ChownMode,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Restricted** \\\n * **Unrestricted**\n */\nexport type ChownMode = string;\n\n/** Network features available to the volume, or current state of update. */\nexport enum KnownNetworkFeatures {\n /** Basic network features. */\n Basic = \"Basic\",\n /** Standard network features. */\n Standard = \"Standard\",\n /** Updating from Basic to Standard network features. */\n BasicStandard = \"Basic_Standard\",\n /** Updating from Standard to Basic network features. */\n StandardBasic = \"Standard_Basic\",\n}\n\n/**\n * Network features available to the volume, or current state of update. \\\n * {@link KnownNetworkFeatures} can be used interchangeably with NetworkFeatures,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Basic**: Basic network features. \\\n * **Standard**: Standard network features. \\\n * **Basic_Standard**: Updating from Basic to Standard network features. \\\n * **Standard_Basic**: Updating from Standard to Basic network features.\n */\nexport type NetworkFeatures = string;\n\n/** Provides storage to network proximity information for the volume. */\nexport enum KnownVolumeStorageToNetworkProximity {\n /** Basic storage to network connectivity. */\n Default = \"Default\",\n /** Standard T1 storage to network connectivity. */\n T1 = \"T1\",\n /** Standard T2 storage to network connectivity. */\n T2 = \"T2\",\n /** Standard AcrossT2 storage to network connectivity. */\n AcrossT2 = \"AcrossT2\",\n}\n\n/**\n * Provides storage to network proximity information for the volume. \\\n * {@link KnownVolumeStorageToNetworkProximity} can be used interchangeably with VolumeStorageToNetworkProximity,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Default**: Basic storage to network connectivity. \\\n * **T1**: Standard T1 storage to network connectivity. \\\n * **T2**: Standard T2 storage to network connectivity. \\\n * **AcrossT2**: Standard AcrossT2 storage to network connectivity.\n */\nexport type VolumeStorageToNetworkProximity = string;\n\nexport function mountTargetPropertiesArrayDeserializer(\n result: Array<MountTargetProperties>,\n): any[] {\n return result.map((item) => {\n return mountTargetPropertiesDeserializer(item);\n });\n}\n\n/** Mount target properties */\nexport interface MountTargetProperties {\n /** UUID v4 used to identify the MountTarget */\n readonly mountTargetId?: string;\n /** UUID v4 used to identify the MountTarget */\n fileSystemId: string;\n /** The mount target's IPv4 address */\n readonly ipAddress?: string;\n /** The SMB server's Fully Qualified Domain Name, FQDN */\n smbServerFqdn?: string;\n}\n\nexport function mountTargetPropertiesDeserializer(item: any): MountTargetProperties {\n return {\n mountTargetId: item[\"mountTargetId\"],\n fileSystemId: item[\"fileSystemId\"],\n ipAddress: item[\"ipAddress\"],\n smbServerFqdn: item[\"smbServerFqdn\"],\n };\n}\n\n/** DataProtection type volumes include an object containing details of the replication */\nexport interface VolumePropertiesDataProtection {\n /** Backup Properties */\n backup?: VolumeBackupProperties;\n /** Replication properties */\n replication?: ReplicationObject;\n /** Snapshot properties. */\n snapshot?: VolumeSnapshotProperties;\n /** VolumeRelocation properties */\n volumeRelocation?: VolumeRelocationProperties;\n /** Advanced Ransomware Protection settings */\n ransomwareProtection?: RansomwareProtectionSettings;\n}\n\nexport function volumePropertiesDataProtectionSerializer(\n item: VolumePropertiesDataProtection,\n): any {\n return {\n backup: !item[\"backup\"] ? item[\"backup\"] : volumeBackupPropertiesSerializer(item[\"backup\"]),\n replication: !item[\"replication\"]\n ? item[\"replication\"]\n : replicationObjectSerializer(item[\"replication\"]),\n snapshot: !item[\"snapshot\"]\n ? item[\"snapshot\"]\n : volumeSnapshotPropertiesSerializer(item[\"snapshot\"]),\n volumeRelocation: !item[\"volumeRelocation\"]\n ? item[\"volumeRelocation\"]\n : volumeRelocationPropertiesSerializer(item[\"volumeRelocation\"]),\n ransomwareProtection: !item[\"ransomwareProtection\"]\n ? item[\"ransomwareProtection\"]\n : ransomwareProtectionSettingsSerializer(item[\"ransomwareProtection\"]),\n };\n}\n\nexport function volumePropertiesDataProtectionDeserializer(\n item: any,\n): VolumePropertiesDataProtection {\n return {\n backup: !item[\"backup\"] ? item[\"backup\"] : volumeBackupPropertiesDeserializer(item[\"backup\"]),\n replication: !item[\"replication\"]\n ? item[\"replication\"]\n : replicationObjectDeserializer(item[\"replication\"]),\n snapshot: !item[\"snapshot\"]\n ? item[\"snapshot\"]\n : volumeSnapshotPropertiesDeserializer(item[\"snapshot\"]),\n volumeRelocation: !item[\"volumeRelocation\"]\n ? item[\"volumeRelocation\"]\n : volumeRelocationPropertiesDeserializer(item[\"volumeRelocation\"]),\n ransomwareProtection: !item[\"ransomwareProtection\"]\n ? item[\"ransomwareProtection\"]\n : ransomwareProtectionSettingsDeserializer(item[\"ransomwareProtection\"]),\n };\n}\n\n/** Volume Backup Properties */\nexport interface VolumeBackupProperties {\n /** Backup Policy Resource ID */\n backupPolicyId?: string;\n /** Policy Enforced */\n policyEnforced?: boolean;\n /** Backup Vault Resource ID */\n backupVaultId?: string;\n}\n\nexport function volumeBackupPropertiesSerializer(item: VolumeBackupProperties): any {\n return {\n backupPolicyId: item[\"backupPolicyId\"],\n policyEnforced: item[\"policyEnforced\"],\n backupVaultId: item[\"backupVaultId\"],\n };\n}\n\nexport function volumeBackupPropertiesDeserializer(item: any): VolumeBackupProperties {\n return {\n backupPolicyId: item[\"backupPolicyId\"],\n policyEnforced: item[\"policyEnforced\"],\n backupVaultId: item[\"backupVaultId\"],\n };\n}\n\n/** Replication properties */\nexport interface ReplicationObject {\n /** Id */\n readonly replicationId?: string;\n /** Indicates whether the local volume is the source or destination for the Volume Replication */\n readonly endpointType?: EndpointType;\n /** Schedule */\n replicationSchedule?: ReplicationSchedule;\n /** The resource ID of the remote volume. Required for cross region and cross zone replication */\n remoteVolumeResourceId?: string;\n /** The full path to a volume that is to be migrated into ANF. Required for Migration volumes */\n remotePath?: RemotePath;\n /** The remote region for the other end of the Volume Replication. */\n remoteVolumeRegion?: string;\n /** A list of destination replications */\n readonly destinationReplications?: DestinationReplication[];\n /** Property that only applies to external replications. Provides a machine-readable value for the status of the external replication setup. */\n readonly externalReplicationSetupStatus?: ExternalReplicationSetupStatus;\n /** Contains human-readable instructions on what the next step is to finish the external replication setup. */\n readonly externalReplicationSetupInfo?: string;\n /** The mirror state property describes the current status of data replication for a replication. It provides insight into whether the data is actively being mirrored, if the replication process has been paused, or if it has yet to be initialized. */\n readonly mirrorState?: MirrorState;\n /** The status of the Volume Replication */\n readonly relationshipStatus?: VolumeReplicationRelationshipStatus;\n}\n\nexport function replicationObjectSerializer(item: ReplicationObject): any {\n return {\n replicationSchedule: item[\"replicationSchedule\"],\n remoteVolumeResourceId: item[\"remoteVolumeResourceId\"],\n remotePath: !item[\"remotePath\"] ? item[\"remotePath\"] : remotePathSerializer(item[\"remotePath\"]),\n remoteVolumeRegion: item[\"remoteVolumeRegion\"],\n };\n}\n\nexport function replicationObjectDeserializer(item: any): ReplicationObject {\n return {\n replicationId: item[\"replicationId\"],\n endpointType: item[\"endpointType\"],\n replicationSchedule: item[\"replicationSchedule\"],\n remoteVolumeResourceId: item[\"remoteVolumeResourceId\"],\n remotePath: !item[\"remotePath\"]\n ? item[\"remotePath\"]\n : remotePathDeserializer(item[\"remotePath\"]),\n remoteVolumeRegion: item[\"remoteVolumeRegion\"],\n destinationReplications: !item[\"destinationReplications\"]\n ? item[\"destinationReplications\"]\n : destinationReplicationArrayDeserializer(item[\"destinationReplications\"]),\n externalReplicationSetupStatus: item[\"externalReplicationSetupStatus\"],\n externalReplicationSetupInfo: item[\"externalReplicationSetupInfo\"],\n mirrorState: item[\"mirrorState\"],\n relationshipStatus: item[\"relationshipStatus\"],\n };\n}\n\n/** Indicates whether the local volume is the source or destination for the Volume Replication */\nexport enum KnownEndpointType {\n /** src */\n Src = \"src\",\n /** dst */\n Dst = \"dst\",\n}\n\n/**\n * Indicates whether the local volume is the source or destination for the Volume Replication \\\n * {@link KnownEndpointType} can be used interchangeably with EndpointType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **src** \\\n * **dst**\n */\nexport type EndpointType = string;\n\n/** Schedule */\nexport enum KnownReplicationSchedule {\n /** _10minutely */\n \"10Minutely\" = \"_10minutely\",\n /** hourly */\n Hourly = \"hourly\",\n /** daily */\n Daily = \"daily\",\n}\n\n/**\n * Schedule \\\n * {@link KnownReplicationSchedule} can be used interchangeably with ReplicationSchedule,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **_10minutely** \\\n * **hourly** \\\n * **daily**\n */\nexport type ReplicationSchedule = string;\n\n/** The full path to a volume that is to be migrated into ANF. Required for Migration volumes */\nexport interface RemotePath {\n /** The Path to a ONTAP Host */\n externalHostName: string;\n /** The name of a server on the ONTAP Host */\n serverName: string;\n /** The name of a volume on the server */\n volumeName: string;\n}\n\nexport function remotePathSerializer(item: RemotePath): any {\n return {\n externalHostName: item[\"externalHostName\"],\n serverName: item[\"serverName\"],\n volumeName: item[\"volumeName\"],\n };\n}\n\nexport function remotePathDeserializer(item: any): RemotePath {\n return {\n externalHostName: item[\"externalHostName\"],\n serverName: item[\"serverName\"],\n volumeName: item[\"volumeName\"],\n };\n}\n\nexport function destinationReplicationArrayDeserializer(\n result: Array<DestinationReplication>,\n): any[] {\n return result.map((item) => {\n return destinationReplicationDeserializer(item);\n });\n}\n\n/** Destination replication properties */\nexport interface DestinationReplication {\n /** The resource ID of the remote volume */\n resourceId?: string;\n /** Indicates whether the replication is cross zone or cross region. */\n replicationType?: ReplicationType;\n /** The remote region for the destination volume. */\n region?: string;\n /** The remote zone for the destination volume. */\n zone?: string;\n}\n\nexport function destinationReplicationDeserializer(item: any): DestinationReplication {\n return {\n resourceId: item[\"resourceId\"],\n replicationType: item[\"replicationType\"],\n region: item[\"region\"],\n zone: item[\"zone\"],\n };\n}\n\n/** Indicates whether the replication is cross zone or cross region. */\nexport enum KnownReplicationType {\n /** Cross region replication */\n CrossRegionReplication = \"CrossRegionReplication\",\n /** Cross zone replication */\n CrossZoneReplication = \"CrossZoneReplication\",\n}\n\n/**\n * Indicates whether the replication is cross zone or cross region. \\\n * {@link KnownReplicationType} can be used interchangeably with ReplicationType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **CrossRegionReplication**: Cross region replication \\\n * **CrossZoneReplication**: Cross zone replication\n */\nexport type ReplicationType = string;\n\n/** Property that only applies to external replications. Provides a machine-readable value for the status of the external replication setup. */\nexport enum KnownExternalReplicationSetupStatus {\n /** Your cluster needs to be peered by using the 'peerExternalCluster' action */\n ClusterPeerRequired = \"ClusterPeerRequired\",\n /** The peering needs to be accepted on your cluster before the setup can proceed */\n ClusterPeerPending = \"ClusterPeerPending\",\n /** Need to call 'authorizeExternalReplication' and accept the returned 'vserver peer accept' command on your cluster to finish setting up the external replication */\n VServerPeerRequired = \"VServerPeerRequired\",\n /** Need to call 'authorizeExternalReplication' to finish setting up the external replication */\n ReplicationCreateRequired = \"ReplicationCreateRequired\",\n /** External Replication setup is complete, you can now monitor the 'mirrorState' in the replication status for the health of the replication */\n NoActionRequired = \"NoActionRequired\",\n}\n\n/**\n * Property that only applies to external replications. Provides a machine-readable value for the status of the external replication setup. \\\n * {@link KnownExternalReplicationSetupStatus} can be used interchangeably with ExternalReplicationSetupStatus,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **ClusterPeerRequired**: Your cluster needs to be peered by using the 'peerExternalCluster' action \\\n * **ClusterPeerPending**: The peering needs to be accepted on your cluster before the setup can proceed \\\n * **VServerPeerRequired**: Need to call 'authorizeExternalReplication' and accept the returned 'vserver peer accept' command on your cluster to finish setting up the external replication \\\n * **ReplicationCreateRequired**: Need to call 'authorizeExternalReplication' to finish setting up the external replication \\\n * **NoActionRequired**: External Replication setup is complete, you can now monitor the 'mirrorState' in the replication status for the health of the replication\n */\nexport type ExternalReplicationSetupStatus = string;\n\n/** The status of the replication */\nexport enum KnownMirrorState {\n /** Uninitialized */\n Uninitialized = \"Uninitialized\",\n /** Mirrored */\n Mirrored = \"Mirrored\",\n /** Broken */\n Broken = \"Broken\",\n}\n\n/**\n * The status of the replication \\\n * {@link KnownMirrorState} can be used interchangeably with MirrorState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Uninitialized** \\\n * **Mirrored** \\\n * **Broken**\n */\nexport type MirrorState = string;\n\n/** Status of the volume replication relationship */\nexport enum KnownVolumeReplicationRelationshipStatus {\n /** Idle */\n Idle = \"Idle\",\n /** Transferring */\n Transferring = \"Transferring\",\n}\n\n/**\n * Status of the volume replication relationship \\\n * {@link KnownVolumeReplicationRelationshipStatus} can be used interchangeably with VolumeReplicationRelationshipStatus,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Idle** \\\n * **Transferring**\n */\nexport type VolumeReplicationRelationshipStatus = string;\n\n/** Volume Snapshot Properties */\nexport interface VolumeSnapshotProperties {\n /** Snapshot Policy ResourceId */\n snapshotPolicyId?: string;\n}\n\nexport function volumeSnapshotPropertiesSerializer(item: VolumeSnapshotProperties): any {\n return { snapshotPolicyId: item[\"snapshotPolicyId\"] };\n}\n\nexport function volumeSnapshotPropertiesDeserializer(item: any): VolumeSnapshotProperties {\n return {\n snapshotPolicyId: item[\"snapshotPolicyId\"],\n };\n}\n\n/** Volume relocation properties */\nexport interface VolumeRelocationProperties {\n /** Has relocation been requested for this volume */\n relocationRequested?: boolean;\n /** Has relocation finished and is ready to be cleaned up */\n readonly readyToBeFinalized?: boolean;\n}\n\nexport function volumeRelocationPropertiesSerializer(item: VolumeRelocationProperties): any {\n return { relocationRequested: item[\"relocationRequested\"] };\n}\n\nexport function volumeRelocationPropertiesDeserializer(item: any): VolumeRelocationProperties {\n return {\n relocationRequested: item[\"relocationRequested\"],\n readyToBeFinalized: item[\"readyToBeFinalized\"],\n };\n}\n\n/** Advanced Ransomware Protection reports (ARP) settings */\nexport interface RansomwareProtectionSettings {\n /** The desired value of the Advanced Ransomware Protection feature state available to the volume */\n desiredRansomwareProtectionState?: DesiredRansomwareProtectionState;\n /** The actual state of the Advanced Ransomware Protection feature currently active on the volume */\n readonly actualRansomwareProtectionState?: ActualRansomwareProtectionState;\n}\n\nexport function ransomwareProtectionSettingsSerializer(item: RansomwareProtectionSettings): any {\n return {\n desiredRansomwareProtectionState: item[\"desiredRansomwareProtectionState\"],\n };\n}\n\nexport function ransomwareProtectionSettingsDeserializer(item: any): RansomwareProtectionSettings {\n return {\n desiredRansomwareProtectionState: item[\"desiredRansomwareProtectionState\"],\n actualRansomwareProtectionState: item[\"actualRansomwareProtectionState\"],\n };\n}\n\n/** The desired state of the Advanced Ransomware Protection feature */\nexport enum KnownDesiredRansomwareProtectionState {\n /** Advanced Ransomware Protection is disabled */\n Disabled = \"Disabled\",\n /** Advanced Ransomware Protection is enabled */\n Enabled = \"Enabled\",\n}\n\n/**\n * The desired state of the Advanced Ransomware Protection feature \\\n * {@link KnownDesiredRansomwareProtectionState} can be used interchangeably with DesiredRansomwareProtectionState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Disabled**: Advanced Ransomware Protection is disabled \\\n * **Enabled**: Advanced Ransomware Protection is enabled\n */\nexport type DesiredRansomwareProtectionState = string;\n\n/** The actual state of the Advanced Ransomware Protection feature */\nexport enum KnownActualRansomwareProtectionState {\n /** Advanced Ransomware Protection is disabled */\n Disabled = \"Disabled\",\n /** Advanced Ransomware Protection is enabled */\n Enabled = \"Enabled\",\n /** Advanced Ransomware Protection is in learning mode */\n Learning = \"Learning\",\n /** Advanced Ransomware Protection is in paused state */\n Paused = \"Paused\",\n}\n\n/**\n * The actual state of the Advanced Ransomware Protection feature \\\n * {@link KnownActualRansomwareProtectionState} can be used interchangeably with ActualRansomwareProtectionState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Disabled**: Advanced Ransomware Protection is disabled \\\n * **Enabled**: Advanced Ransomware Protection is enabled \\\n * **Learning**: Advanced Ransomware Protection is in learning mode \\\n * **Paused**: Advanced Ransomware Protection is in paused state\n */\nexport type ActualRansomwareProtectionState = string;\n\n/** While auto splitting the short term clone volume, if the parent pool does not have enough space to accommodate the volume after split, it will be automatically resized, which will lead to increased billing. To accept capacity pool size auto grow and create a short term clone volume, set the property as accepted. */\nexport enum KnownAcceptGrowCapacityPoolForShortTermCloneSplit {\n /** Auto grow capacity pool for short term clone split is accepted. */\n Accepted = \"Accepted\",\n /** Auto grow capacity pool for short term clone split is declined. Short term clone volume creation will not be allowed, to create short term clone volume accept auto grow capacity pool. */\n Declined = \"Declined\",\n}\n\n/**\n * While auto splitting the short term clone volume, if the parent pool does not have enough space to accommodate the volume after split, it will be automatically resized, which will lead to increased billing. To accept capacity pool size auto grow and create a short term clone volume, set the property as accepted. \\\n * {@link KnownAcceptGrowCapacityPoolForShortTermCloneSplit} can be used interchangeably with AcceptGrowCapacityPoolForShortTermCloneSplit,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Accepted**: Auto grow capacity pool for short term clone split is accepted. \\\n * **Declined**: Auto grow capacity pool for short term clone split is declined. Short term clone volume creation will not be allowed, to create short term clone volume accept auto grow capacity pool.\n */\nexport type AcceptGrowCapacityPoolForShortTermCloneSplit = string;\n\n/** The security style of volume, default unix, defaults to ntfs for dual protocol or CIFS protocol */\nexport enum KnownSecurityStyle {\n /** ntfs */\n Ntfs = \"ntfs\",\n /** unix */\n Unix = \"unix\",\n}\n\n/**\n * The security style of volume, default unix, defaults to ntfs for dual protocol or CIFS protocol \\\n * {@link KnownSecurityStyle} can be used interchangeably with SecurityStyle,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **ntfs** \\\n * **unix**\n */\nexport type SecurityStyle = string;\n\n/** Enables access-based enumeration share property for SMB Shares. Only applicable for SMB/DualProtocol volume */\nexport enum KnownSmbAccessBasedEnumeration {\n /** smbAccessBasedEnumeration share setting is disabled */\n Disabled = \"Disabled\",\n /** smbAccessBasedEnumeration share setting is enabled */\n Enabled = \"Enabled\",\n}\n\n/**\n * Enables access-based enumeration share property for SMB Shares. Only applicable for SMB/DualProtocol volume \\\n * {@link KnownSmbAccessBasedEnumeration} can be used interchangeably with SmbAccessBasedEnumeration,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Disabled**: smbAccessBasedEnumeration share setting is disabled \\\n * **Enabled**: smbAccessBasedEnumeration share setting is enabled\n */\nexport type SmbAccessBasedEnumeration = string;\n\n/** Enables non-browsable property for SMB Shares. Only applicable for SMB/DualProtocol volume */\nexport enum KnownSmbNonBrowsable {\n /** smbNonBrowsable share setting is disabled */\n Disabled = \"Disabled\",\n /** smbNonBrowsable share setting is enabled */\n Enabled = \"Enabled\",\n}\n\n/**\n * Enables non-browsable property for SMB Shares. Only applicable for SMB/DualProtocol volume \\\n * {@link KnownSmbNonBrowsable} can be used interchangeably with SmbNonBrowsable,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Disabled**: smbNonBrowsable share setting is disabled \\\n * **Enabled**: smbNonBrowsable share setting is enabled\n */\nexport type SmbNonBrowsable = string;\n\n/** Source of key used to encrypt data in volume. Applicable if NetApp account has encryption.keySource = 'Microsoft.KeyVault'. Possible values (case-insensitive) are: 'Microsoft.NetApp, Microsoft.KeyVault' */\nexport enum KnownEncryptionKeySource {\n /** Microsoft-managed key encryption */\n MicrosoftNetApp = \"Microsoft.NetApp\",\n /** Customer-managed key encryption */\n MicrosoftKeyVault = \"Microsoft.KeyVault\",\n}\n\n/**\n * Source of key used to encrypt data in volume. Applicable if NetApp account has encryption.keySource = 'Microsoft.KeyVault'. Possible values (case-insensitive) are: 'Microsoft.NetApp, Microsoft.KeyVault' \\\n * {@link KnownEncryptionKeySource} can be used interchangeably with EncryptionKeySource,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Microsoft.NetApp**: Microsoft-managed key encryption \\\n * **Microsoft.KeyVault**: Customer-managed key encryption\n */\nexport type EncryptionKeySource = string;\n\n/** The type of the LDAP server */\nexport enum KnownLdapServerType {\n /** The volume should use Active Directory for LDAP connections. */\n ActiveDirectory = \"ActiveDirectory\",\n /** The volume should use OpenLDAP for LDAP connections. */\n OpenLdap = \"OpenLDAP\",\n}\n\n/**\n * The type of the LDAP server \\\n * {@link KnownLdapServerType} can be used interchangeably with LdapServerType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **ActiveDirectory**: The volume should use Active Directory for LDAP connections. \\\n * **OpenLDAP**: The volume should use OpenLDAP for LDAP connections.\n */\nexport type LdapServerType = string;\n\n/**\n * coolAccessRetrievalPolicy determines the data retrieval behavior from the cool tier to standard storage based on the read pattern for cool access enabled volumes. The possible values for this field are:\n * Default - Data will be pulled from cool tier to standard storage on random reads. This policy is the default.\n * OnRead - All client-driven data read is pulled from cool tier to standard storage on both sequential and random reads.\n * Never - No client-driven data is pulled from cool tier to standard storage.\n */\nexport enum KnownCoolAccessRetrievalPolicy {\n /** Default */\n Default = \"Default\",\n /** OnRead */\n OnRead = \"OnRead\",\n /** Never */\n Never = \"Never\",\n}\n\n/**\n * coolAccessRetrievalPolicy determines the data retrieval behavior from the cool tier to standard storage based on the read pattern for cool access enabled volumes. The possible values for this field are:\n * Default - Data will be pulled from cool tier to standard storage on random reads. This policy is the default.\n * OnRead - All client-driven data read is pulled from cool tier to standard storage on both sequential and random reads.\n * Never - No client-driven data is pulled from cool tier to standard storage. \\\n * {@link KnownCoolAccessRetrievalPolicy} can be used interchangeably with CoolAccessRetrievalPolicy,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Default** \\\n * **OnRead** \\\n * **Never**\n */\nexport type CoolAccessRetrievalPolicy = string;\n\n/** coolAccessTieringPolicy determines which cold data blocks are moved to cool tier. The possible values for this field are: Auto - Moves cold user data blocks in both the Snapshot copies and the active file system to the cool tier tier. This policy is the default. SnapshotOnly - Moves user data blocks of the Volume Snapshot copies that are not associated with the active file system to the cool tier. */\nexport enum KnownCoolAccessTieringPolicy {\n /** Auto */\n Auto = \"Auto\",\n /** SnapshotOnly */\n SnapshotOnly = \"SnapshotOnly\",\n}\n\n/**\n * coolAccessTieringPolicy determines which cold data blocks are moved to cool tier. The possible values for this field are: Auto - Moves cold user data blocks in both the Snapshot copies and the active file system to the cool tier tier. This policy is the default. SnapshotOnly - Moves user data blocks of the Volume Snapshot copies that are not associated with the active file system to the cool tier. \\\n * {@link KnownCoolAccessTieringPolicy} can be used interchangeably with CoolAccessTieringPolicy,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Auto** \\\n * **SnapshotOnly**\n */\nexport type CoolAccessTieringPolicy = string;\n\n/** Flag indicating whether file access logs are enabled for the volume, based on active diagnostic settings present on the volume. */\nexport enum KnownFileAccessLogs {\n /** fileAccessLogs are enabled */\n Enabled = \"Enabled\",\n /** fileAccessLogs are not enabled */\n Disabled = \"Disabled\",\n}\n\n/**\n * Flag indicating whether file access logs are enabled for the volume, based on active diagnostic settings present on the volume. \\\n * {@link KnownFileAccessLogs} can be used interchangeably with FileAccessLogs,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Enabled**: fileAccessLogs are enabled \\\n * **Disabled**: fileAccessLogs are not enabled\n */\nexport type FileAccessLogs = string;\n\n/** Specifies whether the volume is enabled for Azure VMware Solution (AVS) datastore purpose */\nexport enum KnownAvsDataStore {\n /** avsDataStore is enabled */\n Enabled = \"Enabled\",\n /** avsDataStore is disabled */\n Disabled = \"Disabled\",\n}\n\n/**\n * Specifies whether the volume is enabled for Azure VMware Solution (AVS) datastore purpose \\\n * {@link KnownAvsDataStore} can be used interchangeably with AvsDataStore,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Enabled**: avsDataStore is enabled \\\n * **Disabled**: avsDataStore is disabled\n */\nexport type AvsDataStore = string;\n\n/** Flag indicating whether subvolume operations are enabled on the volume */\nexport enum KnownEnableSubvolumes {\n /** subvolumes are enabled */\n Enabled = \"Enabled\",\n /** subvolumes are not enabled */\n Disabled = \"Disabled\",\n}\n\n/**\n * Flag indicating whether subvolume operations are enabled on the volume \\\n * {@link KnownEnableSubvolumes} can be used interchangeably with EnableSubvolumes,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Enabled**: subvolumes are enabled \\\n * **Disabled**: subvolumes are not enabled\n */\nexport type EnableSubvolumes = string;\n\n/**\n * Specifies the type of the Large Volume. When set to 'LargeVolume', the large volume is created with standard configuration.\n * If it is set to 'ExtraLargeVolume7Dot2PiB', the extra large volume is created with higher capacity limit 7.2PiB with cool access enabled,\n * delivering higher capacity limit with lower costs.\n */\nexport enum KnownLargeVolumeType {\n /** The large volume is created with standard configuration that provides standard performance and throughput. */\n LargeVolume = \"LargeVolume\",\n /** The extra large volume is created with higher volume capacity limit 7.2PiB with cool access enabled, delivering higher capacity limit with lower costs */\n ExtraLargeVolume7Dot2PiB = \"PremExtraLargeVolume7Dot2PiB\",\n}\n\n/**\n * Specifies the type of the Large Volume. When set to 'LargeVolume', the large volume is created with standard configuration.\n * If it is set to 'ExtraLargeVolume7Dot2PiB', the extra large volume is created with higher capacity limit 7.2PiB with cool access enabled,\n * delivering higher capacity limit with lower costs. \\\n * {@link KnownLargeVolumeType} can be used interchangeably with LargeVolumeType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **LargeVolume**: The large volume is created with standard configuration that provides standard performance and throughput. \\\n * **PremExtraLargeVolume7Dot2PiB**: The extra large volume is created with higher volume capacity limit 7.2PiB with cool access enabled, delivering higher capacity limit with lower costs\n */\nexport type LargeVolumeType = string;\n\n/** Language supported for volume. */\nexport enum KnownVolumeLanguage {\n /** Posix with UTF-8 */\n CUtf8 = \"c.utf-8\",\n /** UTF-8 with 4 byte character support */\n Utf8Mb4 = \"utf8mb4\",\n /** Arabic - Deprecated */\n Ar = \"ar\",\n /** Arabic with UTF-8 */\n ArUtf8 = \"ar.utf-8\",\n /** Croatian - Deprecated */\n Hr = \"hr\",\n /** Croatian with UTF-8 */\n HrUtf8 = \"hr.utf-8\",\n /** Czech - Deprecated */\n Cs = \"cs\",\n /** Czech with UTF-8 */\n CsUtf8 = \"cs.utf-8\",\n /** Danish - Deprecated */\n Da = \"da\",\n /** Danish with UTF-8 */\n DaUtf8 = \"da.utf-8\",\n /** Dutch - Deprecated */\n Nl = \"nl\",\n /** Dutch with UTF-8 */\n NlUtf8 = \"nl.utf-8\",\n /** English - Deprecated */\n En = \"en\",\n /** English with UTF-8 */\n EnUtf8 = \"en.utf-8\",\n /** Finnish - Deprecated */\n Fi = \"fi\",\n /** Finnish with UTF-8 */\n FiUtf8 = \"fi.utf-8\",\n /** French - Deprecated */\n Fr = \"fr\",\n /** French with UTF-8 */\n FrUtf8 = \"fr.utf-8\",\n /** German - Deprecated */\n De = \"de\",\n /** German with UTF-8 */\n DeUtf8 = \"de.utf-8\",\n /** Hebrew - Deprecated */\n He = \"he\",\n /** Hebrew with UTF-8 */\n HeUtf8 = \"he.utf-8\",\n /** Hungarian - Deprecated */\n Hu = \"hu\",\n /** Hungarian with UTF-8 */\n HuUtf8 = \"hu.utf-8\",\n /** Italian - Deprecated */\n It = \"it\",\n /** Italian with UTF-8 */\n ItUtf8 = \"it.utf-8\",\n /** Japanese euc-j - Deprecated */\n Ja = \"ja\",\n /** Japanese euc-j with UTF-8 */\n JaUtf8 = \"ja.utf-8\",\n /** Japanese euc-j - Deprecated */\n JaV1 = \"ja-v1\",\n /** Japanese euc-j with UTF-8 */\n JaV1Utf8 = \"ja-v1.utf-8\",\n /** Japanese pck */\n JaJpPck = \"ja-jp.pck\",\n /** Japanese pck with UTF-8 - Deprecated */\n JaJpPckUtf8 = \"ja-jp.pck.utf-8\",\n /** Japanese cp932 */\n JaJp932 = \"ja-jp.932\",\n /** Japanese cp932 with UTF-8 - Deprecated */\n JaJp932Utf8 = \"ja-jp.932.utf-8\",\n /** Japanese pck - sjis */\n JaJpPckV2 = \"ja-jp.pck-v2\",\n /** Japanese pck - sjis with UTF-8 - Deprecated */\n JaJpPckV2Utf8 = \"ja-jp.pck-v2.utf-8\",\n /** Korean - Deprecated */\n Ko = \"ko\",\n /** Korean with UTF-8 */\n KoUtf8 = \"ko.utf-8\",\n /** Norwegian - Deprecated */\n No = \"no\",\n /** Norwegian with UTF-8 */\n NoUtf8 = \"no.utf-8\",\n /** Polish - Deprecated */\n Pl = \"pl\",\n /** Polish with UTF-8 */\n PlUtf8 = \"pl.utf-8\",\n /** Portuguese - Deprecated */\n Pt = \"pt\",\n /** Portuguese with UTF-8 */\n PtUtf8 = \"pt.utf-8\",\n /** Posix - Deprecated */\n C = \"c\",\n /** Romanian - Deprecated */\n Ro = \"ro\",\n /** Romanian with UTF-8 */\n RoUtf8 = \"ro.utf-8\",\n /** Russian - Deprecated */\n Ru = \"ru\",\n /** Russian with UTF-8 */\n RuUtf8 = \"ru.utf-8\",\n /** Simplified Chinese - Deprecated */\n Zh = \"zh\",\n /** Simplified Chinese with UTF-8 */\n ZhUtf8 = \"zh.utf-8\",\n /** Simplified gbk Chinese */\n ZhGbk = \"zh.gbk\",\n /** Simplified gbk Chinese with UTF-8 - Deprecated */\n ZhGbkUtf8 = \"zh.gbk.utf-8\",\n /** Traditional Chinese BIG 5 */\n ZhTwBig5 = \"zh-tw.big5\",\n /** Traditional Chinese BIG 5 with UTF-8 - Deprecated */\n ZhTwBig5Utf8 = \"zh-tw.big5.utf-8\",\n /** Traditional Chinese EUC-TW */\n ZhTw = \"zh-tw\",\n /** Traditional Chinese EUC-TW with UTF-8 - Deprecated */\n ZhTwUtf8 = \"zh-tw.utf-8\",\n /** Slovak - Deprecated */\n Sk = \"sk\",\n /** Slovak with UTF-8 */\n SkUtf8 = \"sk.utf-8\",\n /** Slovenian - Deprecated */\n Sl = \"sl\",\n /** Slovenian with UTF-8 */\n SlUtf8 = \"sl.utf-8\",\n /** Spanish - Deprecated */\n Es = \"es\",\n /** Spanish with UTF-8 */\n EsUtf8 = \"es.utf-8\",\n /** Swedish - Deprecated */\n Sv = \"sv\",\n /** Swedish with UTF-8 */\n SvUtf8 = \"sv.utf-8\",\n /** Turkish - Deprecated */\n Tr = \"tr\",\n /** Turkish with UTF-8 */\n TrUtf8 = \"tr.utf-8\",\n /** US English - Deprecated */\n EnUs = \"en-us\",\n /** US English with UTF-8 */\n EnUsUtf8 = \"en-us.utf-8\",\n}\n\n/**\n * Language supported for volume. \\\n * {@link KnownVolumeLanguage} can be used interchangeably with VolumeLanguage,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **c.utf-8**: Posix with UTF-8 \\\n * **utf8mb4**: UTF-8 with 4 byte character support \\\n * **ar**: Arabic - Deprecated \\\n * **ar.utf-8**: Arabic with UTF-8 \\\n * **hr**: Croatian - Deprecated \\\n * **hr.utf-8**: Croatian with UTF-8 \\\n * **cs**: Czech - Deprecated \\\n * **cs.utf-8**: Czech with UTF-8 \\\n * **da**: Danish - Deprecated \\\n * **da.utf-8**: Danish with UTF-8 \\\n * **nl**: Dutch - Deprecated \\\n * **nl.utf-8**: Dutch with UTF-8 \\\n * **en**: English - Deprecated \\\n * **en.utf-8**: English with UTF-8 \\\n * **fi**: Finnish - Deprecated \\\n * **fi.utf-8**: Finnish with UTF-8 \\\n * **fr**: French - Deprecated \\\n * **fr.utf-8**: French with UTF-8 \\\n * **de**: German - Deprecated \\\n * **de.utf-8**: German with UTF-8 \\\n * **he**: Hebrew - Deprecated \\\n * **he.utf-8**: Hebrew with UTF-8 \\\n * **hu**: Hungarian - Deprecated \\\n * **hu.utf-8**: Hungarian with UTF-8 \\\n * **it**: Italian - Deprecated \\\n * **it.utf-8**: Italian with UTF-8 \\\n * **ja**: Japanese euc-j - Deprecated \\\n * **ja.utf-8**: Japanese euc-j with UTF-8 \\\n * **ja-v1**: Japanese euc-j - Deprecated \\\n * **ja-v1.utf-8**: Japanese euc-j with UTF-8 \\\n * **ja-jp.pck**: Japanese pck \\\n * **ja-jp.pck.utf-8**: Japanese pck with UTF-8 - Deprecated \\\n * **ja-jp.932**: Japanese cp932 \\\n * **ja-jp.932.utf-8**: Japanese cp932 with UTF-8 - Deprecated \\\n * **ja-jp.pck-v2**: Japanese pck - sjis \\\n * **ja-jp.pck-v2.utf-8**: Japanese pck - sjis with UTF-8 - Deprecated \\\n * **ko**: Korean - Deprecated \\\n * **ko.utf-8**: Korean with UTF-8 \\\n * **no**: Norwegian - Deprecated \\\n * **no.utf-8**: Norwegian with UTF-8 \\\n * **pl**: Polish - Deprecated \\\n * **pl.utf-8**: Polish with UTF-8 \\\n * **pt**: Portuguese - Deprecated \\\n * **pt.utf-8**: Portuguese with UTF-8 \\\n * **c**: Posix - Deprecated \\\n * **ro**: Romanian - Deprecated \\\n * **ro.utf-8**: Romanian with UTF-8 \\\n * **ru**: Russian - Deprecated \\\n * **ru.utf-8**: Russian with UTF-8 \\\n * **zh**: Simplified Chinese - Deprecated \\\n * **zh.utf-8**: Simplified Chinese with UTF-8 \\\n * **zh.gbk**: Simplified gbk Chinese \\\n * **zh.gbk.utf-8**: Simplified gbk Chinese with UTF-8 - Deprecated \\\n * **zh-tw.big5**: Traditional Chinese BIG 5 \\\n * **zh-tw.big5.utf-8**: Traditional Chinese BIG 5 with UTF-8 - Deprecated \\\n * **zh-tw**: Traditional Chinese EUC-TW \\\n * **zh-tw.utf-8**: Traditional Chinese EUC-TW with UTF-8 - Deprecated \\\n * **sk**: Slovak - Deprecated \\\n * **sk.utf-8**: Slovak with UTF-8 \\\n * **sl**: Slovenian - Deprecated \\\n * **sl.utf-8**: Slovenian with UTF-8 \\\n * **es**: Spanish - Deprecated \\\n * **es.utf-8**: Spanish with UTF-8 \\\n * **sv**: Swedish - Deprecated \\\n * **sv.utf-8**: Swedish with UTF-8 \\\n * **tr**: Turkish - Deprecated \\\n * **tr.utf-8**: Turkish with UTF-8 \\\n * **en-us**: US English - Deprecated \\\n * **en-us.utf-8**: US English with UTF-8\n */\nexport type VolumeLanguage = string;\n\n/**\n * Specifies whether the volume operates in Breakthrough Mode. When set to 'Enabled', the volume runs on the resources configured for this mode,\n * delivering improved performance and higher throughput. If set to 'Disabled' or omitted, the volume uses the basic configuration. This feature\n * is available only in regions where it’s been configured and first-time users must finish onboarding prior to using Breakthrough Mode.\n */\nexport enum KnownBreakthroughMode {\n /** The volume runs on the resources configured for Breakthrough mode which ensures consistent high performance and a higher throughput. */\n Enabled = \"Enabled\",\n /** The volume uses configuration that provides basic performance and throughput. */\n Disabled = \"Disabled\",\n}\n\n/**\n * Specifies whether the volume operates in Breakthrough Mode. When set to 'Enabled', the volume runs on the resources configured for this mode,\n * delivering improved performance and higher throughput. If set to 'Disabled' or omitted, the volume uses the basic configuration. This feature\n * is available only in regions where it’s been configured and first-time users must finish onboarding prior to using Breakthrough Mode. \\\n * {@link KnownBreakthroughMode} can be used interchangeably with BreakthroughMode,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Enabled**: The volume runs on the resources configured for Breakthrough mode which ensures consistent high performance and a higher throughput. \\\n * **Disabled**: The volume uses configuration that provides basic performance and throughput.\n */\nexport type BreakthroughMode = string;\n\n/** List of volume group resources */\nexport interface _VolumeGroupList {\n /** The VolumeGroup items on this page */\n value: VolumeGroup[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _volumeGroupListDeserializer(item: any): _VolumeGroupList {\n return {\n value: volumeGroupArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function volumeGroupArrayDeserializer(result: Array<VolumeGroup>): any[] {\n return result.map((item) => {\n return volumeGroupDeserializer(item);\n });\n}\n\n/** Volume group resource */\nexport interface VolumeGroup {\n /** Resource location */\n location?: string;\n /** Resource Id */\n readonly id?: string;\n /** Resource name */\n readonly name?: string;\n /** Resource type */\n readonly type?: string;\n /** Volume group properties */\n properties?: VolumeGroupListProperties;\n}\n\nexport function volumeGroupDeserializer(item: any): VolumeGroup {\n return {\n location: item[\"location\"],\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : volumeGroupListPropertiesDeserializer(item[\"properties\"]),\n };\n}\n\n/** Volume group properties */\nexport interface VolumeGroupListProperties {\n /** Azure lifecycle management */\n readonly provisioningState?: string;\n /** Volume group details */\n groupMetaData?: VolumeGroupMetaData;\n}\n\nexport function volumeGroupListPropertiesDeserializer(item: any): VolumeGroupListProperties {\n return {\n provisioningState: item[\"provisioningState\"],\n groupMetaData: !item[\"groupMetaData\"]\n ? item[\"groupMetaData\"]\n : volumeGroupMetaDataDeserializer(item[\"groupMetaData\"]),\n };\n}\n\n/** Backup under a Backup Vault */\nexport interface Backup extends ProxyResource {\n /** Backup Properties */\n properties: BackupProperties;\n}\n\nexport function backupSerializer(item: Backup): any {\n return { properties: backupPropertiesSerializer(item[\"properties\"]) };\n}\n\nexport function backupDeserializer(item: any): Backup {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: backupPropertiesDeserializer(item[\"properties\"]),\n };\n}\n\n/** Backup properties */\nexport interface BackupProperties {\n /** UUID v4 used to identify the Backup */\n readonly backupId?: string;\n /** The creation date of the backup */\n readonly creationDate?: Date;\n /** The snapshot creation date of the backup */\n readonly snapshotCreationDate?: Date | null;\n /** The completion date of the backup */\n readonly completionDate?: Date | null;\n /** Azure lifecycle management */\n readonly provisioningState?: string;\n /** Size of backup in bytes */\n readonly size?: number;\n /** Label for backup */\n label?: string;\n /** Type of backup Manual or Scheduled */\n readonly backupType?: BackupType;\n /** Failure reason */\n readonly failureReason?: string;\n /** ResourceId used to identify the Volume */\n volumeResourceId: string;\n /** Manual backup an already existing snapshot. This will always be false for scheduled backups and true/false for manual backups */\n useExistingSnapshot?: boolean;\n /** The name of the snapshot */\n snapshotName?: string;\n /** ResourceId used to identify the backup policy */\n readonly backupPolicyResourceId?: string;\n /** Specifies if the backup is for a large volume. */\n readonly isLargeVolume?: boolean;\n}\n\nexport function backupPropertiesSerializer(item: BackupProperties): any {\n return {\n label: item[\"label\"],\n volumeResourceId: item[\"volumeResourceId\"],\n useExistingSnapshot: item[\"useExistingSnapshot\"],\n snapshotName: item[\"snapshotName\"],\n };\n}\n\nexport function backupPropertiesDeserializer(item: any): BackupProperties {\n return {\n backupId: item[\"backupId\"],\n creationDate: !item[\"creationDate\"] ? item[\"creationDate\"] : new Date(item[\"creationDate\"]),\n snapshotCreationDate: !item[\"snapshotCreationDate\"]\n ? item[\"snapshotCreationDate\"]\n : new Date(item[\"snapshotCreationDate\"]),\n completionDate: !item[\"completionDate\"]\n ? item[\"completionDate\"]\n : new Date(item[\"completionDate\"]),\n provisioningState: item[\"provisioningState\"],\n size: item[\"size\"],\n label: item[\"label\"],\n backupType: item[\"backupType\"],\n failureReason: item[\"failureReason\"],\n volumeResourceId: item[\"volumeResourceId\"],\n useExistingSnapshot: item[\"useExistingSnapshot\"],\n snapshotName: item[\"snapshotName\"],\n backupPolicyResourceId: item[\"backupPolicyResourceId\"],\n isLargeVolume: item[\"isLargeVolume\"],\n };\n}\n\n/** Type of backup Manual or Scheduled */\nexport enum KnownBackupType {\n /** Manual backup */\n Manual = \"Manual\",\n /** Scheduled backup */\n Scheduled = \"Scheduled\",\n}\n\n/**\n * Type of backup Manual or Scheduled \\\n * {@link KnownBackupType} can be used interchangeably with BackupType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Manual**: Manual backup \\\n * **Scheduled**: Scheduled backup\n */\nexport type BackupType = string;\n\n/** Backup patch */\nexport interface BackupPatch {\n /** Backup Patch Properties */\n properties?: BackupPatchProperties;\n}\n\nexport function backupPatchSerializer(item: BackupPatch): any {\n return {\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : backupPatchPropertiesSerializer(item[\"properties\"]),\n };\n}\n\n/** Backup patch properties */\nexport interface BackupPatchProperties {\n /** Label for backup */\n label?: string;\n}\n\nexport function backupPatchPropertiesSerializer(item: BackupPatchProperties): any {\n return { label: item[\"label\"] };\n}\n\n/** List of Backups */\nexport interface _BackupsList {\n /** The Backup items on this page */\n value: Backup[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _backupsListDeserializer(item: any): _BackupsList {\n return {\n value: backupArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function backupArraySerializer(result: Array<Backup>): any[] {\n return result.map((item) => {\n return backupSerializer(item);\n });\n}\n\nexport function backupArrayDeserializer(result: Array<Backup>): any[] {\n return result.map((item) => {\n return backupDeserializer(item);\n });\n}\n\n/** Backup status */\nexport interface BackupStatus {\n /** Backup health status */\n readonly healthy?: boolean;\n /** Status of the backup mirror relationship */\n readonly relationshipStatus?: VolumeBackupRelationshipStatus;\n /** The status of the backup */\n readonly mirrorState?: MirrorState;\n /** Reason for the unhealthy backup relationship */\n readonly unhealthyReason?: string;\n /** Displays error message if the backup is in an error state */\n readonly errorMessage?: string;\n /** Displays the last transfer size */\n readonly lastTransferSize?: number;\n /** Displays the last transfer type */\n readonly lastTransferType?: string;\n /** Displays the total bytes transferred */\n readonly totalTransferBytes?: number;\n /** Displays the total number of bytes transferred for the ongoing operation */\n readonly transferProgressBytes?: number;\n}\n\nexport function backupStatusDeserializer(item: any): BackupStatus {\n return {\n healthy: item[\"healthy\"],\n relationshipStatus: item[\"relationshipStatus\"],\n mirrorState: item[\"mirrorState\"],\n unhealthyReason: item[\"unhealthyReason\"],\n errorMessage: item[\"errorMessage\"],\n lastTransferSize: item[\"lastTransferSize\"],\n lastTransferType: item[\"lastTransferType\"],\n totalTransferBytes: item[\"totalTransferBytes\"],\n transferProgressBytes: item[\"transferProgressBytes\"],\n };\n}\n\n/** Status of the volume backup relationship */\nexport enum KnownVolumeBackupRelationshipStatus {\n /** Idle */\n Idle = \"Idle\",\n /** Transferring */\n Transferring = \"Transferring\",\n /** Failed */\n Failed = \"Failed\",\n /** Unknown */\n Unknown = \"Unknown\",\n}\n\n/**\n * Status of the volume backup relationship \\\n * {@link KnownVolumeBackupRelationshipStatus} can be used interchangeably with VolumeBackupRelationshipStatus,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Idle** \\\n * **Transferring** \\\n * **Failed** \\\n * **Unknown**\n */\nexport type VolumeBackupRelationshipStatus = string;\n\n/** Restore status */\nexport interface RestoreStatus {\n /** Restore health status */\n readonly healthy?: boolean;\n /** Status of the restore SnapMirror relationship */\n readonly relationshipStatus?: VolumeRestoreRelationshipStatus;\n /** The status of the restore */\n readonly mirrorState?: MirrorState;\n /** Reason for the unhealthy restore relationship */\n readonly unhealthyReason?: string;\n /** Displays error message if the restore is in an error state */\n readonly errorMessage?: string;\n /** Displays the total bytes transferred */\n readonly totalTransferBytes?: number;\n}\n\nexport function restoreStatusDeserializer(item: any): RestoreStatus {\n return {\n healthy: item[\"healthy\"],\n relationshipStatus: item[\"relationshipStatus\"],\n mirrorState: item[\"mirrorState\"],\n unhealthyReason: item[\"unhealthyReason\"],\n errorMessage: item[\"errorMessage\"],\n totalTransferBytes: item[\"totalTransferBytes\"],\n };\n}\n\n/** Status of the volume restore relationship */\nexport enum KnownVolumeRestoreRelationshipStatus {\n /** Idle */\n Idle = \"Idle\",\n /** Transferring */\n Transferring = \"Transferring\",\n /** Failed */\n Failed = \"Failed\",\n /** Unknown */\n Unknown = \"Unknown\",\n}\n\n/**\n * Status of the volume restore relationship \\\n * {@link KnownVolumeRestoreRelationshipStatus} can be used interchangeably with VolumeRestoreRelationshipStatus,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Idle** \\\n * **Transferring** \\\n * **Failed** \\\n * **Unknown**\n */\nexport type VolumeRestoreRelationshipStatus = string;\n\n/** Volume resource */\nexport interface Volume extends TrackedResource {\n /** Volume properties */\n properties: VolumeProperties;\n /** \"If etag is provided in the response body, it may also be provided as a header per the normal etag convention. Entity tags are used for comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range (section 14.27) header fields.\") */\n readonly etag?: string;\n /** The availability zones. */\n zones?: string[];\n}\n\nexport function volumeSerializer(item: Volume): any {\n return {\n tags: item[\"tags\"],\n location: item[\"location\"],\n properties: volumePropertiesSerializer(item[\"properties\"]),\n zones: !item[\"zones\"]\n ? item[\"zones\"]\n : item[\"zones\"].map((p: any) => {\n return p;\n }),\n };\n}\n\nexport function volumeDeserializer(item: any): Volume {\n return {\n tags: item[\"tags\"],\n location: item[\"location\"],\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: volumePropertiesDeserializer(item[\"properties\"]),\n etag: item[\"etag\"],\n zones: !item[\"zones\"]\n ? item[\"zones\"]\n : item[\"zones\"].map((p: any) => {\n return p;\n }),\n };\n}\n\n/** The resource model definition for an Azure Resource Manager tracked top level resource which has 'tags' and a 'location' */\nexport interface TrackedResource extends Resource {\n /** Resource tags. */\n tags?: Record<string, string>;\n /** The geo-location where the resource lives */\n location: string;\n}\n\nexport function trackedResourceSerializer(item: TrackedResource): any {\n return { tags: item[\"tags\"], location: item[\"location\"] };\n}\n\nexport function trackedResourceDeserializer(item: any): TrackedResource {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n tags: item[\"tags\"],\n location: item[\"location\"],\n };\n}\n\n/** Volume patch resource */\nexport interface VolumePatch {\n /** Resource location */\n location?: string;\n /** Resource Id */\n readonly id?: string;\n /** Resource name */\n readonly name?: string;\n /** Resource type */\n readonly type?: string;\n /** Resource tags */\n tags?: Record<string, string>;\n /** Patchable volume properties */\n properties?: VolumePatchProperties;\n}\n\nexport function volumePatchSerializer(item: VolumePatch): any {\n return {\n location: item[\"location\"],\n tags: item[\"tags\"],\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : volumePatchPropertiesSerializer(item[\"properties\"]),\n };\n}\n\n/** Patchable volume properties */\nexport interface VolumePatchProperties {\n /** The service level of the file system */\n serviceLevel?: ServiceLevel;\n /**\n * Maximum storage quota allowed for a file system in bytes. This is a soft quota used for alerting only. For regular volumes, valid values are in the range 50GiB to 100TiB.\n * For large volumes, valid values are in the range 100TiB to 500TiB, and on an exceptional basis, from to 2400GiB to 2400TiB.\n * For extra large volumes, valid values are in the range 2400GiB to 7200TiB. Values expressed in bytes as multiples of 1 GiB.\n */\n usageThreshold?: number;\n /** Set of export policy rules */\n exportPolicy?: VolumePatchPropertiesExportPolicy;\n /** Set of protocol types, default NFSv3, CIFS for SMB protocol */\n protocolTypes?: string[];\n /** Maximum throughput in MiB/s that can be achieved by this volume and this will be accepted as input only for manual qosType volume */\n throughputMibps?: number;\n /** DataProtection type volumes include an object containing details of the replication */\n dataProtection?: VolumePatchPropertiesDataProtection;\n /** Specifies if default quota is enabled for the volume. */\n isDefaultQuotaEnabled?: boolean;\n /** Default user quota for volume in KiBs. If isDefaultQuotaEnabled is set, the minimum value of 4 KiBs applies . */\n defaultUserQuotaInKiBs?: number;\n /** Default group quota for volume in KiBs. If isDefaultQuotaEnabled is set, the minimum value of 4 KiBs applies. */\n defaultGroupQuotaInKiBs?: number;\n /** UNIX permissions for NFS volume accepted in octal 4 digit format. First digit selects the set user ID(4), set group ID (2) and sticky (1) attributes. Second digit selects permission for the owner of the file: read (4), write (2) and execute (1). Third selects permissions for other users in the same group. the fourth for other users not in the group. 0755 - gives read/write/execute permissions to owner and read/execute to group and other users. */\n unixPermissions?: string | null;\n /** Specifies whether Cool Access(tiering) is enabled for the volume. */\n coolAccess?: boolean;\n /** Specifies the number of days after which data that is not accessed by clients will be tiered. */\n coolnessPeriod?: number;\n /**\n * coolAccessRetrievalPolicy determines the data retrieval behavior from the cool tier to standard storage based on the read pattern for cool access enabled volumes. The possible values for this field are:\n * Default - Data will be pulled from cool tier to standard storage on random reads. This policy is the default.\n * OnRead - All client-driven data read is pulled from cool tier to standard storage on both sequential and random reads.\n * Never - No client-driven data is pulled from cool tier to standard storage.\n */\n coolAccessRetrievalPolicy?: CoolAccessRetrievalPolicy;\n /** coolAccessTieringPolicy determines which cold data blocks are moved to cool tier. The possible values for this field are: Auto - Moves cold user data blocks in both the Snapshot copies and the active file system to the cool tier tier. This policy is the default. SnapshotOnly - Moves user data blocks of the Volume Snapshot copies that are not associated with the active file system to the cool tier. */\n coolAccessTieringPolicy?: CoolAccessTieringPolicy;\n /** If enabled (true) the volume will contain a read-only snapshot directory which provides access to each of the volume's snapshots. */\n snapshotDirectoryVisible?: boolean;\n /** Enables access-based enumeration share property for SMB Shares. Only applicable for SMB/DualProtocol volume */\n smbAccessBasedEnumeration?: SmbAccessBasedEnumeration | null;\n /** Enables non-browsable property for SMB Shares. Only applicable for SMB/DualProtocol volume */\n smbNonBrowsable?: SmbNonBrowsable;\n}\n\nexport function volumePatchPropertiesSerializer(item: VolumePatchProperties): any {\n return {\n serviceLevel: item[\"serviceLevel\"],\n usageThreshold: item[\"usageThreshold\"],\n exportPolicy: !item[\"exportPolicy\"]\n ? item[\"exportPolicy\"]\n : volumePatchPropertiesExportPolicySerializer(item[\"exportPolicy\"]),\n protocolTypes: !item[\"protocolTypes\"]\n ? item[\"protocolTypes\"]\n : item[\"protocolTypes\"].map((p: any) => {\n return p;\n }),\n throughputMibps: item[\"throughputMibps\"],\n dataProtection: !item[\"dataProtection\"]\n ? item[\"dataProtection\"]\n : volumePatchPropertiesDataProtectionSerializer(item[\"dataProtection\"]),\n isDefaultQuotaEnabled: item[\"isDefaultQuotaEnabled\"],\n defaultUserQuotaInKiBs: item[\"defaultUserQuotaInKiBs\"],\n defaultGroupQuotaInKiBs: item[\"defaultGroupQuotaInKiBs\"],\n unixPermissions: item[\"unixPermissions\"],\n coolAccess: item[\"coolAccess\"],\n coolnessPeriod: item[\"coolnessPeriod\"],\n coolAccessRetrievalPolicy: item[\"coolAccessRetrievalPolicy\"],\n coolAccessTieringPolicy: item[\"coolAccessTieringPolicy\"],\n snapshotDirectoryVisible: item[\"snapshotDirectoryVisible\"],\n smbAccessBasedEnumeration: item[\"smbAccessBasedEnumeration\"],\n smbNonBrowsable: item[\"smbNonBrowsable\"],\n };\n}\n\n/** Set of export policy rules */\nexport interface VolumePatchPropertiesExportPolicy {\n /** Export policy rule */\n rules?: ExportPolicyRule[];\n}\n\nexport function volumePatchPropertiesExportPolicySerializer(\n item: VolumePatchPropertiesExportPolicy,\n): any {\n return {\n rules: !item[\"rules\"] ? item[\"rules\"] : exportPolicyRuleArraySerializer(item[\"rules\"]),\n };\n}\n\n/** DataProtection type volumes include an object containing details of the replication */\nexport interface VolumePatchPropertiesDataProtection {\n /** Backup Properties */\n backup?: VolumeBackupProperties;\n /** Snapshot properties. */\n snapshot?: VolumeSnapshotProperties;\n /** Advanced Ransomware Protection updatable settings */\n ransomwareProtection?: RansomwareProtectionPatchSettings;\n}\n\nexport function volumePatchPropertiesDataProtectionSerializer(\n item: VolumePatchPropertiesDataProtection,\n): any {\n return {\n backup: !item[\"backup\"] ? item[\"backup\"] : volumeBackupPropertiesSerializer(item[\"backup\"]),\n snapshot: !item[\"snapshot\"]\n ? item[\"snapshot\"]\n : volumeSnapshotPropertiesSerializer(item[\"snapshot\"]),\n ransomwareProtection: !item[\"ransomwareProtection\"]\n ? item[\"ransomwareProtection\"]\n : ransomwareProtectionPatchSettingsSerializer(item[\"ransomwareProtection\"]),\n };\n}\n\n/** Advanced Ransomware Protection reports (ARP) updatable settings */\nexport interface RansomwareProtectionPatchSettings {\n /** The desired value of the ARP feature state available to the volume */\n desiredRansomwareProtectionState?: DesiredRansomwareProtectionState;\n}\n\nexport function ransomwareProtectionPatchSettingsSerializer(\n item: RansomwareProtectionPatchSettings,\n): any {\n return {\n desiredRansomwareProtectionState: item[\"desiredRansomwareProtectionState\"],\n };\n}\n\n/** List of volume resources */\nexport interface _VolumeList {\n /** The Volume items on this page */\n value: Volume[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _volumeListDeserializer(item: any): _VolumeList {\n return {\n value: volumeArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function volumeArraySerializer(result: Array<Volume>): any[] {\n return result.map((item) => {\n return volumeSerializer(item);\n });\n}\n\nexport function volumeArrayDeserializer(result: Array<Volume>): any[] {\n return result.map((item) => {\n return volumeDeserializer(item);\n });\n}\n\n/** revert a volume to the snapshot */\nexport interface VolumeRevert {\n /** Resource id of the snapshot */\n snapshotId?: string;\n}\n\nexport function volumeRevertSerializer(item: VolumeRevert): any {\n return { snapshotId: item[\"snapshotId\"] };\n}\n\n/** Break file locks request */\nexport interface BreakFileLocksRequest {\n /** To clear file locks on a volume for a particular client */\n clientIp?: string;\n /** Break File locks could be a disruptive operation for application as locks on the volume will be broken, if want to process, set to true. */\n confirmRunningDisruptiveOperation?: boolean;\n}\n\nexport function breakFileLocksRequestSerializer(item: BreakFileLocksRequest): any {\n return {\n clientIp: item[\"clientIp\"],\n confirmRunningDisruptiveOperation: item[\"confirmRunningDisruptiveOperation\"],\n };\n}\n\n/** Get group Id list for LDAP User request */\nexport interface GetGroupIdListForLdapUserRequest {\n /** username is required to fetch the group to which user is part of */\n username: string;\n}\n\nexport function getGroupIdListForLdapUserRequestSerializer(\n item: GetGroupIdListForLdapUserRequest,\n): any {\n return { username: item[\"username\"] };\n}\n\n/** Group Id list for Ldap user */\nexport interface GetGroupIdListForLdapUserResponse {\n /** Group Id list */\n groupIdsForLdapUser?: string[];\n}\n\nexport function getGroupIdListForLdapUserResponseDeserializer(\n item: any,\n): GetGroupIdListForLdapUserResponse {\n return {\n groupIdsForLdapUser: !item[\"groupIdsForLdapUser\"]\n ? item[\"groupIdsForLdapUser\"]\n : item[\"groupIdsForLdapUser\"].map((p: any) => {\n return p;\n }),\n };\n}\n\n/** Break replication request */\nexport interface BreakReplicationRequest {\n /** If replication is in status transferring and you want to force break the replication, set to true */\n forceBreakReplication?: boolean;\n}\n\nexport function breakReplicationRequestSerializer(item: BreakReplicationRequest): any {\n return { forceBreakReplication: item[\"forceBreakReplication\"] };\n}\n\n/** Re-establish request object supplied in the body of the operation. */\nexport interface ReestablishReplicationRequest {\n /** Resource id of the source volume for the replication */\n sourceVolumeId?: string;\n}\n\nexport function reestablishReplicationRequestSerializer(item: ReestablishReplicationRequest): any {\n return { sourceVolumeId: item[\"sourceVolumeId\"] };\n}\n\n/** Replication status */\nexport interface ReplicationStatus {\n /** Replication health check */\n healthy?: boolean;\n /** Status of the mirror relationship */\n relationshipStatus?: VolumeReplicationRelationshipStatus;\n /** The status of the replication */\n mirrorState?: MirrorState;\n /** The progress of the replication */\n totalProgress?: string;\n /** Displays error message if the replication is in an error state */\n errorMessage?: string;\n}\n\nexport function replicationStatusDeserializer(item: any): ReplicationStatus {\n return {\n healthy: item[\"healthy\"],\n relationshipStatus: item[\"relationshipStatus\"],\n mirrorState: item[\"mirrorState\"],\n totalProgress: item[\"totalProgress\"],\n errorMessage: item[\"errorMessage\"],\n };\n}\n\n/** Body for the list replications endpoint. If supplied, the body will be used as a filter for example to exclude deleted replications. If omitted, the endpoint returns all replications */\nexport interface ListReplicationsRequest {\n /** Exclude Replications filter. 'None' returns all replications, 'Deleted' excludes deleted replications. Default is 'None' */\n exclude?: Exclude;\n}\n\nexport function listReplicationsRequestSerializer(item: ListReplicationsRequest): any {\n return { exclude: item[\"exclude\"] };\n}\n\n/** An option to filter out replications. 'None' returns all replications, 'Deleted' excludes deleted replications. Default is 'None' */\nexport enum KnownExclude {\n /** 'None' returns all replications */\n None = \"None\",\n /** 'Deleted' excludes deleted replications */\n Deleted = \"Deleted\",\n}\n\n/**\n * An option to filter out replications. 'None' returns all replications, 'Deleted' excludes deleted replications. Default is 'None' \\\n * {@link KnownExclude} can be used interchangeably with Exclude,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **None**: 'None' returns all replications \\\n * **Deleted**: 'Deleted' excludes deleted replications\n */\nexport type Exclude = string;\n\n/** List Replications */\nexport interface _ListReplications {\n /** The Replication items on this page */\n value: Replication[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _listReplicationsDeserializer(item: any): _ListReplications {\n return {\n value: replicationArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function replicationArrayDeserializer(result: Array<Replication>): any[] {\n return result.map((item) => {\n return replicationDeserializer(item);\n });\n}\n\n/** Replication properties */\nexport interface Replication {\n /** UUID v4 used to identify the replication. */\n readonly replicationId?: string;\n /** Indicates whether the local volume is the source or destination for the Volume Replication */\n endpointType?: EndpointType;\n /** Schedule */\n replicationSchedule?: ReplicationSchedule;\n /** The resource ID of the remote volume. */\n remoteVolumeResourceId: string;\n /** The remote region for the other end of the Volume Replication. */\n remoteVolumeRegion?: string;\n /** The status of the replication */\n readonly mirrorState?: ReplicationMirrorState;\n /** Replication creation time */\n readonly replicationCreationTime?: Date;\n /** Replication deletion time */\n readonly replicationDeletionTime?: Date;\n}\n\nexport function replicationDeserializer(item: any): Replication {\n return {\n replicationId: item[\"replicationId\"],\n endpointType: item[\"endpointType\"],\n replicationSchedule: item[\"replicationSchedule\"],\n remoteVolumeResourceId: item[\"remoteVolumeResourceId\"],\n remoteVolumeRegion: item[\"remoteVolumeRegion\"],\n mirrorState: item[\"mirrorState\"],\n replicationCreationTime: !item[\"replicationCreationTime\"]\n ? item[\"replicationCreationTime\"]\n : new Date(item[\"replicationCreationTime\"]),\n replicationDeletionTime: !item[\"replicationDeletionTime\"]\n ? item[\"replicationDeletionTime\"]\n : new Date(item[\"replicationDeletionTime\"]),\n };\n}\n\n/** The status of the replication */\nexport enum KnownReplicationMirrorState {\n /** Destination volume has not been initialized */\n Uninitialized = \"Uninitialized\",\n /** Destination volume has been initialized and is ready */\n Mirrored = \"Mirrored\",\n /** Destination volume is RW, replication relationship has been broken off */\n Broken = \"Broken\",\n}\n\n/**\n * The status of the replication \\\n * {@link KnownReplicationMirrorState} can be used interchangeably with ReplicationMirrorState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Uninitialized**: Destination volume has not been initialized \\\n * **Mirrored**: Destination volume has been initialized and is ready \\\n * **Broken**: Destination volume is RW, replication relationship has been broken off\n */\nexport type ReplicationMirrorState = string;\n\n/** Authorize request */\nexport interface AuthorizeRequest {\n /** Resource id of the remote volume */\n remoteVolumeResourceId?: string;\n}\n\nexport function authorizeRequestSerializer(item: AuthorizeRequest): any {\n return { remoteVolumeResourceId: item[\"remoteVolumeResourceId\"] };\n}\n\n/** Source Cluster properties for a cluster peer request */\nexport interface PeerClusterForVolumeMigrationRequest {\n /** A list of IC-LIF IPs that can be used to connect to the On-prem cluster */\n peerIpAddresses: string[];\n}\n\nexport function peerClusterForVolumeMigrationRequestSerializer(\n item: PeerClusterForVolumeMigrationRequest,\n): any {\n return {\n peerIpAddresses: item[\"peerIpAddresses\"].map((p: any) => {\n return p;\n }),\n };\n}\n\n/** Information about cluster peering process */\nexport interface ClusterPeerCommandResponse {\n /** A command that needs to be run on the external ONTAP to accept cluster peering. Will only be present if <code>clusterPeeringStatus</code> is <code>pending</code> */\n peerAcceptCommand?: string;\n}\n\nexport function clusterPeerCommandResponseDeserializer(item: any): ClusterPeerCommandResponse {\n return {\n peerAcceptCommand: item[\"peerAcceptCommand\"],\n };\n}\n\n/** Information about svm peering process */\nexport interface SvmPeerCommandResponse {\n /** A command that needs to be run on the external ONTAP to accept svm peering. Will only be present if <code>svmPeeringStatus</code> is <code>pending</code> */\n svmPeeringCommand?: string;\n}\n\nexport function svmPeerCommandResponseDeserializer(item: any): SvmPeerCommandResponse {\n return {\n svmPeeringCommand: item[\"svmPeeringCommand\"],\n };\n}\n\n/** Pool change request */\nexport interface PoolChangeRequest {\n /** Resource id of the pool to move volume to */\n newPoolResourceId: string;\n}\n\nexport function poolChangeRequestSerializer(item: PoolChangeRequest): any {\n return { newPoolResourceId: item[\"newPoolResourceId\"] };\n}\n\n/** Relocate volume request */\nexport interface RelocateVolumeRequest {\n /** New creation token for the volume that controls the mount point name */\n creationToken?: string;\n}\n\nexport function relocateVolumeRequestSerializer(item: RelocateVolumeRequest): any {\n return { creationToken: item[\"creationToken\"] };\n}\n\n/** Quota Report for volume */\nexport interface ListQuotaReportResponse {\n /** List of quota reports */\n value?: QuotaReport[];\n}\n\nexport function listQuotaReportResponseDeserializer(item: any): ListQuotaReportResponse {\n return {\n value: !item[\"value\"] ? item[\"value\"] : quotaReportArrayDeserializer(item[\"value\"]),\n };\n}\n\nexport function quotaReportArrayDeserializer(result: Array<QuotaReport>): any[] {\n return result.map((item) => {\n return quotaReportDeserializer(item);\n });\n}\n\n/** Quota report record properties */\nexport interface QuotaReport {\n /** Type of quota */\n quotaType?: Type;\n /** UserID/GroupID/SID based on the quota target type. UserID and groupID can be found by running ‘id’ or ‘getent’ command for the user or group and SID can be found by running <wmic useraccount where name='user-name' get sid> */\n quotaTarget?: string;\n /** Specifies the current usage in kibibytes for the user/group quota. */\n quotaLimitUsedInKiBs?: number;\n /** Specifies the total size limit in kibibytes for the user/group quota. */\n quotaLimitTotalInKiBs?: number;\n /** Percentage of used size compared to total size. */\n percentageUsed?: number;\n /** Flag to indicate whether the quota is derived from default quota. */\n isDerivedQuota?: boolean;\n}\n\nexport function quotaReportDeserializer(item: any): QuotaReport {\n return {\n quotaType: item[\"quotaType\"],\n quotaTarget: item[\"quotaTarget\"],\n quotaLimitUsedInKiBs: item[\"quotaLimitUsedInKiBs\"],\n quotaLimitTotalInKiBs: item[\"quotaLimitTotalInKiBs\"],\n percentageUsed: item[\"percentageUsed\"],\n isDerivedQuota: item[\"isDerivedQuota\"],\n };\n}\n\n/** Type of quota */\nexport enum KnownType {\n /** Default user quota */\n DefaultUserQuota = \"DefaultUserQuota\",\n /** Default group quota */\n DefaultGroupQuota = \"DefaultGroupQuota\",\n /** Individual user quota */\n IndividualUserQuota = \"IndividualUserQuota\",\n /** Individual group quota */\n IndividualGroupQuota = \"IndividualGroupQuota\",\n}\n\n/**\n * Type of quota \\\n * {@link KnownType} can be used interchangeably with Type,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **DefaultUserQuota**: Default user quota \\\n * **DefaultGroupQuota**: Default group quota \\\n * **IndividualUserQuota**: Individual user quota \\\n * **IndividualGroupQuota**: Individual group quota\n */\nexport type Type = string;\n\n/** Snapshot of a Volume */\nexport interface Snapshot extends ProxyResource {\n /** Snapshot Properties */\n properties?: SnapshotProperties;\n /** Resource location */\n location: string;\n}\n\nexport function snapshotSerializer(item: Snapshot): any {\n return {\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : snapshotPropertiesSerializer(item[\"properties\"]),\n location: item[\"location\"],\n };\n}\n\nexport function snapshotDeserializer(item: any): Snapshot {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : snapshotPropertiesDeserializer(item[\"properties\"]),\n location: item[\"location\"],\n };\n}\n\n/** Snapshot properties */\nexport interface SnapshotProperties {\n /** UUID v4 used to identify the Snapshot */\n readonly snapshotId?: string;\n /** The creation date of the snapshot */\n readonly created?: Date;\n /** Azure lifecycle management */\n readonly provisioningState?: string;\n}\n\nexport function snapshotPropertiesSerializer(item: SnapshotProperties): any {\n return item;\n}\n\nexport function snapshotPropertiesDeserializer(item: any): SnapshotProperties {\n return {\n snapshotId: item[\"snapshotId\"],\n created: !item[\"created\"] ? item[\"created\"] : new Date(item[\"created\"]),\n provisioningState: item[\"provisioningState\"],\n };\n}\n\n/** Snapshot of a Volume */\nexport interface SnapshotPatch {}\n\nexport function snapshotPatchSerializer(item: SnapshotPatch): any {\n return item;\n}\n\n/** List of Snapshots */\nexport interface _SnapshotsList {\n /** The Snapshot items on this page */\n value: Snapshot[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _snapshotsListDeserializer(item: any): _SnapshotsList {\n return {\n value: snapshotArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function snapshotArraySerializer(result: Array<Snapshot>): any[] {\n return result.map((item) => {\n return snapshotSerializer(item);\n });\n}\n\nexport function snapshotArrayDeserializer(result: Array<Snapshot>): any[] {\n return result.map((item) => {\n return snapshotDeserializer(item);\n });\n}\n\n/** Restore payload for Single File Snapshot Restore */\nexport interface SnapshotRestoreFiles {\n /** List of files to be restored */\n filePaths: string[];\n /** Destination folder where the files will be restored */\n destinationPath?: string;\n}\n\nexport function snapshotRestoreFilesSerializer(item: SnapshotRestoreFiles): any {\n return {\n filePaths: item[\"filePaths\"].map((p: any) => {\n return p;\n }),\n destinationPath: item[\"destinationPath\"],\n };\n}\n\n/** Snapshot policy information */\nexport interface SnapshotPolicy extends TrackedResource {\n /** Snapshot policy Properties */\n properties: SnapshotPolicyProperties;\n /** \"If etag is provided in the response body, it may also be provided as a header per the normal etag convention. Entity tags are used for comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range (section 14.27) header fields.\") */\n readonly etag?: string;\n}\n\nexport function snapshotPolicySerializer(item: SnapshotPolicy): any {\n return {\n tags: item[\"tags\"],\n location: item[\"location\"],\n properties: snapshotPolicyPropertiesSerializer(item[\"properties\"]),\n };\n}\n\nexport function snapshotPolicyDeserializer(item: any): SnapshotPolicy {\n return {\n tags: item[\"tags\"],\n location: item[\"location\"],\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: snapshotPolicyPropertiesDeserializer(item[\"properties\"]),\n etag: item[\"etag\"],\n };\n}\n\n/** Snapshot policy properties */\nexport interface SnapshotPolicyProperties {\n /** Schedule for hourly snapshots */\n hourlySchedule?: HourlySchedule;\n /** Schedule for daily snapshots */\n dailySchedule?: DailySchedule;\n /** Schedule for weekly snapshots */\n weeklySchedule?: WeeklySchedule;\n /** Schedule for monthly snapshots */\n monthlySchedule?: MonthlySchedule;\n /** The property to decide policy is enabled or not */\n enabled?: boolean;\n /** Azure lifecycle management */\n readonly provisioningState?: string;\n}\n\nexport function snapshotPolicyPropertiesSerializer(item: SnapshotPolicyProperties): any {\n return {\n hourlySchedule: !item[\"hourlySchedule\"]\n ? item[\"hourlySchedule\"]\n : hourlyScheduleSerializer(item[\"hourlySchedule\"]),\n dailySchedule: !item[\"dailySchedule\"]\n ? item[\"dailySchedule\"]\n : dailyScheduleSerializer(item[\"dailySchedule\"]),\n weeklySchedule: !item[\"weeklySchedule\"]\n ? item[\"weeklySchedule\"]\n : weeklyScheduleSerializer(item[\"weeklySchedule\"]),\n monthlySchedule: !item[\"monthlySchedule\"]\n ? item[\"monthlySchedule\"]\n : monthlyScheduleSerializer(item[\"monthlySchedule\"]),\n enabled: item[\"enabled\"],\n };\n}\n\nexport function snapshotPolicyPropertiesDeserializer(item: any): SnapshotPolicyProperties {\n return {\n hourlySchedule: !item[\"hourlySchedule\"]\n ? item[\"hourlySchedule\"]\n : hourlyScheduleDeserializer(item[\"hourlySchedule\"]),\n dailySchedule: !item[\"dailySchedule\"]\n ? item[\"dailySchedule\"]\n : dailyScheduleDeserializer(item[\"dailySchedule\"]),\n weeklySchedule: !item[\"weeklySchedule\"]\n ? item[\"weeklySchedule\"]\n : weeklyScheduleDeserializer(item[\"weeklySchedule\"]),\n monthlySchedule: !item[\"monthlySchedule\"]\n ? item[\"monthlySchedule\"]\n : monthlyScheduleDeserializer(item[\"monthlySchedule\"]),\n enabled: item[\"enabled\"],\n provisioningState: item[\"provisioningState\"],\n };\n}\n\n/** Hourly Schedule properties */\nexport interface HourlySchedule {\n /** Hourly snapshot count to keep */\n snapshotsToKeep?: number;\n /** Indicates which minute snapshot should be taken */\n minute?: number;\n /** Resource size in bytes, current storage usage for the volume in bytes */\n usedBytes?: number;\n}\n\nexport function hourlyScheduleSerializer(item: HourlySchedule): any {\n return {\n snapshotsToKeep: item[\"snapshotsToKeep\"],\n minute: item[\"minute\"],\n usedBytes: item[\"usedBytes\"],\n };\n}\n\nexport function hourlyScheduleDeserializer(item: any): HourlySchedule {\n return {\n snapshotsToKeep: item[\"snapshotsToKeep\"],\n minute: item[\"minute\"],\n usedBytes: item[\"usedBytes\"],\n };\n}\n\n/** Daily Schedule properties */\nexport interface DailySchedule {\n /** Daily snapshot count to keep */\n snapshotsToKeep?: number;\n /** Indicates which hour in UTC timezone a snapshot should be taken */\n hour?: number;\n /** Indicates which minute snapshot should be taken */\n minute?: number;\n /** Resource size in bytes, current storage usage for the volume in bytes */\n usedBytes?: number;\n}\n\nexport function dailyScheduleSerializer(item: DailySchedule): any {\n return {\n snapshotsToKeep: item[\"snapshotsToKeep\"],\n hour: item[\"hour\"],\n minute: item[\"minute\"],\n usedBytes: item[\"usedBytes\"],\n };\n}\n\nexport function dailyScheduleDeserializer(item: any): DailySchedule {\n return {\n snapshotsToKeep: item[\"snapshotsToKeep\"],\n hour: item[\"hour\"],\n minute: item[\"minute\"],\n usedBytes: item[\"usedBytes\"],\n };\n}\n\n/** Weekly Schedule properties, make a snapshot every week at a specific day or days */\nexport interface WeeklySchedule {\n /** Weekly snapshot count to keep */\n snapshotsToKeep?: number;\n /** Indicates which weekdays snapshot should be taken, accepts a comma separated list of week day names in english */\n day?: string;\n /** Indicates which hour in UTC timezone a snapshot should be taken */\n hour?: number;\n /** Indicates which minute snapshot should be taken */\n minute?: number;\n /** Resource size in bytes, current storage usage for the volume in bytes */\n usedBytes?: number;\n}\n\nexport function weeklyScheduleSerializer(item: WeeklySchedule): any {\n return {\n snapshotsToKeep: item[\"snapshotsToKeep\"],\n day: item[\"day\"],\n hour: item[\"hour\"],\n minute: item[\"minute\"],\n usedBytes: item[\"usedBytes\"],\n };\n}\n\nexport function weeklyScheduleDeserializer(item: any): WeeklySchedule {\n return {\n snapshotsToKeep: item[\"snapshotsToKeep\"],\n day: item[\"day\"],\n hour: item[\"hour\"],\n minute: item[\"minute\"],\n usedBytes: item[\"usedBytes\"],\n };\n}\n\n/** Monthly Schedule properties */\nexport interface MonthlySchedule {\n /** Monthly snapshot count to keep */\n snapshotsToKeep?: number;\n /** Indicates which days of the month snapshot should be taken. A comma delimited string. */\n daysOfMonth?: string;\n /** Indicates which hour in UTC timezone a snapshot should be taken */\n hour?: number;\n /** Indicates which minute snapshot should be taken */\n minute?: number;\n /** Resource size in bytes, current storage usage for the volume in bytes */\n usedBytes?: number;\n}\n\nexport function monthlyScheduleSerializer(item: MonthlySchedule): any {\n return {\n snapshotsToKeep: item[\"snapshotsToKeep\"],\n daysOfMonth: item[\"daysOfMonth\"],\n hour: item[\"hour\"],\n minute: item[\"minute\"],\n usedBytes: item[\"usedBytes\"],\n };\n}\n\nexport function monthlyScheduleDeserializer(item: any): MonthlySchedule {\n return {\n snapshotsToKeep: item[\"snapshotsToKeep\"],\n daysOfMonth: item[\"daysOfMonth\"],\n hour: item[\"hour\"],\n minute: item[\"minute\"],\n usedBytes: item[\"usedBytes\"],\n };\n}\n\n/** Snapshot policy Details for create and update */\nexport interface SnapshotPolicyPatch {\n /** Resource location */\n location?: string;\n /** Resource Id */\n readonly id?: string;\n /** Resource name */\n readonly name?: string;\n /** Resource type */\n readonly type?: string;\n /** Resource tags */\n tags?: Record<string, string>;\n /** Snapshot Policy properties */\n properties?: SnapshotPolicyProperties;\n}\n\nexport function snapshotPolicyPatchSerializer(item: SnapshotPolicyPatch): any {\n return {\n location: item[\"location\"],\n tags: item[\"tags\"],\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : snapshotPolicyPropertiesSerializer(item[\"properties\"]),\n };\n}\n\n/** List of Snapshot Policies */\nexport interface _SnapshotPoliciesList {\n /** The SnapshotPolicy items on this page */\n value: SnapshotPolicy[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _snapshotPoliciesListDeserializer(item: any): _SnapshotPoliciesList {\n return {\n value: snapshotPolicyArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function snapshotPolicyArraySerializer(result: Array<SnapshotPolicy>): any[] {\n return result.map((item) => {\n return snapshotPolicySerializer(item);\n });\n}\n\nexport function snapshotPolicyArrayDeserializer(result: Array<SnapshotPolicy>): any[] {\n return result.map((item) => {\n return snapshotPolicyDeserializer(item);\n });\n}\n\n/** Volumes associated with snapshot policy */\nexport interface SnapshotPolicyVolumeList {\n /** The Volume items on this page */\n value: Volume[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function snapshotPolicyVolumeListDeserializer(item: any): SnapshotPolicyVolumeList {\n return {\n value: volumeArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\n/** Backup policy information */\nexport interface BackupPolicy extends TrackedResource {\n /** Backup policy Properties */\n properties: BackupPolicyProperties;\n /** \"If etag is provided in the response body, it may also be provided as a header per the normal etag convention. Entity tags are used for comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range (section 14.27) header fields.\") */\n readonly etag?: string;\n}\n\nexport function backupPolicySerializer(item: BackupPolicy): any {\n return {\n tags: item[\"tags\"],\n location: item[\"location\"],\n properties: backupPolicyPropertiesSerializer(item[\"properties\"]),\n };\n}\n\nexport function backupPolicyDeserializer(item: any): BackupPolicy {\n return {\n tags: item[\"tags\"],\n location: item[\"location\"],\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: backupPolicyPropertiesDeserializer(item[\"properties\"]),\n etag: item[\"etag\"],\n };\n}\n\n/** Backup policy properties */\nexport interface BackupPolicyProperties {\n /** Backup Policy GUID ID */\n readonly backupPolicyId?: string;\n /** Azure lifecycle management */\n readonly provisioningState?: string;\n /** Daily backups count to keep */\n dailyBackupsToKeep?: number;\n /** Weekly backups count to keep */\n weeklyBackupsToKeep?: number;\n /** Monthly backups count to keep */\n monthlyBackupsToKeep?: number;\n /** Volumes using current backup policy */\n readonly volumesAssigned?: number;\n /** The property to decide policy is enabled or not */\n enabled?: boolean;\n /** A list of volumes assigned to this policy */\n readonly volumeBackups?: VolumeBackups[];\n}\n\nexport function backupPolicyPropertiesSerializer(item: BackupPolicyProperties): any {\n return {\n dailyBackupsToKeep: item[\"dailyBackupsToKeep\"],\n weeklyBackupsToKeep: item[\"weeklyBackupsToKeep\"],\n monthlyBackupsToKeep: item[\"monthlyBackupsToKeep\"],\n enabled: item[\"enabled\"],\n };\n}\n\nexport function backupPolicyPropertiesDeserializer(item: any): BackupPolicyProperties {\n return {\n backupPolicyId: item[\"backupPolicyId\"],\n provisioningState: item[\"provisioningState\"],\n dailyBackupsToKeep: item[\"dailyBackupsToKeep\"],\n weeklyBackupsToKeep: item[\"weeklyBackupsToKeep\"],\n monthlyBackupsToKeep: item[\"monthlyBackupsToKeep\"],\n volumesAssigned: item[\"volumesAssigned\"],\n enabled: item[\"enabled\"],\n volumeBackups: !item[\"volumeBackups\"]\n ? item[\"volumeBackups\"]\n : volumeBackupsArrayDeserializer(item[\"volumeBackups\"]),\n };\n}\n\nexport function volumeBackupsArrayDeserializer(result: Array<VolumeBackups>): any[] {\n return result.map((item) => {\n return volumeBackupsDeserializer(item);\n });\n}\n\n/** Volume details using the backup policy */\nexport interface VolumeBackups {\n /** Volume name */\n volumeName?: string;\n /** ResourceId used to identify the Volume */\n volumeResourceId?: string;\n /** Total count of backups for volume */\n backupsCount?: number;\n /** Policy enabled */\n policyEnabled?: boolean;\n}\n\nexport function volumeBackupsDeserializer(item: any): VolumeBackups {\n return {\n volumeName: item[\"volumeName\"],\n volumeResourceId: item[\"volumeResourceId\"],\n backupsCount: item[\"backupsCount\"],\n policyEnabled: item[\"policyEnabled\"],\n };\n}\n\n/** Backup policy Details for create and update */\nexport interface BackupPolicyPatch {\n /** Resource location */\n location?: string;\n /** Resource Id */\n readonly id?: string;\n /** Resource name */\n readonly name?: string;\n /** Resource type */\n readonly type?: string;\n /** Resource tags */\n tags?: Record<string, string>;\n /** Backup policy Properties */\n properties?: BackupPolicyProperties;\n}\n\nexport function backupPolicyPatchSerializer(item: BackupPolicyPatch): any {\n return {\n location: item[\"location\"],\n tags: item[\"tags\"],\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : backupPolicyPropertiesSerializer(item[\"properties\"]),\n };\n}\n\n/** List of Backup Policies */\nexport interface _BackupPoliciesList {\n /** The BackupPolicy items on this page */\n value: BackupPolicy[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _backupPoliciesListDeserializer(item: any): _BackupPoliciesList {\n return {\n value: backupPolicyArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function backupPolicyArraySerializer(result: Array<BackupPolicy>): any[] {\n return result.map((item) => {\n return backupPolicySerializer(item);\n });\n}\n\nexport function backupPolicyArrayDeserializer(result: Array<BackupPolicy>): any[] {\n return result.map((item) => {\n return backupPolicyDeserializer(item);\n });\n}\n\n/** Quota Rule of a Volume */\nexport interface VolumeQuotaRule extends TrackedResource {\n /** Volume Quota Rule Properties */\n properties?: VolumeQuotaRulesProperties;\n}\n\nexport function volumeQuotaRuleSerializer(item: VolumeQuotaRule): any {\n return {\n tags: item[\"tags\"],\n location: item[\"location\"],\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : volumeQuotaRulesPropertiesSerializer(item[\"properties\"]),\n };\n}\n\nexport function volumeQuotaRuleDeserializer(item: any): VolumeQuotaRule {\n return {\n tags: item[\"tags\"],\n location: item[\"location\"],\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : volumeQuotaRulesPropertiesDeserializer(item[\"properties\"]),\n };\n}\n\n/** Volume Quota Rule properties */\nexport interface VolumeQuotaRulesProperties {\n /** Gets the status of the VolumeQuotaRule at the time the operation was called. */\n readonly provisioningState?: NetAppProvisioningState;\n /** Size of quota */\n quotaSizeInKiBs?: number;\n /** Type of quota */\n quotaType?: Type;\n /** UserID/GroupID/SID based on the quota target type. UserID and groupID can be found by running ‘id’ or ‘getent’ command for the user or group and SID can be found by running <wmic useraccount where name='user-name' get sid> */\n quotaTarget?: string;\n}\n\nexport function volumeQuotaRulesPropertiesSerializer(item: VolumeQuotaRulesProperties): any {\n return {\n quotaSizeInKiBs: item[\"quotaSizeInKiBs\"],\n quotaType: item[\"quotaType\"],\n quotaTarget: item[\"quotaTarget\"],\n };\n}\n\nexport function volumeQuotaRulesPropertiesDeserializer(item: any): VolumeQuotaRulesProperties {\n return {\n provisioningState: item[\"provisioningState\"],\n quotaSizeInKiBs: item[\"quotaSizeInKiBs\"],\n quotaType: item[\"quotaType\"],\n quotaTarget: item[\"quotaTarget\"],\n };\n}\n\n/** Gets the status of the VolumeQuotaRule at the time the operation was called. */\nexport enum KnownNetAppProvisioningState {\n /** Resource has been Accepted */\n Accepted = \"Accepted\",\n /** Resource is being Created */\n Creating = \"Creating\",\n /** Resource is being Patched */\n Patching = \"Patching\",\n /** Resource is updating */\n Updating = \"Updating\",\n /** Resource is being Deleted */\n Deleting = \"Deleting\",\n /** Resource is being Moved */\n Moving = \"Moving\",\n /** Resource has Failed */\n Failed = \"Failed\",\n /** Resource has Succeeded */\n Succeeded = \"Succeeded\",\n}\n\n/**\n * Gets the status of the VolumeQuotaRule at the time the operation was called. \\\n * {@link KnownNetAppProvisioningState} can be used interchangeably with NetAppProvisioningState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Accepted**: Resource has been Accepted \\\n * **Creating**: Resource is being Created \\\n * **Patching**: Resource is being Patched \\\n * **Updating**: Resource is updating \\\n * **Deleting**: Resource is being Deleted \\\n * **Moving**: Resource is being Moved \\\n * **Failed**: Resource has Failed \\\n * **Succeeded**: Resource has Succeeded\n */\nexport type NetAppProvisioningState = string;\n\n/** Patchable Quota Rule of a Volume */\nexport interface VolumeQuotaRulePatch {\n /** Resource tags */\n tags?: Record<string, string>;\n /** Volume Quota Rule Properties */\n properties?: VolumeQuotaRulesProperties;\n}\n\nexport function volumeQuotaRulePatchSerializer(item: VolumeQuotaRulePatch): any {\n return {\n tags: item[\"tags\"],\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : volumeQuotaRulesPropertiesSerializer(item[\"properties\"]),\n };\n}\n\n/** List of Volume Quota Rules */\nexport interface _VolumeQuotaRulesList {\n /** The VolumeQuotaRule items on this page */\n value: VolumeQuotaRule[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _volumeQuotaRulesListDeserializer(item: any): _VolumeQuotaRulesList {\n return {\n value: volumeQuotaRuleArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function volumeQuotaRuleArraySerializer(result: Array<VolumeQuotaRule>): any[] {\n return result.map((item) => {\n return volumeQuotaRuleSerializer(item);\n });\n}\n\nexport function volumeQuotaRuleArrayDeserializer(result: Array<VolumeQuotaRule>): any[] {\n return result.map((item) => {\n return volumeQuotaRuleDeserializer(item);\n });\n}\n\n/**\n * Advanced Ransomware Protection (ARP) report\n * Get details of the specified Advanced Ransomware Protection report (ARP).\n * ARP reports are created with a list of suspected files when it detects any combination of high data entropy, abnormal volume activity with data encryption, and unusual file extensions.\n * ARP creates snapshots named Anti_ransomware_backup when it detects a potential ransomware threat. You can use one of these ARP snapshots or another snapshot of your volume to restore data.\n */\nexport interface RansomwareReport extends ProxyResource {\n /** Advanced Ransomware Protection reports Properties */\n properties?: RansomwareReportProperties;\n}\n\nexport function ransomwareReportDeserializer(item: any): RansomwareReport {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : ransomwareReportPropertiesDeserializer(item[\"properties\"]),\n };\n}\n\n/**\n * Advanced Ransomware Protection (ARP) report properties.\n *\n * Evaluate the report to determine whether the activity is acceptable (false positive) or whether an attack seems malicious using the ClearSuspects operation.\n *\n * Advanced Ransomware Protection (ARP) creates snapshots named Anti_ransomware_backup when it detects a potential ransomware threat. You can use one of the ARP snapshots or another snapshot of your volume to restore data.\n */\nexport interface RansomwareReportProperties {\n /** The creation date and time of the report */\n readonly eventTime?: Date;\n /** State of the Advanced Ransomware Protection (ARP) report */\n readonly state?: RansomwareReportState;\n /** Severity of the Advanced Ransomware Protection (ARP) report */\n readonly severity?: RansomwareReportSeverity;\n /** The number of cleared suspects identified by the ARP report */\n readonly clearedCount?: number;\n /** The number of suspects identified by the ARP report */\n readonly reportedCount?: number;\n /** Suspects identified in an ARP report */\n readonly suspects?: RansomwareSuspects[];\n /** Azure lifecycle management */\n readonly provisioningState?: string;\n}\n\nexport function ransomwareReportPropertiesDeserializer(item: any): RansomwareReportProperties {\n return {\n eventTime: !item[\"eventTime\"] ? item[\"eventTime\"] : new Date(item[\"eventTime\"]),\n state: item[\"state\"],\n severity: item[\"severity\"],\n clearedCount: item[\"clearedCount\"],\n reportedCount: item[\"reportedCount\"],\n suspects: !item[\"suspects\"]\n ? item[\"suspects\"]\n : ransomwareSuspectsArrayDeserializer(item[\"suspects\"]),\n provisioningState: item[\"provisioningState\"],\n };\n}\n\n/** State of the Advanced Ransomware Protection (ARP) report */\nexport enum KnownRansomwareReportState {\n /** The ARP report has been created. Take action by running clearsuspects marking suspects as FalsePositive or PotentialThreats */\n Active = \"Active\",\n /** The ARP Report has been resolved */\n Resolved = \"Resolved\",\n}\n\n/**\n * State of the Advanced Ransomware Protection (ARP) report \\\n * {@link KnownRansomwareReportState} can be used interchangeably with RansomwareReportState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Active**: The ARP report has been created. Take action by running clearsuspects marking suspects as FalsePositive or PotentialThreats \\\n * **Resolved**: The ARP Report has been resolved\n */\nexport type RansomwareReportState = string;\n\n/** Severity of the Advanced Ransomware Protection (ARP) report */\nexport enum KnownRansomwareReportSeverity {\n /** No data is suspected for ransomware activity */\n None = \"None\",\n /** Low attack probability */\n Low = \"Low\",\n /** Moderate attack probability */\n Moderate = \"Moderate\",\n /** High amount of data is suspected for ransomware activity */\n High = \"High\",\n}\n\n/**\n * Severity of the Advanced Ransomware Protection (ARP) report \\\n * {@link KnownRansomwareReportSeverity} can be used interchangeably with RansomwareReportSeverity,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **None**: No data is suspected for ransomware activity \\\n * **Low**: Low attack probability \\\n * **Moderate**: Moderate attack probability \\\n * **High**: High amount of data is suspected for ransomware activity\n */\nexport type RansomwareReportSeverity = string;\n\nexport function ransomwareSuspectsArrayDeserializer(result: Array<RansomwareSuspects>): any[] {\n return result.map((item) => {\n return ransomwareSuspectsDeserializer(item);\n });\n}\n\n/** List of suspects identified in an Advanced Ransomware Protection (ARP) report */\nexport interface RansomwareSuspects {\n /** Suspect File extension */\n readonly extension?: string;\n /** ARP report suspect resolution */\n readonly resolution?: RansomwareSuspectResolution;\n /** The number of suspect files at the time of ARP report, this number can change as files get created and report status progresses */\n readonly fileCount?: number;\n /** Suspect files */\n readonly suspectFiles?: SuspectFile[];\n}\n\nexport function ransomwareSuspectsDeserializer(item: any): RansomwareSuspects {\n return {\n extension: item[\"extension\"],\n resolution: item[\"resolution\"],\n fileCount: item[\"fileCount\"],\n suspectFiles: !item[\"suspectFiles\"]\n ? item[\"suspectFiles\"]\n : suspectFileArrayDeserializer(item[\"suspectFiles\"]),\n };\n}\n\n/** ARP report suspect resolution */\nexport enum KnownRansomwareSuspectResolution {\n /** The identified file type is unexpected in your workload and should be treated as a potential attack */\n PotentialThreat = \"PotentialThreat\",\n /** The identified file type is expected in your workload and can be ignored */\n FalsePositive = \"FalsePositive\",\n}\n\n/**\n * ARP report suspect resolution \\\n * {@link KnownRansomwareSuspectResolution} can be used interchangeably with RansomwareSuspectResolution,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **PotentialThreat**: The identified file type is unexpected in your workload and should be treated as a potential attack \\\n * **FalsePositive**: The identified file type is expected in your workload and can be ignored\n */\nexport type RansomwareSuspectResolution = string;\n\nexport function suspectFileArrayDeserializer(result: Array<SuspectFile>): any[] {\n return result.map((item) => {\n return suspectFileDeserializer(item);\n });\n}\n\n/** Suspect file information */\nexport interface SuspectFile {\n /** Suspect filename */\n readonly suspectFileName?: string;\n /** The creation date and time of the file */\n readonly fileTimestamp?: Date;\n}\n\nexport function suspectFileDeserializer(item: any): SuspectFile {\n return {\n suspectFileName: item[\"suspectFileName\"],\n fileTimestamp: !item[\"fileTimestamp\"] ? item[\"fileTimestamp\"] : new Date(item[\"fileTimestamp\"]),\n };\n}\n\n/** List of Advanced Ransomware Protection (ARP) reports */\nexport interface _RansomwareReportsList {\n /** The RansomwareReport items on this page */\n value: RansomwareReport[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _ransomwareReportsListDeserializer(item: any): _RansomwareReportsList {\n return {\n value: ransomwareReportArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function ransomwareReportArrayDeserializer(result: Array<RansomwareReport>): any[] {\n return result.map((item) => {\n return ransomwareReportDeserializer(item);\n });\n}\n\n/** Clear suspects for Advanced Ransomware Protection (ARP) report */\nexport interface RansomwareSuspectsClearRequest {\n /** ARP report suspect resolution */\n resolution: RansomwareSuspectResolution;\n /** List of file extensions resolved (PotentialThreat or FalsePositive) */\n extensions: string[];\n}\n\nexport function ransomwareSuspectsClearRequestSerializer(\n item: RansomwareSuspectsClearRequest,\n): any {\n return {\n resolution: item[\"resolution\"],\n extensions: item[\"extensions\"].map((p: any) => {\n return p;\n }),\n };\n}\n\n/** Backup Vault information */\nexport interface BackupVault extends TrackedResource {\n /** Backup Vault Properties */\n properties?: BackupVaultProperties;\n}\n\nexport function backupVaultSerializer(item: BackupVault): any {\n return {\n tags: item[\"tags\"],\n location: item[\"location\"],\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : backupVaultPropertiesSerializer(item[\"properties\"]),\n };\n}\n\nexport function backupVaultDeserializer(item: any): BackupVault {\n return {\n tags: item[\"tags\"],\n location: item[\"location\"],\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : backupVaultPropertiesDeserializer(item[\"properties\"]),\n };\n}\n\n/** Backup Vault properties */\nexport interface BackupVaultProperties {\n /** Azure lifecycle management */\n readonly provisioningState?: string;\n}\n\nexport function backupVaultPropertiesSerializer(item: BackupVaultProperties): any {\n return item;\n}\n\nexport function backupVaultPropertiesDeserializer(item: any): BackupVaultProperties {\n return {\n provisioningState: item[\"provisioningState\"],\n };\n}\n\n/** Backup Vault information */\nexport interface BackupVaultPatch {\n /** Resource tags */\n tags?: Record<string, string>;\n}\n\nexport function backupVaultPatchSerializer(item: BackupVaultPatch): any {\n return { tags: item[\"tags\"] };\n}\n\n/** List of Backup Vaults */\nexport interface _BackupVaultsList {\n /** The BackupVault items on this page */\n value: BackupVault[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _backupVaultsListDeserializer(item: any): _BackupVaultsList {\n return {\n value: backupVaultArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function backupVaultArraySerializer(result: Array<BackupVault>): any[] {\n return result.map((item) => {\n return backupVaultSerializer(item);\n });\n}\n\nexport function backupVaultArrayDeserializer(result: Array<BackupVault>): any[] {\n return result.map((item) => {\n return backupVaultDeserializer(item);\n });\n}\n\n/** Bucket resource */\nexport interface Bucket extends ProxyResource {\n /** Bucket properties */\n properties?: BucketProperties;\n}\n\nexport function bucketSerializer(item: Bucket): any {\n return {\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : bucketPropertiesSerializer(item[\"properties\"]),\n };\n}\n\nexport function bucketDeserializer(item: any): Bucket {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : bucketPropertiesDeserializer(item[\"properties\"]),\n };\n}\n\n/** Bucket resource properties */\nexport interface BucketProperties {\n /** The volume path mounted inside the bucket. The default is the root path '/' if no value is provided when the bucket is created. */\n path?: string;\n /** File System user having access to volume data. For Unix, this is the user's uid and gid. For Windows, this is the user's username. Note that the Unix and Windows user details are mutually exclusive, meaning one or other must be supplied, but not both. */\n fileSystemUser?: FileSystemUser;\n /** Provisioning state of the resource */\n readonly provisioningState?: NetAppProvisioningState;\n /**\n * The bucket credentials status. There states:\n *\n * \"NoCredentialsSet\": Access and Secret key pair have not been generated.\n * \"CredentialsExpired\": Access and Secret key pair have expired.\n * \"Active\": The certificate has been installed and credentials are unexpired.\n */\n readonly status?: CredentialsStatus;\n /** Properties of the server managing the lifecycle of volume buckets */\n server?: BucketServerProperties;\n /** Access permissions for the bucket. Either ReadOnly or ReadWrite. The default is ReadOnly if no value is provided during bucket creation. */\n permissions?: BucketPermissions;\n}\n\nexport function bucketPropertiesSerializer(item: BucketProperties): any {\n return {\n path: item[\"path\"],\n fileSystemUser: !item[\"fileSystemUser\"]\n ? item[\"fileSystemUser\"]\n : fileSystemUserSerializer(item[\"fileSystemUser\"]),\n server: !item[\"server\"] ? item[\"server\"] : bucketServerPropertiesSerializer(item[\"server\"]),\n permissions: item[\"permissions\"],\n };\n}\n\nexport function bucketPropertiesDeserializer(item: any): BucketProperties {\n return {\n path: item[\"path\"],\n fileSystemUser: !item[\"fileSystemUser\"]\n ? item[\"fileSystemUser\"]\n : fileSystemUserDeserializer(item[\"fileSystemUser\"]),\n provisioningState: item[\"provisioningState\"],\n status: item[\"status\"],\n server: !item[\"server\"] ? item[\"server\"] : bucketServerPropertiesDeserializer(item[\"server\"]),\n permissions: item[\"permissions\"],\n };\n}\n\n/** File System user having access to volume data. For Unix, this is the user's uid and gid. For Windows, this is the user's username. Note that the Unix and Windows user details are mutually exclusive, meaning one or other must be supplied, but not both. */\nexport interface FileSystemUser {\n /** The effective NFS User ID and Group ID when accessing the volume data. */\n nfsUser?: NfsUser;\n /** The effective CIFS username when accessing the volume data. */\n cifsUser?: CifsUser;\n}\n\nexport function fileSystemUserSerializer(item: FileSystemUser): any {\n return {\n nfsUser: !item[\"nfsUser\"] ? item[\"nfsUser\"] : nfsUserSerializer(item[\"nfsUser\"]),\n cifsUser: !item[\"cifsUser\"] ? item[\"cifsUser\"] : cifsUserSerializer(item[\"cifsUser\"]),\n };\n}\n\nexport function fileSystemUserDeserializer(item: any): FileSystemUser {\n return {\n nfsUser: !item[\"nfsUser\"] ? item[\"nfsUser\"] : nfsUserDeserializer(item[\"nfsUser\"]),\n cifsUser: !item[\"cifsUser\"] ? item[\"cifsUser\"] : cifsUserDeserializer(item[\"cifsUser\"]),\n };\n}\n\n/** The effective NFS User ID and Group ID when accessing the volume data. */\nexport interface NfsUser {\n /** The NFS user's UID */\n userId?: number;\n /** The NFS user's GID */\n groupId?: number;\n}\n\nexport function nfsUserSerializer(item: NfsUser): any {\n return { userId: item[\"userId\"], groupId: item[\"groupId\"] };\n}\n\nexport function nfsUserDeserializer(item: any): NfsUser {\n return {\n userId: item[\"userId\"],\n groupId: item[\"groupId\"],\n };\n}\n\n/** The effective CIFS username when accessing the volume data. */\nexport interface CifsUser {\n /** The CIFS user's username */\n username?: string;\n}\n\nexport function cifsUserSerializer(item: CifsUser): any {\n return { username: item[\"username\"] };\n}\n\nexport function cifsUserDeserializer(item: any): CifsUser {\n return {\n username: item[\"username\"],\n };\n}\n\n/**\n * The bucket credentials status. There states:\n *\n * \"NoCredentialsSet\": Access and Secret key pair have not been generated.\n * \"CredentialsExpired\": Access and Secret key pair have expired.\n * \"Active\": The certificate has been installed and credentials are unexpired.\n */\nexport enum KnownCredentialsStatus {\n /** Access and Secret key pair have not been generated. */\n NoCredentialsSet = \"NoCredentialsSet\",\n /** Access and Secret key pair have expired. */\n CredentialsExpired = \"CredentialsExpired\",\n /** The certificate has been installed on the bucket server and the bucket credentials are unexpired. */\n Active = \"Active\",\n}\n\n/**\n * The bucket credentials status. There states:\n *\n * \"NoCredentialsSet\": Access and Secret key pair have not been generated.\n * \"CredentialsExpired\": Access and Secret key pair have expired.\n * \"Active\": The certificate has been installed and credentials are unexpired. \\\n * {@link KnownCredentialsStatus} can be used interchangeably with CredentialsStatus,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **NoCredentialsSet**: Access and Secret key pair have not been generated. \\\n * **CredentialsExpired**: Access and Secret key pair have expired. \\\n * **Active**: The certificate has been installed on the bucket server and the bucket credentials are unexpired.\n */\nexport type CredentialsStatus = string;\n\n/** Properties of the server managing the lifecycle of volume buckets */\nexport interface BucketServerProperties {\n /** The host part of the bucket URL, resolving to the bucket IP address and allowed by the server certificate. */\n fqdn?: string;\n /** Certificate Common Name taken from the certificate installed on the bucket server */\n readonly certificateCommonName?: string;\n /** The bucket server's certificate expiry date. */\n readonly certificateExpiryDate?: Date;\n /** The bucket server's IPv4 address */\n readonly ipAddress?: string;\n /** A base64-encoded PEM file, which includes both the bucket server's certificate and private key. It is used to authenticate the user and allows access to volume data in a read-only manner. */\n certificateObject?: string;\n}\n\nexport function bucketServerPropertiesSerializer(item: BucketServerProperties): any {\n return { fqdn: item[\"fqdn\"], certificateObject: item[\"certificateObject\"] };\n}\n\nexport function bucketServerPropertiesDeserializer(item: any): BucketServerProperties {\n return {\n fqdn: item[\"fqdn\"],\n certificateCommonName: item[\"certificateCommonName\"],\n certificateExpiryDate: !item[\"certificateExpiryDate\"]\n ? item[\"certificateExpiryDate\"]\n : new Date(item[\"certificateExpiryDate\"]),\n ipAddress: item[\"ipAddress\"],\n certificateObject: item[\"certificateObject\"],\n };\n}\n\n/** Access permissions for the bucket. Either ReadOnly or ReadWrite. The default is ReadOnly if no value is provided during bucket creation. */\nexport enum KnownBucketPermissions {\n /** Read-only access to bucket. */\n ReadOnly = \"ReadOnly\",\n /** Read-write access to bucket. */\n ReadWrite = \"ReadWrite\",\n}\n\n/**\n * Access permissions for the bucket. Either ReadOnly or ReadWrite. The default is ReadOnly if no value is provided during bucket creation. \\\n * {@link KnownBucketPermissions} can be used interchangeably with BucketPermissions,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **ReadOnly**: Read-only access to bucket. \\\n * **ReadWrite**: Read-write access to bucket.\n */\nexport type BucketPermissions = string;\n\n/** Bucket resource */\nexport interface BucketPatch extends ProxyResource {\n /** Bucket properties */\n properties?: BucketPatchProperties;\n}\n\nexport function bucketPatchSerializer(item: BucketPatch): any {\n return {\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : bucketPatchPropertiesSerializer(item[\"properties\"]),\n };\n}\n\n/** Bucket resource properties for a Patch operation */\nexport interface BucketPatchProperties {\n /** The volume path mounted inside the bucket. */\n path?: string;\n /** File System user having access to volume data. For Unix, this is the user's uid and gid. For Windows, this is the user's username. Note that the Unix and Windows user details are mutually exclusive, meaning one or other must be supplied, but not both. */\n fileSystemUser?: FileSystemUser;\n /** Provisioning state of the resource */\n readonly provisioningState?: NetAppProvisioningState;\n /** Properties of the server managing the lifecycle of volume buckets */\n server?: BucketServerPatchProperties;\n /** Access permissions for the bucket. Either ReadOnly or ReadWrite. */\n permissions?: BucketPatchPermissions;\n}\n\nexport function bucketPatchPropertiesSerializer(item: BucketPatchProperties): any {\n return {\n path: item[\"path\"],\n fileSystemUser: !item[\"fileSystemUser\"]\n ? item[\"fileSystemUser\"]\n : fileSystemUserSerializer(item[\"fileSystemUser\"]),\n server: !item[\"server\"]\n ? item[\"server\"]\n : bucketServerPatchPropertiesSerializer(item[\"server\"]),\n permissions: item[\"permissions\"],\n };\n}\n\n/** Properties of the server managing the lifecycle of volume buckets */\nexport interface BucketServerPatchProperties {\n /** The host part of the bucket URL, resolving to the bucket IP address and allowed by the server certificate. */\n fqdn?: string;\n /** A base64-encoded PEM file, which includes both the bucket server's certificate and private key. It is used to authenticate the user and allows access to volume data in a read-only manner. */\n certificateObject?: string;\n}\n\nexport function bucketServerPatchPropertiesSerializer(item: BucketServerPatchProperties): any {\n return { fqdn: item[\"fqdn\"], certificateObject: item[\"certificateObject\"] };\n}\n\n/** Access permissions for the bucket. Either ReadOnly or ReadWrite. */\nexport enum KnownBucketPatchPermissions {\n /** Read-only access to bucket. */\n ReadOnly = \"ReadOnly\",\n /** Read-write access to bucket. */\n ReadWrite = \"ReadWrite\",\n}\n\n/**\n * Access permissions for the bucket. Either ReadOnly or ReadWrite. \\\n * {@link KnownBucketPatchPermissions} can be used interchangeably with BucketPatchPermissions,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **ReadOnly**: Read-only access to bucket. \\\n * **ReadWrite**: Read-write access to bucket.\n */\nexport type BucketPatchPermissions = string;\n\n/** List of volume bucket resources */\nexport interface _BucketList {\n /** The Bucket items on this page */\n value: Bucket[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _bucketListDeserializer(item: any): _BucketList {\n return {\n value: bucketArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function bucketArraySerializer(result: Array<Bucket>): any[] {\n return result.map((item) => {\n return bucketSerializer(item);\n });\n}\n\nexport function bucketArrayDeserializer(result: Array<Bucket>): any[] {\n return result.map((item) => {\n return bucketDeserializer(item);\n });\n}\n\n/** The bucket's Access and Secret key pair Expiry Time expressed as the number of days from now. */\nexport interface BucketCredentialsExpiry {\n /** The number of days from now until the newly generated Access and Secret key pair will expire. */\n keyPairExpiryDays?: number;\n}\n\nexport function bucketCredentialsExpirySerializer(item: BucketCredentialsExpiry): any {\n return { keyPairExpiryDays: item[\"keyPairExpiryDays\"] };\n}\n\n/** Bucket Access Key, Secret Key, and Expiry date and time of the key pair */\nexport interface BucketGenerateCredentials {\n /** The Access Key that is required along with the Secret Key to access the bucket. */\n readonly accessKey?: string;\n /** The Secret Key that is required along with the Access Key to access the bucket. */\n readonly secretKey?: string;\n /** The bucket's Access and Secret key pair expiry date and time (in UTC). */\n readonly keyPairExpiry?: Date;\n}\n\nexport function bucketGenerateCredentialsDeserializer(item: any): BucketGenerateCredentials {\n return {\n accessKey: item[\"accessKey\"],\n secretKey: item[\"secretKey\"],\n keyPairExpiry: !item[\"keyPairExpiry\"] ? item[\"keyPairExpiry\"] : new Date(item[\"keyPairExpiry\"]),\n };\n}\n\n/** Cache resource */\nexport interface Cache extends TrackedResource {\n /** Cache properties */\n properties: CacheProperties;\n /** \"If etag is provided in the response body, it may also be provided as a header per the normal etag convention. Entity tags are used for comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range (section 14.27) header fields.\") */\n readonly etag?: string;\n /** The availability zones. */\n zones?: string[];\n}\n\nexport function cacheSerializer(item: Cache): any {\n return {\n tags: item[\"tags\"],\n location: item[\"location\"],\n properties: cachePropertiesSerializer(item[\"properties\"]),\n zones: !item[\"zones\"]\n ? item[\"zones\"]\n : item[\"zones\"].map((p: any) => {\n return p;\n }),\n };\n}\n\nexport function cacheDeserializer(item: any): Cache {\n return {\n tags: item[\"tags\"],\n location: item[\"location\"],\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: cachePropertiesDeserializer(item[\"properties\"]),\n etag: item[\"etag\"],\n zones: !item[\"zones\"]\n ? item[\"zones\"]\n : item[\"zones\"].map((p: any) => {\n return p;\n }),\n };\n}\n\n/** Cache resource properties */\nexport interface CacheProperties {\n /** The file path of the Cache. */\n filepath: string;\n /** Maximum storage quota allowed for a file system in bytes. Valid values are in the range 50GiB to 1PiB. Values expressed in bytes as multiples of 1GiB. */\n size: number;\n /** Set of export policy rules */\n exportPolicy?: ExportPolicyRule[];\n /** Set of protocol types, default NFSv3, CIFS for SMB protocol */\n protocolTypes?: ProtocolTypes[];\n /** Azure lifecycle management */\n readonly provisioningState?: CacheProvisioningState;\n /** Azure NetApp Files Cache lifecycle management */\n readonly cacheState?: CacheLifeCycleState;\n /** The Azure Resource URI for a delegated cache subnet that will be used to allocate data IPs. */\n cacheSubnetResourceId: string;\n /** The Azure Resource URI for a delegated subnet that will be used for ANF Intercluster Interface IP addresses. */\n peeringSubnetResourceId: string;\n /** List of mount targets that can be used to mount this cache */\n readonly mountTargets?: CacheMountTargetProperties[];\n /** Describe if a cache is Kerberos enabled. */\n kerberos?: KerberosState;\n /** SMB information for the cache */\n smbSettings?: SmbSettings;\n /** Maximum throughput in MiB/s that can be achieved by this cache volume and this will be accepted as input only for manual qosType cache */\n throughputMibps?: number;\n /** Actual throughput in MiB/s for auto qosType volumes calculated based on size and serviceLevel */\n readonly actualThroughputMibps?: number;\n /** Source of key used to encrypt data in the cache. Applicable if NetApp account has encryption.keySource = 'Microsoft.KeyVault'. Possible values (case-insensitive) are: 'Microsoft.NetApp, Microsoft.KeyVault' */\n encryptionKeySource: EncryptionKeySource;\n /** The resource ID of private endpoint for KeyVault. It must reside in the same VNET as the volume. Only applicable if encryptionKeySource = 'Microsoft.KeyVault'. */\n keyVaultPrivateEndpointResourceId?: string;\n /** Maximum number of files allowed. */\n readonly maximumNumberOfFiles?: number;\n /** Specifies if the cache is encryption or not. */\n readonly encryption?: EncryptionState;\n /** Language supported for volume. */\n readonly language?: VolumeLanguage;\n /** Specifies whether LDAP is enabled or not for flexcache volume. */\n ldap?: LdapState;\n /** Specifies the type of LDAP server for flexcache volume. */\n ldapServerType?: LdapServerType;\n /** Origin cluster information */\n originClusterInformation: OriginClusterInformation;\n /** Flag indicating whether a CIFS change notification is enabled for the cache. */\n cifsChangeNotifications?: CifsChangeNotifyState;\n /** Flag indicating whether the global file lock is enabled for the cache. */\n globalFileLocking?: GlobalFileLockingState;\n /** Flag indicating whether writeback is enabled for the cache. */\n writeBack?: EnableWriteBackState;\n}\n\nexport function cachePropertiesSerializer(item: CacheProperties): any {\n return {\n filepath: item[\"filepath\"],\n size: item[\"size\"],\n exportPolicy: !item[\"exportPolicy\"]\n ? item[\"exportPolicy\"]\n : exportPolicyRuleArraySerializer(item[\"exportPolicy\"]),\n protocolTypes: !item[\"protocolTypes\"]\n ? item[\"protocolTypes\"]\n : item[\"protocolTypes\"].map((p: any) => {\n return p;\n }),\n cacheSubnetResourceId: item[\"cacheSubnetResourceId\"],\n peeringSubnetResourceId: item[\"peeringSubnetResourceId\"],\n kerberos: item[\"kerberos\"],\n smbSettings: !item[\"smbSettings\"]\n ? item[\"smbSettings\"]\n : smbSettingsSerializer(item[\"smbSettings\"]),\n throughputMibps: item[\"throughputMibps\"],\n encryptionKeySource: item[\"encryptionKeySource\"],\n keyVaultPrivateEndpointResourceId: item[\"keyVaultPrivateEndpointResourceId\"],\n ldap: item[\"ldap\"],\n ldapServerType: item[\"ldapServerType\"],\n originClusterInformation: originClusterInformationSerializer(item[\"originClusterInformation\"]),\n cifsChangeNotifications: item[\"cifsChangeNotifications\"],\n globalFileLocking: item[\"globalFileLocking\"],\n writeBack: item[\"writeBack\"],\n };\n}\n\nexport function cachePropertiesDeserializer(item: any): CacheProperties {\n return {\n filepath: item[\"filepath\"],\n size: item[\"size\"],\n exportPolicy: !item[\"exportPolicy\"]\n ? item[\"exportPolicy\"]\n : exportPolicyRuleArrayDeserializer(item[\"exportPolicy\"]),\n protocolTypes: !item[\"protocolTypes\"]\n ? item[\"protocolTypes\"]\n : item[\"protocolTypes\"].map((p: any) => {\n return p;\n }),\n provisioningState: item[\"provisioningState\"],\n cacheState: item[\"cacheState\"],\n cacheSubnetResourceId: item[\"cacheSubnetResourceId\"],\n peeringSubnetResourceId: item[\"peeringSubnetResourceId\"],\n mountTargets: !item[\"mountTargets\"]\n ? item[\"mountTargets\"]\n : cacheMountTargetPropertiesArrayDeserializer(item[\"mountTargets\"]),\n kerberos: item[\"kerberos\"],\n smbSettings: !item[\"smbSettings\"]\n ? item[\"smbSettings\"]\n : smbSettingsDeserializer(item[\"smbSettings\"]),\n throughputMibps: item[\"throughputMibps\"],\n actualThroughputMibps: item[\"actualThroughputMibps\"],\n encryptionKeySource: item[\"encryptionKeySource\"],\n keyVaultPrivateEndpointResourceId: item[\"keyVaultPrivateEndpointResourceId\"],\n maximumNumberOfFiles: item[\"maximumNumberOfFiles\"],\n encryption: item[\"encryption\"],\n language: item[\"language\"],\n ldap: item[\"ldap\"],\n ldapServerType: item[\"ldapServerType\"],\n originClusterInformation: originClusterInformationDeserializer(\n item[\"originClusterInformation\"],\n ),\n cifsChangeNotifications: item[\"cifsChangeNotifications\"],\n globalFileLocking: item[\"globalFileLocking\"],\n writeBack: item[\"writeBack\"],\n };\n}\n\n/** Export policy rule */\nexport enum KnownProtocolTypes {\n /** NFSv3 protocol type */\n NFSv3 = \"NFSv3\",\n /** NFSv4 protocol type */\n NFSv4 = \"NFSv4\",\n /** SMB protocol type */\n SMB = \"SMB\",\n}\n\n/**\n * Export policy rule \\\n * {@link KnownProtocolTypes} can be used interchangeably with ProtocolTypes,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **NFSv3**: NFSv3 protocol type \\\n * **NFSv4**: NFSv4 protocol type \\\n * **SMB**: SMB protocol type\n */\nexport type ProtocolTypes = string;\n\n/** Azure lifecycle management */\nexport enum KnownCacheProvisioningState {\n /** The resource is being created. */\n Creating = \"Creating\",\n /** The resource is being updated. */\n Updating = \"Updating\",\n /** The resource is being deleted. */\n Deleting = \"Deleting\",\n /** The resource is in a failed state. */\n Failed = \"Failed\",\n /** The resource is succeeded. */\n Succeeded = \"Succeeded\",\n /** Resource creation was canceled. */\n Canceled = \"Canceled\",\n}\n\n/**\n * Azure lifecycle management \\\n * {@link KnownCacheProvisioningState} can be used interchangeably with CacheProvisioningState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Creating**: The resource is being created. \\\n * **Updating**: The resource is being updated. \\\n * **Deleting**: The resource is being deleted. \\\n * **Failed**: The resource is in a failed state. \\\n * **Succeeded**: The resource is succeeded. \\\n * **Canceled**: Resource creation was canceled.\n */\nexport type CacheProvisioningState = string;\n\n/** Azure NetApp Files Cache lifecycle management */\nexport enum KnownCacheLifeCycleState {\n /** Cluster peering offer has been sent. */\n ClusterPeeringOfferSent = \"ClusterPeeringOfferSent\",\n /** VServer peering offer has been sent. */\n VserverPeeringOfferSent = \"VserverPeeringOfferSent\",\n /** Cache creation in progress. */\n Creating = \"Creating\",\n /** Cache creation succeeded and is available for use. */\n Succeeded = \"Succeeded\",\n /** Cache is in a failed state */\n Failed = \"Failed\",\n}\n\n/**\n * Azure NetApp Files Cache lifecycle management \\\n * {@link KnownCacheLifeCycleState} can be used interchangeably with CacheLifeCycleState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **ClusterPeeringOfferSent**: Cluster peering offer has been sent. \\\n * **VserverPeeringOfferSent**: VServer peering offer has been sent. \\\n * **Creating**: Cache creation in progress. \\\n * **Succeeded**: Cache creation succeeded and is available for use. \\\n * **Failed**: Cache is in a failed state\n */\nexport type CacheLifeCycleState = string;\n\nexport function cacheMountTargetPropertiesArrayDeserializer(\n result: Array<CacheMountTargetProperties>,\n): any[] {\n return result.map((item) => {\n return cacheMountTargetPropertiesDeserializer(item);\n });\n}\n\n/** Contains all the information needed to mount a cache */\nexport interface CacheMountTargetProperties {\n /** UUID v4 used to identify the MountTarget */\n readonly mountTargetId?: string;\n /** The mount target's IPv4 address, used to mount the cache. */\n readonly ipAddress?: string;\n /** The SMB server's Fully Qualified Domain Name, FQDN */\n readonly smbServerFqdn?: string;\n}\n\nexport function cacheMountTargetPropertiesDeserializer(item: any): CacheMountTargetProperties {\n return {\n mountTargetId: item[\"mountTargetId\"],\n ipAddress: item[\"ipAddress\"],\n smbServerFqdn: item[\"smbServerFqdn\"],\n };\n}\n\n/** Describe if a cache is Kerberos enabled. */\nexport enum KnownKerberosState {\n /** Kerberos is disabled */\n Disabled = \"Disabled\",\n /** Kerberos is enabled */\n Enabled = \"Enabled\",\n}\n\n/**\n * Describe if a cache is Kerberos enabled. \\\n * {@link KnownKerberosState} can be used interchangeably with KerberosState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Disabled**: Kerberos is disabled \\\n * **Enabled**: Kerberos is enabled\n */\nexport type KerberosState = string;\n\n/** SMB settings for the cache */\nexport interface SmbSettings {\n /** Enables encryption for in-flight smb3 data. Only applicable for SMB/DualProtocol cache. */\n smbEncryption?: SmbEncryptionState;\n /** Enables access-based enumeration share property for SMB Shares. Only applicable for SMB/DualProtocol volume */\n smbAccessBasedEnumerations?: SmbAccessBasedEnumeration;\n /** Enables non-browsable property for SMB Shares. Only applicable for SMB/DualProtocol volume */\n smbNonBrowsable?: SmbNonBrowsable;\n}\n\nexport function smbSettingsSerializer(item: SmbSettings): any {\n return {\n smbEncryption: item[\"smbEncryption\"],\n smbAccessBasedEnumerations: item[\"smbAccessBasedEnumerations\"],\n smbNonBrowsable: item[\"smbNonBrowsable\"],\n };\n}\n\nexport function smbSettingsDeserializer(item: any): SmbSettings {\n return {\n smbEncryption: item[\"smbEncryption\"],\n smbAccessBasedEnumerations: item[\"smbAccessBasedEnumerations\"],\n smbNonBrowsable: item[\"smbNonBrowsable\"],\n };\n}\n\n/** Enables encryption for in-flight smb3 data. Only applicable for SMB/DualProtocol cache */\nexport enum KnownSmbEncryptionState {\n /** SMB encryption is disabled */\n Disabled = \"Disabled\",\n /** SMB encryption is enabled */\n Enabled = \"Enabled\",\n}\n\n/**\n * Enables encryption for in-flight smb3 data. Only applicable for SMB/DualProtocol cache \\\n * {@link KnownSmbEncryptionState} can be used interchangeably with SmbEncryptionState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Disabled**: SMB encryption is disabled \\\n * **Enabled**: SMB encryption is enabled\n */\nexport type SmbEncryptionState = string;\n\n/** Specifies if the cache is encryption or not. */\nexport enum KnownEncryptionState {\n /** Encryption is disabled */\n Disabled = \"Disabled\",\n /** Encryption is enabled */\n Enabled = \"Enabled\",\n}\n\n/**\n * Specifies if the cache is encryption or not. \\\n * {@link KnownEncryptionState} can be used interchangeably with EncryptionState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Disabled**: Encryption is disabled \\\n * **Enabled**: Encryption is enabled\n */\nexport type EncryptionState = string;\n\n/** Specifies whether LDAP is enabled or not. */\nexport enum KnownLdapState {\n /** ldap is disabled. */\n Disabled = \"Disabled\",\n /** ldap is enabled */\n Enabled = \"Enabled\",\n}\n\n/**\n * Specifies whether LDAP is enabled or not. \\\n * {@link KnownLdapState} can be used interchangeably with LdapState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Disabled**: ldap is disabled. \\\n * **Enabled**: ldap is enabled\n */\nexport type LdapState = string;\n\n/** Stores the origin cluster information associated to a cache. */\nexport interface OriginClusterInformation {\n /** ONTAP cluster name of external cluster hosting the origin volume */\n peerClusterName: string;\n /** ONTAP Intercluster LIF IP addresses. One IP address per cluster node is required */\n peerAddresses: string[];\n /** External Vserver (SVM) name name of the SVM hosting the origin volume */\n peerVserverName: string;\n /** External origin volume name associated to this cache */\n peerVolumeName: string;\n}\n\nexport function originClusterInformationSerializer(item: OriginClusterInformation): any {\n return {\n peerClusterName: item[\"peerClusterName\"],\n peerAddresses: item[\"peerAddresses\"].map((p: any) => {\n return p;\n }),\n peerVserverName: item[\"peerVserverName\"],\n peerVolumeName: item[\"peerVolumeName\"],\n };\n}\n\nexport function originClusterInformationDeserializer(item: any): OriginClusterInformation {\n return {\n peerClusterName: item[\"peerClusterName\"],\n peerAddresses: item[\"peerAddresses\"].map((p: any) => {\n return p;\n }),\n peerVserverName: item[\"peerVserverName\"],\n peerVolumeName: item[\"peerVolumeName\"],\n };\n}\n\n/** Flag indicating whether a CIFS change notification is enabled for the cache. */\nexport enum KnownCifsChangeNotifyState {\n /** CIFS change notification is disabled */\n Disabled = \"Disabled\",\n /** CIFS change notification is enabled */\n Enabled = \"Enabled\",\n}\n\n/**\n * Flag indicating whether a CIFS change notification is enabled for the cache. \\\n * {@link KnownCifsChangeNotifyState} can be used interchangeably with CifsChangeNotifyState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Disabled**: CIFS change notification is disabled \\\n * **Enabled**: CIFS change notification is enabled\n */\nexport type CifsChangeNotifyState = string;\n\n/** Flag indicating whether the global file lock is enabled for the cache. */\nexport enum KnownGlobalFileLockingState {\n /** Global file locking is disabled */\n Disabled = \"Disabled\",\n /** Global file locking is enabled */\n Enabled = \"Enabled\",\n}\n\n/**\n * Flag indicating whether the global file lock is enabled for the cache. \\\n * {@link KnownGlobalFileLockingState} can be used interchangeably with GlobalFileLockingState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Disabled**: Global file locking is disabled \\\n * **Enabled**: Global file locking is enabled\n */\nexport type GlobalFileLockingState = string;\n\n/** Flag indicating whether writeback is enabled for the cache. */\nexport enum KnownEnableWriteBackState {\n /** Writeback cache is disabled */\n Disabled = \"Disabled\",\n /** Writeback cache is enabled */\n Enabled = \"Enabled\",\n}\n\n/**\n * Flag indicating whether writeback is enabled for the cache. \\\n * {@link KnownEnableWriteBackState} can be used interchangeably with EnableWriteBackState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Disabled**: Writeback cache is disabled \\\n * **Enabled**: Writeback cache is enabled\n */\nexport type EnableWriteBackState = string;\n\n/** The type used for update operations of the Cache. */\nexport interface CacheUpdate {\n /** Resource tags. */\n tags?: Record<string, string>;\n /** The resource-specific properties for this resource. */\n properties?: CacheUpdateProperties;\n}\n\nexport function cacheUpdateSerializer(item: CacheUpdate): any {\n return {\n tags: item[\"tags\"],\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : cacheUpdatePropertiesSerializer(item[\"properties\"]),\n };\n}\n\n/** The updatable properties of the Cache. */\nexport interface CacheUpdateProperties {\n /** Maximum storage quota allowed for a file system in bytes. Valid values are in the range 50GiB to 1PiB. Values expressed in bytes as multiples of 1GiB. */\n size?: number;\n /** Set of export policy rules */\n exportPolicy?: ExportPolicyRule[];\n /** Set of protocol types, default NFSv3, CIFS for SMB protocol */\n protocolTypes?: ProtocolTypes[];\n /** SMB information for the cache */\n smbSettings?: SmbSettings;\n /** Maximum throughput in MiB/s that can be achieved by this cache volume and this will be accepted as input only for manual qosType cache */\n throughputMibps?: number;\n /** The resource ID of private endpoint for KeyVault. It must reside in the same VNET as the volume. Only applicable if encryptionKeySource = 'Microsoft.KeyVault'. */\n keyVaultPrivateEndpointResourceId?: string;\n /** Flag indicating whether a CIFS change notification is enabled for the cache. */\n cifsChangeNotifications?: CifsChangeNotifyState;\n /** Flag indicating whether writeback is enabled for the cache. */\n writeBack?: EnableWriteBackState;\n}\n\nexport function cacheUpdatePropertiesSerializer(item: CacheUpdateProperties): any {\n return {\n size: item[\"size\"],\n exportPolicy: !item[\"exportPolicy\"]\n ? item[\"exportPolicy\"]\n : exportPolicyRuleArraySerializer(item[\"exportPolicy\"]),\n protocolTypes: !item[\"protocolTypes\"]\n ? item[\"protocolTypes\"]\n : item[\"protocolTypes\"].map((p: any) => {\n return p;\n }),\n smbSettings: !item[\"smbSettings\"]\n ? item[\"smbSettings\"]\n : smbSettingsSerializer(item[\"smbSettings\"]),\n throughputMibps: item[\"throughputMibps\"],\n keyVaultPrivateEndpointResourceId: item[\"keyVaultPrivateEndpointResourceId\"],\n cifsChangeNotifications: item[\"cifsChangeNotifications\"],\n writeBack: item[\"writeBack\"],\n };\n}\n\n/** List of Cache resources */\nexport interface _CacheList {\n /** The Cache items on this page */\n value: Cache[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _cacheListDeserializer(item: any): _CacheList {\n return {\n value: cacheArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function cacheArraySerializer(result: Array<Cache>): any[] {\n return result.map((item) => {\n return cacheSerializer(item);\n });\n}\n\nexport function cacheArrayDeserializer(result: Array<Cache>): any[] {\n return result.map((item) => {\n return cacheDeserializer(item);\n });\n}\n\n/** The response containing peering passphrases and commands for cluster and vserver peering. */\nexport interface PeeringPassphrases {\n /** The cluster peering command. */\n clusterPeeringCommand: string;\n /** The cluster peering passphrase. */\n clusterPeeringPassphrase: string;\n /** The vserver peering command. */\n vserverPeeringCommand: string;\n}\n\nexport function peeringPassphrasesDeserializer(item: any): PeeringPassphrases {\n return {\n clusterPeeringCommand: item[\"clusterPeeringCommand\"],\n clusterPeeringPassphrase: item[\"clusterPeeringPassphrase\"],\n vserverPeeringCommand: item[\"vserverPeeringCommand\"],\n };\n}\n\n/** NetApp elastic account resource */\nexport interface ElasticAccount extends TrackedResource {\n /** The resource-specific properties for this resource. */\n properties?: ElasticAccountProperties;\n /** If eTag is provided in the response body, it may also be provided as a header per the normal etag convention. Entity tags are used for comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range (section 14.27) header fields. */\n readonly eTag?: string;\n /** The managed service identities assigned to this resource. */\n identity?: ManagedServiceIdentity;\n}\n\nexport function elasticAccountSerializer(item: ElasticAccount): any {\n return {\n tags: item[\"tags\"],\n location: item[\"location\"],\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : elasticAccountPropertiesSerializer(item[\"properties\"]),\n identity: !item[\"identity\"]\n ? item[\"identity\"]\n : managedServiceIdentitySerializer(item[\"identity\"]),\n };\n}\n\nexport function elasticAccountDeserializer(item: any): ElasticAccount {\n return {\n tags: item[\"tags\"],\n location: item[\"location\"],\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : elasticAccountPropertiesDeserializer(item[\"properties\"]),\n eTag: item[\"eTag\"],\n identity: !item[\"identity\"]\n ? item[\"identity\"]\n : managedServiceIdentityDeserializer(item[\"identity\"]),\n };\n}\n\n/** NetApp elastic account properties */\nexport interface ElasticAccountProperties {\n /** Azure lifecycle management. */\n readonly provisioningState?: NetAppProvisioningState;\n /** Encryption settings */\n encryption?: ElasticEncryption;\n}\n\nexport function elasticAccountPropertiesSerializer(item: ElasticAccountProperties): any {\n return {\n encryption: !item[\"encryption\"]\n ? item[\"encryption\"]\n : elasticEncryptionSerializer(item[\"encryption\"]),\n };\n}\n\nexport function elasticAccountPropertiesDeserializer(item: any): ElasticAccountProperties {\n return {\n provisioningState: item[\"provisioningState\"],\n encryption: !item[\"encryption\"]\n ? item[\"encryption\"]\n : elasticEncryptionDeserializer(item[\"encryption\"]),\n };\n}\n\n/** Encryption settings */\nexport interface ElasticEncryption {\n /** The encryption keySource (provider). Possible values (case-insensitive): Microsoft.NetApp, Microsoft.KeyVault */\n keySource?: KeySource;\n /** Properties provided by KeyVault. Applicable if keySource is 'Microsoft.KeyVault'. */\n keyVaultProperties?: ElasticKeyVaultProperties;\n /** Identity used to authenticate to KeyVault. Applicable if keySource is 'Microsoft.KeyVault'. */\n identity?: ElasticEncryptionIdentity;\n}\n\nexport function elasticEncryptionSerializer(item: ElasticEncryption): any {\n return {\n keySource: item[\"keySource\"],\n keyVaultProperties: !item[\"keyVaultProperties\"]\n ? item[\"keyVaultProperties\"]\n : elasticKeyVaultPropertiesSerializer(item[\"keyVaultProperties\"]),\n identity: !item[\"identity\"]\n ? item[\"identity\"]\n : elasticEncryptionIdentitySerializer(item[\"identity\"]),\n };\n}\n\nexport function elasticEncryptionDeserializer(item: any): ElasticEncryption {\n return {\n keySource: item[\"keySource\"],\n keyVaultProperties: !item[\"keyVaultProperties\"]\n ? item[\"keyVaultProperties\"]\n : elasticKeyVaultPropertiesDeserializer(item[\"keyVaultProperties\"]),\n identity: !item[\"identity\"]\n ? item[\"identity\"]\n : elasticEncryptionIdentityDeserializer(item[\"identity\"]),\n };\n}\n\n/** The encryption keySource (provider). Possible values (case-insensitive): Microsoft.NetApp, Microsoft.KeyVault */\nexport enum KnownKeySource {\n /** Microsoft-managed key encryption */\n MicrosoftNetApp = \"Microsoft.NetApp\",\n /** Customer-managed key encryption */\n MicrosoftKeyVault = \"Microsoft.KeyVault\",\n}\n\n/**\n * The encryption keySource (provider). Possible values (case-insensitive): Microsoft.NetApp, Microsoft.KeyVault \\\n * {@link KnownKeySource} can be used interchangeably with KeySource,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Microsoft.NetApp**: Microsoft-managed key encryption \\\n * **Microsoft.KeyVault**: Customer-managed key encryption\n */\nexport type KeySource = string;\n\n/** Properties of key vault. */\nexport interface ElasticKeyVaultProperties {\n /** The Uri of KeyVault. */\n keyVaultUri?: string;\n /** The name of KeyVault key. */\n keyName?: string;\n /** The resource ID of KeyVault. */\n keyVaultResourceId?: string;\n /** Status of the KeyVault connection. */\n readonly status?: ElasticKeyVaultStatus;\n}\n\nexport function elasticKeyVaultPropertiesSerializer(item: ElasticKeyVaultProperties): any {\n return {\n keyVaultUri: item[\"keyVaultUri\"],\n keyName: item[\"keyName\"],\n keyVaultResourceId: item[\"keyVaultResourceId\"],\n };\n}\n\nexport function elasticKeyVaultPropertiesDeserializer(item: any): ElasticKeyVaultProperties {\n return {\n keyVaultUri: item[\"keyVaultUri\"],\n keyName: item[\"keyName\"],\n keyVaultResourceId: item[\"keyVaultResourceId\"],\n status: item[\"status\"],\n };\n}\n\n/** KeyVault status */\nexport enum KnownElasticKeyVaultStatus {\n /** KeyVault connection created but not in use */\n Created = \"Created\",\n /** KeyVault connection in use by SMB Volume */\n InUse = \"InUse\",\n /** KeyVault connection Deleted */\n Deleted = \"Deleted\",\n /** Error with the KeyVault connection */\n Error = \"Error\",\n /** KeyVault connection Updating */\n Updating = \"Updating\",\n}\n\n/**\n * KeyVault status \\\n * {@link KnownElasticKeyVaultStatus} can be used interchangeably with ElasticKeyVaultStatus,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Created**: KeyVault connection created but not in use \\\n * **InUse**: KeyVault connection in use by SMB Volume \\\n * **Deleted**: KeyVault connection Deleted \\\n * **Error**: Error with the KeyVault connection \\\n * **Updating**: KeyVault connection Updating\n */\nexport type ElasticKeyVaultStatus = string;\n\n/** Identity used to authenticate with key vault. */\nexport interface ElasticEncryptionIdentity {\n /** The principal ID (object ID) of the identity used to authenticate with key vault. Read-only. */\n readonly principalId?: string;\n /** The ARM resource identifier of the user assigned identity used to authenticate with key vault. Applicable if identity.type has 'UserAssigned'. It should match key of identity.userAssignedIdentities. */\n userAssignedIdentity?: string;\n}\n\nexport function elasticEncryptionIdentitySerializer(item: ElasticEncryptionIdentity): any {\n return { userAssignedIdentity: item[\"userAssignedIdentity\"] };\n}\n\nexport function elasticEncryptionIdentityDeserializer(item: any): ElasticEncryptionIdentity {\n return {\n principalId: item[\"principalId\"],\n userAssignedIdentity: item[\"userAssignedIdentity\"],\n };\n}\n\n/** Managed service identity (system assigned and/or user assigned identities) */\nexport interface ManagedServiceIdentity {\n /** The service principal ID of the system assigned identity. This property will only be provided for a system assigned identity. */\n readonly principalId?: string;\n /** The tenant ID of the system assigned identity. This property will only be provided for a system assigned identity. */\n readonly tenantId?: string;\n /** The type of managed identity assigned to this resource. */\n type: ManagedServiceIdentityType;\n /** The identities assigned to this resource by the user. */\n userAssignedIdentities?: Record<string, UserAssignedIdentity | null>;\n}\n\nexport function managedServiceIdentitySerializer(item: ManagedServiceIdentity): any {\n return {\n type: item[\"type\"],\n userAssignedIdentities: item[\"userAssignedIdentities\"],\n };\n}\n\nexport function managedServiceIdentityDeserializer(item: any): ManagedServiceIdentity {\n return {\n principalId: item[\"principalId\"],\n tenantId: item[\"tenantId\"],\n type: item[\"type\"],\n userAssignedIdentities: item[\"userAssignedIdentities\"],\n };\n}\n\n/** Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). */\nexport enum KnownManagedServiceIdentityType {\n /** No managed identity. */\n None = \"None\",\n /** System assigned managed identity. */\n SystemAssigned = \"SystemAssigned\",\n /** User assigned managed identity. */\n UserAssigned = \"UserAssigned\",\n /** System and user assigned managed identity. */\n SystemAssignedUserAssigned = \"SystemAssigned,UserAssigned\",\n}\n\n/**\n * Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). \\\n * {@link KnownManagedServiceIdentityType} can be used interchangeably with ManagedServiceIdentityType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **None**: No managed identity. \\\n * **SystemAssigned**: System assigned managed identity. \\\n * **UserAssigned**: User assigned managed identity. \\\n * **SystemAssigned,UserAssigned**: System and user assigned managed identity.\n */\nexport type ManagedServiceIdentityType = string;\n\n/** User assigned identity properties */\nexport interface UserAssignedIdentity {\n /** The principal ID of the assigned identity. */\n readonly principalId?: string;\n /** The client ID of the assigned identity. */\n readonly clientId?: string;\n}\n\nexport function userAssignedIdentitySerializer(item: UserAssignedIdentity): any {\n return item;\n}\n\nexport function userAssignedIdentityDeserializer(item: any): UserAssignedIdentity {\n return {\n principalId: item[\"principalId\"],\n clientId: item[\"clientId\"],\n };\n}\n\n/** The type used for update operations of the ElasticAccount. */\nexport interface ElasticAccountUpdate {\n /** The managed service identities assigned to this resource. */\n identity?: ManagedServiceIdentity;\n /** Resource tags. */\n tags?: Record<string, string>;\n /** The resource-specific properties for this resource. */\n properties?: ElasticAccountUpdateProperties;\n}\n\nexport function elasticAccountUpdateSerializer(item: ElasticAccountUpdate): any {\n return {\n identity: !item[\"identity\"]\n ? item[\"identity\"]\n : managedServiceIdentitySerializer(item[\"identity\"]),\n tags: item[\"tags\"],\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : elasticAccountUpdatePropertiesSerializer(item[\"properties\"]),\n };\n}\n\n/** The updatable properties of the ElasticAccount. */\nexport interface ElasticAccountUpdateProperties {\n /** Encryption settings */\n encryption?: ElasticEncryption;\n}\n\nexport function elasticAccountUpdatePropertiesSerializer(\n item: ElasticAccountUpdateProperties,\n): any {\n return {\n encryption: !item[\"encryption\"]\n ? item[\"encryption\"]\n : elasticEncryptionSerializer(item[\"encryption\"]),\n };\n}\n\n/** The response of a ElasticAccount list operation. */\nexport interface _ElasticAccountListResult {\n /** The ElasticAccount items on this page */\n value: ElasticAccount[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _elasticAccountListResultDeserializer(item: any): _ElasticAccountListResult {\n return {\n value: elasticAccountArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function elasticAccountArraySerializer(result: Array<ElasticAccount>): any[] {\n return result.map((item) => {\n return elasticAccountSerializer(item);\n });\n}\n\nexport function elasticAccountArrayDeserializer(result: Array<ElasticAccount>): any[] {\n return result.map((item) => {\n return elasticAccountDeserializer(item);\n });\n}\n\n/** NetApp Elastic Capacity Pool resource */\nexport interface ElasticCapacityPool extends TrackedResource {\n /** The resource-specific properties for this resource. */\n properties?: ElasticCapacityPoolProperties;\n /** If eTag is provided in the response body, it may also be provided as a header per the normal etag convention. Entity tags are used for comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range (section 14.27) header fields. */\n readonly eTag?: string;\n /** The availability zones. */\n zones?: string[];\n}\n\nexport function elasticCapacityPoolSerializer(item: ElasticCapacityPool): any {\n return {\n tags: item[\"tags\"],\n location: item[\"location\"],\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : elasticCapacityPoolPropertiesSerializer(item[\"properties\"]),\n zones: !item[\"zones\"]\n ? item[\"zones\"]\n : item[\"zones\"].map((p: any) => {\n return p;\n }),\n };\n}\n\nexport function elasticCapacityPoolDeserializer(item: any): ElasticCapacityPool {\n return {\n tags: item[\"tags\"],\n location: item[\"location\"],\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : elasticCapacityPoolPropertiesDeserializer(item[\"properties\"]),\n eTag: item[\"eTag\"],\n zones: !item[\"zones\"]\n ? item[\"zones\"]\n : item[\"zones\"].map((p: any) => {\n return p;\n }),\n };\n}\n\n/** Elastic capacity pool properties */\nexport interface ElasticCapacityPoolProperties {\n /** Provisioned size of the pool (in bytes). For zoneRedundant service level pool, value must be in the range 1TiB to 16TiB or 1TiB to 128TiB for supported region. Values expressed in bytes as multiples of 1TiB till 16TiB and in multiples of 8TiB from 24TiB to 128TiB. Pool size can't be shrunk once it is created. */\n size: number;\n /** The service level of the elastic capacity pool */\n serviceLevel: ElasticServiceLevel;\n /** Azure lifecycle management. */\n readonly provisioningState?: NetAppProvisioningState;\n /** Encryption settings */\n encryption?: ElasticEncryptionConfiguration;\n /** Total throughput of the pool in MiB/s */\n readonly totalThroughputMibps?: number;\n /** The Azure Resource URI for a delegated subnet. Must have the delegation Microsoft.NetApp/elasticVolumes, this is used by all the volumes within the pool */\n subnetResourceId: string;\n /** Indicates the current zone of the pool. This can be changed for zoneRedundant service level pool with the changeZone action */\n readonly currentZone?: string;\n /** Current availability status of the resource. */\n readonly availabilityStatus?: ElasticResourceAvailabilityStatus;\n /** The Azure Resource URI for an Active Directory configuration. This is used by all the SMB volumes within the pool */\n activeDirectoryConfigResourceId?: string;\n}\n\nexport function elasticCapacityPoolPropertiesSerializer(item: ElasticCapacityPoolProperties): any {\n return {\n size: item[\"size\"],\n serviceLevel: item[\"serviceLevel\"],\n encryption: !item[\"encryption\"]\n ? item[\"encryption\"]\n : elasticEncryptionConfigurationSerializer(item[\"encryption\"]),\n subnetResourceId: item[\"subnetResourceId\"],\n activeDirectoryConfigResourceId: item[\"activeDirectoryConfigResourceId\"],\n };\n}\n\nexport function elasticCapacityPoolPropertiesDeserializer(\n item: any,\n): ElasticCapacityPoolProperties {\n return {\n size: item[\"size\"],\n serviceLevel: item[\"serviceLevel\"],\n provisioningState: item[\"provisioningState\"],\n encryption: !item[\"encryption\"]\n ? item[\"encryption\"]\n : elasticEncryptionConfigurationDeserializer(item[\"encryption\"]),\n totalThroughputMibps: item[\"totalThroughputMibps\"],\n subnetResourceId: item[\"subnetResourceId\"],\n currentZone: item[\"currentZone\"],\n availabilityStatus: item[\"availabilityStatus\"],\n activeDirectoryConfigResourceId: item[\"activeDirectoryConfigResourceId\"],\n };\n}\n\n/** Service level for elastic capacity pool */\nexport enum KnownElasticServiceLevel {\n /** Zone redundant storage service level. */\n ZoneRedundant = \"ZoneRedundant\",\n}\n\n/**\n * Service level for elastic capacity pool \\\n * {@link KnownElasticServiceLevel} can be used interchangeably with ElasticServiceLevel,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **ZoneRedundant**: Zone redundant storage service level.\n */\nexport type ElasticServiceLevel = string;\n\n/** CMK Encryption Configuration */\nexport interface ElasticEncryptionConfiguration {\n /** Pool Encryption Key Source. */\n elasticPoolEncryptionKeySource: ElasticPoolEncryptionKeySource;\n /** The resource ID of private endpoint for KeyVault. It must reside in the same VNET as the volume. Only applicable if encryptionKeySource = 'Microsoft.KeyVault'. */\n keyVaultPrivateEndpointResourceId: string;\n}\n\nexport function elasticEncryptionConfigurationSerializer(\n item: ElasticEncryptionConfiguration,\n): any {\n return {\n elasticPoolEncryptionKeySource: item[\"elasticPoolEncryptionKeySource\"],\n keyVaultPrivateEndpointResourceId: item[\"keyVaultPrivateEndpointResourceId\"],\n };\n}\n\nexport function elasticEncryptionConfigurationDeserializer(\n item: any,\n): ElasticEncryptionConfiguration {\n return {\n elasticPoolEncryptionKeySource: item[\"elasticPoolEncryptionKeySource\"],\n keyVaultPrivateEndpointResourceId: item[\"keyVaultPrivateEndpointResourceId\"],\n };\n}\n\n/** Pool Encryption Key Source. */\nexport enum KnownElasticPoolEncryptionKeySource {\n /** Represents the encryption key source of Elastic pool is Microsoft.NetApp */\n NetApp = \"NetApp\",\n /** Represents the encryption key source of Elastic pool is Microsoft.KeyVault */\n KeyVault = \"KeyVault\",\n}\n\n/**\n * Pool Encryption Key Source. \\\n * {@link KnownElasticPoolEncryptionKeySource} can be used interchangeably with ElasticPoolEncryptionKeySource,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **NetApp**: Represents the encryption key source of Elastic pool is Microsoft.NetApp \\\n * **KeyVault**: Represents the encryption key source of Elastic pool is Microsoft.KeyVault\n */\nexport type ElasticPoolEncryptionKeySource = string;\n\n/** Current availability status of the resource. */\nexport enum KnownElasticResourceAvailabilityStatus {\n /** The resource is currently Online and accessible */\n Online = \"Online\",\n /** The resource is currently Offline and not accessible */\n Offline = \"Offline\",\n}\n\n/**\n * Current availability status of the resource. \\\n * {@link KnownElasticResourceAvailabilityStatus} can be used interchangeably with ElasticResourceAvailabilityStatus,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Online**: The resource is currently Online and accessible \\\n * **Offline**: The resource is currently Offline and not accessible\n */\nexport type ElasticResourceAvailabilityStatus = string;\n\n/** The type used for update operations of the ElasticCapacityPool. */\nexport interface ElasticCapacityPoolUpdate {\n /** Resource tags. */\n tags?: Record<string, string>;\n /** The resource-specific properties for this resource. */\n properties?: ElasticCapacityPoolUpdateProperties;\n}\n\nexport function elasticCapacityPoolUpdateSerializer(item: ElasticCapacityPoolUpdate): any {\n return {\n tags: item[\"tags\"],\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : elasticCapacityPoolUpdatePropertiesSerializer(item[\"properties\"]),\n };\n}\n\n/** The updatable properties of the ElasticCapacityPool. */\nexport interface ElasticCapacityPoolUpdateProperties {\n /** Provisioned size of the pool (in bytes). For zoneRedundant service level pool, value must be in the range 1TiB to 16TiB or 1TiB to 128TiB for supported region. Values expressed in bytes as multiples of 1TiB till 16TiB and in multiples of 8TiB from 24TiB to 128TiB. Pool size can't be shrunk once it is created. */\n size?: number;\n /** Encryption settings */\n encryption?: ElasticEncryptionConfiguration;\n /** The Azure Resource URI for an Active Directory configuration. This is used by all the SMB volumes within the pool */\n activeDirectoryConfigResourceId?: string;\n}\n\nexport function elasticCapacityPoolUpdatePropertiesSerializer(\n item: ElasticCapacityPoolUpdateProperties,\n): any {\n return {\n size: item[\"size\"],\n encryption: !item[\"encryption\"]\n ? item[\"encryption\"]\n : elasticEncryptionConfigurationSerializer(item[\"encryption\"]),\n activeDirectoryConfigResourceId: item[\"activeDirectoryConfigResourceId\"],\n };\n}\n\n/** The response of a ElasticCapacityPool list operation. */\nexport interface _ElasticCapacityPoolListResult {\n /** The ElasticCapacityPool items on this page */\n value: ElasticCapacityPool[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _elasticCapacityPoolListResultDeserializer(\n item: any,\n): _ElasticCapacityPoolListResult {\n return {\n value: elasticCapacityPoolArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function elasticCapacityPoolArraySerializer(result: Array<ElasticCapacityPool>): any[] {\n return result.map((item) => {\n return elasticCapacityPoolSerializer(item);\n });\n}\n\nexport function elasticCapacityPoolArrayDeserializer(result: Array<ElasticCapacityPool>): any[] {\n return result.map((item) => {\n return elasticCapacityPoolDeserializer(item);\n });\n}\n\n/** Changes the zone for the Zone Redundant elastic capacity pool */\nexport interface ChangeZoneRequest {\n /** Availability zone to move Zone Redundant elastic capacity pool to */\n newZone: string;\n}\n\nexport function changeZoneRequestSerializer(item: ChangeZoneRequest): any {\n return { newZone: item[\"newZone\"] };\n}\n\n/** File path availability request content - availability is based on the elastic volume filePath within the given elastic capacityPool. */\nexport interface CheckElasticVolumeFilePathAvailabilityRequest {\n /** A unique file path for the volume. Used when creating mount targets. This needs to be unique within the elastic capacity pool. */\n filePath: string;\n}\n\nexport function checkElasticVolumeFilePathAvailabilityRequestSerializer(\n item: CheckElasticVolumeFilePathAvailabilityRequest,\n): any {\n return { filePath: item[\"filePath\"] };\n}\n\n/** Information regarding availability of a resource. */\nexport interface CheckElasticResourceAvailabilityResponse {\n /** True indicates name is valid and available. False indicates the name is invalid, unavailable, or both. */\n isAvailable?: CheckElasticResourceAvailabilityStatus;\n /** Invalid indicates the name provided does not match Azure NetApp Files naming requirements. AlreadyExists indicates that the name is already in use and is therefore unavailable. */\n reason?: CheckElasticResourceAvailabilityReason;\n /** If reason == invalid, provide the user with the reason why the given name is invalid, and provide the resource naming requirements so that the user can select a valid name. If reason == AlreadyExists, explain that resource name is already in use, and direct them to select a different name. */\n message?: string;\n}\n\nexport function checkElasticResourceAvailabilityResponseDeserializer(\n item: any,\n): CheckElasticResourceAvailabilityResponse {\n return {\n isAvailable: item[\"isAvailable\"],\n reason: item[\"reason\"],\n message: item[\"message\"],\n };\n}\n\n/** Availability status */\nexport enum KnownCheckElasticResourceAvailabilityStatus {\n /** Value indicating the name is valid and available */\n True = \"True\",\n /** Value indicating the the name is invalid, unavailable, or both. */\n False = \"False\",\n}\n\n/**\n * Availability status \\\n * {@link KnownCheckElasticResourceAvailabilityStatus} can be used interchangeably with CheckElasticResourceAvailabilityStatus,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **True**: Value indicating the name is valid and available \\\n * **False**: Value indicating the the name is invalid, unavailable, or both.\n */\nexport type CheckElasticResourceAvailabilityStatus = string;\n\n/** Availability reason */\nexport enum KnownCheckElasticResourceAvailabilityReason {\n /** Value indicating the name provided does not match Azure NetApp Files naming requirements */\n Invalid = \"Invalid\",\n /** Value indicating the name is already in use and is therefore unavailable */\n AlreadyExists = \"AlreadyExists\",\n}\n\n/**\n * Availability reason \\\n * {@link KnownCheckElasticResourceAvailabilityReason} can be used interchangeably with CheckElasticResourceAvailabilityReason,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Invalid**: Value indicating the name provided does not match Azure NetApp Files naming requirements \\\n * **AlreadyExists**: Value indicating the name is already in use and is therefore unavailable\n */\nexport type CheckElasticResourceAvailabilityReason = string;\n\n/** NetApp Elastic Volume resource */\nexport interface ElasticVolume extends TrackedResource {\n /** The resource-specific properties for this resource. */\n properties?: ElasticVolumeProperties;\n /** If eTag is provided in the response body, it may also be provided as a header per the normal etag convention. Entity tags are used for comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range (section 14.27) header fields. */\n readonly eTag?: string;\n /** The availability zones. */\n zones?: string[];\n}\n\nexport function elasticVolumeSerializer(item: ElasticVolume): any {\n return {\n tags: item[\"tags\"],\n location: item[\"location\"],\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : elasticVolumePropertiesSerializer(item[\"properties\"]),\n zones: !item[\"zones\"]\n ? item[\"zones\"]\n : item[\"zones\"].map((p: any) => {\n return p;\n }),\n };\n}\n\nexport function elasticVolumeDeserializer(item: any): ElasticVolume {\n return {\n tags: item[\"tags\"],\n location: item[\"location\"],\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : elasticVolumePropertiesDeserializer(item[\"properties\"]),\n eTag: item[\"eTag\"],\n zones: !item[\"zones\"]\n ? item[\"zones\"]\n : item[\"zones\"].map((p: any) => {\n return p;\n }),\n };\n}\n\n/** Elastic Volume properties */\nexport interface ElasticVolumeProperties {\n /** A unique file path for the volume. Used when creating mount targets. This needs to be unique within the elastic capacity pool. */\n filePath: string;\n /** Maximum size allowed for a volume in bytes. Valid values are in the range 1GiB to 16TiB. Values expressed in bytes as multiples of 1 GiB. */\n size: number;\n /** Set of export policy rules */\n exportPolicy?: ElasticExportPolicy;\n /** Set of support protocol types for the elastic volume */\n protocolTypes: ElasticProtocolType[];\n /** Azure lifecycle management. */\n readonly provisioningState?: NetAppProvisioningState;\n /** Current availability status of the resource. */\n readonly availabilityStatus?: ElasticResourceAvailabilityStatus;\n /** Resource identifier used to identify the Elastic Snapshot. */\n snapshotResourceId?: string;\n /** List of mount targets that can be used to mount this volume */\n readonly mountTargets?: ElasticMountTargetProperties[];\n /** Data protection configuration option for the volume, including snapshot policies and backup. */\n dataProtection?: ElasticVolumeDataProtectionProperties;\n /** Controls the visibility of the volume's read-only snapshot directory, which provides access to each of the volume's snapshots. */\n snapshotDirectoryVisibility?: SnapshotDirectoryVisibility;\n /** SMB Properties */\n smbProperties?: ElasticSmbProperties;\n /** Resource identifier used to identify the Elastic Backup. */\n backupResourceId?: string;\n /** The current state of the restoration process. */\n readonly restorationState?: ElasticVolumeRestorationState;\n}\n\nexport function elasticVolumePropertiesSerializer(item: ElasticVolumeProperties): any {\n return {\n filePath: item[\"filePath\"],\n size: item[\"size\"],\n exportPolicy: !item[\"exportPolicy\"]\n ? item[\"exportPolicy\"]\n : elasticExportPolicySerializer(item[\"exportPolicy\"]),\n protocolTypes: item[\"protocolTypes\"].map((p: any) => {\n return p;\n }),\n snapshotResourceId: item[\"snapshotResourceId\"],\n dataProtection: !item[\"dataProtection\"]\n ? item[\"dataProtection\"]\n : elasticVolumeDataProtectionPropertiesSerializer(item[\"dataProtection\"]),\n snapshotDirectoryVisibility: item[\"snapshotDirectoryVisibility\"],\n smbProperties: !item[\"smbProperties\"]\n ? item[\"smbProperties\"]\n : elasticSmbPropertiesSerializer(item[\"smbProperties\"]),\n backupResourceId: item[\"backupResourceId\"],\n };\n}\n\nexport function elasticVolumePropertiesDeserializer(item: any): ElasticVolumeProperties {\n return {\n filePath: item[\"filePath\"],\n size: item[\"size\"],\n exportPolicy: !item[\"exportPolicy\"]\n ? item[\"exportPolicy\"]\n : elasticExportPolicyDeserializer(item[\"exportPolicy\"]),\n protocolTypes: item[\"protocolTypes\"].map((p: any) => {\n return p;\n }),\n provisioningState: item[\"provisioningState\"],\n availabilityStatus: item[\"availabilityStatus\"],\n snapshotResourceId: item[\"snapshotResourceId\"],\n mountTargets: !item[\"mountTargets\"]\n ? item[\"mountTargets\"]\n : elasticMountTargetPropertiesArrayDeserializer(item[\"mountTargets\"]),\n dataProtection: !item[\"dataProtection\"]\n ? item[\"dataProtection\"]\n : elasticVolumeDataProtectionPropertiesDeserializer(item[\"dataProtection\"]),\n snapshotDirectoryVisibility: item[\"snapshotDirectoryVisibility\"],\n smbProperties: !item[\"smbProperties\"]\n ? item[\"smbProperties\"]\n : elasticSmbPropertiesDeserializer(item[\"smbProperties\"]),\n backupResourceId: item[\"backupResourceId\"],\n restorationState: item[\"restorationState\"],\n };\n}\n\n/** Set of export policy rules */\nexport interface ElasticExportPolicy {\n /** Export policy rule */\n rules?: ElasticExportPolicyRule[];\n}\n\nexport function elasticExportPolicySerializer(item: ElasticExportPolicy): any {\n return {\n rules: !item[\"rules\"] ? item[\"rules\"] : elasticExportPolicyRuleArraySerializer(item[\"rules\"]),\n };\n}\n\nexport function elasticExportPolicyDeserializer(item: any): ElasticExportPolicy {\n return {\n rules: !item[\"rules\"] ? item[\"rules\"] : elasticExportPolicyRuleArrayDeserializer(item[\"rules\"]),\n };\n}\n\nexport function elasticExportPolicyRuleArraySerializer(\n result: Array<ElasticExportPolicyRule>,\n): any[] {\n return result.map((item) => {\n return elasticExportPolicyRuleSerializer(item);\n });\n}\n\nexport function elasticExportPolicyRuleArrayDeserializer(\n result: Array<ElasticExportPolicyRule>,\n): any[] {\n return result.map((item) => {\n return elasticExportPolicyRuleDeserializer(item);\n });\n}\n\n/** Elastic Volume Export Policy Rule */\nexport interface ElasticExportPolicyRule {\n /** Controls the priority of the export policy rule. When connecting to the volume the rule with the lowest index that applies to the connecting client is used */\n ruleIndex?: number;\n /** Specifies the Unix file access level for the volume. It encompasses both read-only and read-write permissions. Additionally, NoAccess can be set to block all access to the volume */\n unixAccessRule?: ElasticUnixAccessRule;\n /** Allows clients to access the volume with the NFSv3 protocol. Enable only for NFSv3 type volumes */\n nfsv3?: ElasticNfsv3Access;\n /** Allows clients to access the volume with at least NFSv4.1 protocol. */\n nfsv4?: ElasticNfsv4Access;\n /** Client ingress specification for the export policy as list of IPv4 CIDRs, IPv4 host addresses and host names. */\n allowedClients?: string[];\n /** Indicates whether root access to the volume is granted to clients affected by this rule */\n rootAccess?: ElasticRootAccess;\n}\n\nexport function elasticExportPolicyRuleSerializer(item: ElasticExportPolicyRule): any {\n return {\n ruleIndex: item[\"ruleIndex\"],\n unixAccessRule: item[\"unixAccessRule\"],\n nfsv3: item[\"nfsv3\"],\n nfsv4: item[\"nfsv4\"],\n allowedClients: !item[\"allowedClients\"]\n ? item[\"allowedClients\"]\n : item[\"allowedClients\"].map((p: any) => {\n return p;\n }),\n rootAccess: item[\"rootAccess\"],\n };\n}\n\nexport function elasticExportPolicyRuleDeserializer(item: any): ElasticExportPolicyRule {\n return {\n ruleIndex: item[\"ruleIndex\"],\n unixAccessRule: item[\"unixAccessRule\"],\n nfsv3: item[\"nfsv3\"],\n nfsv4: item[\"nfsv4\"],\n allowedClients: !item[\"allowedClients\"]\n ? item[\"allowedClients\"]\n : item[\"allowedClients\"].map((p: any) => {\n return p;\n }),\n rootAccess: item[\"rootAccess\"],\n };\n}\n\n/** Unix access rule */\nexport enum KnownElasticUnixAccessRule {\n /** Clients connecting with this rule will only have read access to the volume */\n ReadOnly = \"ReadOnly\",\n /** Clients connecting with this rule will have full read and write access to the volume */\n ReadWrite = \"ReadWrite\",\n /** Clients connecting with this rule will have no access to the volume */\n NoAccess = \"NoAccess\",\n}\n\n/**\n * Unix access rule \\\n * {@link KnownElasticUnixAccessRule} can be used interchangeably with ElasticUnixAccessRule,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **ReadOnly**: Clients connecting with this rule will only have read access to the volume \\\n * **ReadWrite**: Clients connecting with this rule will have full read and write access to the volume \\\n * **NoAccess**: Clients connecting with this rule will have no access to the volume\n */\nexport type ElasticUnixAccessRule = string;\n\n/** NFSv3 access */\nexport enum KnownElasticNfsv3Access {\n /** Clients can connect to the volume using the NFSv3 protocol. */\n Enabled = \"Enabled\",\n /** Clients can't connect to the volume using the NFSv3 protocol. */\n Disabled = \"Disabled\",\n}\n\n/**\n * NFSv3 access \\\n * {@link KnownElasticNfsv3Access} can be used interchangeably with ElasticNfsv3Access,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Enabled**: Clients can connect to the volume using the NFSv3 protocol. \\\n * **Disabled**: Clients can't connect to the volume using the NFSv3 protocol.\n */\nexport type ElasticNfsv3Access = string;\n\n/** NFSv4 access */\nexport enum KnownElasticNfsv4Access {\n /** Clients can connect to the volume using the NFSv4 protocol. */\n Enabled = \"Enabled\",\n /** Clients can't connect to the volume using the NFSv4 protocol. */\n Disabled = \"Disabled\",\n}\n\n/**\n * NFSv4 access \\\n * {@link KnownElasticNfsv4Access} can be used interchangeably with ElasticNfsv4Access,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Enabled**: Clients can connect to the volume using the NFSv4 protocol. \\\n * **Disabled**: Clients can't connect to the volume using the NFSv4 protocol.\n */\nexport type ElasticNfsv4Access = string;\n\n/** Root access */\nexport enum KnownElasticRootAccess {\n /** Root user access is enabled for clients affected by this rule */\n Enabled = \"Enabled\",\n /** Root user access is disabled for clients affected by this rule */\n Disabled = \"Disabled\",\n}\n\n/**\n * Root access \\\n * {@link KnownElasticRootAccess} can be used interchangeably with ElasticRootAccess,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Enabled**: Root user access is enabled for clients affected by this rule \\\n * **Disabled**: Root user access is disabled for clients affected by this rule\n */\nexport type ElasticRootAccess = string;\n\n/** Protocol types for elastic volume */\nexport enum KnownElasticProtocolType {\n /** NFSv3 protocol type */\n NFSv3 = \"NFSv3\",\n /** NFSv4 protocol type */\n NFSv4 = \"NFSv4\",\n /** SMB/CIFS protocol type */\n SMB = \"SMB\",\n}\n\n/**\n * Protocol types for elastic volume \\\n * {@link KnownElasticProtocolType} can be used interchangeably with ElasticProtocolType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **NFSv3**: NFSv3 protocol type \\\n * **NFSv4**: NFSv4 protocol type \\\n * **SMB**: SMB\\/CIFS protocol type\n */\nexport type ElasticProtocolType = string;\n\nexport function elasticMountTargetPropertiesArrayDeserializer(\n result: Array<ElasticMountTargetProperties>,\n): any[] {\n return result.map((item) => {\n return elasticMountTargetPropertiesDeserializer(item);\n });\n}\n\n/** Contains all the information needed to mount an elastic volume */\nexport interface ElasticMountTargetProperties {\n /** The mount target's IPv4 address, used to mount the volume */\n readonly ipAddress?: string;\n /** The SMB server's Fully Qualified Domain Name, FQDN */\n readonly smbServerFqdn?: string;\n}\n\nexport function elasticMountTargetPropertiesDeserializer(item: any): ElasticMountTargetProperties {\n return {\n ipAddress: item[\"ipAddress\"],\n smbServerFqdn: item[\"smbServerFqdn\"],\n };\n}\n\n/** Data protection configuration option for the volume, including snapshot policies and backup. */\nexport interface ElasticVolumeDataProtectionProperties {\n /** Used to apply a snapshot policy to a volume. */\n snapshot?: ElasticVolumeSnapshotProperties;\n /** Used to configure backups on an elastic volume. */\n backup?: ElasticVolumeBackupProperties;\n}\n\nexport function elasticVolumeDataProtectionPropertiesSerializer(\n item: ElasticVolumeDataProtectionProperties,\n): any {\n return {\n snapshot: !item[\"snapshot\"]\n ? item[\"snapshot\"]\n : elasticVolumeSnapshotPropertiesSerializer(item[\"snapshot\"]),\n backup: !item[\"backup\"]\n ? item[\"backup\"]\n : elasticVolumeBackupPropertiesSerializer(item[\"backup\"]),\n };\n}\n\nexport function elasticVolumeDataProtectionPropertiesDeserializer(\n item: any,\n): ElasticVolumeDataProtectionProperties {\n return {\n snapshot: !item[\"snapshot\"]\n ? item[\"snapshot\"]\n : elasticVolumeSnapshotPropertiesDeserializer(item[\"snapshot\"]),\n backup: !item[\"backup\"]\n ? item[\"backup\"]\n : elasticVolumeBackupPropertiesDeserializer(item[\"backup\"]),\n };\n}\n\n/** Elastic Volume Snapshot Properties */\nexport interface ElasticVolumeSnapshotProperties {\n /** Snapshot Policy ResourceId */\n snapshotPolicyResourceId?: string;\n}\n\nexport function elasticVolumeSnapshotPropertiesSerializer(\n item: ElasticVolumeSnapshotProperties,\n): any {\n return { snapshotPolicyResourceId: item[\"snapshotPolicyResourceId\"] };\n}\n\nexport function elasticVolumeSnapshotPropertiesDeserializer(\n item: any,\n): ElasticVolumeSnapshotProperties {\n return {\n snapshotPolicyResourceId: item[\"snapshotPolicyResourceId\"],\n };\n}\n\n/** Elastic Volume Backup Properties */\nexport interface ElasticVolumeBackupProperties {\n /** ResourceId used to identify Elastic Backup Policy */\n elasticBackupPolicyResourceId?: string;\n /** The property to decide policy is enforced or not on the volume */\n policyEnforcement?: ElasticVolumePolicyEnforcement;\n /** ResourceId used to identify Elastic Backup Vault */\n elasticBackupVaultResourceId?: string;\n}\n\nexport function elasticVolumeBackupPropertiesSerializer(item: ElasticVolumeBackupProperties): any {\n return {\n elasticBackupPolicyResourceId: item[\"elasticBackupPolicyResourceId\"],\n policyEnforcement: item[\"policyEnforcement\"],\n elasticBackupVaultResourceId: item[\"elasticBackupVaultResourceId\"],\n };\n}\n\nexport function elasticVolumeBackupPropertiesDeserializer(\n item: any,\n): ElasticVolumeBackupProperties {\n return {\n elasticBackupPolicyResourceId: item[\"elasticBackupPolicyResourceId\"],\n policyEnforcement: item[\"policyEnforcement\"],\n elasticBackupVaultResourceId: item[\"elasticBackupVaultResourceId\"],\n };\n}\n\n/** Policy enforcement */\nexport enum KnownElasticVolumePolicyEnforcement {\n /** Value indicating the policy is enforced on the volume. */\n Enforced = \"Enforced\",\n /** Value indicating the policy is not enforced on the volume. */\n NotEnforced = \"NotEnforced\",\n}\n\n/**\n * Policy enforcement \\\n * {@link KnownElasticVolumePolicyEnforcement} can be used interchangeably with ElasticVolumePolicyEnforcement,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Enforced**: Value indicating the policy is enforced on the volume. \\\n * **NotEnforced**: Value indicating the policy is not enforced on the volume.\n */\nexport type ElasticVolumePolicyEnforcement = string;\n\n/** Controls the visibility of the Elastic Volume's read-only snapshot directory, which provides access to each of the volume's snapshots. */\nexport enum KnownSnapshotDirectoryVisibility {\n /** Value indicating the read-only snapshot directory is not visible */\n Hidden = \"Hidden\",\n /** Value indicating the read-only snapshot directory is visible */\n Visible = \"Visible\",\n}\n\n/**\n * Controls the visibility of the Elastic Volume's read-only snapshot directory, which provides access to each of the volume's snapshots. \\\n * {@link KnownSnapshotDirectoryVisibility} can be used interchangeably with SnapshotDirectoryVisibility,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Hidden**: Value indicating the read-only snapshot directory is not visible \\\n * **Visible**: Value indicating the read-only snapshot directory is visible\n */\nexport type SnapshotDirectoryVisibility = string;\n\n/** SMB Properties */\nexport interface ElasticSmbProperties {\n /** Used to enable or disable encryption for in-flight SMB data volume. This flag can be modified during Elastic volume update operation as well. Only applicable for SMB protocol Elastic volumes. */\n smbEncryption?: ElasticSmbEncryption;\n}\n\nexport function elasticSmbPropertiesSerializer(item: ElasticSmbProperties): any {\n return { smbEncryption: item[\"smbEncryption\"] };\n}\n\nexport function elasticSmbPropertiesDeserializer(item: any): ElasticSmbProperties {\n return {\n smbEncryption: item[\"smbEncryption\"],\n };\n}\n\n/** SMB encryption */\nexport enum KnownElasticSmbEncryption {\n /** Value indicating the SMB encryption is enabled */\n Enabled = \"Enabled\",\n /** Value indicating the SMB encryption is disabled */\n Disabled = \"Disabled\",\n}\n\n/**\n * SMB encryption \\\n * {@link KnownElasticSmbEncryption} can be used interchangeably with ElasticSmbEncryption,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Enabled**: Value indicating the SMB encryption is enabled \\\n * **Disabled**: Value indicating the SMB encryption is disabled\n */\nexport type ElasticSmbEncryption = string;\n\n/** The current state of the restoration process. */\nexport enum KnownElasticVolumeRestorationState {\n /** Value indicating that the volume is currently restoring. */\n Restoring = \"Restoring\",\n /** Value indicating that the volume is restored. */\n Restored = \"Restored\",\n /** Value indicating that the volume restore has failed. */\n Failed = \"Failed\",\n}\n\n/**\n * The current state of the restoration process. \\\n * {@link KnownElasticVolumeRestorationState} can be used interchangeably with ElasticVolumeRestorationState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Restoring**: Value indicating that the volume is currently restoring. \\\n * **Restored**: Value indicating that the volume is restored. \\\n * **Failed**: Value indicating that the volume restore has failed.\n */\nexport type ElasticVolumeRestorationState = string;\n\n/** The type used for update operations of the ElasticVolume. */\nexport interface ElasticVolumeUpdate {\n /** Resource tags. */\n tags?: Record<string, string>;\n /** The resource-specific properties for this resource. */\n properties?: ElasticVolumeUpdateProperties;\n}\n\nexport function elasticVolumeUpdateSerializer(item: ElasticVolumeUpdate): any {\n return {\n tags: item[\"tags\"],\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : elasticVolumeUpdatePropertiesSerializer(item[\"properties\"]),\n };\n}\n\n/** The updatable properties of the ElasticVolume. */\nexport interface ElasticVolumeUpdateProperties {\n /** Maximum size allowed for a volume in bytes. Valid values are in the range 1GiB to 16TiB. Values expressed in bytes as multiples of 1 GiB. */\n size?: number;\n /** Set of export policy rules */\n exportPolicy?: ElasticExportPolicy;\n /** Data protection configuration option for the volume, including snapshot policies and backup. */\n dataProtection?: ElasticVolumeDataProtectionPatchProperties;\n /** Controls the visibility of the volume's read-only snapshot directory, which provides access to each of the volume's snapshots. */\n snapshotDirectoryVisibility?: SnapshotDirectoryVisibility;\n /** SMB Properties */\n smbProperties?: ElasticSmbPatchProperties;\n}\n\nexport function elasticVolumeUpdatePropertiesSerializer(item: ElasticVolumeUpdateProperties): any {\n return {\n size: item[\"size\"],\n exportPolicy: !item[\"exportPolicy\"]\n ? item[\"exportPolicy\"]\n : elasticExportPolicySerializer(item[\"exportPolicy\"]),\n dataProtection: !item[\"dataProtection\"]\n ? item[\"dataProtection\"]\n : elasticVolumeDataProtectionPatchPropertiesSerializer(item[\"dataProtection\"]),\n snapshotDirectoryVisibility: item[\"snapshotDirectoryVisibility\"],\n smbProperties: !item[\"smbProperties\"]\n ? item[\"smbProperties\"]\n : elasticSmbPatchPropertiesSerializer(item[\"smbProperties\"]),\n };\n}\n\n/** Data protection configuration option for updating the volume, including snapshot policies and backup. */\nexport interface ElasticVolumeDataProtectionPatchProperties {\n /** Used to apply a snapshot policy to a volume. */\n snapshot?: ElasticVolumeSnapshotProperties;\n /** Used to configure backups on an elastic volume. */\n backup?: ElasticVolumeBackupProperties;\n}\n\nexport function elasticVolumeDataProtectionPatchPropertiesSerializer(\n item: ElasticVolumeDataProtectionPatchProperties,\n): any {\n return {\n snapshot: !item[\"snapshot\"]\n ? item[\"snapshot\"]\n : elasticVolumeSnapshotPropertiesSerializer(item[\"snapshot\"]),\n backup: !item[\"backup\"]\n ? item[\"backup\"]\n : elasticVolumeBackupPropertiesSerializer(item[\"backup\"]),\n };\n}\n\n/** SMB Patch Properties */\nexport interface ElasticSmbPatchProperties {\n /** Used to enable or disable encryption for in-flight SMB data volume. This flag can be modified during Elastic volume update operation as well. Only applicable for SMB protocol Elastic volumes. */\n smbEncryption?: ElasticSmbEncryption;\n}\n\nexport function elasticSmbPatchPropertiesSerializer(item: ElasticSmbPatchProperties): any {\n return { smbEncryption: item[\"smbEncryption\"] };\n}\n\n/** The response of a ElasticVolume list operation. */\nexport interface _ElasticVolumeListResult {\n /** The ElasticVolume items on this page */\n value: ElasticVolume[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _elasticVolumeListResultDeserializer(item: any): _ElasticVolumeListResult {\n return {\n value: elasticVolumeArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function elasticVolumeArraySerializer(result: Array<ElasticVolume>): any[] {\n return result.map((item) => {\n return elasticVolumeSerializer(item);\n });\n}\n\nexport function elasticVolumeArrayDeserializer(result: Array<ElasticVolume>): any[] {\n return result.map((item) => {\n return elasticVolumeDeserializer(item);\n });\n}\n\n/** Reverts the elastic volume to the specified snapshot. */\nexport interface ElasticVolumeRevert {\n /** Resource identifier used to identify the Elastic Snapshot. */\n snapshotResourceId?: string;\n}\n\nexport function elasticVolumeRevertSerializer(item: ElasticVolumeRevert): any {\n return { snapshotResourceId: item[\"snapshotResourceId\"] };\n}\n\n/** NetApp Elastic Snapshot under an Elastic Volume */\nexport interface ElasticSnapshot extends ProxyResource {\n /** The resource-specific properties for this resource. */\n properties?: ElasticSnapshotProperties;\n}\n\nexport function elasticSnapshotSerializer(item: ElasticSnapshot): any {\n return {\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : elasticSnapshotPropertiesSerializer(item[\"properties\"]),\n };\n}\n\nexport function elasticSnapshotDeserializer(item: any): ElasticSnapshot {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : elasticSnapshotPropertiesDeserializer(item[\"properties\"]),\n };\n}\n\n/** Elastic Snapshot properties */\nexport interface ElasticSnapshotProperties {\n /** Azure lifecycle management. */\n readonly provisioningState?: NetAppProvisioningState;\n}\n\nexport function elasticSnapshotPropertiesSerializer(item: ElasticSnapshotProperties): any {\n return item;\n}\n\nexport function elasticSnapshotPropertiesDeserializer(item: any): ElasticSnapshotProperties {\n return {\n provisioningState: item[\"provisioningState\"],\n };\n}\n\n/** The response of a ElasticSnapshot list operation. */\nexport interface _ElasticSnapshotListResult {\n /** The ElasticSnapshot items on this page */\n value: ElasticSnapshot[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _elasticSnapshotListResultDeserializer(item: any): _ElasticSnapshotListResult {\n return {\n value: elasticSnapshotArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function elasticSnapshotArraySerializer(result: Array<ElasticSnapshot>): any[] {\n return result.map((item) => {\n return elasticSnapshotSerializer(item);\n });\n}\n\nexport function elasticSnapshotArrayDeserializer(result: Array<ElasticSnapshot>): any[] {\n return result.map((item) => {\n return elasticSnapshotDeserializer(item);\n });\n}\n\n/** NetApp Elastic Snapshot Policy under an Elastic Account */\nexport interface ElasticSnapshotPolicy extends TrackedResource {\n /** The resource-specific properties for this resource. */\n properties?: ElasticSnapshotPolicyProperties;\n /** If eTag is provided in the response body, it may also be provided as a header per the normal etag convention. Entity tags are used for comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range (section 14.27) header fields. */\n readonly eTag?: string;\n}\n\nexport function elasticSnapshotPolicySerializer(item: ElasticSnapshotPolicy): any {\n return {\n tags: item[\"tags\"],\n location: item[\"location\"],\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : elasticSnapshotPolicyPropertiesSerializer(item[\"properties\"]),\n };\n}\n\nexport function elasticSnapshotPolicyDeserializer(item: any): ElasticSnapshotPolicy {\n return {\n tags: item[\"tags\"],\n location: item[\"location\"],\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : elasticSnapshotPolicyPropertiesDeserializer(item[\"properties\"]),\n eTag: item[\"eTag\"],\n };\n}\n\n/** Elastic Snapshot policy properties */\nexport interface ElasticSnapshotPolicyProperties {\n /** Schedule for hourly snapshots */\n hourlySchedule?: ElasticSnapshotPolicyHourlySchedule;\n /** Schedule for daily snapshots */\n dailySchedule?: ElasticSnapshotPolicyDailySchedule;\n /** Schedule for weekly snapshots */\n weeklySchedule?: ElasticSnapshotPolicyWeeklySchedule;\n /** Schedule for monthly snapshots */\n monthlySchedule?: ElasticSnapshotPolicyMonthlySchedule;\n /** Configures if the snapshot policy is enabled on the volumes connected to the policy. */\n policyStatus?: PolicyStatus;\n /** Azure lifecycle management. */\n readonly provisioningState?: NetAppProvisioningState;\n}\n\nexport function elasticSnapshotPolicyPropertiesSerializer(\n item: ElasticSnapshotPolicyProperties,\n): any {\n return {\n hourlySchedule: !item[\"hourlySchedule\"]\n ? item[\"hourlySchedule\"]\n : elasticSnapshotPolicyHourlyScheduleSerializer(item[\"hourlySchedule\"]),\n dailySchedule: !item[\"dailySchedule\"]\n ? item[\"dailySchedule\"]\n : elasticSnapshotPolicyDailyScheduleSerializer(item[\"dailySchedule\"]),\n weeklySchedule: !item[\"weeklySchedule\"]\n ? item[\"weeklySchedule\"]\n : elasticSnapshotPolicyWeeklyScheduleSerializer(item[\"weeklySchedule\"]),\n monthlySchedule: !item[\"monthlySchedule\"]\n ? item[\"monthlySchedule\"]\n : elasticSnapshotPolicyMonthlyScheduleSerializer(item[\"monthlySchedule\"]),\n policyStatus: item[\"policyStatus\"],\n };\n}\n\nexport function elasticSnapshotPolicyPropertiesDeserializer(\n item: any,\n): ElasticSnapshotPolicyProperties {\n return {\n hourlySchedule: !item[\"hourlySchedule\"]\n ? item[\"hourlySchedule\"]\n : elasticSnapshotPolicyHourlyScheduleDeserializer(item[\"hourlySchedule\"]),\n dailySchedule: !item[\"dailySchedule\"]\n ? item[\"dailySchedule\"]\n : elasticSnapshotPolicyDailyScheduleDeserializer(item[\"dailySchedule\"]),\n weeklySchedule: !item[\"weeklySchedule\"]\n ? item[\"weeklySchedule\"]\n : elasticSnapshotPolicyWeeklyScheduleDeserializer(item[\"weeklySchedule\"]),\n monthlySchedule: !item[\"monthlySchedule\"]\n ? item[\"monthlySchedule\"]\n : elasticSnapshotPolicyMonthlyScheduleDeserializer(item[\"monthlySchedule\"]),\n policyStatus: item[\"policyStatus\"],\n provisioningState: item[\"provisioningState\"],\n };\n}\n\n/** Hourly Schedule properties used to create NetApp snapshot policy */\nexport interface ElasticSnapshotPolicyHourlySchedule {\n /** Hourly snapshot count to keep */\n snapshotsToKeep?: number;\n /** Indicates which minute snapshot should be taken */\n minute?: number;\n}\n\nexport function elasticSnapshotPolicyHourlyScheduleSerializer(\n item: ElasticSnapshotPolicyHourlySchedule,\n): any {\n return { snapshotsToKeep: item[\"snapshotsToKeep\"], minute: item[\"minute\"] };\n}\n\nexport function elasticSnapshotPolicyHourlyScheduleDeserializer(\n item: any,\n): ElasticSnapshotPolicyHourlySchedule {\n return {\n snapshotsToKeep: item[\"snapshotsToKeep\"],\n minute: item[\"minute\"],\n };\n}\n\n/** Daily Schedule properties used to create NetApp snapshot policy */\nexport interface ElasticSnapshotPolicyDailySchedule {\n /** Daily snapshot count to keep */\n snapshotsToKeep?: number;\n /** Indicates which hour in UTC timezone a snapshot should be taken */\n hour?: number;\n /** Indicates which minute snapshot should be taken */\n minute?: number;\n}\n\nexport function elasticSnapshotPolicyDailyScheduleSerializer(\n item: ElasticSnapshotPolicyDailySchedule,\n): any {\n return {\n snapshotsToKeep: item[\"snapshotsToKeep\"],\n hour: item[\"hour\"],\n minute: item[\"minute\"],\n };\n}\n\nexport function elasticSnapshotPolicyDailyScheduleDeserializer(\n item: any,\n): ElasticSnapshotPolicyDailySchedule {\n return {\n snapshotsToKeep: item[\"snapshotsToKeep\"],\n hour: item[\"hour\"],\n minute: item[\"minute\"],\n };\n}\n\n/** Weekly Schedule properties used to create NetApp snapshot policy */\nexport interface ElasticSnapshotPolicyWeeklySchedule {\n /** Weekly snapshot count to keep */\n snapshotsToKeep?: number;\n /** Indicates which weekday(s) snapshot(s) should be taken, accepts a list of week day names in english */\n days?: DayOfWeek[];\n /** Indicates which hour in UTC timezone a snapshot should be taken */\n hour?: number;\n /** Indicates which minute snapshot should be taken */\n minute?: number;\n}\n\nexport function elasticSnapshotPolicyWeeklyScheduleSerializer(\n item: ElasticSnapshotPolicyWeeklySchedule,\n): any {\n return {\n snapshotsToKeep: item[\"snapshotsToKeep\"],\n days: !item[\"days\"]\n ? item[\"days\"]\n : item[\"days\"].map((p: any) => {\n return p;\n }),\n hour: item[\"hour\"],\n minute: item[\"minute\"],\n };\n}\n\nexport function elasticSnapshotPolicyWeeklyScheduleDeserializer(\n item: any,\n): ElasticSnapshotPolicyWeeklySchedule {\n return {\n snapshotsToKeep: item[\"snapshotsToKeep\"],\n days: !item[\"days\"]\n ? item[\"days\"]\n : item[\"days\"].map((p: any) => {\n return p;\n }),\n hour: item[\"hour\"],\n minute: item[\"minute\"],\n };\n}\n\n/** Day of the week */\nexport enum KnownDayOfWeek {\n /** Take a snapshot each Sunday */\n Sunday = \"Sunday\",\n /** Take a snapshot each Monday */\n Monday = \"Monday\",\n /** Take a snapshot each Tuesday */\n Tuesday = \"Tuesday\",\n /** Take a snapshot each Wednesday */\n Wednesday = \"Wednesday\",\n /** Take a snapshot each Thursday */\n Thursday = \"Thursday\",\n /** Take a snapshot each Friday */\n Friday = \"Friday\",\n /** Take a snapshot each Saturday */\n Saturday = \"Saturday\",\n}\n\n/**\n * Day of the week \\\n * {@link KnownDayOfWeek} can be used interchangeably with DayOfWeek,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Sunday**: Take a snapshot each Sunday \\\n * **Monday**: Take a snapshot each Monday \\\n * **Tuesday**: Take a snapshot each Tuesday \\\n * **Wednesday**: Take a snapshot each Wednesday \\\n * **Thursday**: Take a snapshot each Thursday \\\n * **Friday**: Take a snapshot each Friday \\\n * **Saturday**: Take a snapshot each Saturday\n */\nexport type DayOfWeek = string;\n\n/** Monthly Schedule properties used to create NetApp snapshot policy */\nexport interface ElasticSnapshotPolicyMonthlySchedule {\n /** Monthly snapshot count to keep */\n snapshotsToKeep?: number;\n /** Indicates which days of the month snapshot (1-31) should be taken, accepts a list of integers */\n daysOfMonth?: number[];\n /** Indicates which hour in UTC timezone a snapshot should be taken */\n hour?: number;\n /** Indicates which minute snapshot should be taken */\n minute?: number;\n}\n\nexport function elasticSnapshotPolicyMonthlyScheduleSerializer(\n item: ElasticSnapshotPolicyMonthlySchedule,\n): any {\n return {\n snapshotsToKeep: item[\"snapshotsToKeep\"],\n daysOfMonth: !item[\"daysOfMonth\"]\n ? item[\"daysOfMonth\"]\n : item[\"daysOfMonth\"].map((p: any) => {\n return p;\n }),\n hour: item[\"hour\"],\n minute: item[\"minute\"],\n };\n}\n\nexport function elasticSnapshotPolicyMonthlyScheduleDeserializer(\n item: any,\n): ElasticSnapshotPolicyMonthlySchedule {\n return {\n snapshotsToKeep: item[\"snapshotsToKeep\"],\n daysOfMonth: !item[\"daysOfMonth\"]\n ? item[\"daysOfMonth\"]\n : item[\"daysOfMonth\"].map((p: any) => {\n return p;\n }),\n hour: item[\"hour\"],\n minute: item[\"minute\"],\n };\n}\n\n/** Policy status */\nexport enum KnownPolicyStatus {\n /** Value indicating the policy is enabled */\n Enabled = \"Enabled\",\n /** Value indicating the policy is disabled */\n Disabled = \"Disabled\",\n}\n\n/**\n * Policy status \\\n * {@link KnownPolicyStatus} can be used interchangeably with PolicyStatus,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Enabled**: Value indicating the policy is enabled \\\n * **Disabled**: Value indicating the policy is disabled\n */\nexport type PolicyStatus = string;\n\n/** The type used for update operations of the ElasticSnapshotPolicy. */\nexport interface ElasticSnapshotPolicyUpdate {\n /** Resource tags. */\n tags?: Record<string, string>;\n /** The resource-specific properties for this resource. */\n properties?: ElasticSnapshotPolicyUpdateProperties;\n}\n\nexport function elasticSnapshotPolicyUpdateSerializer(item: ElasticSnapshotPolicyUpdate): any {\n return {\n tags: item[\"tags\"],\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : elasticSnapshotPolicyUpdatePropertiesSerializer(item[\"properties\"]),\n };\n}\n\n/** The updatable properties of the ElasticSnapshotPolicy. */\nexport interface ElasticSnapshotPolicyUpdateProperties {\n /** Schedule for hourly snapshots */\n hourlySchedule?: ElasticSnapshotPolicyHourlySchedule;\n /** Schedule for daily snapshots */\n dailySchedule?: ElasticSnapshotPolicyDailySchedule;\n /** Schedule for weekly snapshots */\n weeklySchedule?: ElasticSnapshotPolicyWeeklySchedule;\n /** Schedule for monthly snapshots */\n monthlySchedule?: ElasticSnapshotPolicyMonthlySchedule;\n /** Configures if the snapshot policy is enabled on the volumes connected to the policy. */\n policyStatus?: PolicyStatus;\n}\n\nexport function elasticSnapshotPolicyUpdatePropertiesSerializer(\n item: ElasticSnapshotPolicyUpdateProperties,\n): any {\n return {\n hourlySchedule: !item[\"hourlySchedule\"]\n ? item[\"hourlySchedule\"]\n : elasticSnapshotPolicyHourlyScheduleSerializer(item[\"hourlySchedule\"]),\n dailySchedule: !item[\"dailySchedule\"]\n ? item[\"dailySchedule\"]\n : elasticSnapshotPolicyDailyScheduleSerializer(item[\"dailySchedule\"]),\n weeklySchedule: !item[\"weeklySchedule\"]\n ? item[\"weeklySchedule\"]\n : elasticSnapshotPolicyWeeklyScheduleSerializer(item[\"weeklySchedule\"]),\n monthlySchedule: !item[\"monthlySchedule\"]\n ? item[\"monthlySchedule\"]\n : elasticSnapshotPolicyMonthlyScheduleSerializer(item[\"monthlySchedule\"]),\n policyStatus: item[\"policyStatus\"],\n };\n}\n\n/** The response of a ElasticSnapshotPolicy list operation. */\nexport interface _ElasticSnapshotPolicyListResult {\n /** The ElasticSnapshotPolicy items on this page */\n value: ElasticSnapshotPolicy[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _elasticSnapshotPolicyListResultDeserializer(\n item: any,\n): _ElasticSnapshotPolicyListResult {\n return {\n value: elasticSnapshotPolicyArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function elasticSnapshotPolicyArraySerializer(result: Array<ElasticSnapshotPolicy>): any[] {\n return result.map((item) => {\n return elasticSnapshotPolicySerializer(item);\n });\n}\n\nexport function elasticSnapshotPolicyArrayDeserializer(\n result: Array<ElasticSnapshotPolicy>,\n): any[] {\n return result.map((item) => {\n return elasticSnapshotPolicyDeserializer(item);\n });\n}\n\n/** Elastic Volumes associated with Elastic Snapshot Policy */\nexport interface _ElasticSnapshotPolicyVolumeList {\n /** The ElasticVolume items on this page */\n value: ElasticVolume[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _elasticSnapshotPolicyVolumeListDeserializer(\n item: any,\n): _ElasticSnapshotPolicyVolumeList {\n return {\n value: elasticVolumeArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\n/** NetApp elastic backup vault resource */\nexport interface ElasticBackupVault extends TrackedResource {\n /** The resource-specific properties for this resource. */\n properties?: ElasticBackupVaultProperties;\n /** If eTag is provided in the response body, it may also be provided as a header per the normal etag convention. Entity tags are used for comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range (section 14.27) header fields. */\n readonly eTag?: string;\n}\n\nexport function elasticBackupVaultSerializer(item: ElasticBackupVault): any {\n return {\n tags: item[\"tags\"],\n location: item[\"location\"],\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : elasticBackupVaultPropertiesSerializer(item[\"properties\"]),\n };\n}\n\nexport function elasticBackupVaultDeserializer(item: any): ElasticBackupVault {\n return {\n tags: item[\"tags\"],\n location: item[\"location\"],\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : elasticBackupVaultPropertiesDeserializer(item[\"properties\"]),\n eTag: item[\"eTag\"],\n };\n}\n\n/** Elastic Backup Vault properties */\nexport interface ElasticBackupVaultProperties {\n /** Azure lifecycle management. */\n readonly provisioningState?: NetAppProvisioningState;\n}\n\nexport function elasticBackupVaultPropertiesSerializer(item: ElasticBackupVaultProperties): any {\n return item;\n}\n\nexport function elasticBackupVaultPropertiesDeserializer(item: any): ElasticBackupVaultProperties {\n return {\n provisioningState: item[\"provisioningState\"],\n };\n}\n\n/** The type used for update operations of the ElasticBackupVault. */\nexport interface ElasticBackupVaultUpdate {\n /** Resource tags. */\n tags?: Record<string, string>;\n}\n\nexport function elasticBackupVaultUpdateSerializer(item: ElasticBackupVaultUpdate): any {\n return { tags: item[\"tags\"] };\n}\n\n/** The response of a ElasticBackupVault list operation. */\nexport interface _ElasticBackupVaultListResult {\n /** The ElasticBackupVault items on this page */\n value: ElasticBackupVault[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _elasticBackupVaultListResultDeserializer(\n item: any,\n): _ElasticBackupVaultListResult {\n return {\n value: elasticBackupVaultArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function elasticBackupVaultArraySerializer(result: Array<ElasticBackupVault>): any[] {\n return result.map((item) => {\n return elasticBackupVaultSerializer(item);\n });\n}\n\nexport function elasticBackupVaultArrayDeserializer(result: Array<ElasticBackupVault>): any[] {\n return result.map((item) => {\n return elasticBackupVaultDeserializer(item);\n });\n}\n\n/** NetApp Elastic Backup Policy resource */\nexport interface ElasticBackupPolicy extends TrackedResource {\n /** The resource-specific properties for this resource. */\n properties?: ElasticBackupPolicyProperties;\n /** If eTag is provided in the response body, it may also be provided as a header per the normal etag convention. Entity tags are used for comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range (section 14.27) header fields. */\n readonly eTag?: string;\n}\n\nexport function elasticBackupPolicySerializer(item: ElasticBackupPolicy): any {\n return {\n tags: item[\"tags\"],\n location: item[\"location\"],\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : elasticBackupPolicyPropertiesSerializer(item[\"properties\"]),\n };\n}\n\nexport function elasticBackupPolicyDeserializer(item: any): ElasticBackupPolicy {\n return {\n tags: item[\"tags\"],\n location: item[\"location\"],\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : elasticBackupPolicyPropertiesDeserializer(item[\"properties\"]),\n eTag: item[\"eTag\"],\n };\n}\n\n/** Elastic Backup Policy properties */\nexport interface ElasticBackupPolicyProperties {\n /** Azure lifecycle management. */\n readonly provisioningState?: NetAppProvisioningState;\n /** Daily backups count to keep */\n dailyBackupsToKeep?: number;\n /** Weekly backups count to keep */\n weeklyBackupsToKeep?: number;\n /** Monthly backups count to keep */\n monthlyBackupsToKeep?: number;\n /** The number of volumes currently using this Backup Policy. */\n readonly assignedVolumesCount?: number;\n /** The property to identify whether Backup Policy is enabled or not */\n policyState?: ElasticBackupPolicyState;\n}\n\nexport function elasticBackupPolicyPropertiesSerializer(item: ElasticBackupPolicyProperties): any {\n return {\n dailyBackupsToKeep: item[\"dailyBackupsToKeep\"],\n weeklyBackupsToKeep: item[\"weeklyBackupsToKeep\"],\n monthlyBackupsToKeep: item[\"monthlyBackupsToKeep\"],\n policyState: item[\"policyState\"],\n };\n}\n\nexport function elasticBackupPolicyPropertiesDeserializer(\n item: any,\n): ElasticBackupPolicyProperties {\n return {\n provisioningState: item[\"provisioningState\"],\n dailyBackupsToKeep: item[\"dailyBackupsToKeep\"],\n weeklyBackupsToKeep: item[\"weeklyBackupsToKeep\"],\n monthlyBackupsToKeep: item[\"monthlyBackupsToKeep\"],\n assignedVolumesCount: item[\"assignedVolumesCount\"],\n policyState: item[\"policyState\"],\n };\n}\n\n/** Elastic Backup Policy state */\nexport enum KnownElasticBackupPolicyState {\n /** Value indicating the policy is enabled */\n Enabled = \"Enabled\",\n /** Value indicating the policy is disabled */\n Disabled = \"Disabled\",\n}\n\n/**\n * Elastic Backup Policy state \\\n * {@link KnownElasticBackupPolicyState} can be used interchangeably with ElasticBackupPolicyState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Enabled**: Value indicating the policy is enabled \\\n * **Disabled**: Value indicating the policy is disabled\n */\nexport type ElasticBackupPolicyState = string;\n\n/** The type used for update operations of the ElasticBackupPolicy. */\nexport interface ElasticBackupPolicyUpdate {\n /** Resource tags. */\n tags?: Record<string, string>;\n /** The resource-specific properties for this resource. */\n properties?: ElasticBackupPolicyUpdateProperties;\n}\n\nexport function elasticBackupPolicyUpdateSerializer(item: ElasticBackupPolicyUpdate): any {\n return {\n tags: item[\"tags\"],\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : elasticBackupPolicyUpdatePropertiesSerializer(item[\"properties\"]),\n };\n}\n\n/** The updatable properties of the ElasticBackupPolicy. */\nexport interface ElasticBackupPolicyUpdateProperties {\n /** Daily backups count to keep */\n dailyBackupsToKeep?: number;\n /** Weekly backups count to keep */\n weeklyBackupsToKeep?: number;\n /** Monthly backups count to keep */\n monthlyBackupsToKeep?: number;\n /** The property to identify whether Backup Policy is enabled or not */\n policyState?: ElasticBackupPolicyState;\n}\n\nexport function elasticBackupPolicyUpdatePropertiesSerializer(\n item: ElasticBackupPolicyUpdateProperties,\n): any {\n return {\n dailyBackupsToKeep: item[\"dailyBackupsToKeep\"],\n weeklyBackupsToKeep: item[\"weeklyBackupsToKeep\"],\n monthlyBackupsToKeep: item[\"monthlyBackupsToKeep\"],\n policyState: item[\"policyState\"],\n };\n}\n\n/** The response of a ElasticBackupPolicy list operation. */\nexport interface _ElasticBackupPolicyListResult {\n /** The ElasticBackupPolicy items on this page */\n value: ElasticBackupPolicy[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _elasticBackupPolicyListResultDeserializer(\n item: any,\n): _ElasticBackupPolicyListResult {\n return {\n value: elasticBackupPolicyArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function elasticBackupPolicyArraySerializer(result: Array<ElasticBackupPolicy>): any[] {\n return result.map((item) => {\n return elasticBackupPolicySerializer(item);\n });\n}\n\nexport function elasticBackupPolicyArrayDeserializer(result: Array<ElasticBackupPolicy>): any[] {\n return result.map((item) => {\n return elasticBackupPolicyDeserializer(item);\n });\n}\n\n/** NetApp Elastic Backup under an elastic Backup Vault */\nexport interface ElasticBackup extends ProxyResource {\n /** The resource-specific properties for this resource. */\n properties?: ElasticBackupProperties;\n}\n\nexport function elasticBackupSerializer(item: ElasticBackup): any {\n return {\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : elasticBackupPropertiesSerializer(item[\"properties\"]),\n };\n}\n\nexport function elasticBackupDeserializer(item: any): ElasticBackup {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : elasticBackupPropertiesDeserializer(item[\"properties\"]),\n };\n}\n\n/** Elastic Backup properties */\nexport interface ElasticBackupProperties {\n /** The creation date of the backup */\n readonly creationDate?: Date;\n /** The snapshot creation date of the backup */\n readonly snapshotCreationDate?: Date;\n /** The completion date of the backup */\n readonly completionDate?: Date;\n /** Azure lifecycle management. */\n readonly provisioningState?: NetAppProvisioningState;\n /** Size of backup in bytes */\n readonly size?: number;\n /** Label for backup */\n label?: string;\n /** Type of backup Manual or Scheduled */\n readonly backupType?: ElasticBackupType;\n /** Failure reason */\n readonly failureReason?: string;\n /** ResourceId used to identify the Elastic Volume */\n elasticVolumeResourceId: string;\n /** Manual backup using an already existing snapshot. This will always be CreateNewSnapshot for scheduled backups and UseExistingSnapshot/CreateNewSnapshot for manual backups */\n snapshotUsage?: SnapshotUsage;\n /** ResourceId used to identify the elastic snapshot resource. This is required when an existing snapshot needs to be used for creating a manual backup */\n elasticSnapshotResourceId?: string;\n /** ResourceId used to identify the elastic backup policy */\n readonly elasticBackupPolicyResourceId?: string;\n /** Specifies if the backup is for a large volume. */\n readonly volumeSize?: VolumeSize;\n}\n\nexport function elasticBackupPropertiesSerializer(item: ElasticBackupProperties): any {\n return {\n label: item[\"label\"],\n elasticVolumeResourceId: item[\"elasticVolumeResourceId\"],\n snapshotUsage: item[\"snapshotUsage\"],\n elasticSnapshotResourceId: item[\"elasticSnapshotResourceId\"],\n };\n}\n\nexport function elasticBackupPropertiesDeserializer(item: any): ElasticBackupProperties {\n return {\n creationDate: !item[\"creationDate\"] ? item[\"creationDate\"] : new Date(item[\"creationDate\"]),\n snapshotCreationDate: !item[\"snapshotCreationDate\"]\n ? item[\"snapshotCreationDate\"]\n : new Date(item[\"snapshotCreationDate\"]),\n completionDate: !item[\"completionDate\"]\n ? item[\"completionDate\"]\n : new Date(item[\"completionDate\"]),\n provisioningState: item[\"provisioningState\"],\n size: item[\"size\"],\n label: item[\"label\"],\n backupType: item[\"backupType\"],\n failureReason: item[\"failureReason\"],\n elasticVolumeResourceId: item[\"elasticVolumeResourceId\"],\n snapshotUsage: item[\"snapshotUsage\"],\n elasticSnapshotResourceId: item[\"elasticSnapshotResourceId\"],\n elasticBackupPolicyResourceId: item[\"elasticBackupPolicyResourceId\"],\n volumeSize: item[\"volumeSize\"],\n };\n}\n\n/** Type of backup */\nexport enum KnownElasticBackupType {\n /** Manual backup type */\n Manual = \"Manual\",\n /** Scheduled backup type */\n Scheduled = \"Scheduled\",\n}\n\n/**\n * Type of backup \\\n * {@link KnownElasticBackupType} can be used interchangeably with ElasticBackupType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Manual**: Manual backup type \\\n * **Scheduled**: Scheduled backup type\n */\nexport type ElasticBackupType = string;\n\n/** Snapshot usage for backup */\nexport enum KnownSnapshotUsage {\n /** Value indicating an existing snapshot is used */\n UseExistingSnapshot = \"UseExistingSnapshot\",\n /** Value indicating a new snapshot is created */\n CreateNewSnapshot = \"CreateNewSnapshot\",\n}\n\n/**\n * Snapshot usage for backup \\\n * {@link KnownSnapshotUsage} can be used interchangeably with SnapshotUsage,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **UseExistingSnapshot**: Value indicating an existing snapshot is used \\\n * **CreateNewSnapshot**: Value indicating a new snapshot is created\n */\nexport type SnapshotUsage = string;\n\n/** Volume size for backup */\nexport enum KnownVolumeSize {\n /** Value indicating backup is for a large volume */\n Large = \"Large\",\n /** Value indicating backup is not for a large volume */\n Regular = \"Regular\",\n}\n\n/**\n * Volume size for backup \\\n * {@link KnownVolumeSize} can be used interchangeably with VolumeSize,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Large**: Value indicating backup is for a large volume \\\n * **Regular**: Value indicating backup is not for a large volume\n */\nexport type VolumeSize = string;\n\n/** The response of a ElasticBackup list operation. */\nexport interface _ElasticBackupListResult {\n /** The ElasticBackup items on this page */\n value: ElasticBackup[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _elasticBackupListResultDeserializer(item: any): _ElasticBackupListResult {\n return {\n value: elasticBackupArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function elasticBackupArraySerializer(result: Array<ElasticBackup>): any[] {\n return result.map((item) => {\n return elasticBackupSerializer(item);\n });\n}\n\nexport function elasticBackupArrayDeserializer(result: Array<ElasticBackup>): any[] {\n return result.map((item) => {\n return elasticBackupDeserializer(item);\n });\n}\n\n/** Active Directory Configuration resource */\nexport interface ActiveDirectoryConfig extends TrackedResource {\n /** The resource-specific properties for this resource. */\n properties?: ActiveDirectoryConfigProperties;\n /** \"If etag is provided in the response body, it may also be provided as a header per the normal etag convention. Entity tags are used for comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range (section 14.27) header fields.\") */\n readonly etag?: string;\n /** The managed service identities assigned to this resource. */\n identity?: ManagedServiceIdentity;\n}\n\nexport function activeDirectoryConfigSerializer(item: ActiveDirectoryConfig): any {\n return {\n tags: item[\"tags\"],\n location: item[\"location\"],\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : activeDirectoryConfigPropertiesSerializer(item[\"properties\"]),\n identity: !item[\"identity\"]\n ? item[\"identity\"]\n : managedServiceIdentitySerializer(item[\"identity\"]),\n };\n}\n\nexport function activeDirectoryConfigDeserializer(item: any): ActiveDirectoryConfig {\n return {\n tags: item[\"tags\"],\n location: item[\"location\"],\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : activeDirectoryConfigPropertiesDeserializer(item[\"properties\"]),\n etag: item[\"etag\"],\n identity: !item[\"identity\"]\n ? item[\"identity\"]\n : managedServiceIdentityDeserializer(item[\"identity\"]),\n };\n}\n\n/** Active Directory Configuration properties */\nexport interface ActiveDirectoryConfigProperties {\n /** A domain user account with permission to create machine accounts */\n userName?: string;\n /** An array of DNS server IP addresses(IPv4 only) for the Active Directory */\n dns?: string[];\n /** NetBIOS name of the SMB server. This name will be registered as a computer account in the AD and used to mount volumes */\n smbServerName?: string;\n /** The Organizational Unit (OU) within the Windows Active Directory */\n organizationalUnit?: string;\n /** The Active Directory site the service will limit Domain Controller discovery to */\n site?: string;\n /** Users to be added to the Built-in Backup Operator active directory group. A list of unique usernames without domain specifier */\n backupOperators?: string[];\n /** Users to be added to the Built-in Administrators active directory group. A list of unique usernames without domain specifier */\n administrators?: string[];\n /** Domain Users in the Active directory to be given SecurityPrivilege privilege (Needed for SMB Continuously available shares for SQL). A list of unique usernames without domain specifier */\n securityOperators?: string[];\n /** Status of the Active Directory */\n readonly activeDirectoryStatus?: ActiveDirectoryStatus;\n /** Azure lifecycle management. */\n readonly provisioningState?: NetAppProvisioningState;\n /** Name of the Active Directory domain */\n domain: string;\n /** Access password from Azure KeyVault Secrets to connect Active Directory */\n secretPassword: SecretPassword;\n}\n\nexport function activeDirectoryConfigPropertiesSerializer(\n item: ActiveDirectoryConfigProperties,\n): any {\n return {\n userName: item[\"userName\"],\n dns: !item[\"dns\"]\n ? item[\"dns\"]\n : item[\"dns\"].map((p: any) => {\n return p;\n }),\n smbServerName: item[\"smbServerName\"],\n organizationalUnit: item[\"organizationalUnit\"],\n site: item[\"site\"],\n backupOperators: !item[\"backupOperators\"]\n ? item[\"backupOperators\"]\n : item[\"backupOperators\"].map((p: any) => {\n return p;\n }),\n administrators: !item[\"administrators\"]\n ? item[\"administrators\"]\n : item[\"administrators\"].map((p: any) => {\n return p;\n }),\n securityOperators: !item[\"securityOperators\"]\n ? item[\"securityOperators\"]\n : item[\"securityOperators\"].map((p: any) => {\n return p;\n }),\n domain: item[\"domain\"],\n secretPassword: secretPasswordSerializer(item[\"secretPassword\"]),\n };\n}\n\nexport function activeDirectoryConfigPropertiesDeserializer(\n item: any,\n): ActiveDirectoryConfigProperties {\n return {\n userName: item[\"userName\"],\n dns: !item[\"dns\"]\n ? item[\"dns\"]\n : item[\"dns\"].map((p: any) => {\n return p;\n }),\n smbServerName: item[\"smbServerName\"],\n organizationalUnit: item[\"organizationalUnit\"],\n site: item[\"site\"],\n backupOperators: !item[\"backupOperators\"]\n ? item[\"backupOperators\"]\n : item[\"backupOperators\"].map((p: any) => {\n return p;\n }),\n administrators: !item[\"administrators\"]\n ? item[\"administrators\"]\n : item[\"administrators\"].map((p: any) => {\n return p;\n }),\n securityOperators: !item[\"securityOperators\"]\n ? item[\"securityOperators\"]\n : item[\"securityOperators\"].map((p: any) => {\n return p;\n }),\n activeDirectoryStatus: item[\"activeDirectoryStatus\"],\n provisioningState: item[\"provisioningState\"],\n domain: item[\"domain\"],\n secretPassword: secretPasswordDeserializer(item[\"secretPassword\"]),\n };\n}\n\n/** Status of the Active Directory */\nexport enum KnownActiveDirectoryStatus {\n /** Active Directory created but not in use */\n Created = \"Created\",\n /** Active Directory in use by SMB Volume */\n InUse = \"InUse\",\n /** Active Directory Deleted */\n Deleted = \"Deleted\",\n /** Error with the Active Directory */\n Error = \"Error\",\n /** Active Directory Updating */\n Updating = \"Updating\",\n}\n\n/**\n * Status of the Active Directory \\\n * {@link KnownActiveDirectoryStatus} can be used interchangeably with ActiveDirectoryStatus,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Created**: Active Directory created but not in use \\\n * **InUse**: Active Directory in use by SMB Volume \\\n * **Deleted**: Active Directory Deleted \\\n * **Error**: Error with the Active Directory \\\n * **Updating**: Active Directory Updating\n */\nexport type ActiveDirectoryStatus = string;\n\n/** Access password from Azure KeyVault Secrets to connect Active Directory */\nexport interface SecretPassword {\n /** Properties provided by KeyVault. */\n keyVaultProperties?: SecretPasswordKeyVaultProperties;\n /** Identity used to authenticate to KeyVault. Applicable if keySource is 'Microsoft.KeyVault'. */\n identity?: SecretPasswordIdentity;\n}\n\nexport function secretPasswordSerializer(item: SecretPassword): any {\n return {\n keyVaultProperties: !item[\"keyVaultProperties\"]\n ? item[\"keyVaultProperties\"]\n : secretPasswordKeyVaultPropertiesSerializer(item[\"keyVaultProperties\"]),\n identity: !item[\"identity\"]\n ? item[\"identity\"]\n : secretPasswordIdentitySerializer(item[\"identity\"]),\n };\n}\n\nexport function secretPasswordDeserializer(item: any): SecretPassword {\n return {\n keyVaultProperties: !item[\"keyVaultProperties\"]\n ? item[\"keyVaultProperties\"]\n : secretPasswordKeyVaultPropertiesDeserializer(item[\"keyVaultProperties\"]),\n identity: !item[\"identity\"]\n ? item[\"identity\"]\n : secretPasswordIdentityDeserializer(item[\"identity\"]),\n };\n}\n\n/** Properties of key vault to get the secrets for password. */\nexport interface SecretPasswordKeyVaultProperties {\n /** The Uri of KeyVault. */\n keyVaultUri: string;\n /** The name of KeyVault password secret. */\n secretName: string;\n}\n\nexport function secretPasswordKeyVaultPropertiesSerializer(\n item: SecretPasswordKeyVaultProperties,\n): any {\n return { keyVaultUri: item[\"keyVaultUri\"], secretName: item[\"secretName\"] };\n}\n\nexport function secretPasswordKeyVaultPropertiesDeserializer(\n item: any,\n): SecretPasswordKeyVaultProperties {\n return {\n keyVaultUri: item[\"keyVaultUri\"],\n secretName: item[\"secretName\"],\n };\n}\n\n/** Identity used to authenticate with key vault. */\nexport interface SecretPasswordIdentity {\n /** The principal ID (object ID) of the identity used to authenticate with key vault. Read-only. */\n readonly principalId?: string;\n /** The Azure resource identifier of the user assigned identity used to authenticate with key vault. Applicable if identity.type has 'UserAssigned'. It should match key of identity.userAssignedIdentities. */\n userAssignedIdentity?: string;\n}\n\nexport function secretPasswordIdentitySerializer(item: SecretPasswordIdentity): any {\n return { userAssignedIdentity: item[\"userAssignedIdentity\"] };\n}\n\nexport function secretPasswordIdentityDeserializer(item: any): SecretPasswordIdentity {\n return {\n principalId: item[\"principalId\"],\n userAssignedIdentity: item[\"userAssignedIdentity\"],\n };\n}\n\n/** The type used for update operations of the ActiveDirectoryConfig. */\nexport interface ActiveDirectoryConfigUpdate {\n /** The managed service identities assigned to this resource. */\n identity?: ManagedServiceIdentity;\n /** Resource tags. */\n tags?: Record<string, string>;\n /** The resource-specific properties for this resource. */\n properties?: ActiveDirectoryConfigUpdateProperties;\n}\n\nexport function activeDirectoryConfigUpdateSerializer(item: ActiveDirectoryConfigUpdate): any {\n return {\n identity: !item[\"identity\"]\n ? item[\"identity\"]\n : managedServiceIdentitySerializer(item[\"identity\"]),\n tags: item[\"tags\"],\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : activeDirectoryConfigUpdatePropertiesSerializer(item[\"properties\"]),\n };\n}\n\n/** The updatable properties of the ActiveDirectoryConfig. */\nexport interface ActiveDirectoryConfigUpdateProperties {\n /** A domain user account with permission to create machine accounts */\n userName?: string;\n /** An array of DNS server IP addresses(IPv4 only) for the Active Directory */\n dns?: string[];\n /** NetBIOS name of the SMB server. This name will be registered as a computer account in the AD and used to mount volumes */\n smbServerName?: string;\n /** The Organizational Unit (OU) within the Windows Active Directory */\n organizationalUnit?: string;\n /** The Active Directory site the service will limit Domain Controller discovery to */\n site?: string;\n /** Users to be added to the Built-in Backup Operator active directory group. A list of unique usernames without domain specifier */\n backupOperators?: string[];\n /** Users to be added to the Built-in Administrators active directory group. A list of unique usernames without domain specifier */\n administrators?: string[];\n /** Domain Users in the Active directory to be given SecurityPrivilege privilege (Needed for SMB Continuously available shares for SQL). A list of unique usernames without domain specifier */\n securityOperators?: string[];\n /** Name of the Active Directory domain */\n domain?: string;\n /** Access password from Azure KeyVault Secrets to connect Active Directory */\n secretPassword?: SecretPassword;\n}\n\nexport function activeDirectoryConfigUpdatePropertiesSerializer(\n item: ActiveDirectoryConfigUpdateProperties,\n): any {\n return {\n userName: item[\"userName\"],\n dns: !item[\"dns\"]\n ? item[\"dns\"]\n : item[\"dns\"].map((p: any) => {\n return p;\n }),\n smbServerName: item[\"smbServerName\"],\n organizationalUnit: item[\"organizationalUnit\"],\n site: item[\"site\"],\n backupOperators: !item[\"backupOperators\"]\n ? item[\"backupOperators\"]\n : item[\"backupOperators\"].map((p: any) => {\n return p;\n }),\n administrators: !item[\"administrators\"]\n ? item[\"administrators\"]\n : item[\"administrators\"].map((p: any) => {\n return p;\n }),\n securityOperators: !item[\"securityOperators\"]\n ? item[\"securityOperators\"]\n : item[\"securityOperators\"].map((p: any) => {\n return p;\n }),\n domain: item[\"domain\"],\n secretPassword: !item[\"secretPassword\"]\n ? item[\"secretPassword\"]\n : secretPasswordSerializer(item[\"secretPassword\"]),\n };\n}\n\n/** The response of a ActiveDirectoryConfig list operation. */\nexport interface _ActiveDirectoryConfigListResult {\n /** The ActiveDirectoryConfig items on this page */\n value: ActiveDirectoryConfig[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _activeDirectoryConfigListResultDeserializer(\n item: any,\n): _ActiveDirectoryConfigListResult {\n return {\n value: activeDirectoryConfigArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function activeDirectoryConfigArraySerializer(result: Array<ActiveDirectoryConfig>): any[] {\n return result.map((item) => {\n return activeDirectoryConfigSerializer(item);\n });\n}\n\nexport function activeDirectoryConfigArrayDeserializer(\n result: Array<ActiveDirectoryConfig>,\n): any[] {\n return result.map((item) => {\n return activeDirectoryConfigDeserializer(item);\n });\n}\n\n/** Information regarding regionInfo Item. */\nexport interface RegionInfoResource extends ProxyResource {\n /** regionInfo properties */\n properties?: RegionInfo;\n}\n\nexport function regionInfoResourceDeserializer(item: any): RegionInfoResource {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : regionInfoDeserializer(item[\"properties\"]),\n };\n}\n\n/** Provides region specific information. */\nexport interface RegionInfo {\n /** Provides storage to network proximity information in the region. */\n storageToNetworkProximity?: RegionStorageToNetworkProximity;\n /** Provides logical availability zone mappings for the subscription for a region. */\n availabilityZoneMappings?: RegionInfoAvailabilityZoneMappingsItem[];\n}\n\nexport function regionInfoDeserializer(item: any): RegionInfo {\n return {\n storageToNetworkProximity: item[\"storageToNetworkProximity\"],\n availabilityZoneMappings: !item[\"availabilityZoneMappings\"]\n ? item[\"availabilityZoneMappings\"]\n : regionInfoAvailabilityZoneMappingsItemArrayDeserializer(item[\"availabilityZoneMappings\"]),\n };\n}\n\n/** Provides storage to network proximity information in the region. */\nexport enum KnownRegionStorageToNetworkProximity {\n /** Basic network connectivity. */\n Default = \"Default\",\n /** Standard T1 network connectivity. */\n T1 = \"T1\",\n /** Standard T2 network connectivity. */\n T2 = \"T2\",\n /** Standard AcrossT2 network connectivity. */\n AcrossT2 = \"AcrossT2\",\n /** Standard T1 and T2 network connectivity. */\n T1AndT2 = \"T1AndT2\",\n /** Standard T1 and AcrossT2 network connectivity. */\n T1AndAcrossT2 = \"T1AndAcrossT2\",\n /** Standard T2 and AcrossT2 network connectivity. */\n T2AndAcrossT2 = \"T2AndAcrossT2\",\n /** Standard T1, T2 and AcrossT2 network connectivity. */\n T1AndT2AndAcrossT2 = \"T1AndT2AndAcrossT2\",\n}\n\n/**\n * Provides storage to network proximity information in the region. \\\n * {@link KnownRegionStorageToNetworkProximity} can be used interchangeably with RegionStorageToNetworkProximity,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Default**: Basic network connectivity. \\\n * **T1**: Standard T1 network connectivity. \\\n * **T2**: Standard T2 network connectivity. \\\n * **AcrossT2**: Standard AcrossT2 network connectivity. \\\n * **T1AndT2**: Standard T1 and T2 network connectivity. \\\n * **T1AndAcrossT2**: Standard T1 and AcrossT2 network connectivity. \\\n * **T2AndAcrossT2**: Standard T2 and AcrossT2 network connectivity. \\\n * **T1AndT2AndAcrossT2**: Standard T1, T2 and AcrossT2 network connectivity.\n */\nexport type RegionStorageToNetworkProximity = string;\n\nexport function regionInfoAvailabilityZoneMappingsItemArrayDeserializer(\n result: Array<RegionInfoAvailabilityZoneMappingsItem>,\n): any[] {\n return result.map((item) => {\n return regionInfoAvailabilityZoneMappingsItemDeserializer(item);\n });\n}\n\n/** model interface RegionInfoAvailabilityZoneMappingsItem */\nexport interface RegionInfoAvailabilityZoneMappingsItem {\n /** Logical availability zone. */\n availabilityZone?: string;\n /** Available availability zone */\n isAvailable?: boolean;\n}\n\nexport function regionInfoAvailabilityZoneMappingsItemDeserializer(\n item: any,\n): RegionInfoAvailabilityZoneMappingsItem {\n return {\n availabilityZone: item[\"availabilityZone\"],\n isAvailable: item[\"isAvailable\"],\n };\n}\n\n/** List of regionInfo resources */\nexport interface _RegionInfosList {\n /** The RegionInfoResource items on this page */\n value: RegionInfoResource[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _regionInfosListDeserializer(item: any): _RegionInfosList {\n return {\n value: regionInfoResourceArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function regionInfoResourceArrayDeserializer(result: Array<RegionInfoResource>): any[] {\n return result.map((item) => {\n return regionInfoResourceDeserializer(item);\n });\n}\n\n/** NetApp account resource */\nexport interface NetAppAccount extends TrackedResource {\n /** NetApp Account properties */\n properties?: AccountProperties;\n /** \"If etag is provided in the response body, it may also be provided as a header per the normal etag convention. Entity tags are used for comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range (section 14.27) header fields.\") */\n readonly etag?: string;\n /** The managed service identities assigned to this resource. */\n identity?: ManagedServiceIdentity;\n}\n\nexport function netAppAccountSerializer(item: NetAppAccount): any {\n return {\n tags: item[\"tags\"],\n location: item[\"location\"],\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : accountPropertiesSerializer(item[\"properties\"]),\n identity: !item[\"identity\"]\n ? item[\"identity\"]\n : managedServiceIdentitySerializer(item[\"identity\"]),\n };\n}\n\nexport function netAppAccountDeserializer(item: any): NetAppAccount {\n return {\n tags: item[\"tags\"],\n location: item[\"location\"],\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : accountPropertiesDeserializer(item[\"properties\"]),\n etag: item[\"etag\"],\n identity: !item[\"identity\"]\n ? item[\"identity\"]\n : managedServiceIdentityDeserializer(item[\"identity\"]),\n };\n}\n\n/** NetApp account properties */\nexport interface AccountProperties {\n /** Azure lifecycle management */\n readonly provisioningState?: string;\n /** Active Directories */\n activeDirectories?: ActiveDirectory[];\n /** Encryption settings */\n encryption?: AccountEncryption;\n /** Shows the status of disableShowmount for all volumes under the subscription, null equals false */\n readonly disableShowmount?: boolean | null;\n /** Domain for NFSv4 user ID mapping. This property will be set for all NetApp accounts in the subscription and region and only affect non ldap NFSv4 volumes. */\n nfsV4IDDomain?: string | null;\n /** MultiAD Status for the account */\n readonly multiAdStatus?: MultiAdStatus;\n /** LDAP Configuration for the account. */\n ldapConfiguration?: LdapConfiguration;\n}\n\nexport function accountPropertiesSerializer(item: AccountProperties): any {\n return {\n activeDirectories: !item[\"activeDirectories\"]\n ? item[\"activeDirectories\"]\n : activeDirectoryArraySerializer(item[\"activeDirectories\"]),\n encryption: !item[\"encryption\"]\n ? item[\"encryption\"]\n : accountEncryptionSerializer(item[\"encryption\"]),\n nfsV4IDDomain: item[\"nfsV4IDDomain\"],\n ldapConfiguration: !item[\"ldapConfiguration\"]\n ? item[\"ldapConfiguration\"]\n : ldapConfigurationSerializer(item[\"ldapConfiguration\"]),\n };\n}\n\nexport function accountPropertiesDeserializer(item: any): AccountProperties {\n return {\n provisioningState: item[\"provisioningState\"],\n activeDirectories: !item[\"activeDirectories\"]\n ? item[\"activeDirectories\"]\n : activeDirectoryArrayDeserializer(item[\"activeDirectories\"]),\n encryption: !item[\"encryption\"]\n ? item[\"encryption\"]\n : accountEncryptionDeserializer(item[\"encryption\"]),\n disableShowmount: item[\"disableShowmount\"],\n nfsV4IDDomain: item[\"nfsV4IDDomain\"],\n multiAdStatus: item[\"multiAdStatus\"],\n ldapConfiguration: !item[\"ldapConfiguration\"]\n ? item[\"ldapConfiguration\"]\n : ldapConfigurationDeserializer(item[\"ldapConfiguration\"]),\n };\n}\n\nexport function activeDirectoryArraySerializer(result: Array<ActiveDirectory>): any[] {\n return result.map((item) => {\n return activeDirectorySerializer(item);\n });\n}\n\nexport function activeDirectoryArrayDeserializer(result: Array<ActiveDirectory>): any[] {\n return result.map((item) => {\n return activeDirectoryDeserializer(item);\n });\n}\n\n/** Active Directory */\nexport interface ActiveDirectory {\n /** Id of the Active Directory */\n activeDirectoryId?: string | null;\n /** A domain user account with permission to create machine accounts */\n username?: string;\n /** Plain text password of Active Directory domain administrator, value is masked in the response */\n password?: string;\n /** Name of the Active Directory domain */\n domain?: string;\n /** Comma separated list of DNS server IP addresses (IPv4 only) for the Active Directory domain */\n dns?: string;\n /** Status of the Active Directory */\n readonly status?: ActiveDirectoryStatus;\n /** Any details in regards to the Status of the Active Directory */\n readonly statusDetails?: string;\n /** NetBIOS name of the SMB server. This name will be registered as a computer account in the AD and used to mount volumes */\n smbServerName?: string;\n /** The Organizational Unit (OU) within the Windows Active Directory */\n organizationalUnit?: string;\n /** The Active Directory site the service will limit Domain Controller discovery to */\n site?: string;\n /** Users to be added to the Built-in Backup Operator active directory group. A list of unique usernames without domain specifier */\n backupOperators?: string[];\n /** Users to be added to the Built-in Administrators active directory group. A list of unique usernames without domain specifier */\n administrators?: string[];\n /** kdc server IP address for the active directory machine. This optional parameter is used only while creating kerberos volume. */\n kdcIP?: string;\n /** Name of the active directory machine. This optional parameter is used only while creating kerberos volume */\n adName?: string;\n /** When LDAP over SSL/TLS is enabled, the LDAP client is required to have base64 encoded Active Directory Certificate Service's self-signed root CA certificate, this optional parameter is used only for dual protocol with LDAP user-mapping volumes. */\n serverRootCACertificate?: string;\n /** If enabled, AES encryption will be enabled for SMB communication. */\n aesEncryption?: boolean;\n /** Specifies whether or not the LDAP traffic needs to be signed. */\n ldapSigning?: boolean;\n /** Domain Users in the Active directory to be given SeSecurityPrivilege privilege (Needed for SMB Continuously available shares for SQL). A list of unique usernames without domain specifier */\n securityOperators?: string[];\n /** Specifies whether or not the LDAP traffic needs to be secured via TLS. */\n ldapOverTLS?: boolean;\n /** If enabled, NFS client local users can also (in addition to LDAP users) access the NFS volumes. */\n allowLocalNfsUsersWithLdap?: boolean;\n /** If enabled, Traffic between the SMB server to Domain Controller (DC) will be encrypted. */\n encryptDCConnections?: boolean;\n /** LDAP Search scope options */\n ldapSearchScope?: LdapSearchScopeOpt;\n /** Comma separated list of IPv4 addresses of preferred servers for LDAP client. At most two comma separated IPv4 addresses can be passed. */\n preferredServersForLdapClient?: string;\n}\n\nexport function activeDirectorySerializer(item: ActiveDirectory): any {\n return {\n activeDirectoryId: item[\"activeDirectoryId\"],\n username: item[\"username\"],\n password: item[\"password\"],\n domain: item[\"domain\"],\n dns: item[\"dns\"],\n smbServerName: item[\"smbServerName\"],\n organizationalUnit: item[\"organizationalUnit\"],\n site: item[\"site\"],\n backupOperators: !item[\"backupOperators\"]\n ? item[\"backupOperators\"]\n : item[\"backupOperators\"].map((p: any) => {\n return p;\n }),\n administrators: !item[\"administrators\"]\n ? item[\"administrators\"]\n : item[\"administrators\"].map((p: any) => {\n return p;\n }),\n kdcIP: item[\"kdcIP\"],\n adName: item[\"adName\"],\n serverRootCACertificate: item[\"serverRootCACertificate\"],\n aesEncryption: item[\"aesEncryption\"],\n ldapSigning: item[\"ldapSigning\"],\n securityOperators: !item[\"securityOperators\"]\n ? item[\"securityOperators\"]\n : item[\"securityOperators\"].map((p: any) => {\n return p;\n }),\n ldapOverTLS: item[\"ldapOverTLS\"],\n allowLocalNfsUsersWithLdap: item[\"allowLocalNfsUsersWithLdap\"],\n encryptDCConnections: item[\"encryptDCConnections\"],\n ldapSearchScope: !item[\"ldapSearchScope\"]\n ? item[\"ldapSearchScope\"]\n : ldapSearchScopeOptSerializer(item[\"ldapSearchScope\"]),\n preferredServersForLdapClient: item[\"preferredServersForLdapClient\"],\n };\n}\n\nexport function activeDirectoryDeserializer(item: any): ActiveDirectory {\n return {\n activeDirectoryId: item[\"activeDirectoryId\"],\n username: item[\"username\"],\n password: item[\"password\"],\n domain: item[\"domain\"],\n dns: item[\"dns\"],\n status: item[\"status\"],\n statusDetails: item[\"statusDetails\"],\n smbServerName: item[\"smbServerName\"],\n organizationalUnit: item[\"organizationalUnit\"],\n site: item[\"site\"],\n backupOperators: !item[\"backupOperators\"]\n ? item[\"backupOperators\"]\n : item[\"backupOperators\"].map((p: any) => {\n return p;\n }),\n administrators: !item[\"administrators\"]\n ? item[\"administrators\"]\n : item[\"administrators\"].map((p: any) => {\n return p;\n }),\n kdcIP: item[\"kdcIP\"],\n adName: item[\"adName\"],\n serverRootCACertificate: item[\"serverRootCACertificate\"],\n aesEncryption: item[\"aesEncryption\"],\n ldapSigning: item[\"ldapSigning\"],\n securityOperators: !item[\"securityOperators\"]\n ? item[\"securityOperators\"]\n : item[\"securityOperators\"].map((p: any) => {\n return p;\n }),\n ldapOverTLS: item[\"ldapOverTLS\"],\n allowLocalNfsUsersWithLdap: item[\"allowLocalNfsUsersWithLdap\"],\n encryptDCConnections: item[\"encryptDCConnections\"],\n ldapSearchScope: !item[\"ldapSearchScope\"]\n ? item[\"ldapSearchScope\"]\n : ldapSearchScopeOptDeserializer(item[\"ldapSearchScope\"]),\n preferredServersForLdapClient: item[\"preferredServersForLdapClient\"],\n };\n}\n\n/** LDAP search scope */\nexport interface LdapSearchScopeOpt {\n /** This specifies the user DN, which overrides the base DN for user lookups. */\n userDN?: string;\n /** This specifies the group DN, which overrides the base DN for group lookups. */\n groupDN?: string;\n /** This specifies the custom LDAP search filter to be used when looking up group membership from LDAP server. */\n groupMembershipFilter?: string;\n}\n\nexport function ldapSearchScopeOptSerializer(item: LdapSearchScopeOpt): any {\n return {\n userDN: item[\"userDN\"],\n groupDN: item[\"groupDN\"],\n groupMembershipFilter: item[\"groupMembershipFilter\"],\n };\n}\n\nexport function ldapSearchScopeOptDeserializer(item: any): LdapSearchScopeOpt {\n return {\n userDN: item[\"userDN\"],\n groupDN: item[\"groupDN\"],\n groupMembershipFilter: item[\"groupMembershipFilter\"],\n };\n}\n\n/** Encryption settings */\nexport interface AccountEncryption {\n /** The encryption keySource (provider). Possible values (case-insensitive): Microsoft.NetApp, Microsoft.KeyVault */\n keySource?: KeySource;\n /** Properties provided by KeVault. Applicable if keySource is 'Microsoft.KeyVault'. */\n keyVaultProperties?: KeyVaultProperties;\n /** Identity used to authenticate to KeyVault. Applicable if keySource is 'Microsoft.KeyVault'. */\n identity?: EncryptionIdentity;\n}\n\nexport function accountEncryptionSerializer(item: AccountEncryption): any {\n return {\n keySource: item[\"keySource\"],\n keyVaultProperties: !item[\"keyVaultProperties\"]\n ? item[\"keyVaultProperties\"]\n : keyVaultPropertiesSerializer(item[\"keyVaultProperties\"]),\n identity: !item[\"identity\"] ? item[\"identity\"] : encryptionIdentitySerializer(item[\"identity\"]),\n };\n}\n\nexport function accountEncryptionDeserializer(item: any): AccountEncryption {\n return {\n keySource: item[\"keySource\"],\n keyVaultProperties: !item[\"keyVaultProperties\"]\n ? item[\"keyVaultProperties\"]\n : keyVaultPropertiesDeserializer(item[\"keyVaultProperties\"]),\n identity: !item[\"identity\"]\n ? item[\"identity\"]\n : encryptionIdentityDeserializer(item[\"identity\"]),\n };\n}\n\n/** Properties of key vault. */\nexport interface KeyVaultProperties {\n /** UUID v4 used to identify the Azure Key Vault configuration */\n readonly keyVaultId?: string;\n /** The Uri of KeyVault. */\n keyVaultUri: string;\n /** The name of KeyVault key. */\n keyName: string;\n /** The resource ID of KeyVault. */\n keyVaultResourceId?: string;\n /** Status of the KeyVault connection. */\n readonly status?: KeyVaultStatus;\n}\n\nexport function keyVaultPropertiesSerializer(item: KeyVaultProperties): any {\n return {\n keyVaultUri: item[\"keyVaultUri\"],\n keyName: item[\"keyName\"],\n keyVaultResourceId: item[\"keyVaultResourceId\"],\n };\n}\n\nexport function keyVaultPropertiesDeserializer(item: any): KeyVaultProperties {\n return {\n keyVaultId: item[\"keyVaultId\"],\n keyVaultUri: item[\"keyVaultUri\"],\n keyName: item[\"keyName\"],\n keyVaultResourceId: item[\"keyVaultResourceId\"],\n status: item[\"status\"],\n };\n}\n\n/** Status of the KeyVault connection. */\nexport enum KnownKeyVaultStatus {\n /** KeyVault connection created but not in use */\n Created = \"Created\",\n /** KeyVault connection in use by SMB Volume */\n InUse = \"InUse\",\n /** KeyVault connection Deleted */\n Deleted = \"Deleted\",\n /** Error with the KeyVault connection */\n Error = \"Error\",\n /** KeyVault connection Updating */\n Updating = \"Updating\",\n}\n\n/**\n * Status of the KeyVault connection. \\\n * {@link KnownKeyVaultStatus} can be used interchangeably with KeyVaultStatus,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Created**: KeyVault connection created but not in use \\\n * **InUse**: KeyVault connection in use by SMB Volume \\\n * **Deleted**: KeyVault connection Deleted \\\n * **Error**: Error with the KeyVault connection \\\n * **Updating**: KeyVault connection Updating\n */\nexport type KeyVaultStatus = string;\n\n/** Identity used to authenticate with key vault. */\nexport interface EncryptionIdentity {\n /** The principal ID (object ID) of the identity used to authenticate with key vault. Read-only. */\n readonly principalId?: string;\n /** The ARM resource identifier of the user assigned identity used to authenticate with key vault. Applicable if identity.type has 'UserAssigned'. It should match key of identity.userAssignedIdentities. */\n userAssignedIdentity?: string;\n /** ClientId of the multi-tenant AAD Application. Used to access cross-tenant keyvaults. */\n federatedClientId?: string;\n}\n\nexport function encryptionIdentitySerializer(item: EncryptionIdentity): any {\n return {\n userAssignedIdentity: item[\"userAssignedIdentity\"],\n federatedClientId: item[\"federatedClientId\"],\n };\n}\n\nexport function encryptionIdentityDeserializer(item: any): EncryptionIdentity {\n return {\n principalId: item[\"principalId\"],\n userAssignedIdentity: item[\"userAssignedIdentity\"],\n federatedClientId: item[\"federatedClientId\"],\n };\n}\n\n/** MultiAD Status for the account */\nexport enum KnownMultiAdStatus {\n /** Account is MultiAD disabled, Means its a SharedAD or SingleAD account. */\n Disabled = \"Disabled\",\n /** Account is MultiAD enabled */\n Enabled = \"Enabled\",\n}\n\n/**\n * MultiAD Status for the account \\\n * {@link KnownMultiAdStatus} can be used interchangeably with MultiAdStatus,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Disabled**: Account is MultiAD disabled, Means its a SharedAD or SingleAD account. \\\n * **Enabled**: Account is MultiAD enabled\n */\nexport type MultiAdStatus = string;\n\n/** LDAP configuration */\nexport interface LdapConfiguration {\n /** Name of the LDAP configuration domain */\n domain?: string;\n /** List of LDAP server IP addresses (IPv4 only) for the LDAP domain. */\n ldapServers?: string[];\n /** Specifies whether or not the LDAP traffic needs to be secured via TLS. */\n ldapOverTLS?: boolean;\n /** When LDAP over SSL/TLS is enabled, the LDAP client is required to have base64 encoded ldap servers CA certificate. */\n serverCACertificate?: string;\n /** The CN host name used while generating the certificate, LDAP Over TLS requires the CN host name to create DNS host entry. */\n certificateCNHost?: string | null;\n}\n\nexport function ldapConfigurationSerializer(item: LdapConfiguration): any {\n return {\n domain: item[\"domain\"],\n ldapServers: !item[\"ldapServers\"]\n ? item[\"ldapServers\"]\n : item[\"ldapServers\"].map((p: any) => {\n return p;\n }),\n ldapOverTLS: item[\"ldapOverTLS\"],\n serverCACertificate: item[\"serverCACertificate\"],\n certificateCNHost: item[\"certificateCNHost\"],\n };\n}\n\nexport function ldapConfigurationDeserializer(item: any): LdapConfiguration {\n return {\n domain: item[\"domain\"],\n ldapServers: !item[\"ldapServers\"]\n ? item[\"ldapServers\"]\n : item[\"ldapServers\"].map((p: any) => {\n return p;\n }),\n ldapOverTLS: item[\"ldapOverTLS\"],\n serverCACertificate: item[\"serverCACertificate\"],\n certificateCNHost: item[\"certificateCNHost\"],\n };\n}\n\n/** NetApp account patch resource */\nexport interface NetAppAccountPatch {\n /** Resource location */\n location?: string;\n /** Resource Id */\n readonly id?: string;\n /** Resource name */\n readonly name?: string;\n /** Resource type */\n readonly type?: string;\n /** Resource tags */\n tags?: Record<string, string>;\n /** NetApp Account properties */\n properties?: AccountProperties;\n /** The identity used for the resource. */\n identity?: ManagedServiceIdentity;\n}\n\nexport function netAppAccountPatchSerializer(item: NetAppAccountPatch): any {\n return {\n location: item[\"location\"],\n tags: item[\"tags\"],\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : accountPropertiesSerializer(item[\"properties\"]),\n identity: !item[\"identity\"]\n ? item[\"identity\"]\n : managedServiceIdentitySerializer(item[\"identity\"]),\n };\n}\n\n/** List of NetApp account resources */\nexport interface _NetAppAccountList {\n /** The NetAppAccount items on this page */\n value: NetAppAccount[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _netAppAccountListDeserializer(item: any): _NetAppAccountList {\n return {\n value: netAppAccountArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function netAppAccountArraySerializer(result: Array<NetAppAccount>): any[] {\n return result.map((item) => {\n return netAppAccountSerializer(item);\n });\n}\n\nexport function netAppAccountArrayDeserializer(result: Array<NetAppAccount>): any[] {\n return result.map((item) => {\n return netAppAccountDeserializer(item);\n });\n}\n\n/** Encryption transition request */\nexport interface EncryptionTransitionRequest {\n /** Identifier for the virtual network */\n virtualNetworkId: string;\n /** Identifier of the private endpoint to reach the Azure Key Vault */\n privateEndpointId: string;\n}\n\nexport function encryptionTransitionRequestSerializer(item: EncryptionTransitionRequest): any {\n return {\n virtualNetworkId: item[\"virtualNetworkId\"],\n privateEndpointId: item[\"privateEndpointId\"],\n };\n}\n\n/** Result of getKeyVaultStatus with information about how volumes under NetApp account are encrypted. */\nexport interface GetKeyVaultStatusResponse {\n /** Represents the properties of the getKeyVaultStatus. */\n properties?: GetKeyVaultStatusResponseProperties;\n}\n\nexport function getKeyVaultStatusResponseDeserializer(item: any): GetKeyVaultStatusResponse {\n return {\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : getKeyVaultStatusResponsePropertiesDeserializer(item[\"properties\"]),\n };\n}\n\n/** Properties which represents Change key vault status. */\nexport interface GetKeyVaultStatusResponseProperties {\n /** The URI of the key vault/managed HSM that should be used for encryption. */\n keyVaultUri?: string;\n /** The name of the key that should be used for encryption. */\n keyName?: string;\n /** Azure resource ID of the key vault/managed HSM that should be used for encryption. */\n keyVaultResourceId?: string;\n /** Pairs of virtual network ID and private endpoint ID. Every virtual network that has volumes encrypted with customer-managed keys needs its own key vault private endpoint. */\n keyVaultPrivateEndpoints?: KeyVaultPrivateEndpoint[];\n}\n\nexport function getKeyVaultStatusResponsePropertiesDeserializer(\n item: any,\n): GetKeyVaultStatusResponseProperties {\n return {\n keyVaultUri: item[\"keyVaultUri\"],\n keyName: item[\"keyName\"],\n keyVaultResourceId: item[\"keyVaultResourceId\"],\n keyVaultPrivateEndpoints: !item[\"keyVaultPrivateEndpoints\"]\n ? item[\"keyVaultPrivateEndpoints\"]\n : keyVaultPrivateEndpointArrayDeserializer(item[\"keyVaultPrivateEndpoints\"]),\n };\n}\n\nexport function keyVaultPrivateEndpointArraySerializer(\n result: Array<KeyVaultPrivateEndpoint>,\n): any[] {\n return result.map((item) => {\n return keyVaultPrivateEndpointSerializer(item);\n });\n}\n\nexport function keyVaultPrivateEndpointArrayDeserializer(\n result: Array<KeyVaultPrivateEndpoint>,\n): any[] {\n return result.map((item) => {\n return keyVaultPrivateEndpointDeserializer(item);\n });\n}\n\n/** Pairs of virtual network ID and private endpoint ID. Every virtual network that has volumes encrypted with customer-managed keys needs its own key vault private endpoint. */\nexport interface KeyVaultPrivateEndpoint {\n /** Identifier for the virtual network id */\n virtualNetworkId?: string;\n /** Identifier of the private endpoint to reach the Azure Key Vault */\n privateEndpointId?: string;\n}\n\nexport function keyVaultPrivateEndpointSerializer(item: KeyVaultPrivateEndpoint): any {\n return {\n virtualNetworkId: item[\"virtualNetworkId\"],\n privateEndpointId: item[\"privateEndpointId\"],\n };\n}\n\nexport function keyVaultPrivateEndpointDeserializer(item: any): KeyVaultPrivateEndpoint {\n return {\n virtualNetworkId: item[\"virtualNetworkId\"],\n privateEndpointId: item[\"privateEndpointId\"],\n };\n}\n\n/** Change key vault request */\nexport interface ChangeKeyVault {\n /** The URI of the key vault/managed HSM that should be used for encryption. */\n keyVaultUri: string;\n /** The name of the key that should be used for encryption. */\n keyName: string;\n /** Azure resource ID of the key vault/managed HSM that should be used for encryption. */\n keyVaultResourceId?: string;\n /** Pairs of virtual network ID and private endpoint ID. Every virtual network that has volumes encrypted with customer-managed keys needs its own key vault private endpoint. */\n keyVaultPrivateEndpoints: KeyVaultPrivateEndpoint[];\n}\n\nexport function changeKeyVaultSerializer(item: ChangeKeyVault): any {\n return {\n keyVaultUri: item[\"keyVaultUri\"],\n keyName: item[\"keyName\"],\n keyVaultResourceId: item[\"keyVaultResourceId\"],\n keyVaultPrivateEndpoints: keyVaultPrivateEndpointArraySerializer(\n item[\"keyVaultPrivateEndpoints\"],\n ),\n };\n}\n\n/** Migrate Backups Request */\nexport interface BackupsMigrationRequest {\n /** The ResourceId of the Backup Vault */\n backupVaultId: string;\n}\n\nexport function backupsMigrationRequestSerializer(item: BackupsMigrationRequest): any {\n return { backupVaultId: item[\"backupVaultId\"] };\n}\n\n/** Capacity pool resource */\nexport interface CapacityPool extends TrackedResource {\n /** Capacity pool properties */\n properties: PoolProperties;\n /** \"If etag is provided in the response body, it may also be provided as a header per the normal etag convention. Entity tags are used for comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range (section 14.27) header fields.\") */\n readonly etag?: string;\n}\n\nexport function capacityPoolSerializer(item: CapacityPool): any {\n return {\n tags: item[\"tags\"],\n location: item[\"location\"],\n properties: poolPropertiesSerializer(item[\"properties\"]),\n };\n}\n\nexport function capacityPoolDeserializer(item: any): CapacityPool {\n return {\n tags: item[\"tags\"],\n location: item[\"location\"],\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: poolPropertiesDeserializer(item[\"properties\"]),\n etag: item[\"etag\"],\n };\n}\n\n/** Pool properties */\nexport interface PoolProperties {\n /** UUID v4 used to identify the Pool */\n readonly poolId?: string;\n /** Provisioned size of the pool (in bytes). Allowed values are in 1TiB chunks (value must be multiple of 1099511627776). */\n size: number;\n /** The service level of the file system */\n serviceLevel: ServiceLevel;\n /** Azure lifecycle management */\n readonly provisioningState?: string;\n /** Total throughput of pool in MiB/s */\n readonly totalThroughputMibps?: number;\n /** Utilized throughput of pool in MiB/s */\n readonly utilizedThroughputMibps?: number;\n /** Maximum throughput in MiB/s that can be achieved by this pool and this will be accepted as input only for manual qosType pool with Flexible service level */\n customThroughputMibps?: number | null;\n /** The qos type of the pool */\n qosType?: QosType;\n /** If enabled (true) the pool can contain cool Access enabled volumes. */\n coolAccess?: boolean;\n /** Encryption type of the capacity pool, set encryption type for data at rest for this pool and all volumes in it. This value can only be set when creating new pool. */\n encryptionType?: EncryptionType | null;\n}\n\nexport function poolPropertiesSerializer(item: PoolProperties): any {\n return {\n size: item[\"size\"],\n serviceLevel: item[\"serviceLevel\"],\n customThroughputMibps: item[\"customThroughputMibps\"],\n qosType: item[\"qosType\"],\n coolAccess: item[\"coolAccess\"],\n encryptionType: item[\"encryptionType\"],\n };\n}\n\nexport function poolPropertiesDeserializer(item: any): PoolProperties {\n return {\n poolId: item[\"poolId\"],\n size: item[\"size\"],\n serviceLevel: item[\"serviceLevel\"],\n provisioningState: item[\"provisioningState\"],\n totalThroughputMibps: item[\"totalThroughputMibps\"],\n utilizedThroughputMibps: item[\"utilizedThroughputMibps\"],\n customThroughputMibps: item[\"customThroughputMibps\"],\n qosType: item[\"qosType\"],\n coolAccess: item[\"coolAccess\"],\n encryptionType: item[\"encryptionType\"],\n };\n}\n\n/** The qos type of the pool */\nexport enum KnownQosType {\n /** qos type Auto */\n Auto = \"Auto\",\n /** qos type Manual */\n Manual = \"Manual\",\n}\n\n/**\n * The qos type of the pool \\\n * {@link KnownQosType} can be used interchangeably with QosType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Auto**: qos type Auto \\\n * **Manual**: qos type Manual\n */\nexport type QosType = string;\n\n/** Encryption type of the capacity pool, set encryption type for data at rest for this pool and all volumes in it. This value can only be set when creating new pool. */\nexport enum KnownEncryptionType {\n /** EncryptionType Single, volumes will use single encryption at rest */\n Single = \"Single\",\n /** EncryptionType Double, volumes will use double encryption at rest */\n Double = \"Double\",\n}\n\n/**\n * Encryption type of the capacity pool, set encryption type for data at rest for this pool and all volumes in it. This value can only be set when creating new pool. \\\n * {@link KnownEncryptionType} can be used interchangeably with EncryptionType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Single**: EncryptionType Single, volumes will use single encryption at rest \\\n * **Double**: EncryptionType Double, volumes will use double encryption at rest\n */\nexport type EncryptionType = string;\n\n/** Capacity pool patch resource */\nexport interface CapacityPoolPatch {\n /** Resource location */\n location?: string;\n /** Resource Id */\n readonly id?: string;\n /** Resource name */\n readonly name?: string;\n /** Resource type */\n readonly type?: string;\n /** Resource tags */\n tags?: Record<string, string>;\n /** Capacity pool properties */\n properties?: PoolPatchProperties;\n}\n\nexport function capacityPoolPatchSerializer(item: CapacityPoolPatch): any {\n return {\n location: item[\"location\"],\n tags: item[\"tags\"],\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : poolPatchPropertiesSerializer(item[\"properties\"]),\n };\n}\n\n/** Patchable pool properties */\nexport interface PoolPatchProperties {\n /** Provisioned size of the pool (in bytes). Allowed values are in 1TiB chunks (value must be multiple of 1099511627776). */\n size?: number;\n /** The qos type of the pool */\n qosType?: QosType;\n /** If enabled (true) the pool can contain cool Access enabled volumes. */\n coolAccess?: boolean;\n /** Maximum throughput in MiB/s that can be achieved by this pool and this will be accepted as input only for manual qosType pool with Flexible service level */\n customThroughputMibps?: number | null;\n}\n\nexport function poolPatchPropertiesSerializer(item: PoolPatchProperties): any {\n return {\n size: item[\"size\"],\n qosType: item[\"qosType\"],\n coolAccess: item[\"coolAccess\"],\n customThroughputMibps: item[\"customThroughputMibps\"],\n };\n}\n\n/** List of capacity pool resources */\nexport interface _CapacityPoolList {\n /** The CapacityPool items on this page */\n value: CapacityPool[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _capacityPoolListDeserializer(item: any): _CapacityPoolList {\n return {\n value: capacityPoolArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function capacityPoolArraySerializer(result: Array<CapacityPool>): any[] {\n return result.map((item) => {\n return capacityPoolSerializer(item);\n });\n}\n\nexport function capacityPoolArrayDeserializer(result: Array<CapacityPool>): any[] {\n return result.map((item) => {\n return capacityPoolDeserializer(item);\n });\n}\n\n/** Restore payload for Single File Backup Restore */\nexport interface BackupRestoreFiles {\n /** List of files to be restored */\n fileList: string[];\n /** Destination folder where the files will be restored. The path name should start with a forward slash. If it is omitted from request then restore is done at the root folder of the destination volume by default */\n restoreFilePath?: string;\n /** Resource Id of the destination volume on which the files need to be restored */\n destinationVolumeId: string;\n}\n\nexport function backupRestoreFilesSerializer(item: BackupRestoreFiles): any {\n return {\n fileList: item[\"fileList\"].map((p: any) => {\n return p;\n }),\n restoreFilePath: item[\"restoreFilePath\"],\n destinationVolumeId: item[\"destinationVolumeId\"],\n };\n}\n\n/** Subvolume Information properties */\nexport interface SubvolumeInfo extends ProxyResource {\n /** Subvolume Properties */\n properties?: SubvolumeProperties;\n}\n\nexport function subvolumeInfoSerializer(item: SubvolumeInfo): any {\n return {\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : subvolumePropertiesSerializer(item[\"properties\"]),\n };\n}\n\nexport function subvolumeInfoDeserializer(item: any): SubvolumeInfo {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : subvolumePropertiesDeserializer(item[\"properties\"]),\n };\n}\n\n/** This represents path associated with the subvolume */\nexport interface SubvolumeProperties {\n /** Path to the subvolume */\n path?: string;\n /** Truncate subvolume to the provided size in bytes */\n size?: number | null;\n /** parent path to the subvolume */\n parentPath?: string | null;\n /** Azure lifecycle management */\n readonly provisioningState?: string;\n}\n\nexport function subvolumePropertiesSerializer(item: SubvolumeProperties): any {\n return {\n path: item[\"path\"],\n size: item[\"size\"],\n parentPath: item[\"parentPath\"],\n };\n}\n\nexport function subvolumePropertiesDeserializer(item: any): SubvolumeProperties {\n return {\n path: item[\"path\"],\n size: item[\"size\"],\n parentPath: item[\"parentPath\"],\n provisioningState: item[\"provisioningState\"],\n };\n}\n\n/** Subvolume Patch Request properties */\nexport interface SubvolumePatchRequest {\n /** Subvolume Properties */\n properties?: SubvolumePatchParams;\n}\n\nexport function subvolumePatchRequestSerializer(item: SubvolumePatchRequest): any {\n return {\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : subvolumePatchParamsSerializer(item[\"properties\"]),\n };\n}\n\n/** Parameters with which a subvolume can be updated */\nexport interface SubvolumePatchParams {\n /** Truncate subvolume to the provided size in bytes */\n size?: number | null;\n /** path to the subvolume */\n path?: string;\n}\n\nexport function subvolumePatchParamsSerializer(item: SubvolumePatchParams): any {\n return { size: item[\"size\"], path: item[\"path\"] };\n}\n\n/** List of Subvolumes */\nexport interface _SubvolumesList {\n /** The SubvolumeInfo items on this page */\n value: SubvolumeInfo[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _subvolumesListDeserializer(item: any): _SubvolumesList {\n return {\n value: subvolumeInfoArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function subvolumeInfoArraySerializer(result: Array<SubvolumeInfo>): any[] {\n return result.map((item) => {\n return subvolumeInfoSerializer(item);\n });\n}\n\nexport function subvolumeInfoArrayDeserializer(result: Array<SubvolumeInfo>): any[] {\n return result.map((item) => {\n return subvolumeInfoDeserializer(item);\n });\n}\n\n/** Result of the post subvolume and action is to get metadata of the subvolume. */\nexport interface SubvolumeModel {\n /** Resource Id */\n readonly id?: string;\n /** Resource name */\n readonly name?: string;\n /** Resource type */\n readonly type?: string;\n /** It represents the minimal properties of the subvolume. */\n properties?: SubvolumeModelProperties;\n}\n\nexport function subvolumeModelDeserializer(item: any): SubvolumeModel {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : subvolumeModelPropertiesDeserializer(item[\"properties\"]),\n };\n}\n\n/** Properties which represents actual subvolume model which is stored as a file in the system. */\nexport interface SubvolumeModelProperties {\n /** Path to the subvolume */\n path?: string;\n /** Path to the parent subvolume */\n parentPath?: string;\n /** Size of subvolume */\n size?: number;\n /** Bytes used */\n bytesUsed?: number;\n /** Permissions of the subvolume */\n permissions?: string;\n /** Creation time and date */\n creationTimeStamp?: Date;\n /** Most recent access time and date */\n accessedTimeStamp?: Date;\n /** Most recent modification time and date */\n modifiedTimeStamp?: Date;\n /** Most recent change time and date */\n changedTimeStamp?: Date;\n /** Azure lifecycle management */\n provisioningState?: string;\n}\n\nexport function subvolumeModelPropertiesDeserializer(item: any): SubvolumeModelProperties {\n return {\n path: item[\"path\"],\n parentPath: item[\"parentPath\"],\n size: item[\"size\"],\n bytesUsed: item[\"bytesUsed\"],\n permissions: item[\"permissions\"],\n creationTimeStamp: !item[\"creationTimeStamp\"]\n ? item[\"creationTimeStamp\"]\n : new Date(item[\"creationTimeStamp\"]),\n accessedTimeStamp: !item[\"accessedTimeStamp\"]\n ? item[\"accessedTimeStamp\"]\n : new Date(item[\"accessedTimeStamp\"]),\n modifiedTimeStamp: !item[\"modifiedTimeStamp\"]\n ? item[\"modifiedTimeStamp\"]\n : new Date(item[\"modifiedTimeStamp\"]),\n changedTimeStamp: !item[\"changedTimeStamp\"]\n ? item[\"changedTimeStamp\"]\n : new Date(item[\"changedTimeStamp\"]),\n provisioningState: item[\"provisioningState\"],\n };\n}\n\n/** Resource name availability request content. */\nexport interface ResourceNameAvailabilityRequest {\n /** Resource name to verify. */\n name: string;\n /** Resource type used for verification. */\n type: CheckNameResourceTypes;\n /** Resource group name. */\n resourceGroup: string;\n}\n\nexport function resourceNameAvailabilityRequestSerializer(\n item: ResourceNameAvailabilityRequest,\n): any {\n return {\n name: item[\"name\"],\n type: item[\"type\"],\n resourceGroup: item[\"resourceGroup\"],\n };\n}\n\n/** Resource type used for verification. */\nexport enum KnownCheckNameResourceTypes {\n /** Microsoft.NetApp/netAppAccounts */\n MicrosoftNetAppNetAppAccounts = \"Microsoft.NetApp/netAppAccounts\",\n /** Microsoft.NetApp/netAppAccounts/capacityPools */\n MicrosoftNetAppNetAppAccountsCapacityPools = \"Microsoft.NetApp/netAppAccounts/capacityPools\",\n /** Microsoft.NetApp/netAppAccounts/capacityPools/volumes */\n MicrosoftNetAppNetAppAccountsCapacityPoolsVolumes = \"Microsoft.NetApp/netAppAccounts/capacityPools/volumes\",\n /** Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots */\n MicrosoftNetAppNetAppAccountsCapacityPoolsVolumesSnapshots = \"Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots\",\n /** ANF Backup under a volume , deprecated, use `Microsoft.NetApp/netAppAccounts/backupVaults/backups` instead. */\n MicrosoftNetAppNetAppAccountsBackupVaultsBackups = \"Microsoft.NetApp/netAppAccounts/backupVaults/backups\",\n /** ANF Backup under a Backup Vault */\n MicrosoftNetAppNetAppAccountsCapacityPoolsVolumesBackups = \"Microsoft.NetApp/netAppAccounts/capacityPools/volumes/backups\",\n}\n\n/**\n * Resource type used for verification. \\\n * {@link KnownCheckNameResourceTypes} can be used interchangeably with CheckNameResourceTypes,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Microsoft.NetApp\\/netAppAccounts** \\\n * **Microsoft.NetApp\\/netAppAccounts\\/capacityPools** \\\n * **Microsoft.NetApp\\/netAppAccounts\\/capacityPools\\/volumes** \\\n * **Microsoft.NetApp\\/netAppAccounts\\/capacityPools\\/volumes\\/snapshots** \\\n * **Microsoft.NetApp\\/netAppAccounts\\/backupVaults\\/backups**: ANF Backup under a volume , deprecated, use `Microsoft.NetApp\\/netAppAccounts\\/backupVaults\\/backups` instead. \\\n * **Microsoft.NetApp\\/netAppAccounts\\/capacityPools\\/volumes\\/backups**: ANF Backup under a Backup Vault\n */\nexport type CheckNameResourceTypes = string;\n\n/** Information regarding availability of a resource. */\nexport interface CheckAvailabilityResponse {\n /** <code>true</code> indicates name is valid and available. <code>false</code> indicates the name is invalid, unavailable, or both. */\n isAvailable?: boolean;\n /** <code>Invalid</code> indicates the name provided does not match Azure App Service naming requirements. <code>AlreadyExists</code> indicates that the name is already in use and is therefore unavailable. */\n reason?: InAvailabilityReasonType;\n /** If reason == invalid, provide the user with the reason why the given name is invalid, and provide the resource naming requirements so that the user can select a valid name. If reason == AlreadyExists, explain that resource name is already in use, and direct them to select a different name. */\n message?: string;\n}\n\nexport function checkAvailabilityResponseDeserializer(item: any): CheckAvailabilityResponse {\n return {\n isAvailable: item[\"isAvailable\"],\n reason: item[\"reason\"],\n message: item[\"message\"],\n };\n}\n\n/** <code>Invalid</code> indicates the name provided does not match Azure App Service naming requirements. <code>AlreadyExists</code> indicates that the name is already in use and is therefore unavailable. */\nexport enum KnownInAvailabilityReasonType {\n /** Invalid */\n Invalid = \"Invalid\",\n /** AlreadyExists */\n AlreadyExists = \"AlreadyExists\",\n}\n\n/**\n * <code>Invalid</code> indicates the name provided does not match Azure App Service naming requirements. <code>AlreadyExists</code> indicates that the name is already in use and is therefore unavailable. \\\n * {@link KnownInAvailabilityReasonType} can be used interchangeably with InAvailabilityReasonType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Invalid** \\\n * **AlreadyExists**\n */\nexport type InAvailabilityReasonType = string;\n\n/** File path availability request content - availability is based on the name and the subnetId. */\nexport interface FilePathAvailabilityRequest {\n /** File path to verify. */\n name: string;\n /** The Azure Resource URI for a delegated subnet. Must have the delegation Microsoft.NetApp/volumes */\n subnetId: string;\n /** The Azure Resource logical availability zone which is used within zone mapping lookup for the subscription and region. The lookup will retrieve the physical zone where volume is placed. */\n availabilityZone?: string | null;\n}\n\nexport function filePathAvailabilityRequestSerializer(item: FilePathAvailabilityRequest): any {\n return {\n name: item[\"name\"],\n subnetId: item[\"subnetId\"],\n availabilityZone: item[\"availabilityZone\"],\n };\n}\n\n/** Quota availability request content. */\nexport interface QuotaAvailabilityRequest {\n /** Name of the resource to verify. */\n name: string;\n /** Resource type used for verification. */\n type: CheckQuotaNameResourceTypes;\n /** Resource group name. */\n resourceGroup: string;\n}\n\nexport function quotaAvailabilityRequestSerializer(item: QuotaAvailabilityRequest): any {\n return {\n name: item[\"name\"],\n type: item[\"type\"],\n resourceGroup: item[\"resourceGroup\"],\n };\n}\n\n/** Resource type used for verification. */\nexport enum KnownCheckQuotaNameResourceTypes {\n /** Microsoft.NetApp/netAppAccounts */\n MicrosoftNetAppNetAppAccounts = \"Microsoft.NetApp/netAppAccounts\",\n /** Microsoft.NetApp/netAppAccounts/capacityPools */\n MicrosoftNetAppNetAppAccountsCapacityPools = \"Microsoft.NetApp/netAppAccounts/capacityPools\",\n /** Microsoft.NetApp/netAppAccounts/capacityPools/volumes */\n MicrosoftNetAppNetAppAccountsCapacityPoolsVolumes = \"Microsoft.NetApp/netAppAccounts/capacityPools/volumes\",\n /** Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots */\n MicrosoftNetAppNetAppAccountsCapacityPoolsVolumesSnapshots = \"Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots\",\n /** ANF Backup under a volume , deprecated, use `Microsoft.NetApp/netAppAccounts/backupVaults/backups` instead. */\n MicrosoftNetAppNetAppAccountsBackupVaultsBackups = \"Microsoft.NetApp/netAppAccounts/backupVaults/backups\",\n /** ANF Backup under a Backup Vault */\n MicrosoftNetAppNetAppAccountsCapacityPoolsVolumesBackups = \"Microsoft.NetApp/netAppAccounts/capacityPools/volumes/backups\",\n}\n\n/**\n * Resource type used for verification. \\\n * {@link KnownCheckQuotaNameResourceTypes} can be used interchangeably with CheckQuotaNameResourceTypes,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Microsoft.NetApp\\/netAppAccounts** \\\n * **Microsoft.NetApp\\/netAppAccounts\\/capacityPools** \\\n * **Microsoft.NetApp\\/netAppAccounts\\/capacityPools\\/volumes** \\\n * **Microsoft.NetApp\\/netAppAccounts\\/capacityPools\\/volumes\\/snapshots** \\\n * **Microsoft.NetApp\\/netAppAccounts\\/backupVaults\\/backups**: ANF Backup under a volume , deprecated, use `Microsoft.NetApp\\/netAppAccounts\\/backupVaults\\/backups` instead. \\\n * **Microsoft.NetApp\\/netAppAccounts\\/capacityPools\\/volumes\\/backups**: ANF Backup under a Backup Vault\n */\nexport type CheckQuotaNameResourceTypes = string;\n\n/** Network sibling set query. */\nexport interface QueryNetworkSiblingSetRequest {\n /** Network Sibling Set ID for a group of volumes sharing networking resources in a subnet. */\n networkSiblingSetId: string;\n /** The Azure Resource URI for a delegated subnet. Must have the delegation Microsoft.NetApp/volumes. Example /subscriptions/subscriptionId/resourceGroups/resourceGroup/providers/Microsoft.Network/virtualNetworks/testVnet/subnets/{mySubnet} */\n subnetId: string;\n}\n\nexport function queryNetworkSiblingSetRequestSerializer(item: QueryNetworkSiblingSetRequest): any {\n return {\n networkSiblingSetId: item[\"networkSiblingSetId\"],\n subnetId: item[\"subnetId\"],\n };\n}\n\n/** Describes the contents of a network sibling set. */\nexport interface NetworkSiblingSet {\n /** Network Sibling Set ID for a group of volumes sharing networking resources in a subnet. */\n networkSiblingSetId?: string;\n /** The Azure Resource URI for a delegated subnet. Must have the delegation Microsoft.NetApp/volumes. Example /subscriptions/subscriptionId/resourceGroups/resourceGroup/providers/Microsoft.Network/virtualNetworks/testVnet/subnets/{mySubnet} */\n subnetId?: string;\n /** Network sibling set state Id identifying the current state of the sibling set. */\n networkSiblingSetStateId?: string;\n /** Network features available to the volume, or current state of update. */\n networkFeatures?: NetworkFeatures;\n /** Gets the status of the NetworkSiblingSet at the time the operation was called. */\n readonly provisioningState?: NetworkSiblingSetProvisioningState;\n /** List of NIC information */\n nicInfoList?: NicInfo[];\n}\n\nexport function networkSiblingSetDeserializer(item: any): NetworkSiblingSet {\n return {\n networkSiblingSetId: item[\"networkSiblingSetId\"],\n subnetId: item[\"subnetId\"],\n networkSiblingSetStateId: item[\"networkSiblingSetStateId\"],\n networkFeatures: item[\"networkFeatures\"],\n provisioningState: item[\"provisioningState\"],\n nicInfoList: !item[\"nicInfoList\"]\n ? item[\"nicInfoList\"]\n : nicInfoArrayDeserializer(item[\"nicInfoList\"]),\n };\n}\n\n/** Gets the status of the NetworkSiblingSet at the time the operation was called. */\nexport enum KnownNetworkSiblingSetProvisioningState {\n /** Succeeded */\n Succeeded = \"Succeeded\",\n /** Failed */\n Failed = \"Failed\",\n /** Canceled */\n Canceled = \"Canceled\",\n /** Updating */\n Updating = \"Updating\",\n}\n\n/**\n * Gets the status of the NetworkSiblingSet at the time the operation was called. \\\n * {@link KnownNetworkSiblingSetProvisioningState} can be used interchangeably with NetworkSiblingSetProvisioningState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Succeeded** \\\n * **Failed** \\\n * **Canceled** \\\n * **Updating**\n */\nexport type NetworkSiblingSetProvisioningState = string;\n\nexport function nicInfoArrayDeserializer(result: Array<NicInfo>): any[] {\n return result.map((item) => {\n return nicInfoDeserializer(item);\n });\n}\n\n/** NIC information and list of volumes for which the NIC has the primary mount IP Address. */\nexport interface NicInfo {\n /** IP Address */\n readonly ipAddress?: string;\n /** Volume resource Ids */\n volumeResourceIds?: string[];\n}\n\nexport function nicInfoDeserializer(item: any): NicInfo {\n return {\n ipAddress: item[\"ipAddress\"],\n volumeResourceIds: !item[\"volumeResourceIds\"]\n ? item[\"volumeResourceIds\"]\n : item[\"volumeResourceIds\"].map((p: any) => {\n return p;\n }),\n };\n}\n\n/** Network sibling set update. */\nexport interface UpdateNetworkSiblingSetRequest {\n /** Network Sibling Set ID for a group of volumes sharing networking resources in a subnet. */\n networkSiblingSetId: string;\n /** The Azure Resource URI for a delegated subnet. Must have the delegation Microsoft.NetApp/volumes. Example /subscriptions/subscriptionId/resourceGroups/resourceGroup/providers/Microsoft.Network/virtualNetworks/testVnet/subnets/{mySubnet} */\n subnetId: string;\n /** Network sibling set state Id identifying the current state of the sibling set. */\n networkSiblingSetStateId: string;\n /** Network features available to the volume. */\n networkFeatures: NetworkFeatures;\n}\n\nexport function updateNetworkSiblingSetRequestSerializer(\n item: UpdateNetworkSiblingSetRequest,\n): any {\n return {\n networkSiblingSetId: item[\"networkSiblingSetId\"],\n subnetId: item[\"subnetId\"],\n networkSiblingSetStateId: item[\"networkSiblingSetStateId\"],\n networkFeatures: item[\"networkFeatures\"],\n };\n}\n\n/** Usages result */\nexport interface _UsagesListResult {\n /** The UsageResult items on this page */\n value: UsageResult[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _usagesListResultDeserializer(item: any): _UsagesListResult {\n return {\n value: usageResultArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function usageResultArrayDeserializer(result: Array<UsageResult>): any[] {\n return result.map((item) => {\n return usageResultDeserializer(item);\n });\n}\n\n/** Usages entity model */\nexport interface UsageResult {\n /** The id of the usage. */\n readonly id?: string;\n /** The name of the usage. */\n readonly name?: UsageName;\n /** Usage properties */\n properties?: UsageProperties;\n}\n\nexport function usageResultDeserializer(item: any): UsageResult {\n return {\n id: item[\"id\"],\n name: !item[\"name\"] ? item[\"name\"] : usageNameDeserializer(item[\"name\"]),\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : usagePropertiesDeserializer(item[\"properties\"]),\n };\n}\n\n/** The name of the usage. */\nexport interface UsageName {\n /** The name of the usage. */\n value?: string;\n /** The localized name of the usage. */\n localizedValue?: string;\n}\n\nexport function usageNameDeserializer(item: any): UsageName {\n return {\n value: item[\"value\"],\n localizedValue: item[\"localizedValue\"],\n };\n}\n\n/** Usage properties */\nexport interface UsageProperties {\n /** The current usage value for the subscription. */\n readonly currentValue?: number;\n /** The limit of the usage. */\n readonly limit?: number;\n /** The unit of the usage. */\n readonly unit?: string;\n}\n\nexport function usagePropertiesDeserializer(item: any): UsageProperties {\n return {\n currentValue: item[\"currentValue\"],\n limit: item[\"limit\"],\n unit: item[\"unit\"],\n };\n}\n\n/** The available API versions. */\nexport enum KnownVersions {\n /** The 2025-06-01 API version. */\n V20250601 = \"2025-06-01\",\n /** The 2025-07-01-preview API version. */\n V20250701Preview = \"2025-07-01-preview\",\n /** The 2025-08-01 API version. */\n V20250801 = \"2025-08-01\",\n /** The 2025-08-01-preview API version. */\n V20250801Preview = \"2025-08-01-preview\",\n /** The 2025-09-01 API version. */\n V20250901 = \"2025-09-01\",\n /** The 2025-09-01-preview API version. */\n V20250901Preview = \"2025-09-01-preview\",\n}\n"]}
|
|
1
|
+
{"version":3,"file":"models.js","sourceRoot":"","sources":["../../../src/models/models.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/**\n * This file contains only generated model types and their (de)serializers.\n * Disable the following rules for internal models with '_' prefix and deserializers which require 'any' for raw JSON input.\n */\n/* eslint-disable @typescript-eslint/naming-convention */\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n/** A list of REST API operations supported by an Azure Resource Provider. It contains an URL link to get the next set of results. */\nexport interface _OperationListResult {\n /** The Operation items on this page */\n value: Operation[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _operationListResultDeserializer(item: any): _OperationListResult {\n return {\n value: operationArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function operationArrayDeserializer(result: Array<Operation>): any[] {\n return result.map((item) => {\n return operationDeserializer(item);\n });\n}\n\n/** Microsoft.NetApp REST API operation definition. */\nexport interface Operation {\n /** Operation name: {provider}/{resource}/{operation} */\n name?: string;\n /** Display metadata associated with the operation. */\n display?: OperationDisplay;\n /** The origin of operations. */\n origin?: string;\n /** Properties of operation, include metric specifications. */\n properties?: OperationProperties;\n}\n\nexport function operationDeserializer(item: any): Operation {\n return {\n name: item[\"name\"],\n display: !item[\"display\"] ? item[\"display\"] : operationDisplayDeserializer(item[\"display\"]),\n origin: item[\"origin\"],\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : operationPropertiesDeserializer(item[\"properties\"]),\n };\n}\n\n/** Display metadata associated with the operation. */\nexport interface OperationDisplay {\n /** Service provider: Microsoft NetApp. */\n provider?: string;\n /** Resource on which the operation is performed etc. */\n resource?: string;\n /** Type of operation: get, read, delete, etc. */\n operation?: string;\n /** Operation description. */\n description?: string;\n}\n\nexport function operationDisplayDeserializer(item: any): OperationDisplay {\n return {\n provider: item[\"provider\"],\n resource: item[\"resource\"],\n operation: item[\"operation\"],\n description: item[\"description\"],\n };\n}\n\n/** Properties of operation, include metric specifications. */\nexport interface OperationProperties {\n /** One property of operation, include metric specifications. */\n serviceSpecification?: ServiceSpecification;\n}\n\nexport function operationPropertiesDeserializer(item: any): OperationProperties {\n return {\n serviceSpecification: !item[\"serviceSpecification\"]\n ? item[\"serviceSpecification\"]\n : serviceSpecificationDeserializer(item[\"serviceSpecification\"]),\n };\n}\n\n/** One property of operation, include metric specifications. */\nexport interface ServiceSpecification {\n /** Metric specifications of operation. */\n metricSpecifications?: MetricSpecification[];\n /** Log specification of operation. */\n logSpecifications?: LogSpecification[];\n}\n\nexport function serviceSpecificationDeserializer(item: any): ServiceSpecification {\n return {\n metricSpecifications: !item[\"metricSpecifications\"]\n ? item[\"metricSpecifications\"]\n : metricSpecificationArrayDeserializer(item[\"metricSpecifications\"]),\n logSpecifications: !item[\"logSpecifications\"]\n ? item[\"logSpecifications\"]\n : logSpecificationArrayDeserializer(item[\"logSpecifications\"]),\n };\n}\n\nexport function metricSpecificationArrayDeserializer(result: Array<MetricSpecification>): any[] {\n return result.map((item) => {\n return metricSpecificationDeserializer(item);\n });\n}\n\n/** Metric specification of operation. */\nexport interface MetricSpecification {\n /** Name of metric specification. */\n name?: string;\n /** Display name of metric specification. */\n displayName?: string;\n /** Display description of metric specification. */\n displayDescription?: string;\n /** Unit could be Bytes or Count. */\n unit?: string;\n /** Support metric aggregation type. */\n supportedAggregationTypes?: MetricAggregationType[];\n /** The supported time grain types for the metrics. */\n supportedTimeGrainTypes?: string[];\n /** The internal metric name. */\n internalMetricName?: string;\n /** Whether or not the service is using regional MDM accounts. */\n enableRegionalMdmAccount?: boolean;\n /** The source MDM account. */\n sourceMdmAccount?: string;\n /** The source MDM namespace. */\n sourceMdmNamespace?: string;\n /** Dimensions of blobs, including blob type and access tier. */\n dimensions?: Dimension[];\n /** Aggregation type could be Average. */\n aggregationType?: string;\n /** The property to decide fill gap with zero or not. */\n fillGapWithZero?: boolean;\n /** The category this metric specification belong to, could be Capacity. */\n category?: string;\n /** Account Resource Id. */\n resourceIdDimensionNameOverride?: string;\n /** Whether the metric is internal. */\n isInternal?: boolean;\n}\n\nexport function metricSpecificationDeserializer(item: any): MetricSpecification {\n return {\n name: item[\"name\"],\n displayName: item[\"displayName\"],\n displayDescription: item[\"displayDescription\"],\n unit: item[\"unit\"],\n supportedAggregationTypes: !item[\"supportedAggregationTypes\"]\n ? item[\"supportedAggregationTypes\"]\n : item[\"supportedAggregationTypes\"].map((p: any) => {\n return p;\n }),\n supportedTimeGrainTypes: !item[\"supportedTimeGrainTypes\"]\n ? item[\"supportedTimeGrainTypes\"]\n : item[\"supportedTimeGrainTypes\"].map((p: any) => {\n return p;\n }),\n internalMetricName: item[\"internalMetricName\"],\n enableRegionalMdmAccount: item[\"enableRegionalMdmAccount\"],\n sourceMdmAccount: item[\"sourceMdmAccount\"],\n sourceMdmNamespace: item[\"sourceMdmNamespace\"],\n dimensions: !item[\"dimensions\"]\n ? item[\"dimensions\"]\n : dimensionArrayDeserializer(item[\"dimensions\"]),\n aggregationType: item[\"aggregationType\"],\n fillGapWithZero: item[\"fillGapWithZero\"],\n category: item[\"category\"],\n resourceIdDimensionNameOverride: item[\"resourceIdDimensionNameOverride\"],\n isInternal: item[\"isInternal\"],\n };\n}\n\n/** Known values of {@link MetricAggregationType} that the service accepts. */\nexport enum KnownMetricAggregationType {\n /** Average */\n Average = \"Average\",\n}\n\n/** Type of MetricAggregationType */\nexport type MetricAggregationType = string;\n\nexport function dimensionArrayDeserializer(result: Array<Dimension>): any[] {\n return result.map((item) => {\n return dimensionDeserializer(item);\n });\n}\n\n/** Dimension of blobs, possibly be blob type or access tier. */\nexport interface Dimension {\n /** Display name of dimension. */\n name?: string;\n /** Display name of dimension. */\n displayName?: string;\n}\n\nexport function dimensionDeserializer(item: any): Dimension {\n return {\n name: item[\"name\"],\n displayName: item[\"displayName\"],\n };\n}\n\nexport function logSpecificationArrayDeserializer(result: Array<LogSpecification>): any[] {\n return result.map((item) => {\n return logSpecificationDeserializer(item);\n });\n}\n\n/** Log Definition of a single resource metric. */\nexport interface LogSpecification {\n /** Name of log specification. */\n name?: string;\n /** Display name of log specification. */\n displayName?: string;\n}\n\nexport function logSpecificationDeserializer(item: any): LogSpecification {\n return {\n name: item[\"name\"],\n displayName: item[\"displayName\"],\n };\n}\n\n/** Common error response for all Azure Resource Manager APIs to return error details for failed operations. */\nexport interface ErrorResponse {\n /** The error object. */\n error?: ErrorDetail;\n}\n\nexport function errorResponseDeserializer(item: any): ErrorResponse {\n return {\n error: !item[\"error\"] ? item[\"error\"] : errorDetailDeserializer(item[\"error\"]),\n };\n}\n\n/** The error detail. */\nexport interface ErrorDetail {\n /** The error code. */\n readonly code?: string;\n /** The error message. */\n readonly message?: string;\n /** The error target. */\n readonly target?: string;\n /** The error details. */\n readonly details?: ErrorDetail[];\n /** The error additional info. */\n readonly additionalInfo?: ErrorAdditionalInfo[];\n}\n\nexport function errorDetailDeserializer(item: any): ErrorDetail {\n return {\n code: item[\"code\"],\n message: item[\"message\"],\n target: item[\"target\"],\n details: !item[\"details\"] ? item[\"details\"] : errorDetailArrayDeserializer(item[\"details\"]),\n additionalInfo: !item[\"additionalInfo\"]\n ? item[\"additionalInfo\"]\n : errorAdditionalInfoArrayDeserializer(item[\"additionalInfo\"]),\n };\n}\n\nexport function errorDetailArrayDeserializer(result: Array<ErrorDetail>): any[] {\n return result.map((item) => {\n return errorDetailDeserializer(item);\n });\n}\n\nexport function errorAdditionalInfoArrayDeserializer(result: Array<ErrorAdditionalInfo>): any[] {\n return result.map((item) => {\n return errorAdditionalInfoDeserializer(item);\n });\n}\n\n/** The resource management error additional info. */\nexport interface ErrorAdditionalInfo {\n /** The additional info type. */\n readonly type?: string;\n /** The additional info. */\n readonly info?: any;\n}\n\nexport function errorAdditionalInfoDeserializer(item: any): ErrorAdditionalInfo {\n return {\n type: item[\"type\"],\n info: item[\"info\"],\n };\n}\n\n/** Information regarding Quota Item. */\nexport interface QuotaItem extends ProxyResource {\n /** QuotaItem properties */\n properties?: QuotaItemProperties;\n}\n\nexport function quotaItemDeserializer(item: any): QuotaItem {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : quotaItemPropertiesDeserializer(item[\"properties\"]),\n };\n}\n\n/** QuotaItem Properties */\nexport interface QuotaItemProperties {\n /** The current quota value. */\n readonly current?: number;\n /** The default quota value. */\n readonly default?: number;\n /** The usage quota value. */\n readonly usage?: number | null;\n}\n\nexport function quotaItemPropertiesDeserializer(item: any): QuotaItemProperties {\n return {\n current: item[\"current\"],\n default: item[\"default\"],\n usage: item[\"usage\"],\n };\n}\n\n/** The resource model definition for a Azure Resource Manager proxy resource. It will not have tags and a location */\nexport interface ProxyResource extends Resource {}\n\nexport function proxyResourceSerializer(item: ProxyResource): any {\n return item;\n}\n\nexport function proxyResourceDeserializer(item: any): ProxyResource {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n };\n}\n\n/** Common fields that are returned in the response for all Azure Resource Manager resources */\nexport interface Resource {\n /** Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} */\n readonly id?: string;\n /** The name of the resource */\n readonly name?: string;\n /** The type of the resource. E.g. \"Microsoft.Compute/virtualMachines\" or \"Microsoft.Storage/storageAccounts\" */\n readonly type?: string;\n /** Azure Resource Manager metadata containing createdBy and modifiedBy information. */\n readonly systemData?: SystemData;\n}\n\nexport function resourceSerializer(item: Resource): any {\n return item;\n}\n\nexport function resourceDeserializer(item: any): Resource {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n };\n}\n\n/** Metadata pertaining to creation and last modification of the resource. */\nexport interface SystemData {\n /** The identity that created the resource. */\n createdBy?: string;\n /** The type of identity that created the resource. */\n createdByType?: CreatedByType;\n /** The timestamp of resource creation (UTC). */\n createdAt?: Date;\n /** The identity that last modified the resource. */\n lastModifiedBy?: string;\n /** The type of identity that last modified the resource. */\n lastModifiedByType?: CreatedByType;\n /** The timestamp of resource last modification (UTC) */\n lastModifiedAt?: Date;\n}\n\nexport function systemDataDeserializer(item: any): SystemData {\n return {\n createdBy: item[\"createdBy\"],\n createdByType: item[\"createdByType\"],\n createdAt: !item[\"createdAt\"] ? item[\"createdAt\"] : new Date(item[\"createdAt\"]),\n lastModifiedBy: item[\"lastModifiedBy\"],\n lastModifiedByType: item[\"lastModifiedByType\"],\n lastModifiedAt: !item[\"lastModifiedAt\"]\n ? item[\"lastModifiedAt\"]\n : new Date(item[\"lastModifiedAt\"]),\n };\n}\n\n/** The kind of entity that created the resource. */\nexport enum KnownCreatedByType {\n /** The entity was created by a user. */\n User = \"User\",\n /** The entity was created by an application. */\n Application = \"Application\",\n /** The entity was created by a managed identity. */\n ManagedIdentity = \"ManagedIdentity\",\n /** The entity was created by a key. */\n Key = \"Key\",\n}\n\n/**\n * The kind of entity that created the resource. \\\n * {@link KnownCreatedByType} can be used interchangeably with CreatedByType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **User**: The entity was created by a user. \\\n * **Application**: The entity was created by an application. \\\n * **ManagedIdentity**: The entity was created by a managed identity. \\\n * **Key**: The entity was created by a key.\n */\nexport type CreatedByType = string;\n\n/** List of Quota Items */\nexport interface _QuotaItemList {\n /** The QuotaItem items on this page */\n value: QuotaItem[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _quotaItemListDeserializer(item: any): _QuotaItemList {\n return {\n value: quotaItemArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function quotaItemArrayDeserializer(result: Array<QuotaItem>): any[] {\n return result.map((item) => {\n return quotaItemDeserializer(item);\n });\n}\n\n/** Volume group resource for create */\nexport interface VolumeGroupDetails extends ProxyResource {\n /** Volume group properties */\n properties?: VolumeGroupProperties;\n /** Resource location */\n location?: string;\n}\n\nexport function volumeGroupDetailsSerializer(item: VolumeGroupDetails): any {\n return {\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : volumeGroupPropertiesSerializer(item[\"properties\"]),\n location: item[\"location\"],\n };\n}\n\nexport function volumeGroupDetailsDeserializer(item: any): VolumeGroupDetails {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : volumeGroupPropertiesDeserializer(item[\"properties\"]),\n location: item[\"location\"],\n };\n}\n\n/** Volume group properties */\nexport interface VolumeGroupProperties {\n /** Azure lifecycle management */\n readonly provisioningState?: string;\n /** Volume group details */\n groupMetaData?: VolumeGroupMetaData;\n /** List of volumes from group */\n volumes?: VolumeGroupVolumeProperties[];\n}\n\nexport function volumeGroupPropertiesSerializer(item: VolumeGroupProperties): any {\n return {\n groupMetaData: !item[\"groupMetaData\"]\n ? item[\"groupMetaData\"]\n : volumeGroupMetaDataSerializer(item[\"groupMetaData\"]),\n volumes: !item[\"volumes\"]\n ? item[\"volumes\"]\n : volumeGroupVolumePropertiesArraySerializer(item[\"volumes\"]),\n };\n}\n\nexport function volumeGroupPropertiesDeserializer(item: any): VolumeGroupProperties {\n return {\n provisioningState: item[\"provisioningState\"],\n groupMetaData: !item[\"groupMetaData\"]\n ? item[\"groupMetaData\"]\n : volumeGroupMetaDataDeserializer(item[\"groupMetaData\"]),\n volumes: !item[\"volumes\"]\n ? item[\"volumes\"]\n : volumeGroupVolumePropertiesArrayDeserializer(item[\"volumes\"]),\n };\n}\n\n/** Volume group properties */\nexport interface VolumeGroupMetaData {\n /** Group Description */\n groupDescription?: string;\n /** Application Type */\n applicationType?: ApplicationType;\n /** Application specific identifier */\n applicationIdentifier?: string;\n /** Application specific placement rules for the volume group */\n globalPlacementRules?: PlacementKeyValuePairs[];\n /** Number of volumes in volume group */\n readonly volumesCount?: number;\n}\n\nexport function volumeGroupMetaDataSerializer(item: VolumeGroupMetaData): any {\n return {\n groupDescription: item[\"groupDescription\"],\n applicationType: item[\"applicationType\"],\n applicationIdentifier: item[\"applicationIdentifier\"],\n globalPlacementRules: !item[\"globalPlacementRules\"]\n ? item[\"globalPlacementRules\"]\n : placementKeyValuePairsArraySerializer(item[\"globalPlacementRules\"]),\n };\n}\n\nexport function volumeGroupMetaDataDeserializer(item: any): VolumeGroupMetaData {\n return {\n groupDescription: item[\"groupDescription\"],\n applicationType: item[\"applicationType\"],\n applicationIdentifier: item[\"applicationIdentifier\"],\n globalPlacementRules: !item[\"globalPlacementRules\"]\n ? item[\"globalPlacementRules\"]\n : placementKeyValuePairsArrayDeserializer(item[\"globalPlacementRules\"]),\n volumesCount: item[\"volumesCount\"],\n };\n}\n\n/** Application Type */\nexport enum KnownApplicationType {\n /** SAP-HANA */\n SAPHana = \"SAP-HANA\",\n /** ORACLE */\n Oracle = \"ORACLE\",\n}\n\n/**\n * Application Type \\\n * {@link KnownApplicationType} can be used interchangeably with ApplicationType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **SAP-HANA** \\\n * **ORACLE**\n */\nexport type ApplicationType = string;\n\nexport function placementKeyValuePairsArraySerializer(\n result: Array<PlacementKeyValuePairs>,\n): any[] {\n return result.map((item) => {\n return placementKeyValuePairsSerializer(item);\n });\n}\n\nexport function placementKeyValuePairsArrayDeserializer(\n result: Array<PlacementKeyValuePairs>,\n): any[] {\n return result.map((item) => {\n return placementKeyValuePairsDeserializer(item);\n });\n}\n\n/** Application specific parameters for the placement of volumes in the volume group */\nexport interface PlacementKeyValuePairs {\n /** Key for an application specific parameter for the placement of volumes in the volume group */\n key: string;\n /** Value for an application specific parameter for the placement of volumes in the volume group */\n value: string;\n}\n\nexport function placementKeyValuePairsSerializer(item: PlacementKeyValuePairs): any {\n return { key: item[\"key\"], value: item[\"value\"] };\n}\n\nexport function placementKeyValuePairsDeserializer(item: any): PlacementKeyValuePairs {\n return {\n key: item[\"key\"],\n value: item[\"value\"],\n };\n}\n\nexport function volumeGroupVolumePropertiesArraySerializer(\n result: Array<VolumeGroupVolumeProperties>,\n): any[] {\n return result.map((item) => {\n return volumeGroupVolumePropertiesSerializer(item);\n });\n}\n\nexport function volumeGroupVolumePropertiesArrayDeserializer(\n result: Array<VolumeGroupVolumeProperties>,\n): any[] {\n return result.map((item) => {\n return volumeGroupVolumePropertiesDeserializer(item);\n });\n}\n\n/** Volume resource */\nexport interface VolumeGroupVolumeProperties {\n /** Resource Id */\n readonly id?: string;\n /** Resource name */\n name?: string;\n /** Resource type */\n readonly type?: string;\n /** Resource tags */\n tags?: Record<string, string>;\n /** Availability Zone */\n zones?: string[];\n /** Volume properties */\n properties: VolumeProperties;\n}\n\nexport function volumeGroupVolumePropertiesSerializer(item: VolumeGroupVolumeProperties): any {\n return {\n name: item[\"name\"],\n tags: item[\"tags\"],\n zones: !item[\"zones\"]\n ? item[\"zones\"]\n : item[\"zones\"].map((p: any) => {\n return p;\n }),\n properties: volumePropertiesSerializer(item[\"properties\"]),\n };\n}\n\nexport function volumeGroupVolumePropertiesDeserializer(item: any): VolumeGroupVolumeProperties {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n tags: item[\"tags\"],\n zones: !item[\"zones\"]\n ? item[\"zones\"]\n : item[\"zones\"].map((p: any) => {\n return p;\n }),\n properties: volumePropertiesDeserializer(item[\"properties\"]),\n };\n}\n\n/** Volume properties */\nexport interface VolumeProperties {\n /** Unique FileSystem Identifier. */\n readonly fileSystemId?: string;\n /** A unique file path for the volume. Used when creating mount targets */\n creationToken: string;\n /** The service level of the file system */\n serviceLevel?: ServiceLevel;\n /**\n * Maximum storage quota allowed for a file system in bytes. This is a soft quota used for alerting only. For regular volumes, valid values are in the range 50GiB to 100TiB.\n * For large volumes, valid values are in the range 100TiB to 500TiB, and on an exceptional basis, from to 2400GiB to 2400TiB.\n * For extra large volumes, valid values are in the range 2400GiB to 7200TiB. Values expressed in bytes as multiples of 1 GiB.\n */\n usageThreshold: number;\n /** Set of export policy rules */\n exportPolicy?: VolumePropertiesExportPolicy;\n /** Set of protocol types, default NFSv3, CIFS for SMB protocol */\n protocolTypes?: string[];\n /** Azure lifecycle management */\n readonly provisioningState?: string;\n /** Resource identifier used to identify the Snapshot. */\n snapshotId?: string | null;\n /** If enabled (true) the snapshot the volume was created from will be automatically deleted after the volume create operation has finished. Defaults to false */\n deleteBaseSnapshot?: boolean;\n /** Resource identifier used to identify the Backup. */\n backupId?: string | null;\n /** Unique Baremetal Tenant Identifier. */\n readonly baremetalTenantId?: string;\n /** The Azure Resource URI for a delegated subnet. Must have the delegation Microsoft.NetApp/volumes */\n subnetId: string;\n /** The original value of the network features type available to the volume at the time it was created. */\n networkFeatures?: NetworkFeatures;\n /** The effective value of the network features type available to the volume, or current effective state of update. */\n readonly effectiveNetworkFeatures?: NetworkFeatures;\n /** Network Sibling Set ID for the the group of volumes sharing networking resources. */\n readonly networkSiblingSetId?: string;\n /** Provides storage to network proximity information for the volume. */\n readonly storageToNetworkProximity?: VolumeStorageToNetworkProximity;\n /** List of mount targets */\n readonly mountTargets?: MountTargetProperties[];\n /** What type of volume is this. For destination volumes in Cross Region Replication, set type to DataProtection. For creating clone volume, set type to ShortTermClone */\n volumeType?: string;\n /** DataProtection type volumes include an object containing details of the replication */\n dataProtection?: VolumePropertiesDataProtection;\n /** While auto splitting the short term clone volume, if the parent pool does not have enough space to accommodate the volume after split, it will be automatically resized, which will lead to increased billing. To accept capacity pool size auto grow and create a short term clone volume, set the property as accepted. */\n acceptGrowCapacityPoolForShortTermCloneSplit?: AcceptGrowCapacityPoolForShortTermCloneSplit;\n /** Restoring */\n readonly isRestoring?: boolean;\n /** If enabled (true) the volume will contain a read-only snapshot directory which provides access to each of the volume's snapshots (defaults to true). */\n snapshotDirectoryVisible?: boolean;\n /** Describe if a volume is KerberosEnabled. To be use with swagger version 2020-05-01 or later */\n kerberosEnabled?: boolean;\n /** The security style of volume, default unix, defaults to ntfs for dual protocol or CIFS protocol */\n securityStyle?: SecurityStyle;\n /** Enables encryption for in-flight smb3 data. Only applicable for SMB/DualProtocol volume. To be used with swagger version 2020-08-01 or later */\n smbEncryption?: boolean;\n /** Enables access-based enumeration share property for SMB Shares. Only applicable for SMB/DualProtocol volume */\n smbAccessBasedEnumeration?: SmbAccessBasedEnumeration | null;\n /** Enables non-browsable property for SMB Shares. Only applicable for SMB/DualProtocol volume */\n smbNonBrowsable?: SmbNonBrowsable;\n /** Enables continuously available share property for smb volume. Only applicable for SMB volume */\n smbContinuouslyAvailable?: boolean;\n /** Maximum throughput in MiB/s that can be achieved by this volume and this will be accepted as input only for manual qosType volume */\n throughputMibps?: number | null;\n /** Actual throughput in MiB/s for auto qosType volumes calculated based on size and serviceLevel */\n readonly actualThroughputMibps?: number;\n /** Source of key used to encrypt data in volume. Applicable if NetApp account has encryption.keySource = 'Microsoft.KeyVault'. Possible values (case-insensitive) are: 'Microsoft.NetApp, Microsoft.KeyVault' */\n encryptionKeySource?: EncryptionKeySource;\n /** The resource ID of private endpoint for KeyVault. It must reside in the same VNET as the volume. Only applicable if encryptionKeySource = 'Microsoft.KeyVault'. */\n keyVaultPrivateEndpointResourceId?: string;\n /** Specifies whether LDAP is enabled or not for a given NFS volume. */\n ldapEnabled?: boolean;\n /** Specifies the type of LDAP server for a given NFS volume. */\n ldapServerType?: LdapServerType;\n /** Specifies whether Cool Access(tiering) is enabled for the volume. */\n coolAccess?: boolean;\n /** Specifies the number of days after which data that is not accessed by clients will be tiered. */\n coolnessPeriod?: number;\n /**\n * coolAccessRetrievalPolicy determines the data retrieval behavior from the cool tier to standard storage based on the read pattern for cool access enabled volumes. The possible values for this field are:\n * Default - Data will be pulled from cool tier to standard storage on random reads. This policy is the default.\n * OnRead - All client-driven data read is pulled from cool tier to standard storage on both sequential and random reads.\n * Never - No client-driven data is pulled from cool tier to standard storage.\n */\n coolAccessRetrievalPolicy?: CoolAccessRetrievalPolicy;\n /** coolAccessTieringPolicy determines which cold data blocks are moved to cool tier. The possible values for this field are: Auto - Moves cold user data blocks in both the Snapshot copies and the active file system to the cool tier tier. This policy is the default. SnapshotOnly - Moves user data blocks of the Volume Snapshot copies that are not associated with the active file system to the cool tier. */\n coolAccessTieringPolicy?: CoolAccessTieringPolicy;\n /** UNIX permissions for NFS volume accepted in octal 4 digit format. First digit selects the set user ID(4), set group ID (2) and sticky (1) attributes. Second digit selects permission for the owner of the file: read (4), write (2) and execute (1). Third selects permissions for other users in the same group. the fourth for other users not in the group. 0755 - gives read/write/execute permissions to owner and read/execute to group and other users. */\n unixPermissions?: string | null;\n /** When a volume is being restored from another volume's snapshot, will show the percentage completion of this cloning process. When this value is empty/null there is no cloning process currently happening on this volume. This value will update every 5 minutes during cloning. */\n readonly cloneProgress?: number | null;\n /** Flag indicating whether file access logs are enabled for the volume, based on active diagnostic settings present on the volume. */\n readonly fileAccessLogs?: FileAccessLogs;\n /** Specifies whether the volume is enabled for Azure VMware Solution (AVS) datastore purpose */\n avsDataStore?: AvsDataStore;\n /** Data store resource unique identifier */\n readonly dataStoreResourceId?: string[];\n /** Specifies if default quota is enabled for the volume. */\n isDefaultQuotaEnabled?: boolean;\n /** Default user quota for volume in KiBs. If isDefaultQuotaEnabled is set, the minimum value of 4 KiBs applies . */\n defaultUserQuotaInKiBs?: number;\n /** Default group quota for volume in KiBs. If isDefaultQuotaEnabled is set, the minimum value of 4 KiBs applies. */\n defaultGroupQuotaInKiBs?: number;\n /** Maximum number of files allowed. Needs a service request in order to be changed. Only allowed to be changed if volume quota is more than 4TiB. */\n readonly maximumNumberOfFiles?: number;\n /** Volume Group Name */\n readonly volumeGroupName?: string;\n /** Pool Resource Id used in case of creating a volume through volume group */\n capacityPoolResourceId?: string;\n /** Proximity placement group associated with the volume */\n proximityPlacementGroup?: string;\n /** T2 network information */\n readonly t2Network?: string;\n /** Volume spec name is the application specific designation or identifier for the particular volume in a volume group for e.g. data, log */\n volumeSpecName?: string;\n /** Specifies if the volume is encrypted or not. Only available on volumes created or updated after 2022-01-01. */\n readonly encrypted?: boolean;\n /** Application specific placement rules for the particular volume */\n placementRules?: PlacementKeyValuePairs[];\n /** Flag indicating whether subvolume operations are enabled on the volume */\n enableSubvolumes?: EnableSubvolumes;\n /** The availability zone where the volume is provisioned. This refers to the logical availability zone where the volume resides. */\n readonly provisionedAvailabilityZone?: string | null;\n /** Specifies whether volume is a Large Volume or Regular Volume. */\n isLargeVolume?: boolean;\n /**\n * Specifies the type of the Large Volume. When set to 'LargeVolume', the large volume is created with standard configuration.\n * If it is set to 'ExtraLargeVolume7Dot2PiB', the extra large volume is created with higher capacity limit 7.2PiB with cool access enabled,\n * delivering higher capacity limit with lower costs.\n */\n largeVolumeType?: LargeVolumeType;\n /** Id of the snapshot or backup that the volume is restored from. */\n readonly originatingResourceId?: string | null;\n /** Space shared by short term clone volume with parent volume in bytes. */\n readonly inheritedSizeInBytes?: number | null;\n /** Language supported for volume. */\n language?: VolumeLanguage;\n /** Specifies whether the volume operates in Breakthrough Mode. */\n breakthroughMode?: BreakthroughMode;\n}\n\nexport function volumePropertiesSerializer(item: VolumeProperties): any {\n return {\n creationToken: item[\"creationToken\"],\n serviceLevel: item[\"serviceLevel\"],\n usageThreshold: item[\"usageThreshold\"],\n exportPolicy: !item[\"exportPolicy\"]\n ? item[\"exportPolicy\"]\n : volumePropertiesExportPolicySerializer(item[\"exportPolicy\"]),\n protocolTypes: !item[\"protocolTypes\"]\n ? item[\"protocolTypes\"]\n : item[\"protocolTypes\"].map((p: any) => {\n return p;\n }),\n snapshotId: item[\"snapshotId\"],\n deleteBaseSnapshot: item[\"deleteBaseSnapshot\"],\n backupId: item[\"backupId\"],\n subnetId: item[\"subnetId\"],\n networkFeatures: item[\"networkFeatures\"],\n volumeType: item[\"volumeType\"],\n dataProtection: !item[\"dataProtection\"]\n ? item[\"dataProtection\"]\n : volumePropertiesDataProtectionSerializer(item[\"dataProtection\"]),\n acceptGrowCapacityPoolForShortTermCloneSplit:\n item[\"acceptGrowCapacityPoolForShortTermCloneSplit\"],\n snapshotDirectoryVisible: item[\"snapshotDirectoryVisible\"],\n kerberosEnabled: item[\"kerberosEnabled\"],\n securityStyle: item[\"securityStyle\"],\n smbEncryption: item[\"smbEncryption\"],\n smbAccessBasedEnumeration: item[\"smbAccessBasedEnumeration\"],\n smbNonBrowsable: item[\"smbNonBrowsable\"],\n smbContinuouslyAvailable: item[\"smbContinuouslyAvailable\"],\n throughputMibps: item[\"throughputMibps\"],\n encryptionKeySource: item[\"encryptionKeySource\"],\n keyVaultPrivateEndpointResourceId: item[\"keyVaultPrivateEndpointResourceId\"],\n ldapEnabled: item[\"ldapEnabled\"],\n ldapServerType: item[\"ldapServerType\"],\n coolAccess: item[\"coolAccess\"],\n coolnessPeriod: item[\"coolnessPeriod\"],\n coolAccessRetrievalPolicy: item[\"coolAccessRetrievalPolicy\"],\n coolAccessTieringPolicy: item[\"coolAccessTieringPolicy\"],\n unixPermissions: item[\"unixPermissions\"],\n avsDataStore: item[\"avsDataStore\"],\n isDefaultQuotaEnabled: item[\"isDefaultQuotaEnabled\"],\n defaultUserQuotaInKiBs: item[\"defaultUserQuotaInKiBs\"],\n defaultGroupQuotaInKiBs: item[\"defaultGroupQuotaInKiBs\"],\n capacityPoolResourceId: item[\"capacityPoolResourceId\"],\n proximityPlacementGroup: item[\"proximityPlacementGroup\"],\n volumeSpecName: item[\"volumeSpecName\"],\n placementRules: !item[\"placementRules\"]\n ? item[\"placementRules\"]\n : placementKeyValuePairsArraySerializer(item[\"placementRules\"]),\n enableSubvolumes: item[\"enableSubvolumes\"],\n isLargeVolume: item[\"isLargeVolume\"],\n largeVolumeType: item[\"largeVolumeType\"],\n language: item[\"language\"],\n breakthroughMode: item[\"breakthroughMode\"],\n };\n}\n\nexport function volumePropertiesDeserializer(item: any): VolumeProperties {\n return {\n fileSystemId: item[\"fileSystemId\"],\n creationToken: item[\"creationToken\"],\n serviceLevel: item[\"serviceLevel\"],\n usageThreshold: item[\"usageThreshold\"],\n exportPolicy: !item[\"exportPolicy\"]\n ? item[\"exportPolicy\"]\n : volumePropertiesExportPolicyDeserializer(item[\"exportPolicy\"]),\n protocolTypes: !item[\"protocolTypes\"]\n ? item[\"protocolTypes\"]\n : item[\"protocolTypes\"].map((p: any) => {\n return p;\n }),\n provisioningState: item[\"provisioningState\"],\n snapshotId: item[\"snapshotId\"],\n deleteBaseSnapshot: item[\"deleteBaseSnapshot\"],\n backupId: item[\"backupId\"],\n baremetalTenantId: item[\"baremetalTenantId\"],\n subnetId: item[\"subnetId\"],\n networkFeatures: item[\"networkFeatures\"],\n effectiveNetworkFeatures: item[\"effectiveNetworkFeatures\"],\n networkSiblingSetId: item[\"networkSiblingSetId\"],\n storageToNetworkProximity: item[\"storageToNetworkProximity\"],\n mountTargets: !item[\"mountTargets\"]\n ? item[\"mountTargets\"]\n : mountTargetPropertiesArrayDeserializer(item[\"mountTargets\"]),\n volumeType: item[\"volumeType\"],\n dataProtection: !item[\"dataProtection\"]\n ? item[\"dataProtection\"]\n : volumePropertiesDataProtectionDeserializer(item[\"dataProtection\"]),\n acceptGrowCapacityPoolForShortTermCloneSplit:\n item[\"acceptGrowCapacityPoolForShortTermCloneSplit\"],\n isRestoring: item[\"isRestoring\"],\n snapshotDirectoryVisible: item[\"snapshotDirectoryVisible\"],\n kerberosEnabled: item[\"kerberosEnabled\"],\n securityStyle: item[\"securityStyle\"],\n smbEncryption: item[\"smbEncryption\"],\n smbAccessBasedEnumeration: item[\"smbAccessBasedEnumeration\"],\n smbNonBrowsable: item[\"smbNonBrowsable\"],\n smbContinuouslyAvailable: item[\"smbContinuouslyAvailable\"],\n throughputMibps: item[\"throughputMibps\"],\n actualThroughputMibps: item[\"actualThroughputMibps\"],\n encryptionKeySource: item[\"encryptionKeySource\"],\n keyVaultPrivateEndpointResourceId: item[\"keyVaultPrivateEndpointResourceId\"],\n ldapEnabled: item[\"ldapEnabled\"],\n ldapServerType: item[\"ldapServerType\"],\n coolAccess: item[\"coolAccess\"],\n coolnessPeriod: item[\"coolnessPeriod\"],\n coolAccessRetrievalPolicy: item[\"coolAccessRetrievalPolicy\"],\n coolAccessTieringPolicy: item[\"coolAccessTieringPolicy\"],\n unixPermissions: item[\"unixPermissions\"],\n cloneProgress: item[\"cloneProgress\"],\n fileAccessLogs: item[\"fileAccessLogs\"],\n avsDataStore: item[\"avsDataStore\"],\n dataStoreResourceId: !item[\"dataStoreResourceId\"]\n ? item[\"dataStoreResourceId\"]\n : item[\"dataStoreResourceId\"].map((p: any) => {\n return p;\n }),\n isDefaultQuotaEnabled: item[\"isDefaultQuotaEnabled\"],\n defaultUserQuotaInKiBs: item[\"defaultUserQuotaInKiBs\"],\n defaultGroupQuotaInKiBs: item[\"defaultGroupQuotaInKiBs\"],\n maximumNumberOfFiles: item[\"maximumNumberOfFiles\"],\n volumeGroupName: item[\"volumeGroupName\"],\n capacityPoolResourceId: item[\"capacityPoolResourceId\"],\n proximityPlacementGroup: item[\"proximityPlacementGroup\"],\n t2Network: item[\"t2Network\"],\n volumeSpecName: item[\"volumeSpecName\"],\n encrypted: item[\"encrypted\"],\n placementRules: !item[\"placementRules\"]\n ? item[\"placementRules\"]\n : placementKeyValuePairsArrayDeserializer(item[\"placementRules\"]),\n enableSubvolumes: item[\"enableSubvolumes\"],\n provisionedAvailabilityZone: item[\"provisionedAvailabilityZone\"],\n isLargeVolume: item[\"isLargeVolume\"],\n largeVolumeType: item[\"largeVolumeType\"],\n originatingResourceId: item[\"originatingResourceId\"],\n inheritedSizeInBytes: item[\"inheritedSizeInBytes\"],\n language: item[\"language\"],\n breakthroughMode: item[\"breakthroughMode\"],\n };\n}\n\n/** The service level of the file system */\nexport enum KnownServiceLevel {\n /** Standard service level */\n Standard = \"Standard\",\n /** Premium service level */\n Premium = \"Premium\",\n /** Ultra service level */\n Ultra = \"Ultra\",\n /** Zone redundant storage service level. This will be deprecated soon. */\n StandardZRS = \"StandardZRS\",\n /** Flexible service level */\n Flexible = \"Flexible\",\n}\n\n/**\n * The service level of the file system \\\n * {@link KnownServiceLevel} can be used interchangeably with ServiceLevel,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Standard**: Standard service level \\\n * **Premium**: Premium service level \\\n * **Ultra**: Ultra service level \\\n * **StandardZRS**: Zone redundant storage service level. This will be deprecated soon. \\\n * **Flexible**: Flexible service level\n */\nexport type ServiceLevel = string;\n\n/** Set of export policy rules */\nexport interface VolumePropertiesExportPolicy {\n /** Export policy rule */\n rules?: ExportPolicyRule[];\n}\n\nexport function volumePropertiesExportPolicySerializer(item: VolumePropertiesExportPolicy): any {\n return {\n rules: !item[\"rules\"] ? item[\"rules\"] : exportPolicyRuleArraySerializer(item[\"rules\"]),\n };\n}\n\nexport function volumePropertiesExportPolicyDeserializer(item: any): VolumePropertiesExportPolicy {\n return {\n rules: !item[\"rules\"] ? item[\"rules\"] : exportPolicyRuleArrayDeserializer(item[\"rules\"]),\n };\n}\n\nexport function exportPolicyRuleArraySerializer(result: Array<ExportPolicyRule>): any[] {\n return result.map((item) => {\n return exportPolicyRuleSerializer(item);\n });\n}\n\nexport function exportPolicyRuleArrayDeserializer(result: Array<ExportPolicyRule>): any[] {\n return result.map((item) => {\n return exportPolicyRuleDeserializer(item);\n });\n}\n\n/** Volume Export Policy Rule */\nexport interface ExportPolicyRule {\n /** Order index */\n ruleIndex?: number;\n /** Read only access */\n unixReadOnly?: boolean;\n /** Read and write access */\n unixReadWrite?: boolean;\n /** Kerberos5 Read only access. To be use with swagger version 2020-05-01 or later */\n kerberos5ReadOnly?: boolean;\n /** Kerberos5 Read and write access. To be use with swagger version 2020-05-01 or later */\n kerberos5ReadWrite?: boolean;\n /** Kerberos5i Read only access. To be use with swagger version 2020-05-01 or later */\n kerberos5IReadOnly?: boolean;\n /** Kerberos5i Read and write access. To be use with swagger version 2020-05-01 or later */\n kerberos5IReadWrite?: boolean;\n /** Kerberos5p Read only access. To be use with swagger version 2020-05-01 or later */\n kerberos5PReadOnly?: boolean;\n /** Kerberos5p Read and write access. To be use with swagger version 2020-05-01 or later */\n kerberos5PReadWrite?: boolean;\n /** Allows CIFS protocol */\n cifs?: boolean;\n /** Allows NFSv3 protocol. Enable only for NFSv3 type volumes */\n nfsv3?: boolean;\n /** Allows NFSv4.1 protocol. Enable only for NFSv4.1 type volumes */\n nfsv41?: boolean;\n /** Client ingress specification as comma separated string with IPv4 CIDRs, IPv4 host addresses and host names */\n allowedClients?: string;\n /** Has root access to volume */\n hasRootAccess?: boolean;\n /** This parameter specifies who is authorized to change the ownership of a file. restricted - Only root user can change the ownership of the file. unrestricted - Non-root users can change ownership of files that they own. */\n chownMode?: ChownMode;\n}\n\nexport function exportPolicyRuleSerializer(item: ExportPolicyRule): any {\n return {\n ruleIndex: item[\"ruleIndex\"],\n unixReadOnly: item[\"unixReadOnly\"],\n unixReadWrite: item[\"unixReadWrite\"],\n kerberos5ReadOnly: item[\"kerberos5ReadOnly\"],\n kerberos5ReadWrite: item[\"kerberos5ReadWrite\"],\n kerberos5iReadOnly: item[\"kerberos5IReadOnly\"],\n kerberos5iReadWrite: item[\"kerberos5IReadWrite\"],\n kerberos5pReadOnly: item[\"kerberos5PReadOnly\"],\n kerberos5pReadWrite: item[\"kerberos5PReadWrite\"],\n cifs: item[\"cifs\"],\n nfsv3: item[\"nfsv3\"],\n nfsv41: item[\"nfsv41\"],\n allowedClients: item[\"allowedClients\"],\n hasRootAccess: item[\"hasRootAccess\"],\n chownMode: item[\"chownMode\"],\n };\n}\n\nexport function exportPolicyRuleDeserializer(item: any): ExportPolicyRule {\n return {\n ruleIndex: item[\"ruleIndex\"],\n unixReadOnly: item[\"unixReadOnly\"],\n unixReadWrite: item[\"unixReadWrite\"],\n kerberos5ReadOnly: item[\"kerberos5ReadOnly\"],\n kerberos5ReadWrite: item[\"kerberos5ReadWrite\"],\n kerberos5IReadOnly: item[\"kerberos5iReadOnly\"],\n kerberos5IReadWrite: item[\"kerberos5iReadWrite\"],\n kerberos5PReadOnly: item[\"kerberos5pReadOnly\"],\n kerberos5PReadWrite: item[\"kerberos5pReadWrite\"],\n cifs: item[\"cifs\"],\n nfsv3: item[\"nfsv3\"],\n nfsv41: item[\"nfsv41\"],\n allowedClients: item[\"allowedClients\"],\n hasRootAccess: item[\"hasRootAccess\"],\n chownMode: item[\"chownMode\"],\n };\n}\n\n/** This parameter specifies who is authorized to change the ownership of a file. restricted - Only root user can change the ownership of the file. unrestricted - Non-root users can change ownership of files that they own. */\nexport enum KnownChownMode {\n /** Restricted */\n Restricted = \"Restricted\",\n /** Unrestricted */\n Unrestricted = \"Unrestricted\",\n}\n\n/**\n * This parameter specifies who is authorized to change the ownership of a file. restricted - Only root user can change the ownership of the file. unrestricted - Non-root users can change ownership of files that they own. \\\n * {@link KnownChownMode} can be used interchangeably with ChownMode,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Restricted** \\\n * **Unrestricted**\n */\nexport type ChownMode = string;\n\n/** Network features available to the volume, or current state of update. */\nexport enum KnownNetworkFeatures {\n /** Basic network features. */\n Basic = \"Basic\",\n /** Standard network features. */\n Standard = \"Standard\",\n /** Updating from Basic to Standard network features. */\n BasicStandard = \"Basic_Standard\",\n /** Updating from Standard to Basic network features. */\n StandardBasic = \"Standard_Basic\",\n}\n\n/**\n * Network features available to the volume, or current state of update. \\\n * {@link KnownNetworkFeatures} can be used interchangeably with NetworkFeatures,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Basic**: Basic network features. \\\n * **Standard**: Standard network features. \\\n * **Basic_Standard**: Updating from Basic to Standard network features. \\\n * **Standard_Basic**: Updating from Standard to Basic network features.\n */\nexport type NetworkFeatures = string;\n\n/** Provides storage to network proximity information for the volume. */\nexport enum KnownVolumeStorageToNetworkProximity {\n /** Basic storage to network connectivity. */\n Default = \"Default\",\n /** Standard T1 storage to network connectivity. */\n T1 = \"T1\",\n /** Standard T2 storage to network connectivity. */\n T2 = \"T2\",\n /** Standard AcrossT2 storage to network connectivity. */\n AcrossT2 = \"AcrossT2\",\n}\n\n/**\n * Provides storage to network proximity information for the volume. \\\n * {@link KnownVolumeStorageToNetworkProximity} can be used interchangeably with VolumeStorageToNetworkProximity,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Default**: Basic storage to network connectivity. \\\n * **T1**: Standard T1 storage to network connectivity. \\\n * **T2**: Standard T2 storage to network connectivity. \\\n * **AcrossT2**: Standard AcrossT2 storage to network connectivity.\n */\nexport type VolumeStorageToNetworkProximity = string;\n\nexport function mountTargetPropertiesArrayDeserializer(\n result: Array<MountTargetProperties>,\n): any[] {\n return result.map((item) => {\n return mountTargetPropertiesDeserializer(item);\n });\n}\n\n/** Mount target properties */\nexport interface MountTargetProperties {\n /** UUID v4 used to identify the MountTarget */\n readonly mountTargetId?: string;\n /** UUID v4 used to identify the MountTarget */\n fileSystemId: string;\n /** The mount target's IPv4 address */\n readonly ipAddress?: string;\n /** The SMB server's Fully Qualified Domain Name, FQDN */\n smbServerFqdn?: string;\n}\n\nexport function mountTargetPropertiesDeserializer(item: any): MountTargetProperties {\n return {\n mountTargetId: item[\"mountTargetId\"],\n fileSystemId: item[\"fileSystemId\"],\n ipAddress: item[\"ipAddress\"],\n smbServerFqdn: item[\"smbServerFqdn\"],\n };\n}\n\n/** DataProtection type volumes include an object containing details of the replication */\nexport interface VolumePropertiesDataProtection {\n /** Backup Properties */\n backup?: VolumeBackupProperties;\n /** Replication properties */\n replication?: ReplicationObject;\n /** Snapshot properties. */\n snapshot?: VolumeSnapshotProperties;\n /** VolumeRelocation properties */\n volumeRelocation?: VolumeRelocationProperties;\n /** Advanced Ransomware Protection settings */\n ransomwareProtection?: RansomwareProtectionSettings;\n}\n\nexport function volumePropertiesDataProtectionSerializer(\n item: VolumePropertiesDataProtection,\n): any {\n return {\n backup: !item[\"backup\"] ? item[\"backup\"] : volumeBackupPropertiesSerializer(item[\"backup\"]),\n replication: !item[\"replication\"]\n ? item[\"replication\"]\n : replicationObjectSerializer(item[\"replication\"]),\n snapshot: !item[\"snapshot\"]\n ? item[\"snapshot\"]\n : volumeSnapshotPropertiesSerializer(item[\"snapshot\"]),\n volumeRelocation: !item[\"volumeRelocation\"]\n ? item[\"volumeRelocation\"]\n : volumeRelocationPropertiesSerializer(item[\"volumeRelocation\"]),\n ransomwareProtection: !item[\"ransomwareProtection\"]\n ? item[\"ransomwareProtection\"]\n : ransomwareProtectionSettingsSerializer(item[\"ransomwareProtection\"]),\n };\n}\n\nexport function volumePropertiesDataProtectionDeserializer(\n item: any,\n): VolumePropertiesDataProtection {\n return {\n backup: !item[\"backup\"] ? item[\"backup\"] : volumeBackupPropertiesDeserializer(item[\"backup\"]),\n replication: !item[\"replication\"]\n ? item[\"replication\"]\n : replicationObjectDeserializer(item[\"replication\"]),\n snapshot: !item[\"snapshot\"]\n ? item[\"snapshot\"]\n : volumeSnapshotPropertiesDeserializer(item[\"snapshot\"]),\n volumeRelocation: !item[\"volumeRelocation\"]\n ? item[\"volumeRelocation\"]\n : volumeRelocationPropertiesDeserializer(item[\"volumeRelocation\"]),\n ransomwareProtection: !item[\"ransomwareProtection\"]\n ? item[\"ransomwareProtection\"]\n : ransomwareProtectionSettingsDeserializer(item[\"ransomwareProtection\"]),\n };\n}\n\n/** Volume Backup Properties */\nexport interface VolumeBackupProperties {\n /** Backup Policy Resource ID */\n backupPolicyId?: string;\n /** Policy Enforced */\n policyEnforced?: boolean;\n /** Backup Vault Resource ID */\n backupVaultId?: string;\n}\n\nexport function volumeBackupPropertiesSerializer(item: VolumeBackupProperties): any {\n return {\n backupPolicyId: item[\"backupPolicyId\"],\n policyEnforced: item[\"policyEnforced\"],\n backupVaultId: item[\"backupVaultId\"],\n };\n}\n\nexport function volumeBackupPropertiesDeserializer(item: any): VolumeBackupProperties {\n return {\n backupPolicyId: item[\"backupPolicyId\"],\n policyEnforced: item[\"policyEnforced\"],\n backupVaultId: item[\"backupVaultId\"],\n };\n}\n\n/** Replication properties */\nexport interface ReplicationObject {\n /** Id */\n readonly replicationId?: string;\n /** Indicates whether the local volume is the source or destination for the Volume Replication */\n readonly endpointType?: EndpointType;\n /** Schedule */\n replicationSchedule?: ReplicationSchedule;\n /** The resource ID of the remote volume. Required for cross region and cross zone replication */\n remoteVolumeResourceId?: string;\n /** The full path to a volume that is to be migrated into ANF. Required for Migration volumes */\n remotePath?: RemotePath;\n /** The remote region for the other end of the Volume Replication. */\n remoteVolumeRegion?: string;\n /** A list of destination replications */\n readonly destinationReplications?: DestinationReplication[];\n /** Property that only applies to external replications. Provides a machine-readable value for the status of the external replication setup. */\n readonly externalReplicationSetupStatus?: ExternalReplicationSetupStatus;\n /** Contains human-readable instructions on what the next step is to finish the external replication setup. */\n readonly externalReplicationSetupInfo?: string;\n /** The mirror state property describes the current status of data replication for a replication. It provides insight into whether the data is actively being mirrored, if the replication process has been paused, or if it has yet to be initialized. */\n readonly mirrorState?: MirrorState;\n /** The status of the Volume Replication */\n readonly relationshipStatus?: VolumeReplicationRelationshipStatus;\n}\n\nexport function replicationObjectSerializer(item: ReplicationObject): any {\n return {\n replicationSchedule: item[\"replicationSchedule\"],\n remoteVolumeResourceId: item[\"remoteVolumeResourceId\"],\n remotePath: !item[\"remotePath\"] ? item[\"remotePath\"] : remotePathSerializer(item[\"remotePath\"]),\n remoteVolumeRegion: item[\"remoteVolumeRegion\"],\n };\n}\n\nexport function replicationObjectDeserializer(item: any): ReplicationObject {\n return {\n replicationId: item[\"replicationId\"],\n endpointType: item[\"endpointType\"],\n replicationSchedule: item[\"replicationSchedule\"],\n remoteVolumeResourceId: item[\"remoteVolumeResourceId\"],\n remotePath: !item[\"remotePath\"]\n ? item[\"remotePath\"]\n : remotePathDeserializer(item[\"remotePath\"]),\n remoteVolumeRegion: item[\"remoteVolumeRegion\"],\n destinationReplications: !item[\"destinationReplications\"]\n ? item[\"destinationReplications\"]\n : destinationReplicationArrayDeserializer(item[\"destinationReplications\"]),\n externalReplicationSetupStatus: item[\"externalReplicationSetupStatus\"],\n externalReplicationSetupInfo: item[\"externalReplicationSetupInfo\"],\n mirrorState: item[\"mirrorState\"],\n relationshipStatus: item[\"relationshipStatus\"],\n };\n}\n\n/** Indicates whether the local volume is the source or destination for the Volume Replication */\nexport enum KnownEndpointType {\n /** src */\n Src = \"src\",\n /** dst */\n Dst = \"dst\",\n}\n\n/**\n * Indicates whether the local volume is the source or destination for the Volume Replication \\\n * {@link KnownEndpointType} can be used interchangeably with EndpointType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **src** \\\n * **dst**\n */\nexport type EndpointType = string;\n\n/** Schedule */\nexport enum KnownReplicationSchedule {\n /** _10minutely */\n \"10Minutely\" = \"_10minutely\",\n /** hourly */\n Hourly = \"hourly\",\n /** daily */\n Daily = \"daily\",\n}\n\n/**\n * Schedule \\\n * {@link KnownReplicationSchedule} can be used interchangeably with ReplicationSchedule,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **_10minutely** \\\n * **hourly** \\\n * **daily**\n */\nexport type ReplicationSchedule = string;\n\n/** The full path to a volume that is to be migrated into ANF. Required for Migration volumes */\nexport interface RemotePath {\n /** The Path to a ONTAP Host */\n externalHostName: string;\n /** The name of a server on the ONTAP Host */\n serverName: string;\n /** The name of a volume on the server */\n volumeName: string;\n}\n\nexport function remotePathSerializer(item: RemotePath): any {\n return {\n externalHostName: item[\"externalHostName\"],\n serverName: item[\"serverName\"],\n volumeName: item[\"volumeName\"],\n };\n}\n\nexport function remotePathDeserializer(item: any): RemotePath {\n return {\n externalHostName: item[\"externalHostName\"],\n serverName: item[\"serverName\"],\n volumeName: item[\"volumeName\"],\n };\n}\n\nexport function destinationReplicationArrayDeserializer(\n result: Array<DestinationReplication>,\n): any[] {\n return result.map((item) => {\n return destinationReplicationDeserializer(item);\n });\n}\n\n/** Destination replication properties */\nexport interface DestinationReplication {\n /** The resource ID of the remote volume */\n resourceId?: string;\n /** Indicates whether the replication is cross zone or cross region. */\n replicationType?: ReplicationType;\n /** The remote region for the destination volume. */\n region?: string;\n /** The remote zone for the destination volume. */\n zone?: string;\n}\n\nexport function destinationReplicationDeserializer(item: any): DestinationReplication {\n return {\n resourceId: item[\"resourceId\"],\n replicationType: item[\"replicationType\"],\n region: item[\"region\"],\n zone: item[\"zone\"],\n };\n}\n\n/** Indicates whether the replication is cross zone or cross region. */\nexport enum KnownReplicationType {\n /** Cross region replication */\n CrossRegionReplication = \"CrossRegionReplication\",\n /** Cross zone replication */\n CrossZoneReplication = \"CrossZoneReplication\",\n}\n\n/**\n * Indicates whether the replication is cross zone or cross region. \\\n * {@link KnownReplicationType} can be used interchangeably with ReplicationType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **CrossRegionReplication**: Cross region replication \\\n * **CrossZoneReplication**: Cross zone replication\n */\nexport type ReplicationType = string;\n\n/** Property that only applies to external replications. Provides a machine-readable value for the status of the external replication setup. */\nexport enum KnownExternalReplicationSetupStatus {\n /** Your cluster needs to be peered by using the 'peerExternalCluster' action */\n ClusterPeerRequired = \"ClusterPeerRequired\",\n /** The peering needs to be accepted on your cluster before the setup can proceed */\n ClusterPeerPending = \"ClusterPeerPending\",\n /** Need to call 'authorizeExternalReplication' and accept the returned 'vserver peer accept' command on your cluster to finish setting up the external replication */\n VServerPeerRequired = \"VServerPeerRequired\",\n /** Need to call 'authorizeExternalReplication' to finish setting up the external replication */\n ReplicationCreateRequired = \"ReplicationCreateRequired\",\n /** External Replication setup is complete, you can now monitor the 'mirrorState' in the replication status for the health of the replication */\n NoActionRequired = \"NoActionRequired\",\n}\n\n/**\n * Property that only applies to external replications. Provides a machine-readable value for the status of the external replication setup. \\\n * {@link KnownExternalReplicationSetupStatus} can be used interchangeably with ExternalReplicationSetupStatus,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **ClusterPeerRequired**: Your cluster needs to be peered by using the 'peerExternalCluster' action \\\n * **ClusterPeerPending**: The peering needs to be accepted on your cluster before the setup can proceed \\\n * **VServerPeerRequired**: Need to call 'authorizeExternalReplication' and accept the returned 'vserver peer accept' command on your cluster to finish setting up the external replication \\\n * **ReplicationCreateRequired**: Need to call 'authorizeExternalReplication' to finish setting up the external replication \\\n * **NoActionRequired**: External Replication setup is complete, you can now monitor the 'mirrorState' in the replication status for the health of the replication\n */\nexport type ExternalReplicationSetupStatus = string;\n\n/** The status of the replication */\nexport enum KnownMirrorState {\n /** Uninitialized */\n Uninitialized = \"Uninitialized\",\n /** Mirrored */\n Mirrored = \"Mirrored\",\n /** Broken */\n Broken = \"Broken\",\n}\n\n/**\n * The status of the replication \\\n * {@link KnownMirrorState} can be used interchangeably with MirrorState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Uninitialized** \\\n * **Mirrored** \\\n * **Broken**\n */\nexport type MirrorState = string;\n\n/** Status of the volume replication relationship */\nexport enum KnownVolumeReplicationRelationshipStatus {\n /** Idle */\n Idle = \"Idle\",\n /** Transferring */\n Transferring = \"Transferring\",\n}\n\n/**\n * Status of the volume replication relationship \\\n * {@link KnownVolumeReplicationRelationshipStatus} can be used interchangeably with VolumeReplicationRelationshipStatus,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Idle** \\\n * **Transferring**\n */\nexport type VolumeReplicationRelationshipStatus = string;\n\n/** Volume Snapshot Properties */\nexport interface VolumeSnapshotProperties {\n /** Snapshot Policy ResourceId */\n snapshotPolicyId?: string;\n}\n\nexport function volumeSnapshotPropertiesSerializer(item: VolumeSnapshotProperties): any {\n return { snapshotPolicyId: item[\"snapshotPolicyId\"] };\n}\n\nexport function volumeSnapshotPropertiesDeserializer(item: any): VolumeSnapshotProperties {\n return {\n snapshotPolicyId: item[\"snapshotPolicyId\"],\n };\n}\n\n/** Volume relocation properties */\nexport interface VolumeRelocationProperties {\n /** Has relocation been requested for this volume */\n relocationRequested?: boolean;\n /** Has relocation finished and is ready to be cleaned up */\n readonly readyToBeFinalized?: boolean;\n}\n\nexport function volumeRelocationPropertiesSerializer(item: VolumeRelocationProperties): any {\n return { relocationRequested: item[\"relocationRequested\"] };\n}\n\nexport function volumeRelocationPropertiesDeserializer(item: any): VolumeRelocationProperties {\n return {\n relocationRequested: item[\"relocationRequested\"],\n readyToBeFinalized: item[\"readyToBeFinalized\"],\n };\n}\n\n/** Advanced Ransomware Protection reports (ARP) settings */\nexport interface RansomwareProtectionSettings {\n /** The desired value of the Advanced Ransomware Protection feature state available to the volume */\n desiredRansomwareProtectionState?: DesiredRansomwareProtectionState;\n /** The actual state of the Advanced Ransomware Protection feature currently active on the volume */\n readonly actualRansomwareProtectionState?: ActualRansomwareProtectionState;\n}\n\nexport function ransomwareProtectionSettingsSerializer(item: RansomwareProtectionSettings): any {\n return {\n desiredRansomwareProtectionState: item[\"desiredRansomwareProtectionState\"],\n };\n}\n\nexport function ransomwareProtectionSettingsDeserializer(item: any): RansomwareProtectionSettings {\n return {\n desiredRansomwareProtectionState: item[\"desiredRansomwareProtectionState\"],\n actualRansomwareProtectionState: item[\"actualRansomwareProtectionState\"],\n };\n}\n\n/** The desired state of the Advanced Ransomware Protection feature */\nexport enum KnownDesiredRansomwareProtectionState {\n /** Advanced Ransomware Protection is disabled */\n Disabled = \"Disabled\",\n /** Advanced Ransomware Protection is enabled */\n Enabled = \"Enabled\",\n}\n\n/**\n * The desired state of the Advanced Ransomware Protection feature \\\n * {@link KnownDesiredRansomwareProtectionState} can be used interchangeably with DesiredRansomwareProtectionState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Disabled**: Advanced Ransomware Protection is disabled \\\n * **Enabled**: Advanced Ransomware Protection is enabled\n */\nexport type DesiredRansomwareProtectionState = string;\n\n/** The actual state of the Advanced Ransomware Protection feature */\nexport enum KnownActualRansomwareProtectionState {\n /** Advanced Ransomware Protection is disabled */\n Disabled = \"Disabled\",\n /** Advanced Ransomware Protection is enabled */\n Enabled = \"Enabled\",\n /** Advanced Ransomware Protection is in learning mode */\n Learning = \"Learning\",\n /** Advanced Ransomware Protection is in paused state */\n Paused = \"Paused\",\n}\n\n/**\n * The actual state of the Advanced Ransomware Protection feature \\\n * {@link KnownActualRansomwareProtectionState} can be used interchangeably with ActualRansomwareProtectionState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Disabled**: Advanced Ransomware Protection is disabled \\\n * **Enabled**: Advanced Ransomware Protection is enabled \\\n * **Learning**: Advanced Ransomware Protection is in learning mode \\\n * **Paused**: Advanced Ransomware Protection is in paused state\n */\nexport type ActualRansomwareProtectionState = string;\n\n/** While auto splitting the short term clone volume, if the parent pool does not have enough space to accommodate the volume after split, it will be automatically resized, which will lead to increased billing. To accept capacity pool size auto grow and create a short term clone volume, set the property as accepted. */\nexport enum KnownAcceptGrowCapacityPoolForShortTermCloneSplit {\n /** Auto grow capacity pool for short term clone split is accepted. */\n Accepted = \"Accepted\",\n /** Auto grow capacity pool for short term clone split is declined. Short term clone volume creation will not be allowed, to create short term clone volume accept auto grow capacity pool. */\n Declined = \"Declined\",\n}\n\n/**\n * While auto splitting the short term clone volume, if the parent pool does not have enough space to accommodate the volume after split, it will be automatically resized, which will lead to increased billing. To accept capacity pool size auto grow and create a short term clone volume, set the property as accepted. \\\n * {@link KnownAcceptGrowCapacityPoolForShortTermCloneSplit} can be used interchangeably with AcceptGrowCapacityPoolForShortTermCloneSplit,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Accepted**: Auto grow capacity pool for short term clone split is accepted. \\\n * **Declined**: Auto grow capacity pool for short term clone split is declined. Short term clone volume creation will not be allowed, to create short term clone volume accept auto grow capacity pool.\n */\nexport type AcceptGrowCapacityPoolForShortTermCloneSplit = string;\n\n/** The security style of volume, default unix, defaults to ntfs for dual protocol or CIFS protocol */\nexport enum KnownSecurityStyle {\n /** ntfs */\n Ntfs = \"ntfs\",\n /** unix */\n Unix = \"unix\",\n}\n\n/**\n * The security style of volume, default unix, defaults to ntfs for dual protocol or CIFS protocol \\\n * {@link KnownSecurityStyle} can be used interchangeably with SecurityStyle,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **ntfs** \\\n * **unix**\n */\nexport type SecurityStyle = string;\n\n/** Enables access-based enumeration share property for SMB Shares. Only applicable for SMB/DualProtocol volume */\nexport enum KnownSmbAccessBasedEnumeration {\n /** smbAccessBasedEnumeration share setting is disabled */\n Disabled = \"Disabled\",\n /** smbAccessBasedEnumeration share setting is enabled */\n Enabled = \"Enabled\",\n}\n\n/**\n * Enables access-based enumeration share property for SMB Shares. Only applicable for SMB/DualProtocol volume \\\n * {@link KnownSmbAccessBasedEnumeration} can be used interchangeably with SmbAccessBasedEnumeration,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Disabled**: smbAccessBasedEnumeration share setting is disabled \\\n * **Enabled**: smbAccessBasedEnumeration share setting is enabled\n */\nexport type SmbAccessBasedEnumeration = string;\n\n/** Enables non-browsable property for SMB Shares. Only applicable for SMB/DualProtocol volume */\nexport enum KnownSmbNonBrowsable {\n /** smbNonBrowsable share setting is disabled */\n Disabled = \"Disabled\",\n /** smbNonBrowsable share setting is enabled */\n Enabled = \"Enabled\",\n}\n\n/**\n * Enables non-browsable property for SMB Shares. Only applicable for SMB/DualProtocol volume \\\n * {@link KnownSmbNonBrowsable} can be used interchangeably with SmbNonBrowsable,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Disabled**: smbNonBrowsable share setting is disabled \\\n * **Enabled**: smbNonBrowsable share setting is enabled\n */\nexport type SmbNonBrowsable = string;\n\n/** Source of key used to encrypt data in volume. Applicable if NetApp account has encryption.keySource = 'Microsoft.KeyVault'. Possible values (case-insensitive) are: 'Microsoft.NetApp, Microsoft.KeyVault' */\nexport enum KnownEncryptionKeySource {\n /** Microsoft-managed key encryption */\n MicrosoftNetApp = \"Microsoft.NetApp\",\n /** Customer-managed key encryption */\n MicrosoftKeyVault = \"Microsoft.KeyVault\",\n}\n\n/**\n * Source of key used to encrypt data in volume. Applicable if NetApp account has encryption.keySource = 'Microsoft.KeyVault'. Possible values (case-insensitive) are: 'Microsoft.NetApp, Microsoft.KeyVault' \\\n * {@link KnownEncryptionKeySource} can be used interchangeably with EncryptionKeySource,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Microsoft.NetApp**: Microsoft-managed key encryption \\\n * **Microsoft.KeyVault**: Customer-managed key encryption\n */\nexport type EncryptionKeySource = string;\n\n/** The type of the LDAP server */\nexport enum KnownLdapServerType {\n /** The volume should use Active Directory for LDAP connections. */\n ActiveDirectory = \"ActiveDirectory\",\n /** The volume should use OpenLDAP for LDAP connections. */\n OpenLdap = \"OpenLDAP\",\n}\n\n/**\n * The type of the LDAP server \\\n * {@link KnownLdapServerType} can be used interchangeably with LdapServerType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **ActiveDirectory**: The volume should use Active Directory for LDAP connections. \\\n * **OpenLDAP**: The volume should use OpenLDAP for LDAP connections.\n */\nexport type LdapServerType = string;\n\n/**\n * coolAccessRetrievalPolicy determines the data retrieval behavior from the cool tier to standard storage based on the read pattern for cool access enabled volumes. The possible values for this field are:\n * Default - Data will be pulled from cool tier to standard storage on random reads. This policy is the default.\n * OnRead - All client-driven data read is pulled from cool tier to standard storage on both sequential and random reads.\n * Never - No client-driven data is pulled from cool tier to standard storage.\n */\nexport enum KnownCoolAccessRetrievalPolicy {\n /** Default */\n Default = \"Default\",\n /** OnRead */\n OnRead = \"OnRead\",\n /** Never */\n Never = \"Never\",\n}\n\n/**\n * coolAccessRetrievalPolicy determines the data retrieval behavior from the cool tier to standard storage based on the read pattern for cool access enabled volumes. The possible values for this field are:\n * Default - Data will be pulled from cool tier to standard storage on random reads. This policy is the default.\n * OnRead - All client-driven data read is pulled from cool tier to standard storage on both sequential and random reads.\n * Never - No client-driven data is pulled from cool tier to standard storage. \\\n * {@link KnownCoolAccessRetrievalPolicy} can be used interchangeably with CoolAccessRetrievalPolicy,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Default** \\\n * **OnRead** \\\n * **Never**\n */\nexport type CoolAccessRetrievalPolicy = string;\n\n/** coolAccessTieringPolicy determines which cold data blocks are moved to cool tier. The possible values for this field are: Auto - Moves cold user data blocks in both the Snapshot copies and the active file system to the cool tier tier. This policy is the default. SnapshotOnly - Moves user data blocks of the Volume Snapshot copies that are not associated with the active file system to the cool tier. */\nexport enum KnownCoolAccessTieringPolicy {\n /** Auto */\n Auto = \"Auto\",\n /** SnapshotOnly */\n SnapshotOnly = \"SnapshotOnly\",\n}\n\n/**\n * coolAccessTieringPolicy determines which cold data blocks are moved to cool tier. The possible values for this field are: Auto - Moves cold user data blocks in both the Snapshot copies and the active file system to the cool tier tier. This policy is the default. SnapshotOnly - Moves user data blocks of the Volume Snapshot copies that are not associated with the active file system to the cool tier. \\\n * {@link KnownCoolAccessTieringPolicy} can be used interchangeably with CoolAccessTieringPolicy,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Auto** \\\n * **SnapshotOnly**\n */\nexport type CoolAccessTieringPolicy = string;\n\n/** Flag indicating whether file access logs are enabled for the volume, based on active diagnostic settings present on the volume. */\nexport enum KnownFileAccessLogs {\n /** fileAccessLogs are enabled */\n Enabled = \"Enabled\",\n /** fileAccessLogs are not enabled */\n Disabled = \"Disabled\",\n}\n\n/**\n * Flag indicating whether file access logs are enabled for the volume, based on active diagnostic settings present on the volume. \\\n * {@link KnownFileAccessLogs} can be used interchangeably with FileAccessLogs,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Enabled**: fileAccessLogs are enabled \\\n * **Disabled**: fileAccessLogs are not enabled\n */\nexport type FileAccessLogs = string;\n\n/** Specifies whether the volume is enabled for Azure VMware Solution (AVS) datastore purpose */\nexport enum KnownAvsDataStore {\n /** avsDataStore is enabled */\n Enabled = \"Enabled\",\n /** avsDataStore is disabled */\n Disabled = \"Disabled\",\n}\n\n/**\n * Specifies whether the volume is enabled for Azure VMware Solution (AVS) datastore purpose \\\n * {@link KnownAvsDataStore} can be used interchangeably with AvsDataStore,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Enabled**: avsDataStore is enabled \\\n * **Disabled**: avsDataStore is disabled\n */\nexport type AvsDataStore = string;\n\n/** Flag indicating whether subvolume operations are enabled on the volume */\nexport enum KnownEnableSubvolumes {\n /** subvolumes are enabled */\n Enabled = \"Enabled\",\n /** subvolumes are not enabled */\n Disabled = \"Disabled\",\n}\n\n/**\n * Flag indicating whether subvolume operations are enabled on the volume \\\n * {@link KnownEnableSubvolumes} can be used interchangeably with EnableSubvolumes,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Enabled**: subvolumes are enabled \\\n * **Disabled**: subvolumes are not enabled\n */\nexport type EnableSubvolumes = string;\n\n/**\n * Specifies the type of the Large Volume. When set to 'LargeVolume', the large volume is created with standard configuration.\n * If it is set to 'ExtraLargeVolume7Dot2PiB', the extra large volume is created with higher capacity limit 7.2PiB with cool access enabled,\n * delivering higher capacity limit with lower costs.\n */\nexport enum KnownLargeVolumeType {\n /** The large volume is created with standard configuration that provides standard performance and throughput. */\n LargeVolume = \"LargeVolume\",\n /** The extra large volume is created with higher volume capacity limit 7.2PiB with cool access enabled, delivering higher capacity limit with lower costs */\n ExtraLargeVolume7Dot2PiB = \"PremExtraLargeVolume7Dot2PiB\",\n}\n\n/**\n * Specifies the type of the Large Volume. When set to 'LargeVolume', the large volume is created with standard configuration.\n * If it is set to 'ExtraLargeVolume7Dot2PiB', the extra large volume is created with higher capacity limit 7.2PiB with cool access enabled,\n * delivering higher capacity limit with lower costs. \\\n * {@link KnownLargeVolumeType} can be used interchangeably with LargeVolumeType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **LargeVolume**: The large volume is created with standard configuration that provides standard performance and throughput. \\\n * **PremExtraLargeVolume7Dot2PiB**: The extra large volume is created with higher volume capacity limit 7.2PiB with cool access enabled, delivering higher capacity limit with lower costs\n */\nexport type LargeVolumeType = string;\n\n/** Language supported for volume. */\nexport enum KnownVolumeLanguage {\n /** Posix with UTF-8 */\n CUtf8 = \"c.utf-8\",\n /** UTF-8 with 4 byte character support */\n Utf8Mb4 = \"utf8mb4\",\n /** Arabic - Deprecated */\n Ar = \"ar\",\n /** Arabic with UTF-8 */\n ArUtf8 = \"ar.utf-8\",\n /** Croatian - Deprecated */\n Hr = \"hr\",\n /** Croatian with UTF-8 */\n HrUtf8 = \"hr.utf-8\",\n /** Czech - Deprecated */\n Cs = \"cs\",\n /** Czech with UTF-8 */\n CsUtf8 = \"cs.utf-8\",\n /** Danish - Deprecated */\n Da = \"da\",\n /** Danish with UTF-8 */\n DaUtf8 = \"da.utf-8\",\n /** Dutch - Deprecated */\n Nl = \"nl\",\n /** Dutch with UTF-8 */\n NlUtf8 = \"nl.utf-8\",\n /** English - Deprecated */\n En = \"en\",\n /** English with UTF-8 */\n EnUtf8 = \"en.utf-8\",\n /** Finnish - Deprecated */\n Fi = \"fi\",\n /** Finnish with UTF-8 */\n FiUtf8 = \"fi.utf-8\",\n /** French - Deprecated */\n Fr = \"fr\",\n /** French with UTF-8 */\n FrUtf8 = \"fr.utf-8\",\n /** German - Deprecated */\n De = \"de\",\n /** German with UTF-8 */\n DeUtf8 = \"de.utf-8\",\n /** Hebrew - Deprecated */\n He = \"he\",\n /** Hebrew with UTF-8 */\n HeUtf8 = \"he.utf-8\",\n /** Hungarian - Deprecated */\n Hu = \"hu\",\n /** Hungarian with UTF-8 */\n HuUtf8 = \"hu.utf-8\",\n /** Italian - Deprecated */\n It = \"it\",\n /** Italian with UTF-8 */\n ItUtf8 = \"it.utf-8\",\n /** Japanese euc-j - Deprecated */\n Ja = \"ja\",\n /** Japanese euc-j with UTF-8 */\n JaUtf8 = \"ja.utf-8\",\n /** Japanese euc-j - Deprecated */\n JaV1 = \"ja-v1\",\n /** Japanese euc-j with UTF-8 */\n JaV1Utf8 = \"ja-v1.utf-8\",\n /** Japanese pck */\n JaJpPck = \"ja-jp.pck\",\n /** Japanese pck with UTF-8 - Deprecated */\n JaJpPckUtf8 = \"ja-jp.pck.utf-8\",\n /** Japanese cp932 */\n JaJp932 = \"ja-jp.932\",\n /** Japanese cp932 with UTF-8 - Deprecated */\n JaJp932Utf8 = \"ja-jp.932.utf-8\",\n /** Japanese pck - sjis */\n JaJpPckV2 = \"ja-jp.pck-v2\",\n /** Japanese pck - sjis with UTF-8 - Deprecated */\n JaJpPckV2Utf8 = \"ja-jp.pck-v2.utf-8\",\n /** Korean - Deprecated */\n Ko = \"ko\",\n /** Korean with UTF-8 */\n KoUtf8 = \"ko.utf-8\",\n /** Norwegian - Deprecated */\n No = \"no\",\n /** Norwegian with UTF-8 */\n NoUtf8 = \"no.utf-8\",\n /** Polish - Deprecated */\n Pl = \"pl\",\n /** Polish with UTF-8 */\n PlUtf8 = \"pl.utf-8\",\n /** Portuguese - Deprecated */\n Pt = \"pt\",\n /** Portuguese with UTF-8 */\n PtUtf8 = \"pt.utf-8\",\n /** Posix - Deprecated */\n C = \"c\",\n /** Romanian - Deprecated */\n Ro = \"ro\",\n /** Romanian with UTF-8 */\n RoUtf8 = \"ro.utf-8\",\n /** Russian - Deprecated */\n Ru = \"ru\",\n /** Russian with UTF-8 */\n RuUtf8 = \"ru.utf-8\",\n /** Simplified Chinese - Deprecated */\n Zh = \"zh\",\n /** Simplified Chinese with UTF-8 */\n ZhUtf8 = \"zh.utf-8\",\n /** Simplified gbk Chinese */\n ZhGbk = \"zh.gbk\",\n /** Simplified gbk Chinese with UTF-8 - Deprecated */\n ZhGbkUtf8 = \"zh.gbk.utf-8\",\n /** Traditional Chinese BIG 5 */\n ZhTwBig5 = \"zh-tw.big5\",\n /** Traditional Chinese BIG 5 with UTF-8 - Deprecated */\n ZhTwBig5Utf8 = \"zh-tw.big5.utf-8\",\n /** Traditional Chinese EUC-TW */\n ZhTw = \"zh-tw\",\n /** Traditional Chinese EUC-TW with UTF-8 - Deprecated */\n ZhTwUtf8 = \"zh-tw.utf-8\",\n /** Slovak - Deprecated */\n Sk = \"sk\",\n /** Slovak with UTF-8 */\n SkUtf8 = \"sk.utf-8\",\n /** Slovenian - Deprecated */\n Sl = \"sl\",\n /** Slovenian with UTF-8 */\n SlUtf8 = \"sl.utf-8\",\n /** Spanish - Deprecated */\n Es = \"es\",\n /** Spanish with UTF-8 */\n EsUtf8 = \"es.utf-8\",\n /** Swedish - Deprecated */\n Sv = \"sv\",\n /** Swedish with UTF-8 */\n SvUtf8 = \"sv.utf-8\",\n /** Turkish - Deprecated */\n Tr = \"tr\",\n /** Turkish with UTF-8 */\n TrUtf8 = \"tr.utf-8\",\n /** US English - Deprecated */\n EnUs = \"en-us\",\n /** US English with UTF-8 */\n EnUsUtf8 = \"en-us.utf-8\",\n}\n\n/**\n * Language supported for volume. \\\n * {@link KnownVolumeLanguage} can be used interchangeably with VolumeLanguage,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **c.utf-8**: Posix with UTF-8 \\\n * **utf8mb4**: UTF-8 with 4 byte character support \\\n * **ar**: Arabic - Deprecated \\\n * **ar.utf-8**: Arabic with UTF-8 \\\n * **hr**: Croatian - Deprecated \\\n * **hr.utf-8**: Croatian with UTF-8 \\\n * **cs**: Czech - Deprecated \\\n * **cs.utf-8**: Czech with UTF-8 \\\n * **da**: Danish - Deprecated \\\n * **da.utf-8**: Danish with UTF-8 \\\n * **nl**: Dutch - Deprecated \\\n * **nl.utf-8**: Dutch with UTF-8 \\\n * **en**: English - Deprecated \\\n * **en.utf-8**: English with UTF-8 \\\n * **fi**: Finnish - Deprecated \\\n * **fi.utf-8**: Finnish with UTF-8 \\\n * **fr**: French - Deprecated \\\n * **fr.utf-8**: French with UTF-8 \\\n * **de**: German - Deprecated \\\n * **de.utf-8**: German with UTF-8 \\\n * **he**: Hebrew - Deprecated \\\n * **he.utf-8**: Hebrew with UTF-8 \\\n * **hu**: Hungarian - Deprecated \\\n * **hu.utf-8**: Hungarian with UTF-8 \\\n * **it**: Italian - Deprecated \\\n * **it.utf-8**: Italian with UTF-8 \\\n * **ja**: Japanese euc-j - Deprecated \\\n * **ja.utf-8**: Japanese euc-j with UTF-8 \\\n * **ja-v1**: Japanese euc-j - Deprecated \\\n * **ja-v1.utf-8**: Japanese euc-j with UTF-8 \\\n * **ja-jp.pck**: Japanese pck \\\n * **ja-jp.pck.utf-8**: Japanese pck with UTF-8 - Deprecated \\\n * **ja-jp.932**: Japanese cp932 \\\n * **ja-jp.932.utf-8**: Japanese cp932 with UTF-8 - Deprecated \\\n * **ja-jp.pck-v2**: Japanese pck - sjis \\\n * **ja-jp.pck-v2.utf-8**: Japanese pck - sjis with UTF-8 - Deprecated \\\n * **ko**: Korean - Deprecated \\\n * **ko.utf-8**: Korean with UTF-8 \\\n * **no**: Norwegian - Deprecated \\\n * **no.utf-8**: Norwegian with UTF-8 \\\n * **pl**: Polish - Deprecated \\\n * **pl.utf-8**: Polish with UTF-8 \\\n * **pt**: Portuguese - Deprecated \\\n * **pt.utf-8**: Portuguese with UTF-8 \\\n * **c**: Posix - Deprecated \\\n * **ro**: Romanian - Deprecated \\\n * **ro.utf-8**: Romanian with UTF-8 \\\n * **ru**: Russian - Deprecated \\\n * **ru.utf-8**: Russian with UTF-8 \\\n * **zh**: Simplified Chinese - Deprecated \\\n * **zh.utf-8**: Simplified Chinese with UTF-8 \\\n * **zh.gbk**: Simplified gbk Chinese \\\n * **zh.gbk.utf-8**: Simplified gbk Chinese with UTF-8 - Deprecated \\\n * **zh-tw.big5**: Traditional Chinese BIG 5 \\\n * **zh-tw.big5.utf-8**: Traditional Chinese BIG 5 with UTF-8 - Deprecated \\\n * **zh-tw**: Traditional Chinese EUC-TW \\\n * **zh-tw.utf-8**: Traditional Chinese EUC-TW with UTF-8 - Deprecated \\\n * **sk**: Slovak - Deprecated \\\n * **sk.utf-8**: Slovak with UTF-8 \\\n * **sl**: Slovenian - Deprecated \\\n * **sl.utf-8**: Slovenian with UTF-8 \\\n * **es**: Spanish - Deprecated \\\n * **es.utf-8**: Spanish with UTF-8 \\\n * **sv**: Swedish - Deprecated \\\n * **sv.utf-8**: Swedish with UTF-8 \\\n * **tr**: Turkish - Deprecated \\\n * **tr.utf-8**: Turkish with UTF-8 \\\n * **en-us**: US English - Deprecated \\\n * **en-us.utf-8**: US English with UTF-8\n */\nexport type VolumeLanguage = string;\n\n/**\n * Specifies whether the volume operates in Breakthrough Mode. When set to 'Enabled', the volume runs on the resources configured for this mode,\n * delivering improved performance and higher throughput. If set to 'Disabled' or omitted, the volume uses the basic configuration. This feature\n * is available only in regions where it’s been configured and first-time users must finish onboarding prior to using Breakthrough Mode.\n */\nexport enum KnownBreakthroughMode {\n /** The volume runs on the resources configured for Breakthrough mode which ensures consistent high performance and a higher throughput. */\n Enabled = \"Enabled\",\n /** The volume uses configuration that provides basic performance and throughput. */\n Disabled = \"Disabled\",\n}\n\n/**\n * Specifies whether the volume operates in Breakthrough Mode. When set to 'Enabled', the volume runs on the resources configured for this mode,\n * delivering improved performance and higher throughput. If set to 'Disabled' or omitted, the volume uses the basic configuration. This feature\n * is available only in regions where it’s been configured and first-time users must finish onboarding prior to using Breakthrough Mode. \\\n * {@link KnownBreakthroughMode} can be used interchangeably with BreakthroughMode,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Enabled**: The volume runs on the resources configured for Breakthrough mode which ensures consistent high performance and a higher throughput. \\\n * **Disabled**: The volume uses configuration that provides basic performance and throughput.\n */\nexport type BreakthroughMode = string;\n\n/** List of volume group resources */\nexport interface _VolumeGroupList {\n /** The VolumeGroup items on this page */\n value: VolumeGroup[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _volumeGroupListDeserializer(item: any): _VolumeGroupList {\n return {\n value: volumeGroupArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function volumeGroupArrayDeserializer(result: Array<VolumeGroup>): any[] {\n return result.map((item) => {\n return volumeGroupDeserializer(item);\n });\n}\n\n/** Volume group resource */\nexport interface VolumeGroup {\n /** Resource location */\n location?: string;\n /** Resource Id */\n readonly id?: string;\n /** Resource name */\n readonly name?: string;\n /** Resource type */\n readonly type?: string;\n /** Volume group properties */\n properties?: VolumeGroupListProperties;\n}\n\nexport function volumeGroupDeserializer(item: any): VolumeGroup {\n return {\n location: item[\"location\"],\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : volumeGroupListPropertiesDeserializer(item[\"properties\"]),\n };\n}\n\n/** Volume group properties */\nexport interface VolumeGroupListProperties {\n /** Azure lifecycle management */\n readonly provisioningState?: string;\n /** Volume group details */\n groupMetaData?: VolumeGroupMetaData;\n}\n\nexport function volumeGroupListPropertiesDeserializer(item: any): VolumeGroupListProperties {\n return {\n provisioningState: item[\"provisioningState\"],\n groupMetaData: !item[\"groupMetaData\"]\n ? item[\"groupMetaData\"]\n : volumeGroupMetaDataDeserializer(item[\"groupMetaData\"]),\n };\n}\n\n/** Backup under a Backup Vault */\nexport interface Backup extends ProxyResource {\n /** Backup Properties */\n properties: BackupProperties;\n}\n\nexport function backupSerializer(item: Backup): any {\n return { properties: backupPropertiesSerializer(item[\"properties\"]) };\n}\n\nexport function backupDeserializer(item: any): Backup {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: backupPropertiesDeserializer(item[\"properties\"]),\n };\n}\n\n/** Backup properties */\nexport interface BackupProperties {\n /** UUID v4 used to identify the Backup */\n readonly backupId?: string;\n /** The creation date of the backup */\n readonly creationDate?: Date;\n /** The snapshot creation date of the backup */\n readonly snapshotCreationDate?: Date | null;\n /** The completion date of the backup */\n readonly completionDate?: Date | null;\n /** Azure lifecycle management */\n readonly provisioningState?: string;\n /** Size of backup in bytes */\n readonly size?: number;\n /** Label for backup */\n label?: string;\n /** Type of backup Manual or Scheduled */\n readonly backupType?: BackupType;\n /** Failure reason */\n readonly failureReason?: string;\n /** ResourceId used to identify the Volume */\n volumeResourceId: string;\n /** Manual backup an already existing snapshot. This will always be false for scheduled backups and true/false for manual backups */\n useExistingSnapshot?: boolean;\n /** The name of the snapshot */\n snapshotName?: string;\n /** ResourceId used to identify the backup policy */\n readonly backupPolicyResourceId?: string;\n /** Specifies if the backup is for a large volume. */\n readonly isLargeVolume?: boolean;\n}\n\nexport function backupPropertiesSerializer(item: BackupProperties): any {\n return {\n label: item[\"label\"],\n volumeResourceId: item[\"volumeResourceId\"],\n useExistingSnapshot: item[\"useExistingSnapshot\"],\n snapshotName: item[\"snapshotName\"],\n };\n}\n\nexport function backupPropertiesDeserializer(item: any): BackupProperties {\n return {\n backupId: item[\"backupId\"],\n creationDate: !item[\"creationDate\"] ? item[\"creationDate\"] : new Date(item[\"creationDate\"]),\n snapshotCreationDate: !item[\"snapshotCreationDate\"]\n ? item[\"snapshotCreationDate\"]\n : new Date(item[\"snapshotCreationDate\"]),\n completionDate: !item[\"completionDate\"]\n ? item[\"completionDate\"]\n : new Date(item[\"completionDate\"]),\n provisioningState: item[\"provisioningState\"],\n size: item[\"size\"],\n label: item[\"label\"],\n backupType: item[\"backupType\"],\n failureReason: item[\"failureReason\"],\n volumeResourceId: item[\"volumeResourceId\"],\n useExistingSnapshot: item[\"useExistingSnapshot\"],\n snapshotName: item[\"snapshotName\"],\n backupPolicyResourceId: item[\"backupPolicyResourceId\"],\n isLargeVolume: item[\"isLargeVolume\"],\n };\n}\n\n/** Type of backup Manual or Scheduled */\nexport enum KnownBackupType {\n /** Manual backup */\n Manual = \"Manual\",\n /** Scheduled backup */\n Scheduled = \"Scheduled\",\n}\n\n/**\n * Type of backup Manual or Scheduled \\\n * {@link KnownBackupType} can be used interchangeably with BackupType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Manual**: Manual backup \\\n * **Scheduled**: Scheduled backup\n */\nexport type BackupType = string;\n\n/** Backup patch */\nexport interface BackupPatch {\n /** Backup Patch Properties */\n properties?: BackupPatchProperties;\n}\n\nexport function backupPatchSerializer(item: BackupPatch): any {\n return {\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : backupPatchPropertiesSerializer(item[\"properties\"]),\n };\n}\n\n/** Backup patch properties */\nexport interface BackupPatchProperties {\n /** Label for backup */\n label?: string;\n}\n\nexport function backupPatchPropertiesSerializer(item: BackupPatchProperties): any {\n return { label: item[\"label\"] };\n}\n\n/** List of Backups */\nexport interface _BackupsList {\n /** The Backup items on this page */\n value: Backup[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _backupsListDeserializer(item: any): _BackupsList {\n return {\n value: backupArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function backupArraySerializer(result: Array<Backup>): any[] {\n return result.map((item) => {\n return backupSerializer(item);\n });\n}\n\nexport function backupArrayDeserializer(result: Array<Backup>): any[] {\n return result.map((item) => {\n return backupDeserializer(item);\n });\n}\n\n/** Backup status */\nexport interface BackupStatus {\n /** Backup health status */\n readonly healthy?: boolean;\n /** Status of the backup mirror relationship */\n readonly relationshipStatus?: VolumeBackupRelationshipStatus;\n /** The status of the backup */\n readonly mirrorState?: MirrorState;\n /** Reason for the unhealthy backup relationship */\n readonly unhealthyReason?: string;\n /** Displays error message if the backup is in an error state */\n readonly errorMessage?: string;\n /** Displays the last transfer size */\n readonly lastTransferSize?: number;\n /** Displays the last transfer type */\n readonly lastTransferType?: string;\n /** Displays the total bytes transferred */\n readonly totalTransferBytes?: number;\n /** Displays the total number of bytes transferred for the ongoing operation */\n readonly transferProgressBytes?: number;\n}\n\nexport function backupStatusDeserializer(item: any): BackupStatus {\n return {\n healthy: item[\"healthy\"],\n relationshipStatus: item[\"relationshipStatus\"],\n mirrorState: item[\"mirrorState\"],\n unhealthyReason: item[\"unhealthyReason\"],\n errorMessage: item[\"errorMessage\"],\n lastTransferSize: item[\"lastTransferSize\"],\n lastTransferType: item[\"lastTransferType\"],\n totalTransferBytes: item[\"totalTransferBytes\"],\n transferProgressBytes: item[\"transferProgressBytes\"],\n };\n}\n\n/** Status of the volume backup relationship */\nexport enum KnownVolumeBackupRelationshipStatus {\n /** Idle */\n Idle = \"Idle\",\n /** Transferring */\n Transferring = \"Transferring\",\n /** Failed */\n Failed = \"Failed\",\n /** Unknown */\n Unknown = \"Unknown\",\n}\n\n/**\n * Status of the volume backup relationship \\\n * {@link KnownVolumeBackupRelationshipStatus} can be used interchangeably with VolumeBackupRelationshipStatus,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Idle** \\\n * **Transferring** \\\n * **Failed** \\\n * **Unknown**\n */\nexport type VolumeBackupRelationshipStatus = string;\n\n/** Restore status */\nexport interface RestoreStatus {\n /** Restore health status */\n readonly healthy?: boolean;\n /** Status of the restore SnapMirror relationship */\n readonly relationshipStatus?: VolumeRestoreRelationshipStatus;\n /** The status of the restore */\n readonly mirrorState?: MirrorState;\n /** Reason for the unhealthy restore relationship */\n readonly unhealthyReason?: string;\n /** Displays error message if the restore is in an error state */\n readonly errorMessage?: string;\n /** Displays the total bytes transferred */\n readonly totalTransferBytes?: number;\n}\n\nexport function restoreStatusDeserializer(item: any): RestoreStatus {\n return {\n healthy: item[\"healthy\"],\n relationshipStatus: item[\"relationshipStatus\"],\n mirrorState: item[\"mirrorState\"],\n unhealthyReason: item[\"unhealthyReason\"],\n errorMessage: item[\"errorMessage\"],\n totalTransferBytes: item[\"totalTransferBytes\"],\n };\n}\n\n/** Status of the volume restore relationship */\nexport enum KnownVolumeRestoreRelationshipStatus {\n /** Idle */\n Idle = \"Idle\",\n /** Transferring */\n Transferring = \"Transferring\",\n /** Failed */\n Failed = \"Failed\",\n /** Unknown */\n Unknown = \"Unknown\",\n}\n\n/**\n * Status of the volume restore relationship \\\n * {@link KnownVolumeRestoreRelationshipStatus} can be used interchangeably with VolumeRestoreRelationshipStatus,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Idle** \\\n * **Transferring** \\\n * **Failed** \\\n * **Unknown**\n */\nexport type VolumeRestoreRelationshipStatus = string;\n\n/** Volume resource */\nexport interface Volume extends TrackedResource {\n /** Volume properties */\n properties: VolumeProperties;\n /** \"If etag is provided in the response body, it may also be provided as a header per the normal etag convention. Entity tags are used for comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range (section 14.27) header fields.\") */\n readonly etag?: string;\n /** The availability zones. */\n zones?: string[];\n}\n\nexport function volumeSerializer(item: Volume): any {\n return {\n tags: item[\"tags\"],\n location: item[\"location\"],\n properties: volumePropertiesSerializer(item[\"properties\"]),\n zones: !item[\"zones\"]\n ? item[\"zones\"]\n : item[\"zones\"].map((p: any) => {\n return p;\n }),\n };\n}\n\nexport function volumeDeserializer(item: any): Volume {\n return {\n tags: item[\"tags\"],\n location: item[\"location\"],\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: volumePropertiesDeserializer(item[\"properties\"]),\n etag: item[\"etag\"],\n zones: !item[\"zones\"]\n ? item[\"zones\"]\n : item[\"zones\"].map((p: any) => {\n return p;\n }),\n };\n}\n\n/** The resource model definition for an Azure Resource Manager tracked top level resource which has 'tags' and a 'location' */\nexport interface TrackedResource extends Resource {\n /** Resource tags. */\n tags?: Record<string, string>;\n /** The geo-location where the resource lives */\n location: string;\n}\n\nexport function trackedResourceSerializer(item: TrackedResource): any {\n return { tags: item[\"tags\"], location: item[\"location\"] };\n}\n\nexport function trackedResourceDeserializer(item: any): TrackedResource {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n tags: item[\"tags\"],\n location: item[\"location\"],\n };\n}\n\n/** Volume patch resource */\nexport interface VolumePatch {\n /** Resource location */\n location?: string;\n /** Resource Id */\n readonly id?: string;\n /** Resource name */\n readonly name?: string;\n /** Resource type */\n readonly type?: string;\n /** Resource tags */\n tags?: Record<string, string>;\n /** Patchable volume properties */\n properties?: VolumePatchProperties;\n}\n\nexport function volumePatchSerializer(item: VolumePatch): any {\n return {\n location: item[\"location\"],\n tags: item[\"tags\"],\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : volumePatchPropertiesSerializer(item[\"properties\"]),\n };\n}\n\n/** Patchable volume properties */\nexport interface VolumePatchProperties {\n /** The service level of the file system */\n serviceLevel?: ServiceLevel;\n /**\n * Maximum storage quota allowed for a file system in bytes. This is a soft quota used for alerting only. For regular volumes, valid values are in the range 50GiB to 100TiB.\n * For large volumes, valid values are in the range 100TiB to 500TiB, and on an exceptional basis, from to 2400GiB to 2400TiB.\n * For extra large volumes, valid values are in the range 2400GiB to 7200TiB. Values expressed in bytes as multiples of 1 GiB.\n */\n usageThreshold?: number;\n /** Set of export policy rules */\n exportPolicy?: VolumePatchPropertiesExportPolicy;\n /** Set of protocol types, default NFSv3, CIFS for SMB protocol */\n protocolTypes?: string[];\n /** Maximum throughput in MiB/s that can be achieved by this volume and this will be accepted as input only for manual qosType volume */\n throughputMibps?: number;\n /** DataProtection type volumes include an object containing details of the replication */\n dataProtection?: VolumePatchPropertiesDataProtection;\n /** Specifies if default quota is enabled for the volume. */\n isDefaultQuotaEnabled?: boolean;\n /** Default user quota for volume in KiBs. If isDefaultQuotaEnabled is set, the minimum value of 4 KiBs applies . */\n defaultUserQuotaInKiBs?: number;\n /** Default group quota for volume in KiBs. If isDefaultQuotaEnabled is set, the minimum value of 4 KiBs applies. */\n defaultGroupQuotaInKiBs?: number;\n /** UNIX permissions for NFS volume accepted in octal 4 digit format. First digit selects the set user ID(4), set group ID (2) and sticky (1) attributes. Second digit selects permission for the owner of the file: read (4), write (2) and execute (1). Third selects permissions for other users in the same group. the fourth for other users not in the group. 0755 - gives read/write/execute permissions to owner and read/execute to group and other users. */\n unixPermissions?: string | null;\n /** Specifies whether Cool Access(tiering) is enabled for the volume. */\n coolAccess?: boolean;\n /** Specifies the number of days after which data that is not accessed by clients will be tiered. */\n coolnessPeriod?: number;\n /**\n * coolAccessRetrievalPolicy determines the data retrieval behavior from the cool tier to standard storage based on the read pattern for cool access enabled volumes. The possible values for this field are:\n * Default - Data will be pulled from cool tier to standard storage on random reads. This policy is the default.\n * OnRead - All client-driven data read is pulled from cool tier to standard storage on both sequential and random reads.\n * Never - No client-driven data is pulled from cool tier to standard storage.\n */\n coolAccessRetrievalPolicy?: CoolAccessRetrievalPolicy;\n /** coolAccessTieringPolicy determines which cold data blocks are moved to cool tier. The possible values for this field are: Auto - Moves cold user data blocks in both the Snapshot copies and the active file system to the cool tier tier. This policy is the default. SnapshotOnly - Moves user data blocks of the Volume Snapshot copies that are not associated with the active file system to the cool tier. */\n coolAccessTieringPolicy?: CoolAccessTieringPolicy;\n /** If enabled (true) the volume will contain a read-only snapshot directory which provides access to each of the volume's snapshots. */\n snapshotDirectoryVisible?: boolean;\n /** Enables access-based enumeration share property for SMB Shares. Only applicable for SMB/DualProtocol volume */\n smbAccessBasedEnumeration?: SmbAccessBasedEnumeration | null;\n /** Enables non-browsable property for SMB Shares. Only applicable for SMB/DualProtocol volume */\n smbNonBrowsable?: SmbNonBrowsable;\n}\n\nexport function volumePatchPropertiesSerializer(item: VolumePatchProperties): any {\n return {\n serviceLevel: item[\"serviceLevel\"],\n usageThreshold: item[\"usageThreshold\"],\n exportPolicy: !item[\"exportPolicy\"]\n ? item[\"exportPolicy\"]\n : volumePatchPropertiesExportPolicySerializer(item[\"exportPolicy\"]),\n protocolTypes: !item[\"protocolTypes\"]\n ? item[\"protocolTypes\"]\n : item[\"protocolTypes\"].map((p: any) => {\n return p;\n }),\n throughputMibps: item[\"throughputMibps\"],\n dataProtection: !item[\"dataProtection\"]\n ? item[\"dataProtection\"]\n : volumePatchPropertiesDataProtectionSerializer(item[\"dataProtection\"]),\n isDefaultQuotaEnabled: item[\"isDefaultQuotaEnabled\"],\n defaultUserQuotaInKiBs: item[\"defaultUserQuotaInKiBs\"],\n defaultGroupQuotaInKiBs: item[\"defaultGroupQuotaInKiBs\"],\n unixPermissions: item[\"unixPermissions\"],\n coolAccess: item[\"coolAccess\"],\n coolnessPeriod: item[\"coolnessPeriod\"],\n coolAccessRetrievalPolicy: item[\"coolAccessRetrievalPolicy\"],\n coolAccessTieringPolicy: item[\"coolAccessTieringPolicy\"],\n snapshotDirectoryVisible: item[\"snapshotDirectoryVisible\"],\n smbAccessBasedEnumeration: item[\"smbAccessBasedEnumeration\"],\n smbNonBrowsable: item[\"smbNonBrowsable\"],\n };\n}\n\n/** Set of export policy rules */\nexport interface VolumePatchPropertiesExportPolicy {\n /** Export policy rule */\n rules?: ExportPolicyRule[];\n}\n\nexport function volumePatchPropertiesExportPolicySerializer(\n item: VolumePatchPropertiesExportPolicy,\n): any {\n return {\n rules: !item[\"rules\"] ? item[\"rules\"] : exportPolicyRuleArraySerializer(item[\"rules\"]),\n };\n}\n\n/** DataProtection type volumes include an object containing details of the replication */\nexport interface VolumePatchPropertiesDataProtection {\n /** Backup Properties */\n backup?: VolumeBackupProperties;\n /** Snapshot properties. */\n snapshot?: VolumeSnapshotProperties;\n /** Advanced Ransomware Protection updatable settings */\n ransomwareProtection?: RansomwareProtectionPatchSettings;\n}\n\nexport function volumePatchPropertiesDataProtectionSerializer(\n item: VolumePatchPropertiesDataProtection,\n): any {\n return {\n backup: !item[\"backup\"] ? item[\"backup\"] : volumeBackupPropertiesSerializer(item[\"backup\"]),\n snapshot: !item[\"snapshot\"]\n ? item[\"snapshot\"]\n : volumeSnapshotPropertiesSerializer(item[\"snapshot\"]),\n ransomwareProtection: !item[\"ransomwareProtection\"]\n ? item[\"ransomwareProtection\"]\n : ransomwareProtectionPatchSettingsSerializer(item[\"ransomwareProtection\"]),\n };\n}\n\n/** Advanced Ransomware Protection reports (ARP) updatable settings */\nexport interface RansomwareProtectionPatchSettings {\n /** The desired value of the ARP feature state available to the volume */\n desiredRansomwareProtectionState?: DesiredRansomwareProtectionState;\n}\n\nexport function ransomwareProtectionPatchSettingsSerializer(\n item: RansomwareProtectionPatchSettings,\n): any {\n return {\n desiredRansomwareProtectionState: item[\"desiredRansomwareProtectionState\"],\n };\n}\n\n/** List of volume resources */\nexport interface _VolumeList {\n /** The Volume items on this page */\n value: Volume[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _volumeListDeserializer(item: any): _VolumeList {\n return {\n value: volumeArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function volumeArraySerializer(result: Array<Volume>): any[] {\n return result.map((item) => {\n return volumeSerializer(item);\n });\n}\n\nexport function volumeArrayDeserializer(result: Array<Volume>): any[] {\n return result.map((item) => {\n return volumeDeserializer(item);\n });\n}\n\n/** revert a volume to the snapshot */\nexport interface VolumeRevert {\n /** Resource id of the snapshot */\n snapshotId?: string;\n}\n\nexport function volumeRevertSerializer(item: VolumeRevert): any {\n return { snapshotId: item[\"snapshotId\"] };\n}\n\n/** Break file locks request */\nexport interface BreakFileLocksRequest {\n /** To clear file locks on a volume for a particular client */\n clientIp?: string;\n /** Break File locks could be a disruptive operation for application as locks on the volume will be broken, if want to process, set to true. */\n confirmRunningDisruptiveOperation?: boolean;\n}\n\nexport function breakFileLocksRequestSerializer(item: BreakFileLocksRequest): any {\n return {\n clientIp: item[\"clientIp\"],\n confirmRunningDisruptiveOperation: item[\"confirmRunningDisruptiveOperation\"],\n };\n}\n\n/** Get group Id list for LDAP User request */\nexport interface GetGroupIdListForLdapUserRequest {\n /** username is required to fetch the group to which user is part of */\n username: string;\n}\n\nexport function getGroupIdListForLdapUserRequestSerializer(\n item: GetGroupIdListForLdapUserRequest,\n): any {\n return { username: item[\"username\"] };\n}\n\n/** Group Id list for Ldap user */\nexport interface GetGroupIdListForLdapUserResponse {\n /** Group Id list */\n groupIdsForLdapUser?: string[];\n}\n\nexport function getGroupIdListForLdapUserResponseDeserializer(\n item: any,\n): GetGroupIdListForLdapUserResponse {\n return {\n groupIdsForLdapUser: !item[\"groupIdsForLdapUser\"]\n ? item[\"groupIdsForLdapUser\"]\n : item[\"groupIdsForLdapUser\"].map((p: any) => {\n return p;\n }),\n };\n}\n\n/** Break replication request */\nexport interface BreakReplicationRequest {\n /** If replication is in status transferring and you want to force break the replication, set to true */\n forceBreakReplication?: boolean;\n}\n\nexport function breakReplicationRequestSerializer(item: BreakReplicationRequest): any {\n return { forceBreakReplication: item[\"forceBreakReplication\"] };\n}\n\n/** Re-establish request object supplied in the body of the operation. */\nexport interface ReestablishReplicationRequest {\n /** Resource id of the source volume for the replication */\n sourceVolumeId?: string;\n}\n\nexport function reestablishReplicationRequestSerializer(item: ReestablishReplicationRequest): any {\n return { sourceVolumeId: item[\"sourceVolumeId\"] };\n}\n\n/** Replication status */\nexport interface ReplicationStatus {\n /** Replication health check */\n healthy?: boolean;\n /** Status of the mirror relationship */\n relationshipStatus?: VolumeReplicationRelationshipStatus;\n /** The status of the replication */\n mirrorState?: MirrorState;\n /** The progress of the replication */\n totalProgress?: string;\n /** Displays error message if the replication is in an error state */\n errorMessage?: string;\n}\n\nexport function replicationStatusDeserializer(item: any): ReplicationStatus {\n return {\n healthy: item[\"healthy\"],\n relationshipStatus: item[\"relationshipStatus\"],\n mirrorState: item[\"mirrorState\"],\n totalProgress: item[\"totalProgress\"],\n errorMessage: item[\"errorMessage\"],\n };\n}\n\n/** Body for the list replications endpoint. If supplied, the body will be used as a filter for example to exclude deleted replications. If omitted, the endpoint returns all replications */\nexport interface ListReplicationsRequest {\n /** Exclude Replications filter. 'None' returns all replications, 'Deleted' excludes deleted replications. Default is 'None' */\n exclude?: Exclude;\n}\n\nexport function listReplicationsRequestSerializer(item: ListReplicationsRequest): any {\n return { exclude: item[\"exclude\"] };\n}\n\n/** An option to filter out replications. 'None' returns all replications, 'Deleted' excludes deleted replications. Default is 'None' */\nexport enum KnownExclude {\n /** 'None' returns all replications */\n None = \"None\",\n /** 'Deleted' excludes deleted replications */\n Deleted = \"Deleted\",\n}\n\n/**\n * An option to filter out replications. 'None' returns all replications, 'Deleted' excludes deleted replications. Default is 'None' \\\n * {@link KnownExclude} can be used interchangeably with Exclude,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **None**: 'None' returns all replications \\\n * **Deleted**: 'Deleted' excludes deleted replications\n */\nexport type Exclude = string;\n\n/** List Replications */\nexport interface _ListReplications {\n /** The Replication items on this page */\n value: Replication[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _listReplicationsDeserializer(item: any): _ListReplications {\n return {\n value: replicationArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function replicationArrayDeserializer(result: Array<Replication>): any[] {\n return result.map((item) => {\n return replicationDeserializer(item);\n });\n}\n\n/** Replication properties */\nexport interface Replication {\n /** UUID v4 used to identify the replication. */\n readonly replicationId?: string;\n /** Indicates whether the local volume is the source or destination for the Volume Replication */\n endpointType?: EndpointType;\n /** Schedule */\n replicationSchedule?: ReplicationSchedule;\n /** The resource ID of the remote volume. */\n remoteVolumeResourceId: string;\n /** The remote region for the other end of the Volume Replication. */\n remoteVolumeRegion?: string;\n /** The status of the replication */\n readonly mirrorState?: ReplicationMirrorState;\n /** Replication creation time */\n readonly replicationCreationTime?: Date;\n /** Replication deletion time */\n readonly replicationDeletionTime?: Date;\n}\n\nexport function replicationDeserializer(item: any): Replication {\n return {\n replicationId: item[\"replicationId\"],\n endpointType: item[\"endpointType\"],\n replicationSchedule: item[\"replicationSchedule\"],\n remoteVolumeResourceId: item[\"remoteVolumeResourceId\"],\n remoteVolumeRegion: item[\"remoteVolumeRegion\"],\n mirrorState: item[\"mirrorState\"],\n replicationCreationTime: !item[\"replicationCreationTime\"]\n ? item[\"replicationCreationTime\"]\n : new Date(item[\"replicationCreationTime\"]),\n replicationDeletionTime: !item[\"replicationDeletionTime\"]\n ? item[\"replicationDeletionTime\"]\n : new Date(item[\"replicationDeletionTime\"]),\n };\n}\n\n/** The status of the replication */\nexport enum KnownReplicationMirrorState {\n /** Destination volume has not been initialized */\n Uninitialized = \"Uninitialized\",\n /** Destination volume has been initialized and is ready */\n Mirrored = \"Mirrored\",\n /** Destination volume is RW, replication relationship has been broken off */\n Broken = \"Broken\",\n}\n\n/**\n * The status of the replication \\\n * {@link KnownReplicationMirrorState} can be used interchangeably with ReplicationMirrorState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Uninitialized**: Destination volume has not been initialized \\\n * **Mirrored**: Destination volume has been initialized and is ready \\\n * **Broken**: Destination volume is RW, replication relationship has been broken off\n */\nexport type ReplicationMirrorState = string;\n\n/** Authorize request */\nexport interface AuthorizeRequest {\n /** Resource id of the remote volume */\n remoteVolumeResourceId?: string;\n}\n\nexport function authorizeRequestSerializer(item: AuthorizeRequest): any {\n return { remoteVolumeResourceId: item[\"remoteVolumeResourceId\"] };\n}\n\n/** Source Cluster properties for a cluster peer request */\nexport interface PeerClusterForVolumeMigrationRequest {\n /** A list of IC-LIF IPs that can be used to connect to the On-prem cluster */\n peerIpAddresses: string[];\n}\n\nexport function peerClusterForVolumeMigrationRequestSerializer(\n item: PeerClusterForVolumeMigrationRequest,\n): any {\n return {\n peerIpAddresses: item[\"peerIpAddresses\"].map((p: any) => {\n return p;\n }),\n };\n}\n\n/** Information about cluster peering process */\nexport interface ClusterPeerCommandResponse {\n /** A command that needs to be run on the external ONTAP to accept cluster peering. Will only be present if <code>clusterPeeringStatus</code> is <code>pending</code> */\n peerAcceptCommand?: string;\n}\n\nexport function clusterPeerCommandResponseDeserializer(item: any): ClusterPeerCommandResponse {\n return {\n peerAcceptCommand: item[\"peerAcceptCommand\"],\n };\n}\n\n/** Information about svm peering process */\nexport interface SvmPeerCommandResponse {\n /** A command that needs to be run on the external ONTAP to accept svm peering. Will only be present if <code>svmPeeringStatus</code> is <code>pending</code> */\n svmPeeringCommand?: string;\n}\n\nexport function svmPeerCommandResponseDeserializer(item: any): SvmPeerCommandResponse {\n return {\n svmPeeringCommand: item[\"svmPeeringCommand\"],\n };\n}\n\n/** Pool change request */\nexport interface PoolChangeRequest {\n /** Resource id of the pool to move volume to */\n newPoolResourceId: string;\n}\n\nexport function poolChangeRequestSerializer(item: PoolChangeRequest): any {\n return { newPoolResourceId: item[\"newPoolResourceId\"] };\n}\n\n/** Relocate volume request */\nexport interface RelocateVolumeRequest {\n /** New creation token for the volume that controls the mount point name */\n creationToken?: string;\n}\n\nexport function relocateVolumeRequestSerializer(item: RelocateVolumeRequest): any {\n return { creationToken: item[\"creationToken\"] };\n}\n\n/** Quota Report for volume */\nexport interface ListQuotaReportResponse {\n /** List of quota reports */\n value?: QuotaReport[];\n}\n\nexport function listQuotaReportResponseDeserializer(item: any): ListQuotaReportResponse {\n return {\n value: !item[\"value\"] ? item[\"value\"] : quotaReportArrayDeserializer(item[\"value\"]),\n };\n}\n\nexport function quotaReportArrayDeserializer(result: Array<QuotaReport>): any[] {\n return result.map((item) => {\n return quotaReportDeserializer(item);\n });\n}\n\n/** Quota report record properties */\nexport interface QuotaReport {\n /** Type of quota */\n quotaType?: Type;\n /** UserID/GroupID/SID based on the quota target type. UserID and groupID can be found by running ‘id’ or ‘getent’ command for the user or group and SID can be found by running <wmic useraccount where name='user-name' get sid> */\n quotaTarget?: string;\n /** Specifies the current usage in kibibytes for the user/group quota. */\n quotaLimitUsedInKiBs?: number;\n /** Specifies the total size limit in kibibytes for the user/group quota. */\n quotaLimitTotalInKiBs?: number;\n /** Percentage of used size compared to total size. */\n percentageUsed?: number;\n /** Flag to indicate whether the quota is derived from default quota. */\n isDerivedQuota?: boolean;\n}\n\nexport function quotaReportDeserializer(item: any): QuotaReport {\n return {\n quotaType: item[\"quotaType\"],\n quotaTarget: item[\"quotaTarget\"],\n quotaLimitUsedInKiBs: item[\"quotaLimitUsedInKiBs\"],\n quotaLimitTotalInKiBs: item[\"quotaLimitTotalInKiBs\"],\n percentageUsed: item[\"percentageUsed\"],\n isDerivedQuota: item[\"isDerivedQuota\"],\n };\n}\n\n/** Type of quota */\nexport enum KnownType {\n /** Default user quota */\n DefaultUserQuota = \"DefaultUserQuota\",\n /** Default group quota */\n DefaultGroupQuota = \"DefaultGroupQuota\",\n /** Individual user quota */\n IndividualUserQuota = \"IndividualUserQuota\",\n /** Individual group quota */\n IndividualGroupQuota = \"IndividualGroupQuota\",\n}\n\n/**\n * Type of quota \\\n * {@link KnownType} can be used interchangeably with Type,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **DefaultUserQuota**: Default user quota \\\n * **DefaultGroupQuota**: Default group quota \\\n * **IndividualUserQuota**: Individual user quota \\\n * **IndividualGroupQuota**: Individual group quota\n */\nexport type Type = string;\n\n/** Snapshot of a Volume */\nexport interface Snapshot extends ProxyResource {\n /** Snapshot Properties */\n properties?: SnapshotProperties;\n /** Resource location */\n location: string;\n}\n\nexport function snapshotSerializer(item: Snapshot): any {\n return {\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : snapshotPropertiesSerializer(item[\"properties\"]),\n location: item[\"location\"],\n };\n}\n\nexport function snapshotDeserializer(item: any): Snapshot {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : snapshotPropertiesDeserializer(item[\"properties\"]),\n location: item[\"location\"],\n };\n}\n\n/** Snapshot properties */\nexport interface SnapshotProperties {\n /** UUID v4 used to identify the Snapshot */\n readonly snapshotId?: string;\n /** The creation date of the snapshot */\n readonly created?: Date;\n /** Azure lifecycle management */\n readonly provisioningState?: string;\n}\n\nexport function snapshotPropertiesSerializer(item: SnapshotProperties): any {\n return item;\n}\n\nexport function snapshotPropertiesDeserializer(item: any): SnapshotProperties {\n return {\n snapshotId: item[\"snapshotId\"],\n created: !item[\"created\"] ? item[\"created\"] : new Date(item[\"created\"]),\n provisioningState: item[\"provisioningState\"],\n };\n}\n\n/** Snapshot of a Volume */\nexport interface SnapshotPatch {}\n\nexport function snapshotPatchSerializer(item: SnapshotPatch): any {\n return item;\n}\n\n/** List of Snapshots */\nexport interface _SnapshotsList {\n /** The Snapshot items on this page */\n value: Snapshot[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _snapshotsListDeserializer(item: any): _SnapshotsList {\n return {\n value: snapshotArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function snapshotArraySerializer(result: Array<Snapshot>): any[] {\n return result.map((item) => {\n return snapshotSerializer(item);\n });\n}\n\nexport function snapshotArrayDeserializer(result: Array<Snapshot>): any[] {\n return result.map((item) => {\n return snapshotDeserializer(item);\n });\n}\n\n/** Restore payload for Single File Snapshot Restore */\nexport interface SnapshotRestoreFiles {\n /** List of files to be restored */\n filePaths: string[];\n /** Destination folder where the files will be restored */\n destinationPath?: string;\n}\n\nexport function snapshotRestoreFilesSerializer(item: SnapshotRestoreFiles): any {\n return {\n filePaths: item[\"filePaths\"].map((p: any) => {\n return p;\n }),\n destinationPath: item[\"destinationPath\"],\n };\n}\n\n/** Snapshot policy information */\nexport interface SnapshotPolicy extends TrackedResource {\n /** Snapshot policy Properties */\n properties: SnapshotPolicyProperties;\n /** \"If etag is provided in the response body, it may also be provided as a header per the normal etag convention. Entity tags are used for comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range (section 14.27) header fields.\") */\n readonly etag?: string;\n}\n\nexport function snapshotPolicySerializer(item: SnapshotPolicy): any {\n return {\n tags: item[\"tags\"],\n location: item[\"location\"],\n properties: snapshotPolicyPropertiesSerializer(item[\"properties\"]),\n };\n}\n\nexport function snapshotPolicyDeserializer(item: any): SnapshotPolicy {\n return {\n tags: item[\"tags\"],\n location: item[\"location\"],\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: snapshotPolicyPropertiesDeserializer(item[\"properties\"]),\n etag: item[\"etag\"],\n };\n}\n\n/** Snapshot policy properties */\nexport interface SnapshotPolicyProperties {\n /** Schedule for hourly snapshots */\n hourlySchedule?: HourlySchedule;\n /** Schedule for daily snapshots */\n dailySchedule?: DailySchedule;\n /** Schedule for weekly snapshots */\n weeklySchedule?: WeeklySchedule;\n /** Schedule for monthly snapshots */\n monthlySchedule?: MonthlySchedule;\n /** The property to decide policy is enabled or not */\n enabled?: boolean;\n /** Azure lifecycle management */\n readonly provisioningState?: string;\n}\n\nexport function snapshotPolicyPropertiesSerializer(item: SnapshotPolicyProperties): any {\n return {\n hourlySchedule: !item[\"hourlySchedule\"]\n ? item[\"hourlySchedule\"]\n : hourlyScheduleSerializer(item[\"hourlySchedule\"]),\n dailySchedule: !item[\"dailySchedule\"]\n ? item[\"dailySchedule\"]\n : dailyScheduleSerializer(item[\"dailySchedule\"]),\n weeklySchedule: !item[\"weeklySchedule\"]\n ? item[\"weeklySchedule\"]\n : weeklyScheduleSerializer(item[\"weeklySchedule\"]),\n monthlySchedule: !item[\"monthlySchedule\"]\n ? item[\"monthlySchedule\"]\n : monthlyScheduleSerializer(item[\"monthlySchedule\"]),\n enabled: item[\"enabled\"],\n };\n}\n\nexport function snapshotPolicyPropertiesDeserializer(item: any): SnapshotPolicyProperties {\n return {\n hourlySchedule: !item[\"hourlySchedule\"]\n ? item[\"hourlySchedule\"]\n : hourlyScheduleDeserializer(item[\"hourlySchedule\"]),\n dailySchedule: !item[\"dailySchedule\"]\n ? item[\"dailySchedule\"]\n : dailyScheduleDeserializer(item[\"dailySchedule\"]),\n weeklySchedule: !item[\"weeklySchedule\"]\n ? item[\"weeklySchedule\"]\n : weeklyScheduleDeserializer(item[\"weeklySchedule\"]),\n monthlySchedule: !item[\"monthlySchedule\"]\n ? item[\"monthlySchedule\"]\n : monthlyScheduleDeserializer(item[\"monthlySchedule\"]),\n enabled: item[\"enabled\"],\n provisioningState: item[\"provisioningState\"],\n };\n}\n\n/** Hourly Schedule properties */\nexport interface HourlySchedule {\n /** Hourly snapshot count to keep */\n snapshotsToKeep?: number;\n /** Indicates which minute snapshot should be taken */\n minute?: number;\n /** Resource size in bytes, current storage usage for the volume in bytes */\n usedBytes?: number;\n}\n\nexport function hourlyScheduleSerializer(item: HourlySchedule): any {\n return {\n snapshotsToKeep: item[\"snapshotsToKeep\"],\n minute: item[\"minute\"],\n usedBytes: item[\"usedBytes\"],\n };\n}\n\nexport function hourlyScheduleDeserializer(item: any): HourlySchedule {\n return {\n snapshotsToKeep: item[\"snapshotsToKeep\"],\n minute: item[\"minute\"],\n usedBytes: item[\"usedBytes\"],\n };\n}\n\n/** Daily Schedule properties */\nexport interface DailySchedule {\n /** Daily snapshot count to keep */\n snapshotsToKeep?: number;\n /** Indicates which hour in UTC timezone a snapshot should be taken */\n hour?: number;\n /** Indicates which minute snapshot should be taken */\n minute?: number;\n /** Resource size in bytes, current storage usage for the volume in bytes */\n usedBytes?: number;\n}\n\nexport function dailyScheduleSerializer(item: DailySchedule): any {\n return {\n snapshotsToKeep: item[\"snapshotsToKeep\"],\n hour: item[\"hour\"],\n minute: item[\"minute\"],\n usedBytes: item[\"usedBytes\"],\n };\n}\n\nexport function dailyScheduleDeserializer(item: any): DailySchedule {\n return {\n snapshotsToKeep: item[\"snapshotsToKeep\"],\n hour: item[\"hour\"],\n minute: item[\"minute\"],\n usedBytes: item[\"usedBytes\"],\n };\n}\n\n/** Weekly Schedule properties, make a snapshot every week at a specific day or days */\nexport interface WeeklySchedule {\n /** Weekly snapshot count to keep */\n snapshotsToKeep?: number;\n /** Indicates which weekdays snapshot should be taken, accepts a comma separated list of week day names in english */\n day?: string;\n /** Indicates which hour in UTC timezone a snapshot should be taken */\n hour?: number;\n /** Indicates which minute snapshot should be taken */\n minute?: number;\n /** Resource size in bytes, current storage usage for the volume in bytes */\n usedBytes?: number;\n}\n\nexport function weeklyScheduleSerializer(item: WeeklySchedule): any {\n return {\n snapshotsToKeep: item[\"snapshotsToKeep\"],\n day: item[\"day\"],\n hour: item[\"hour\"],\n minute: item[\"minute\"],\n usedBytes: item[\"usedBytes\"],\n };\n}\n\nexport function weeklyScheduleDeserializer(item: any): WeeklySchedule {\n return {\n snapshotsToKeep: item[\"snapshotsToKeep\"],\n day: item[\"day\"],\n hour: item[\"hour\"],\n minute: item[\"minute\"],\n usedBytes: item[\"usedBytes\"],\n };\n}\n\n/** Monthly Schedule properties */\nexport interface MonthlySchedule {\n /** Monthly snapshot count to keep */\n snapshotsToKeep?: number;\n /** Indicates which days of the month snapshot should be taken. A comma delimited string. */\n daysOfMonth?: string;\n /** Indicates which hour in UTC timezone a snapshot should be taken */\n hour?: number;\n /** Indicates which minute snapshot should be taken */\n minute?: number;\n /** Resource size in bytes, current storage usage for the volume in bytes */\n usedBytes?: number;\n}\n\nexport function monthlyScheduleSerializer(item: MonthlySchedule): any {\n return {\n snapshotsToKeep: item[\"snapshotsToKeep\"],\n daysOfMonth: item[\"daysOfMonth\"],\n hour: item[\"hour\"],\n minute: item[\"minute\"],\n usedBytes: item[\"usedBytes\"],\n };\n}\n\nexport function monthlyScheduleDeserializer(item: any): MonthlySchedule {\n return {\n snapshotsToKeep: item[\"snapshotsToKeep\"],\n daysOfMonth: item[\"daysOfMonth\"],\n hour: item[\"hour\"],\n minute: item[\"minute\"],\n usedBytes: item[\"usedBytes\"],\n };\n}\n\n/** Snapshot policy Details for create and update */\nexport interface SnapshotPolicyPatch {\n /** Resource location */\n location?: string;\n /** Resource Id */\n readonly id?: string;\n /** Resource name */\n readonly name?: string;\n /** Resource type */\n readonly type?: string;\n /** Resource tags */\n tags?: Record<string, string>;\n /** Snapshot Policy properties */\n properties?: SnapshotPolicyProperties;\n}\n\nexport function snapshotPolicyPatchSerializer(item: SnapshotPolicyPatch): any {\n return {\n location: item[\"location\"],\n tags: item[\"tags\"],\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : snapshotPolicyPropertiesSerializer(item[\"properties\"]),\n };\n}\n\n/** List of Snapshot Policies */\nexport interface _SnapshotPoliciesList {\n /** The SnapshotPolicy items on this page */\n value: SnapshotPolicy[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _snapshotPoliciesListDeserializer(item: any): _SnapshotPoliciesList {\n return {\n value: snapshotPolicyArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function snapshotPolicyArraySerializer(result: Array<SnapshotPolicy>): any[] {\n return result.map((item) => {\n return snapshotPolicySerializer(item);\n });\n}\n\nexport function snapshotPolicyArrayDeserializer(result: Array<SnapshotPolicy>): any[] {\n return result.map((item) => {\n return snapshotPolicyDeserializer(item);\n });\n}\n\n/** Volumes associated with snapshot policy */\nexport interface SnapshotPolicyVolumeList {\n /** The Volume items on this page */\n value: Volume[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function snapshotPolicyVolumeListDeserializer(item: any): SnapshotPolicyVolumeList {\n return {\n value: volumeArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\n/** Backup policy information */\nexport interface BackupPolicy extends TrackedResource {\n /** Backup policy Properties */\n properties: BackupPolicyProperties;\n /** \"If etag is provided in the response body, it may also be provided as a header per the normal etag convention. Entity tags are used for comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range (section 14.27) header fields.\") */\n readonly etag?: string;\n}\n\nexport function backupPolicySerializer(item: BackupPolicy): any {\n return {\n tags: item[\"tags\"],\n location: item[\"location\"],\n properties: backupPolicyPropertiesSerializer(item[\"properties\"]),\n };\n}\n\nexport function backupPolicyDeserializer(item: any): BackupPolicy {\n return {\n tags: item[\"tags\"],\n location: item[\"location\"],\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: backupPolicyPropertiesDeserializer(item[\"properties\"]),\n etag: item[\"etag\"],\n };\n}\n\n/** Backup policy properties */\nexport interface BackupPolicyProperties {\n /** Backup Policy GUID ID */\n readonly backupPolicyId?: string;\n /** Azure lifecycle management */\n readonly provisioningState?: string;\n /** Daily backups count to keep */\n dailyBackupsToKeep?: number;\n /** Weekly backups count to keep */\n weeklyBackupsToKeep?: number;\n /** Monthly backups count to keep */\n monthlyBackupsToKeep?: number;\n /** Volumes using current backup policy */\n readonly volumesAssigned?: number;\n /** The property to decide policy is enabled or not */\n enabled?: boolean;\n /** A list of volumes assigned to this policy */\n readonly volumeBackups?: VolumeBackups[];\n}\n\nexport function backupPolicyPropertiesSerializer(item: BackupPolicyProperties): any {\n return {\n dailyBackupsToKeep: item[\"dailyBackupsToKeep\"],\n weeklyBackupsToKeep: item[\"weeklyBackupsToKeep\"],\n monthlyBackupsToKeep: item[\"monthlyBackupsToKeep\"],\n enabled: item[\"enabled\"],\n };\n}\n\nexport function backupPolicyPropertiesDeserializer(item: any): BackupPolicyProperties {\n return {\n backupPolicyId: item[\"backupPolicyId\"],\n provisioningState: item[\"provisioningState\"],\n dailyBackupsToKeep: item[\"dailyBackupsToKeep\"],\n weeklyBackupsToKeep: item[\"weeklyBackupsToKeep\"],\n monthlyBackupsToKeep: item[\"monthlyBackupsToKeep\"],\n volumesAssigned: item[\"volumesAssigned\"],\n enabled: item[\"enabled\"],\n volumeBackups: !item[\"volumeBackups\"]\n ? item[\"volumeBackups\"]\n : volumeBackupsArrayDeserializer(item[\"volumeBackups\"]),\n };\n}\n\nexport function volumeBackupsArrayDeserializer(result: Array<VolumeBackups>): any[] {\n return result.map((item) => {\n return volumeBackupsDeserializer(item);\n });\n}\n\n/** Volume details using the backup policy */\nexport interface VolumeBackups {\n /** Volume name */\n volumeName?: string;\n /** ResourceId used to identify the Volume */\n volumeResourceId?: string;\n /** Total count of backups for volume */\n backupsCount?: number;\n /** Policy enabled */\n policyEnabled?: boolean;\n}\n\nexport function volumeBackupsDeserializer(item: any): VolumeBackups {\n return {\n volumeName: item[\"volumeName\"],\n volumeResourceId: item[\"volumeResourceId\"],\n backupsCount: item[\"backupsCount\"],\n policyEnabled: item[\"policyEnabled\"],\n };\n}\n\n/** Backup policy Details for create and update */\nexport interface BackupPolicyPatch {\n /** Resource location */\n location?: string;\n /** Resource Id */\n readonly id?: string;\n /** Resource name */\n readonly name?: string;\n /** Resource type */\n readonly type?: string;\n /** Resource tags */\n tags?: Record<string, string>;\n /** Backup policy Properties */\n properties?: BackupPolicyProperties;\n}\n\nexport function backupPolicyPatchSerializer(item: BackupPolicyPatch): any {\n return {\n location: item[\"location\"],\n tags: item[\"tags\"],\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : backupPolicyPropertiesSerializer(item[\"properties\"]),\n };\n}\n\n/** List of Backup Policies */\nexport interface _BackupPoliciesList {\n /** The BackupPolicy items on this page */\n value: BackupPolicy[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _backupPoliciesListDeserializer(item: any): _BackupPoliciesList {\n return {\n value: backupPolicyArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function backupPolicyArraySerializer(result: Array<BackupPolicy>): any[] {\n return result.map((item) => {\n return backupPolicySerializer(item);\n });\n}\n\nexport function backupPolicyArrayDeserializer(result: Array<BackupPolicy>): any[] {\n return result.map((item) => {\n return backupPolicyDeserializer(item);\n });\n}\n\n/** Quota Rule of a Volume */\nexport interface VolumeQuotaRule extends TrackedResource {\n /** Volume Quota Rule Properties */\n properties?: VolumeQuotaRulesProperties;\n}\n\nexport function volumeQuotaRuleSerializer(item: VolumeQuotaRule): any {\n return {\n tags: item[\"tags\"],\n location: item[\"location\"],\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : volumeQuotaRulesPropertiesSerializer(item[\"properties\"]),\n };\n}\n\nexport function volumeQuotaRuleDeserializer(item: any): VolumeQuotaRule {\n return {\n tags: item[\"tags\"],\n location: item[\"location\"],\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : volumeQuotaRulesPropertiesDeserializer(item[\"properties\"]),\n };\n}\n\n/** Volume Quota Rule properties */\nexport interface VolumeQuotaRulesProperties {\n /** Gets the status of the VolumeQuotaRule at the time the operation was called. */\n readonly provisioningState?: NetAppProvisioningState;\n /** Size of quota */\n quotaSizeInKiBs?: number;\n /** Type of quota */\n quotaType?: Type;\n /** UserID/GroupID/SID based on the quota target type. UserID and groupID can be found by running ‘id’ or ‘getent’ command for the user or group and SID can be found by running <wmic useraccount where name='user-name' get sid> */\n quotaTarget?: string;\n}\n\nexport function volumeQuotaRulesPropertiesSerializer(item: VolumeQuotaRulesProperties): any {\n return {\n quotaSizeInKiBs: item[\"quotaSizeInKiBs\"],\n quotaType: item[\"quotaType\"],\n quotaTarget: item[\"quotaTarget\"],\n };\n}\n\nexport function volumeQuotaRulesPropertiesDeserializer(item: any): VolumeQuotaRulesProperties {\n return {\n provisioningState: item[\"provisioningState\"],\n quotaSizeInKiBs: item[\"quotaSizeInKiBs\"],\n quotaType: item[\"quotaType\"],\n quotaTarget: item[\"quotaTarget\"],\n };\n}\n\n/** Gets the status of the VolumeQuotaRule at the time the operation was called. */\nexport enum KnownNetAppProvisioningState {\n /** Resource has been Accepted */\n Accepted = \"Accepted\",\n /** Resource is being Created */\n Creating = \"Creating\",\n /** Resource is being Patched */\n Patching = \"Patching\",\n /** Resource is updating */\n Updating = \"Updating\",\n /** Resource is being Deleted */\n Deleting = \"Deleting\",\n /** Resource is being Moved */\n Moving = \"Moving\",\n /** Resource has Failed */\n Failed = \"Failed\",\n /** Resource has Succeeded */\n Succeeded = \"Succeeded\",\n}\n\n/**\n * Gets the status of the VolumeQuotaRule at the time the operation was called. \\\n * {@link KnownNetAppProvisioningState} can be used interchangeably with NetAppProvisioningState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Accepted**: Resource has been Accepted \\\n * **Creating**: Resource is being Created \\\n * **Patching**: Resource is being Patched \\\n * **Updating**: Resource is updating \\\n * **Deleting**: Resource is being Deleted \\\n * **Moving**: Resource is being Moved \\\n * **Failed**: Resource has Failed \\\n * **Succeeded**: Resource has Succeeded\n */\nexport type NetAppProvisioningState = string;\n\n/** Patchable Quota Rule of a Volume */\nexport interface VolumeQuotaRulePatch {\n /** Resource tags */\n tags?: Record<string, string>;\n /** Volume Quota Rule Properties */\n properties?: VolumeQuotaRulesProperties;\n}\n\nexport function volumeQuotaRulePatchSerializer(item: VolumeQuotaRulePatch): any {\n return {\n tags: item[\"tags\"],\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : volumeQuotaRulesPropertiesSerializer(item[\"properties\"]),\n };\n}\n\n/** List of Volume Quota Rules */\nexport interface _VolumeQuotaRulesList {\n /** The VolumeQuotaRule items on this page */\n value: VolumeQuotaRule[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _volumeQuotaRulesListDeserializer(item: any): _VolumeQuotaRulesList {\n return {\n value: volumeQuotaRuleArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function volumeQuotaRuleArraySerializer(result: Array<VolumeQuotaRule>): any[] {\n return result.map((item) => {\n return volumeQuotaRuleSerializer(item);\n });\n}\n\nexport function volumeQuotaRuleArrayDeserializer(result: Array<VolumeQuotaRule>): any[] {\n return result.map((item) => {\n return volumeQuotaRuleDeserializer(item);\n });\n}\n\n/**\n * Advanced Ransomware Protection (ARP) report\n * Get details of the specified Advanced Ransomware Protection report (ARP).\n * ARP reports are created with a list of suspected files when it detects any combination of high data entropy, abnormal volume activity with data encryption, and unusual file extensions.\n * ARP creates snapshots named Anti_ransomware_backup when it detects a potential ransomware threat. You can use one of these ARP snapshots or another snapshot of your volume to restore data.\n */\nexport interface RansomwareReport extends ProxyResource {\n /** Advanced Ransomware Protection reports Properties */\n properties?: RansomwareReportProperties;\n}\n\nexport function ransomwareReportDeserializer(item: any): RansomwareReport {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : ransomwareReportPropertiesDeserializer(item[\"properties\"]),\n };\n}\n\n/**\n * Advanced Ransomware Protection (ARP) report properties.\n *\n * Evaluate the report to determine whether the activity is acceptable (false positive) or whether an attack seems malicious using the ClearSuspects operation.\n *\n * Advanced Ransomware Protection (ARP) creates snapshots named Anti_ransomware_backup when it detects a potential ransomware threat. You can use one of the ARP snapshots or another snapshot of your volume to restore data.\n */\nexport interface RansomwareReportProperties {\n /** The creation date and time of the report */\n readonly eventTime?: Date;\n /** State of the Advanced Ransomware Protection (ARP) report */\n readonly state?: RansomwareReportState;\n /** Severity of the Advanced Ransomware Protection (ARP) report */\n readonly severity?: RansomwareReportSeverity;\n /** The number of cleared suspects identified by the ARP report */\n readonly clearedCount?: number;\n /** The number of suspects identified by the ARP report */\n readonly reportedCount?: number;\n /** Suspects identified in an ARP report */\n readonly suspects?: RansomwareSuspects[];\n /** Azure lifecycle management */\n readonly provisioningState?: string;\n}\n\nexport function ransomwareReportPropertiesDeserializer(item: any): RansomwareReportProperties {\n return {\n eventTime: !item[\"eventTime\"] ? item[\"eventTime\"] : new Date(item[\"eventTime\"]),\n state: item[\"state\"],\n severity: item[\"severity\"],\n clearedCount: item[\"clearedCount\"],\n reportedCount: item[\"reportedCount\"],\n suspects: !item[\"suspects\"]\n ? item[\"suspects\"]\n : ransomwareSuspectsArrayDeserializer(item[\"suspects\"]),\n provisioningState: item[\"provisioningState\"],\n };\n}\n\n/** State of the Advanced Ransomware Protection (ARP) report */\nexport enum KnownRansomwareReportState {\n /** The ARP report has been created. Take action by running clearsuspects marking suspects as FalsePositive or PotentialThreats */\n Active = \"Active\",\n /** The ARP Report has been resolved */\n Resolved = \"Resolved\",\n}\n\n/**\n * State of the Advanced Ransomware Protection (ARP) report \\\n * {@link KnownRansomwareReportState} can be used interchangeably with RansomwareReportState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Active**: The ARP report has been created. Take action by running clearsuspects marking suspects as FalsePositive or PotentialThreats \\\n * **Resolved**: The ARP Report has been resolved\n */\nexport type RansomwareReportState = string;\n\n/** Severity of the Advanced Ransomware Protection (ARP) report */\nexport enum KnownRansomwareReportSeverity {\n /** No data is suspected for ransomware activity */\n None = \"None\",\n /** Low attack probability */\n Low = \"Low\",\n /** Moderate attack probability */\n Moderate = \"Moderate\",\n /** High amount of data is suspected for ransomware activity */\n High = \"High\",\n}\n\n/**\n * Severity of the Advanced Ransomware Protection (ARP) report \\\n * {@link KnownRansomwareReportSeverity} can be used interchangeably with RansomwareReportSeverity,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **None**: No data is suspected for ransomware activity \\\n * **Low**: Low attack probability \\\n * **Moderate**: Moderate attack probability \\\n * **High**: High amount of data is suspected for ransomware activity\n */\nexport type RansomwareReportSeverity = string;\n\nexport function ransomwareSuspectsArrayDeserializer(result: Array<RansomwareSuspects>): any[] {\n return result.map((item) => {\n return ransomwareSuspectsDeserializer(item);\n });\n}\n\n/** List of suspects identified in an Advanced Ransomware Protection (ARP) report */\nexport interface RansomwareSuspects {\n /** Suspect File extension */\n readonly extension?: string;\n /** ARP report suspect resolution */\n readonly resolution?: RansomwareSuspectResolution;\n /** The number of suspect files at the time of ARP report, this number can change as files get created and report status progresses */\n readonly fileCount?: number;\n /** Suspect files */\n readonly suspectFiles?: SuspectFile[];\n}\n\nexport function ransomwareSuspectsDeserializer(item: any): RansomwareSuspects {\n return {\n extension: item[\"extension\"],\n resolution: item[\"resolution\"],\n fileCount: item[\"fileCount\"],\n suspectFiles: !item[\"suspectFiles\"]\n ? item[\"suspectFiles\"]\n : suspectFileArrayDeserializer(item[\"suspectFiles\"]),\n };\n}\n\n/** ARP report suspect resolution */\nexport enum KnownRansomwareSuspectResolution {\n /** The identified file type is unexpected in your workload and should be treated as a potential attack */\n PotentialThreat = \"PotentialThreat\",\n /** The identified file type is expected in your workload and can be ignored */\n FalsePositive = \"FalsePositive\",\n}\n\n/**\n * ARP report suspect resolution \\\n * {@link KnownRansomwareSuspectResolution} can be used interchangeably with RansomwareSuspectResolution,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **PotentialThreat**: The identified file type is unexpected in your workload and should be treated as a potential attack \\\n * **FalsePositive**: The identified file type is expected in your workload and can be ignored\n */\nexport type RansomwareSuspectResolution = string;\n\nexport function suspectFileArrayDeserializer(result: Array<SuspectFile>): any[] {\n return result.map((item) => {\n return suspectFileDeserializer(item);\n });\n}\n\n/** Suspect file information */\nexport interface SuspectFile {\n /** Suspect filename */\n readonly suspectFileName?: string;\n /** The creation date and time of the file */\n readonly fileTimestamp?: Date;\n}\n\nexport function suspectFileDeserializer(item: any): SuspectFile {\n return {\n suspectFileName: item[\"suspectFileName\"],\n fileTimestamp: !item[\"fileTimestamp\"] ? item[\"fileTimestamp\"] : new Date(item[\"fileTimestamp\"]),\n };\n}\n\n/** List of Advanced Ransomware Protection (ARP) reports */\nexport interface _RansomwareReportsList {\n /** The RansomwareReport items on this page */\n value: RansomwareReport[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _ransomwareReportsListDeserializer(item: any): _RansomwareReportsList {\n return {\n value: ransomwareReportArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function ransomwareReportArrayDeserializer(result: Array<RansomwareReport>): any[] {\n return result.map((item) => {\n return ransomwareReportDeserializer(item);\n });\n}\n\n/** Clear suspects for Advanced Ransomware Protection (ARP) report */\nexport interface RansomwareSuspectsClearRequest {\n /** ARP report suspect resolution */\n resolution: RansomwareSuspectResolution;\n /** List of file extensions resolved (PotentialThreat or FalsePositive) */\n extensions: string[];\n}\n\nexport function ransomwareSuspectsClearRequestSerializer(\n item: RansomwareSuspectsClearRequest,\n): any {\n return {\n resolution: item[\"resolution\"],\n extensions: item[\"extensions\"].map((p: any) => {\n return p;\n }),\n };\n}\n\n/** Backup Vault information */\nexport interface BackupVault extends TrackedResource {\n /** Backup Vault Properties */\n properties?: BackupVaultProperties;\n}\n\nexport function backupVaultSerializer(item: BackupVault): any {\n return {\n tags: item[\"tags\"],\n location: item[\"location\"],\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : backupVaultPropertiesSerializer(item[\"properties\"]),\n };\n}\n\nexport function backupVaultDeserializer(item: any): BackupVault {\n return {\n tags: item[\"tags\"],\n location: item[\"location\"],\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : backupVaultPropertiesDeserializer(item[\"properties\"]),\n };\n}\n\n/** Backup Vault properties */\nexport interface BackupVaultProperties {\n /** Azure lifecycle management */\n readonly provisioningState?: string;\n}\n\nexport function backupVaultPropertiesSerializer(item: BackupVaultProperties): any {\n return item;\n}\n\nexport function backupVaultPropertiesDeserializer(item: any): BackupVaultProperties {\n return {\n provisioningState: item[\"provisioningState\"],\n };\n}\n\n/** Backup Vault information */\nexport interface BackupVaultPatch {\n /** Resource tags */\n tags?: Record<string, string>;\n}\n\nexport function backupVaultPatchSerializer(item: BackupVaultPatch): any {\n return { tags: item[\"tags\"] };\n}\n\n/** List of Backup Vaults */\nexport interface _BackupVaultsList {\n /** The BackupVault items on this page */\n value: BackupVault[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _backupVaultsListDeserializer(item: any): _BackupVaultsList {\n return {\n value: backupVaultArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function backupVaultArraySerializer(result: Array<BackupVault>): any[] {\n return result.map((item) => {\n return backupVaultSerializer(item);\n });\n}\n\nexport function backupVaultArrayDeserializer(result: Array<BackupVault>): any[] {\n return result.map((item) => {\n return backupVaultDeserializer(item);\n });\n}\n\n/** Bucket resource */\nexport interface Bucket extends ProxyResource {\n /** Bucket properties */\n properties?: BucketProperties;\n}\n\nexport function bucketSerializer(item: Bucket): any {\n return {\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : bucketPropertiesSerializer(item[\"properties\"]),\n };\n}\n\nexport function bucketDeserializer(item: any): Bucket {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : bucketPropertiesDeserializer(item[\"properties\"]),\n };\n}\n\n/** Bucket resource properties */\nexport interface BucketProperties {\n /** The volume path mounted inside the bucket. The default is the root path '/' if no value is provided when the bucket is created. */\n path?: string;\n /** File System user having access to volume data. For Unix, this is the user's uid and gid. For Windows, this is the user's username. Note that the Unix and Windows user details are mutually exclusive, meaning one or other must be supplied, but not both. */\n fileSystemUser?: FileSystemUser;\n /** Provisioning state of the resource */\n readonly provisioningState?: NetAppProvisioningState;\n /**\n * The bucket credentials status. There states:\n *\n * \"NoCredentialsSet\": Access and Secret key pair have not been generated.\n * \"CredentialsExpired\": Access and Secret key pair have expired.\n * \"Active\": The certificate has been installed and credentials are unexpired.\n */\n readonly status?: CredentialsStatus;\n /** Properties of the server managing the lifecycle of volume buckets */\n server?: BucketServerProperties;\n /** Access permissions for the bucket. Either ReadOnly or ReadWrite. The default is ReadOnly if no value is provided during bucket creation. */\n permissions?: BucketPermissions;\n}\n\nexport function bucketPropertiesSerializer(item: BucketProperties): any {\n return {\n path: item[\"path\"],\n fileSystemUser: !item[\"fileSystemUser\"]\n ? item[\"fileSystemUser\"]\n : fileSystemUserSerializer(item[\"fileSystemUser\"]),\n server: !item[\"server\"] ? item[\"server\"] : bucketServerPropertiesSerializer(item[\"server\"]),\n permissions: item[\"permissions\"],\n };\n}\n\nexport function bucketPropertiesDeserializer(item: any): BucketProperties {\n return {\n path: item[\"path\"],\n fileSystemUser: !item[\"fileSystemUser\"]\n ? item[\"fileSystemUser\"]\n : fileSystemUserDeserializer(item[\"fileSystemUser\"]),\n provisioningState: item[\"provisioningState\"],\n status: item[\"status\"],\n server: !item[\"server\"] ? item[\"server\"] : bucketServerPropertiesDeserializer(item[\"server\"]),\n permissions: item[\"permissions\"],\n };\n}\n\n/** File System user having access to volume data. For Unix, this is the user's uid and gid. For Windows, this is the user's username. Note that the Unix and Windows user details are mutually exclusive, meaning one or other must be supplied, but not both. */\nexport interface FileSystemUser {\n /** The effective NFS User ID and Group ID when accessing the volume data. */\n nfsUser?: NfsUser;\n /** The effective CIFS username when accessing the volume data. */\n cifsUser?: CifsUser;\n}\n\nexport function fileSystemUserSerializer(item: FileSystemUser): any {\n return {\n nfsUser: !item[\"nfsUser\"] ? item[\"nfsUser\"] : nfsUserSerializer(item[\"nfsUser\"]),\n cifsUser: !item[\"cifsUser\"] ? item[\"cifsUser\"] : cifsUserSerializer(item[\"cifsUser\"]),\n };\n}\n\nexport function fileSystemUserDeserializer(item: any): FileSystemUser {\n return {\n nfsUser: !item[\"nfsUser\"] ? item[\"nfsUser\"] : nfsUserDeserializer(item[\"nfsUser\"]),\n cifsUser: !item[\"cifsUser\"] ? item[\"cifsUser\"] : cifsUserDeserializer(item[\"cifsUser\"]),\n };\n}\n\n/** The effective NFS User ID and Group ID when accessing the volume data. */\nexport interface NfsUser {\n /** The NFS user's UID */\n userId?: number;\n /** The NFS user's GID */\n groupId?: number;\n}\n\nexport function nfsUserSerializer(item: NfsUser): any {\n return { userId: item[\"userId\"], groupId: item[\"groupId\"] };\n}\n\nexport function nfsUserDeserializer(item: any): NfsUser {\n return {\n userId: item[\"userId\"],\n groupId: item[\"groupId\"],\n };\n}\n\n/** The effective CIFS username when accessing the volume data. */\nexport interface CifsUser {\n /** The CIFS user's username */\n username?: string;\n}\n\nexport function cifsUserSerializer(item: CifsUser): any {\n return { username: item[\"username\"] };\n}\n\nexport function cifsUserDeserializer(item: any): CifsUser {\n return {\n username: item[\"username\"],\n };\n}\n\n/**\n * The bucket credentials status. There states:\n *\n * \"NoCredentialsSet\": Access and Secret key pair have not been generated.\n * \"CredentialsExpired\": Access and Secret key pair have expired.\n * \"Active\": The certificate has been installed and credentials are unexpired.\n */\nexport enum KnownCredentialsStatus {\n /** Access and Secret key pair have not been generated. */\n NoCredentialsSet = \"NoCredentialsSet\",\n /** Access and Secret key pair have expired. */\n CredentialsExpired = \"CredentialsExpired\",\n /** The certificate has been installed on the bucket server and the bucket credentials are unexpired. */\n Active = \"Active\",\n}\n\n/**\n * The bucket credentials status. There states:\n *\n * \"NoCredentialsSet\": Access and Secret key pair have not been generated.\n * \"CredentialsExpired\": Access and Secret key pair have expired.\n * \"Active\": The certificate has been installed and credentials are unexpired. \\\n * {@link KnownCredentialsStatus} can be used interchangeably with CredentialsStatus,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **NoCredentialsSet**: Access and Secret key pair have not been generated. \\\n * **CredentialsExpired**: Access and Secret key pair have expired. \\\n * **Active**: The certificate has been installed on the bucket server and the bucket credentials are unexpired.\n */\nexport type CredentialsStatus = string;\n\n/** Properties of the server managing the lifecycle of volume buckets */\nexport interface BucketServerProperties {\n /** The host part of the bucket URL, resolving to the bucket IP address and allowed by the server certificate. */\n fqdn?: string;\n /** Certificate Common Name taken from the certificate installed on the bucket server */\n readonly certificateCommonName?: string;\n /** The bucket server's certificate expiry date. */\n readonly certificateExpiryDate?: Date;\n /** The bucket server's IPv4 address */\n readonly ipAddress?: string;\n /** A base64-encoded PEM file, which includes both the bucket server's certificate and private key. It is used to authenticate the user and allows access to volume data in a read-only manner. */\n certificateObject?: string;\n}\n\nexport function bucketServerPropertiesSerializer(item: BucketServerProperties): any {\n return { fqdn: item[\"fqdn\"], certificateObject: item[\"certificateObject\"] };\n}\n\nexport function bucketServerPropertiesDeserializer(item: any): BucketServerProperties {\n return {\n fqdn: item[\"fqdn\"],\n certificateCommonName: item[\"certificateCommonName\"],\n certificateExpiryDate: !item[\"certificateExpiryDate\"]\n ? item[\"certificateExpiryDate\"]\n : new Date(item[\"certificateExpiryDate\"]),\n ipAddress: item[\"ipAddress\"],\n certificateObject: item[\"certificateObject\"],\n };\n}\n\n/** Access permissions for the bucket. Either ReadOnly or ReadWrite. The default is ReadOnly if no value is provided during bucket creation. */\nexport enum KnownBucketPermissions {\n /** Read-only access to bucket. */\n ReadOnly = \"ReadOnly\",\n /** Read-write access to bucket. */\n ReadWrite = \"ReadWrite\",\n}\n\n/**\n * Access permissions for the bucket. Either ReadOnly or ReadWrite. The default is ReadOnly if no value is provided during bucket creation. \\\n * {@link KnownBucketPermissions} can be used interchangeably with BucketPermissions,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **ReadOnly**: Read-only access to bucket. \\\n * **ReadWrite**: Read-write access to bucket.\n */\nexport type BucketPermissions = string;\n\n/** Bucket resource */\nexport interface BucketPatch extends ProxyResource {\n /** Bucket properties */\n properties?: BucketPatchProperties;\n}\n\nexport function bucketPatchSerializer(item: BucketPatch): any {\n return {\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : bucketPatchPropertiesSerializer(item[\"properties\"]),\n };\n}\n\n/** Bucket resource properties for a Patch operation */\nexport interface BucketPatchProperties {\n /** The volume path mounted inside the bucket. */\n path?: string;\n /** File System user having access to volume data. For Unix, this is the user's uid and gid. For Windows, this is the user's username. Note that the Unix and Windows user details are mutually exclusive, meaning one or other must be supplied, but not both. */\n fileSystemUser?: FileSystemUser;\n /** Provisioning state of the resource */\n readonly provisioningState?: NetAppProvisioningState;\n /** Properties of the server managing the lifecycle of volume buckets */\n server?: BucketServerPatchProperties;\n /** Access permissions for the bucket. Either ReadOnly or ReadWrite. */\n permissions?: BucketPatchPermissions;\n}\n\nexport function bucketPatchPropertiesSerializer(item: BucketPatchProperties): any {\n return {\n path: item[\"path\"],\n fileSystemUser: !item[\"fileSystemUser\"]\n ? item[\"fileSystemUser\"]\n : fileSystemUserSerializer(item[\"fileSystemUser\"]),\n server: !item[\"server\"]\n ? item[\"server\"]\n : bucketServerPatchPropertiesSerializer(item[\"server\"]),\n permissions: item[\"permissions\"],\n };\n}\n\n/** Properties of the server managing the lifecycle of volume buckets */\nexport interface BucketServerPatchProperties {\n /** The host part of the bucket URL, resolving to the bucket IP address and allowed by the server certificate. */\n fqdn?: string;\n /** A base64-encoded PEM file, which includes both the bucket server's certificate and private key. It is used to authenticate the user and allows access to volume data in a read-only manner. */\n certificateObject?: string;\n}\n\nexport function bucketServerPatchPropertiesSerializer(item: BucketServerPatchProperties): any {\n return { fqdn: item[\"fqdn\"], certificateObject: item[\"certificateObject\"] };\n}\n\n/** Access permissions for the bucket. Either ReadOnly or ReadWrite. */\nexport enum KnownBucketPatchPermissions {\n /** Read-only access to bucket. */\n ReadOnly = \"ReadOnly\",\n /** Read-write access to bucket. */\n ReadWrite = \"ReadWrite\",\n}\n\n/**\n * Access permissions for the bucket. Either ReadOnly or ReadWrite. \\\n * {@link KnownBucketPatchPermissions} can be used interchangeably with BucketPatchPermissions,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **ReadOnly**: Read-only access to bucket. \\\n * **ReadWrite**: Read-write access to bucket.\n */\nexport type BucketPatchPermissions = string;\n\n/** List of volume bucket resources */\nexport interface _BucketList {\n /** The Bucket items on this page */\n value: Bucket[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _bucketListDeserializer(item: any): _BucketList {\n return {\n value: bucketArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function bucketArraySerializer(result: Array<Bucket>): any[] {\n return result.map((item) => {\n return bucketSerializer(item);\n });\n}\n\nexport function bucketArrayDeserializer(result: Array<Bucket>): any[] {\n return result.map((item) => {\n return bucketDeserializer(item);\n });\n}\n\n/** The bucket's Access and Secret key pair Expiry Time expressed as the number of days from now. */\nexport interface BucketCredentialsExpiry {\n /** The number of days from now until the newly generated Access and Secret key pair will expire. */\n keyPairExpiryDays?: number;\n}\n\nexport function bucketCredentialsExpirySerializer(item: BucketCredentialsExpiry): any {\n return { keyPairExpiryDays: item[\"keyPairExpiryDays\"] };\n}\n\n/** Bucket Access Key, Secret Key, and Expiry date and time of the key pair */\nexport interface BucketGenerateCredentials {\n /** The Access Key that is required along with the Secret Key to access the bucket. */\n readonly accessKey?: string;\n /** The Secret Key that is required along with the Access Key to access the bucket. */\n readonly secretKey?: string;\n /** The bucket's Access and Secret key pair expiry date and time (in UTC). */\n readonly keyPairExpiry?: Date;\n}\n\nexport function bucketGenerateCredentialsDeserializer(item: any): BucketGenerateCredentials {\n return {\n accessKey: item[\"accessKey\"],\n secretKey: item[\"secretKey\"],\n keyPairExpiry: !item[\"keyPairExpiry\"] ? item[\"keyPairExpiry\"] : new Date(item[\"keyPairExpiry\"]),\n };\n}\n\n/** Cache resource */\nexport interface Cache extends TrackedResource {\n /** Cache properties */\n properties: CacheProperties;\n /** \"If etag is provided in the response body, it may also be provided as a header per the normal etag convention. Entity tags are used for comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range (section 14.27) header fields.\") */\n readonly etag?: string;\n /** The availability zones. */\n zones?: string[];\n}\n\nexport function cacheSerializer(item: Cache): any {\n return {\n tags: item[\"tags\"],\n location: item[\"location\"],\n properties: cachePropertiesSerializer(item[\"properties\"]),\n zones: !item[\"zones\"]\n ? item[\"zones\"]\n : item[\"zones\"].map((p: any) => {\n return p;\n }),\n };\n}\n\nexport function cacheDeserializer(item: any): Cache {\n return {\n tags: item[\"tags\"],\n location: item[\"location\"],\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: cachePropertiesDeserializer(item[\"properties\"]),\n etag: item[\"etag\"],\n zones: !item[\"zones\"]\n ? item[\"zones\"]\n : item[\"zones\"].map((p: any) => {\n return p;\n }),\n };\n}\n\n/** Cache resource properties */\nexport interface CacheProperties {\n /** The file path of the Cache. */\n filepath: string;\n /** Maximum storage quota allowed for a file system in bytes. Valid values are in the range 50GiB to 1PiB. Values expressed in bytes as multiples of 1GiB. */\n size: number;\n /** Set of export policy rules */\n exportPolicy?: CachePropertiesExportPolicy;\n /** Set of supported protocol types, which include NFSv3, NFSv4 and SMB protocol */\n protocolTypes?: ProtocolTypes[];\n /** Azure lifecycle management */\n readonly provisioningState?: CacheProvisioningState;\n /** Azure NetApp Files Cache lifecycle management */\n readonly cacheState?: CacheLifeCycleState;\n /** The Azure Resource URI for a delegated cache subnet that will be used to allocate data IPs. */\n cacheSubnetResourceId: string;\n /** The Azure Resource URI for a delegated subnet that will be used for ANF Intercluster Interface IP addresses. */\n peeringSubnetResourceId: string;\n /** List of mount targets that can be used to mount this cache */\n readonly mountTargets?: CacheMountTargetProperties[];\n /** Describe if a cache is Kerberos enabled. */\n kerberos?: KerberosState;\n /** SMB information for the cache */\n smbSettings?: SmbSettings;\n /** Maximum throughput in MiB/s that can be achieved by this cache volume and this will be accepted as input only for manual qosType cache */\n throughputMibps?: number;\n /** Actual throughput in MiB/s for auto qosType volumes calculated based on size and serviceLevel */\n readonly actualThroughputMibps?: number;\n /** Source of key used to encrypt data in the cache. Applicable if NetApp account has encryption.keySource = 'Microsoft.KeyVault'. Possible values (case-insensitive) are: 'Microsoft.NetApp, Microsoft.KeyVault' */\n encryptionKeySource: EncryptionKeySource;\n /** The resource ID of private endpoint for KeyVault. It must reside in the same VNET as the volume. Only applicable if encryptionKeySource = 'Microsoft.KeyVault'. */\n keyVaultPrivateEndpointResourceId?: string;\n /** Maximum number of files allowed. */\n readonly maximumNumberOfFiles?: number;\n /** Specifies if the cache is encryption or not. */\n readonly encryption?: EncryptionState;\n /** Language supported for volume. */\n readonly language?: VolumeLanguage;\n /** Specifies whether LDAP is enabled or not for flexcache volume. */\n ldap?: LdapState;\n /** Specifies the type of LDAP server for flexcache volume. */\n ldapServerType?: LdapServerType;\n /** Origin cluster information */\n originClusterInformation: OriginClusterInformation;\n /** Flag indicating whether a CIFS change notification is enabled for the cache. */\n cifsChangeNotifications?: CifsChangeNotifyState;\n /** Flag indicating whether the global file lock is enabled for the cache. */\n globalFileLocking?: GlobalFileLockingState;\n /** Flag indicating whether writeback is enabled for the cache. */\n writeBack?: EnableWriteBackState;\n}\n\nexport function cachePropertiesSerializer(item: CacheProperties): any {\n return {\n filepath: item[\"filepath\"],\n size: item[\"size\"],\n exportPolicy: !item[\"exportPolicy\"]\n ? item[\"exportPolicy\"]\n : cachePropertiesExportPolicySerializer(item[\"exportPolicy\"]),\n protocolTypes: !item[\"protocolTypes\"]\n ? item[\"protocolTypes\"]\n : item[\"protocolTypes\"].map((p: any) => {\n return p;\n }),\n cacheSubnetResourceId: item[\"cacheSubnetResourceId\"],\n peeringSubnetResourceId: item[\"peeringSubnetResourceId\"],\n kerberos: item[\"kerberos\"],\n smbSettings: !item[\"smbSettings\"]\n ? item[\"smbSettings\"]\n : smbSettingsSerializer(item[\"smbSettings\"]),\n throughputMibps: item[\"throughputMibps\"],\n encryptionKeySource: item[\"encryptionKeySource\"],\n keyVaultPrivateEndpointResourceId: item[\"keyVaultPrivateEndpointResourceId\"],\n ldap: item[\"ldap\"],\n ldapServerType: item[\"ldapServerType\"],\n originClusterInformation: originClusterInformationSerializer(item[\"originClusterInformation\"]),\n cifsChangeNotifications: item[\"cifsChangeNotifications\"],\n globalFileLocking: item[\"globalFileLocking\"],\n writeBack: item[\"writeBack\"],\n };\n}\n\nexport function cachePropertiesDeserializer(item: any): CacheProperties {\n return {\n filepath: item[\"filepath\"],\n size: item[\"size\"],\n exportPolicy: !item[\"exportPolicy\"]\n ? item[\"exportPolicy\"]\n : cachePropertiesExportPolicyDeserializer(item[\"exportPolicy\"]),\n protocolTypes: !item[\"protocolTypes\"]\n ? item[\"protocolTypes\"]\n : item[\"protocolTypes\"].map((p: any) => {\n return p;\n }),\n provisioningState: item[\"provisioningState\"],\n cacheState: item[\"cacheState\"],\n cacheSubnetResourceId: item[\"cacheSubnetResourceId\"],\n peeringSubnetResourceId: item[\"peeringSubnetResourceId\"],\n mountTargets: !item[\"mountTargets\"]\n ? item[\"mountTargets\"]\n : cacheMountTargetPropertiesArrayDeserializer(item[\"mountTargets\"]),\n kerberos: item[\"kerberos\"],\n smbSettings: !item[\"smbSettings\"]\n ? item[\"smbSettings\"]\n : smbSettingsDeserializer(item[\"smbSettings\"]),\n throughputMibps: item[\"throughputMibps\"],\n actualThroughputMibps: item[\"actualThroughputMibps\"],\n encryptionKeySource: item[\"encryptionKeySource\"],\n keyVaultPrivateEndpointResourceId: item[\"keyVaultPrivateEndpointResourceId\"],\n maximumNumberOfFiles: item[\"maximumNumberOfFiles\"],\n encryption: item[\"encryption\"],\n language: item[\"language\"],\n ldap: item[\"ldap\"],\n ldapServerType: item[\"ldapServerType\"],\n originClusterInformation: originClusterInformationDeserializer(\n item[\"originClusterInformation\"],\n ),\n cifsChangeNotifications: item[\"cifsChangeNotifications\"],\n globalFileLocking: item[\"globalFileLocking\"],\n writeBack: item[\"writeBack\"],\n };\n}\n\n/** Set of export policy rules */\nexport interface CachePropertiesExportPolicy {\n /** Export policy rule */\n rules?: ExportPolicyRule[];\n}\n\nexport function cachePropertiesExportPolicySerializer(item: CachePropertiesExportPolicy): any {\n return {\n rules: !item[\"rules\"] ? item[\"rules\"] : exportPolicyRuleArraySerializer(item[\"rules\"]),\n };\n}\n\nexport function cachePropertiesExportPolicyDeserializer(item: any): CachePropertiesExportPolicy {\n return {\n rules: !item[\"rules\"] ? item[\"rules\"] : exportPolicyRuleArrayDeserializer(item[\"rules\"]),\n };\n}\n\n/** Set of supported protocol types, which include NFSv3, NFSv4 and SMB protocol */\nexport enum KnownProtocolTypes {\n /** NFSv3 protocol type */\n NFSv3 = \"NFSv3\",\n /** NFSv4 protocol type */\n NFSv4 = \"NFSv4\",\n /** SMB protocol type */\n SMB = \"SMB\",\n}\n\n/**\n * Set of supported protocol types, which include NFSv3, NFSv4 and SMB protocol \\\n * {@link KnownProtocolTypes} can be used interchangeably with ProtocolTypes,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **NFSv3**: NFSv3 protocol type \\\n * **NFSv4**: NFSv4 protocol type \\\n * **SMB**: SMB protocol type\n */\nexport type ProtocolTypes = string;\n\n/** Azure lifecycle management */\nexport enum KnownCacheProvisioningState {\n /** The resource is being created. */\n Creating = \"Creating\",\n /** The resource is being updated. */\n Updating = \"Updating\",\n /** The resource is being deleted. */\n Deleting = \"Deleting\",\n /** The resource is in a failed state. */\n Failed = \"Failed\",\n /** The resource is succeeded. */\n Succeeded = \"Succeeded\",\n /** Resource creation was canceled. */\n Canceled = \"Canceled\",\n}\n\n/**\n * Azure lifecycle management \\\n * {@link KnownCacheProvisioningState} can be used interchangeably with CacheProvisioningState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Creating**: The resource is being created. \\\n * **Updating**: The resource is being updated. \\\n * **Deleting**: The resource is being deleted. \\\n * **Failed**: The resource is in a failed state. \\\n * **Succeeded**: The resource is succeeded. \\\n * **Canceled**: Resource creation was canceled.\n */\nexport type CacheProvisioningState = string;\n\n/** Azure NetApp Files Cache lifecycle management */\nexport enum KnownCacheLifeCycleState {\n /** Cluster peering offer has been sent. */\n ClusterPeeringOfferSent = \"ClusterPeeringOfferSent\",\n /** VServer peering offer has been sent. */\n VserverPeeringOfferSent = \"VserverPeeringOfferSent\",\n /** Cache creation in progress. */\n Creating = \"Creating\",\n /** Cache creation succeeded and is available for use. */\n Succeeded = \"Succeeded\",\n /** Cache is in a failed state */\n Failed = \"Failed\",\n}\n\n/**\n * Azure NetApp Files Cache lifecycle management \\\n * {@link KnownCacheLifeCycleState} can be used interchangeably with CacheLifeCycleState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **ClusterPeeringOfferSent**: Cluster peering offer has been sent. \\\n * **VserverPeeringOfferSent**: VServer peering offer has been sent. \\\n * **Creating**: Cache creation in progress. \\\n * **Succeeded**: Cache creation succeeded and is available for use. \\\n * **Failed**: Cache is in a failed state\n */\nexport type CacheLifeCycleState = string;\n\nexport function cacheMountTargetPropertiesArrayDeserializer(\n result: Array<CacheMountTargetProperties>,\n): any[] {\n return result.map((item) => {\n return cacheMountTargetPropertiesDeserializer(item);\n });\n}\n\n/** Contains all the information needed to mount a cache */\nexport interface CacheMountTargetProperties {\n /** UUID v4 used to identify the MountTarget */\n readonly mountTargetId?: string;\n /** The mount target's IPv4 address, used to mount the cache. */\n readonly ipAddress?: string;\n /** The SMB server's Fully Qualified Domain Name, FQDN */\n readonly smbServerFqdn?: string;\n}\n\nexport function cacheMountTargetPropertiesDeserializer(item: any): CacheMountTargetProperties {\n return {\n mountTargetId: item[\"mountTargetId\"],\n ipAddress: item[\"ipAddress\"],\n smbServerFqdn: item[\"smbServerFqdn\"],\n };\n}\n\n/** Describe if a cache is Kerberos enabled. */\nexport enum KnownKerberosState {\n /** Kerberos is disabled */\n Disabled = \"Disabled\",\n /** Kerberos is enabled */\n Enabled = \"Enabled\",\n}\n\n/**\n * Describe if a cache is Kerberos enabled. \\\n * {@link KnownKerberosState} can be used interchangeably with KerberosState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Disabled**: Kerberos is disabled \\\n * **Enabled**: Kerberos is enabled\n */\nexport type KerberosState = string;\n\n/** SMB settings for the cache */\nexport interface SmbSettings {\n /** Enables encryption for in-flight smb3 data. Only applicable for SMB/DualProtocol cache. */\n smbEncryption?: SmbEncryptionState;\n /** Enables access-based enumeration share property for SMB Shares. Only applicable for SMB/DualProtocol volume */\n smbAccessBasedEnumerations?: SmbAccessBasedEnumeration;\n /** Enables non-browsable property for SMB Shares. Only applicable for SMB/DualProtocol volume */\n smbNonBrowsable?: SmbNonBrowsable;\n}\n\nexport function smbSettingsSerializer(item: SmbSettings): any {\n return {\n smbEncryption: item[\"smbEncryption\"],\n smbAccessBasedEnumerations: item[\"smbAccessBasedEnumerations\"],\n smbNonBrowsable: item[\"smbNonBrowsable\"],\n };\n}\n\nexport function smbSettingsDeserializer(item: any): SmbSettings {\n return {\n smbEncryption: item[\"smbEncryption\"],\n smbAccessBasedEnumerations: item[\"smbAccessBasedEnumerations\"],\n smbNonBrowsable: item[\"smbNonBrowsable\"],\n };\n}\n\n/** Enables encryption for in-flight smb3 data. Only applicable for SMB/DualProtocol cache */\nexport enum KnownSmbEncryptionState {\n /** SMB encryption is disabled */\n Disabled = \"Disabled\",\n /** SMB encryption is enabled */\n Enabled = \"Enabled\",\n}\n\n/**\n * Enables encryption for in-flight smb3 data. Only applicable for SMB/DualProtocol cache \\\n * {@link KnownSmbEncryptionState} can be used interchangeably with SmbEncryptionState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Disabled**: SMB encryption is disabled \\\n * **Enabled**: SMB encryption is enabled\n */\nexport type SmbEncryptionState = string;\n\n/** Specifies if the cache is encryption or not. */\nexport enum KnownEncryptionState {\n /** Encryption is disabled */\n Disabled = \"Disabled\",\n /** Encryption is enabled */\n Enabled = \"Enabled\",\n}\n\n/**\n * Specifies if the cache is encryption or not. \\\n * {@link KnownEncryptionState} can be used interchangeably with EncryptionState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Disabled**: Encryption is disabled \\\n * **Enabled**: Encryption is enabled\n */\nexport type EncryptionState = string;\n\n/** Specifies whether LDAP is enabled or not. */\nexport enum KnownLdapState {\n /** ldap is disabled. */\n Disabled = \"Disabled\",\n /** ldap is enabled */\n Enabled = \"Enabled\",\n}\n\n/**\n * Specifies whether LDAP is enabled or not. \\\n * {@link KnownLdapState} can be used interchangeably with LdapState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Disabled**: ldap is disabled. \\\n * **Enabled**: ldap is enabled\n */\nexport type LdapState = string;\n\n/** Stores the origin cluster information associated to a cache. */\nexport interface OriginClusterInformation {\n /** ONTAP cluster name of external cluster hosting the origin volume */\n peerClusterName: string;\n /** ONTAP Intercluster LIF IP addresses. One IP address per cluster node is required */\n peerAddresses: string[];\n /** External Vserver (SVM) name name of the SVM hosting the origin volume */\n peerVserverName: string;\n /** External origin volume name associated to this cache */\n peerVolumeName: string;\n}\n\nexport function originClusterInformationSerializer(item: OriginClusterInformation): any {\n return {\n peerClusterName: item[\"peerClusterName\"],\n peerAddresses: item[\"peerAddresses\"].map((p: any) => {\n return p;\n }),\n peerVserverName: item[\"peerVserverName\"],\n peerVolumeName: item[\"peerVolumeName\"],\n };\n}\n\nexport function originClusterInformationDeserializer(item: any): OriginClusterInformation {\n return {\n peerClusterName: item[\"peerClusterName\"],\n peerAddresses: item[\"peerAddresses\"].map((p: any) => {\n return p;\n }),\n peerVserverName: item[\"peerVserverName\"],\n peerVolumeName: item[\"peerVolumeName\"],\n };\n}\n\n/** Flag indicating whether a CIFS change notification is enabled for the cache. */\nexport enum KnownCifsChangeNotifyState {\n /** CIFS change notification is disabled */\n Disabled = \"Disabled\",\n /** CIFS change notification is enabled */\n Enabled = \"Enabled\",\n}\n\n/**\n * Flag indicating whether a CIFS change notification is enabled for the cache. \\\n * {@link KnownCifsChangeNotifyState} can be used interchangeably with CifsChangeNotifyState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Disabled**: CIFS change notification is disabled \\\n * **Enabled**: CIFS change notification is enabled\n */\nexport type CifsChangeNotifyState = string;\n\n/** Flag indicating whether the global file lock is enabled for the cache. */\nexport enum KnownGlobalFileLockingState {\n /** Global file locking is disabled */\n Disabled = \"Disabled\",\n /** Global file locking is enabled */\n Enabled = \"Enabled\",\n}\n\n/**\n * Flag indicating whether the global file lock is enabled for the cache. \\\n * {@link KnownGlobalFileLockingState} can be used interchangeably with GlobalFileLockingState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Disabled**: Global file locking is disabled \\\n * **Enabled**: Global file locking is enabled\n */\nexport type GlobalFileLockingState = string;\n\n/** Flag indicating whether writeback is enabled for the cache. */\nexport enum KnownEnableWriteBackState {\n /** Writeback cache is disabled */\n Disabled = \"Disabled\",\n /** Writeback cache is enabled */\n Enabled = \"Enabled\",\n}\n\n/**\n * Flag indicating whether writeback is enabled for the cache. \\\n * {@link KnownEnableWriteBackState} can be used interchangeably with EnableWriteBackState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Disabled**: Writeback cache is disabled \\\n * **Enabled**: Writeback cache is enabled\n */\nexport type EnableWriteBackState = string;\n\n/** The type used for update operations of the Cache. */\nexport interface CacheUpdate {\n /** Resource tags. */\n tags?: Record<string, string>;\n /** The resource-specific properties for this resource. */\n properties?: CacheUpdateProperties;\n}\n\nexport function cacheUpdateSerializer(item: CacheUpdate): any {\n return {\n tags: item[\"tags\"],\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : cacheUpdatePropertiesSerializer(item[\"properties\"]),\n };\n}\n\n/** The updatable properties of the Cache. */\nexport interface CacheUpdateProperties {\n /** Maximum storage quota allowed for a file system in bytes. Valid values are in the range 50GiB to 1PiB. Values expressed in bytes as multiples of 1GiB. */\n size?: number;\n /** Set of export policy rules */\n exportPolicy?: CachePropertiesExportPolicy;\n /** Set of supported protocol types, which include NFSv3, NFSv4 and SMB protocol */\n protocolTypes?: ProtocolTypes[];\n /** SMB information for the cache */\n smbSettings?: SmbSettings;\n /** Maximum throughput in MiB/s that can be achieved by this cache volume and this will be accepted as input only for manual qosType cache */\n throughputMibps?: number;\n /** The resource ID of private endpoint for KeyVault. It must reside in the same VNET as the volume. Only applicable if encryptionKeySource = 'Microsoft.KeyVault'. */\n keyVaultPrivateEndpointResourceId?: string;\n /** Flag indicating whether a CIFS change notification is enabled for the cache. */\n cifsChangeNotifications?: CifsChangeNotifyState;\n /** Flag indicating whether writeback is enabled for the cache. */\n writeBack?: EnableWriteBackState;\n}\n\nexport function cacheUpdatePropertiesSerializer(item: CacheUpdateProperties): any {\n return {\n size: item[\"size\"],\n exportPolicy: !item[\"exportPolicy\"]\n ? item[\"exportPolicy\"]\n : cachePropertiesExportPolicySerializer(item[\"exportPolicy\"]),\n protocolTypes: !item[\"protocolTypes\"]\n ? item[\"protocolTypes\"]\n : item[\"protocolTypes\"].map((p: any) => {\n return p;\n }),\n smbSettings: !item[\"smbSettings\"]\n ? item[\"smbSettings\"]\n : smbSettingsSerializer(item[\"smbSettings\"]),\n throughputMibps: item[\"throughputMibps\"],\n keyVaultPrivateEndpointResourceId: item[\"keyVaultPrivateEndpointResourceId\"],\n cifsChangeNotifications: item[\"cifsChangeNotifications\"],\n writeBack: item[\"writeBack\"],\n };\n}\n\n/** List of Cache resources */\nexport interface _CacheList {\n /** The Cache items on this page */\n value: Cache[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _cacheListDeserializer(item: any): _CacheList {\n return {\n value: cacheArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function cacheArraySerializer(result: Array<Cache>): any[] {\n return result.map((item) => {\n return cacheSerializer(item);\n });\n}\n\nexport function cacheArrayDeserializer(result: Array<Cache>): any[] {\n return result.map((item) => {\n return cacheDeserializer(item);\n });\n}\n\n/** The response containing peering passphrases and commands for cluster and vserver peering. */\nexport interface PeeringPassphrases {\n /** The cluster peering command. */\n clusterPeeringCommand: string;\n /** The cluster peering passphrase. */\n clusterPeeringPassphrase: string;\n /** The vserver peering command. */\n vserverPeeringCommand: string;\n}\n\nexport function peeringPassphrasesDeserializer(item: any): PeeringPassphrases {\n return {\n clusterPeeringCommand: item[\"clusterPeeringCommand\"],\n clusterPeeringPassphrase: item[\"clusterPeeringPassphrase\"],\n vserverPeeringCommand: item[\"vserverPeeringCommand\"],\n };\n}\n\n/** NetApp elastic account resource */\nexport interface ElasticAccount extends TrackedResource {\n /** The resource-specific properties for this resource. */\n properties?: ElasticAccountProperties;\n /** If eTag is provided in the response body, it may also be provided as a header per the normal etag convention. Entity tags are used for comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range (section 14.27) header fields. */\n readonly eTag?: string;\n /** The managed service identities assigned to this resource. */\n identity?: ManagedServiceIdentity;\n}\n\nexport function elasticAccountSerializer(item: ElasticAccount): any {\n return {\n tags: item[\"tags\"],\n location: item[\"location\"],\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : elasticAccountPropertiesSerializer(item[\"properties\"]),\n identity: !item[\"identity\"]\n ? item[\"identity\"]\n : managedServiceIdentitySerializer(item[\"identity\"]),\n };\n}\n\nexport function elasticAccountDeserializer(item: any): ElasticAccount {\n return {\n tags: item[\"tags\"],\n location: item[\"location\"],\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : elasticAccountPropertiesDeserializer(item[\"properties\"]),\n eTag: item[\"eTag\"],\n identity: !item[\"identity\"]\n ? item[\"identity\"]\n : managedServiceIdentityDeserializer(item[\"identity\"]),\n };\n}\n\n/** NetApp elastic account properties */\nexport interface ElasticAccountProperties {\n /** Azure lifecycle management. */\n readonly provisioningState?: NetAppProvisioningState;\n /** Encryption settings */\n encryption?: ElasticEncryption;\n}\n\nexport function elasticAccountPropertiesSerializer(item: ElasticAccountProperties): any {\n return {\n encryption: !item[\"encryption\"]\n ? item[\"encryption\"]\n : elasticEncryptionSerializer(item[\"encryption\"]),\n };\n}\n\nexport function elasticAccountPropertiesDeserializer(item: any): ElasticAccountProperties {\n return {\n provisioningState: item[\"provisioningState\"],\n encryption: !item[\"encryption\"]\n ? item[\"encryption\"]\n : elasticEncryptionDeserializer(item[\"encryption\"]),\n };\n}\n\n/** Encryption settings */\nexport interface ElasticEncryption {\n /** The encryption keySource (provider). Possible values (case-insensitive): Microsoft.NetApp, Microsoft.KeyVault */\n keySource?: KeySource;\n /** Properties provided by KeyVault. Applicable if keySource is 'Microsoft.KeyVault'. */\n keyVaultProperties?: ElasticKeyVaultProperties;\n /** Identity used to authenticate to KeyVault. Applicable if keySource is 'Microsoft.KeyVault'. */\n identity?: ElasticEncryptionIdentity;\n}\n\nexport function elasticEncryptionSerializer(item: ElasticEncryption): any {\n return {\n keySource: item[\"keySource\"],\n keyVaultProperties: !item[\"keyVaultProperties\"]\n ? item[\"keyVaultProperties\"]\n : elasticKeyVaultPropertiesSerializer(item[\"keyVaultProperties\"]),\n identity: !item[\"identity\"]\n ? item[\"identity\"]\n : elasticEncryptionIdentitySerializer(item[\"identity\"]),\n };\n}\n\nexport function elasticEncryptionDeserializer(item: any): ElasticEncryption {\n return {\n keySource: item[\"keySource\"],\n keyVaultProperties: !item[\"keyVaultProperties\"]\n ? item[\"keyVaultProperties\"]\n : elasticKeyVaultPropertiesDeserializer(item[\"keyVaultProperties\"]),\n identity: !item[\"identity\"]\n ? item[\"identity\"]\n : elasticEncryptionIdentityDeserializer(item[\"identity\"]),\n };\n}\n\n/** The encryption keySource (provider). Possible values (case-insensitive): Microsoft.NetApp, Microsoft.KeyVault */\nexport enum KnownKeySource {\n /** Microsoft-managed key encryption */\n MicrosoftNetApp = \"Microsoft.NetApp\",\n /** Customer-managed key encryption */\n MicrosoftKeyVault = \"Microsoft.KeyVault\",\n}\n\n/**\n * The encryption keySource (provider). Possible values (case-insensitive): Microsoft.NetApp, Microsoft.KeyVault \\\n * {@link KnownKeySource} can be used interchangeably with KeySource,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Microsoft.NetApp**: Microsoft-managed key encryption \\\n * **Microsoft.KeyVault**: Customer-managed key encryption\n */\nexport type KeySource = string;\n\n/** Properties of key vault. */\nexport interface ElasticKeyVaultProperties {\n /** The Uri of KeyVault. */\n keyVaultUri?: string;\n /** The name of KeyVault key. */\n keyName?: string;\n /** The resource ID of KeyVault. */\n keyVaultResourceId?: string;\n /** Status of the KeyVault connection. */\n readonly status?: ElasticKeyVaultStatus;\n}\n\nexport function elasticKeyVaultPropertiesSerializer(item: ElasticKeyVaultProperties): any {\n return {\n keyVaultUri: item[\"keyVaultUri\"],\n keyName: item[\"keyName\"],\n keyVaultResourceId: item[\"keyVaultResourceId\"],\n };\n}\n\nexport function elasticKeyVaultPropertiesDeserializer(item: any): ElasticKeyVaultProperties {\n return {\n keyVaultUri: item[\"keyVaultUri\"],\n keyName: item[\"keyName\"],\n keyVaultResourceId: item[\"keyVaultResourceId\"],\n status: item[\"status\"],\n };\n}\n\n/** KeyVault status */\nexport enum KnownElasticKeyVaultStatus {\n /** KeyVault connection created but not in use */\n Created = \"Created\",\n /** KeyVault connection in use by SMB Volume */\n InUse = \"InUse\",\n /** KeyVault connection Deleted */\n Deleted = \"Deleted\",\n /** Error with the KeyVault connection */\n Error = \"Error\",\n /** KeyVault connection Updating */\n Updating = \"Updating\",\n}\n\n/**\n * KeyVault status \\\n * {@link KnownElasticKeyVaultStatus} can be used interchangeably with ElasticKeyVaultStatus,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Created**: KeyVault connection created but not in use \\\n * **InUse**: KeyVault connection in use by SMB Volume \\\n * **Deleted**: KeyVault connection Deleted \\\n * **Error**: Error with the KeyVault connection \\\n * **Updating**: KeyVault connection Updating\n */\nexport type ElasticKeyVaultStatus = string;\n\n/** Identity used to authenticate with key vault. */\nexport interface ElasticEncryptionIdentity {\n /** The principal ID (object ID) of the identity used to authenticate with key vault. Read-only. */\n readonly principalId?: string;\n /** The ARM resource identifier of the user assigned identity used to authenticate with key vault. Applicable if identity.type has 'UserAssigned'. It should match key of identity.userAssignedIdentities. */\n userAssignedIdentity?: string;\n}\n\nexport function elasticEncryptionIdentitySerializer(item: ElasticEncryptionIdentity): any {\n return { userAssignedIdentity: item[\"userAssignedIdentity\"] };\n}\n\nexport function elasticEncryptionIdentityDeserializer(item: any): ElasticEncryptionIdentity {\n return {\n principalId: item[\"principalId\"],\n userAssignedIdentity: item[\"userAssignedIdentity\"],\n };\n}\n\n/** Managed service identity (system assigned and/or user assigned identities) */\nexport interface ManagedServiceIdentity {\n /** The service principal ID of the system assigned identity. This property will only be provided for a system assigned identity. */\n readonly principalId?: string;\n /** The tenant ID of the system assigned identity. This property will only be provided for a system assigned identity. */\n readonly tenantId?: string;\n /** The type of managed identity assigned to this resource. */\n type: ManagedServiceIdentityType;\n /** The identities assigned to this resource by the user. */\n userAssignedIdentities?: Record<string, UserAssignedIdentity | null>;\n}\n\nexport function managedServiceIdentitySerializer(item: ManagedServiceIdentity): any {\n return {\n type: item[\"type\"],\n userAssignedIdentities: item[\"userAssignedIdentities\"],\n };\n}\n\nexport function managedServiceIdentityDeserializer(item: any): ManagedServiceIdentity {\n return {\n principalId: item[\"principalId\"],\n tenantId: item[\"tenantId\"],\n type: item[\"type\"],\n userAssignedIdentities: item[\"userAssignedIdentities\"],\n };\n}\n\n/** Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). */\nexport enum KnownManagedServiceIdentityType {\n /** No managed identity. */\n None = \"None\",\n /** System assigned managed identity. */\n SystemAssigned = \"SystemAssigned\",\n /** User assigned managed identity. */\n UserAssigned = \"UserAssigned\",\n /** System and user assigned managed identity. */\n SystemAssignedUserAssigned = \"SystemAssigned,UserAssigned\",\n}\n\n/**\n * Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). \\\n * {@link KnownManagedServiceIdentityType} can be used interchangeably with ManagedServiceIdentityType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **None**: No managed identity. \\\n * **SystemAssigned**: System assigned managed identity. \\\n * **UserAssigned**: User assigned managed identity. \\\n * **SystemAssigned,UserAssigned**: System and user assigned managed identity.\n */\nexport type ManagedServiceIdentityType = string;\n\n/** User assigned identity properties */\nexport interface UserAssignedIdentity {\n /** The principal ID of the assigned identity. */\n readonly principalId?: string;\n /** The client ID of the assigned identity. */\n readonly clientId?: string;\n}\n\nexport function userAssignedIdentitySerializer(item: UserAssignedIdentity): any {\n return item;\n}\n\nexport function userAssignedIdentityDeserializer(item: any): UserAssignedIdentity {\n return {\n principalId: item[\"principalId\"],\n clientId: item[\"clientId\"],\n };\n}\n\n/** The type used for update operations of the ElasticAccount. */\nexport interface ElasticAccountUpdate {\n /** The managed service identities assigned to this resource. */\n identity?: ManagedServiceIdentity;\n /** Resource tags. */\n tags?: Record<string, string>;\n /** The resource-specific properties for this resource. */\n properties?: ElasticAccountUpdateProperties;\n}\n\nexport function elasticAccountUpdateSerializer(item: ElasticAccountUpdate): any {\n return {\n identity: !item[\"identity\"]\n ? item[\"identity\"]\n : managedServiceIdentitySerializer(item[\"identity\"]),\n tags: item[\"tags\"],\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : elasticAccountUpdatePropertiesSerializer(item[\"properties\"]),\n };\n}\n\n/** The updatable properties of the ElasticAccount. */\nexport interface ElasticAccountUpdateProperties {\n /** Encryption settings */\n encryption?: ElasticEncryption;\n}\n\nexport function elasticAccountUpdatePropertiesSerializer(\n item: ElasticAccountUpdateProperties,\n): any {\n return {\n encryption: !item[\"encryption\"]\n ? item[\"encryption\"]\n : elasticEncryptionSerializer(item[\"encryption\"]),\n };\n}\n\n/** The response of a ElasticAccount list operation. */\nexport interface _ElasticAccountListResult {\n /** The ElasticAccount items on this page */\n value: ElasticAccount[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _elasticAccountListResultDeserializer(item: any): _ElasticAccountListResult {\n return {\n value: elasticAccountArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function elasticAccountArraySerializer(result: Array<ElasticAccount>): any[] {\n return result.map((item) => {\n return elasticAccountSerializer(item);\n });\n}\n\nexport function elasticAccountArrayDeserializer(result: Array<ElasticAccount>): any[] {\n return result.map((item) => {\n return elasticAccountDeserializer(item);\n });\n}\n\n/** NetApp Elastic Capacity Pool resource */\nexport interface ElasticCapacityPool extends TrackedResource {\n /** The resource-specific properties for this resource. */\n properties?: ElasticCapacityPoolProperties;\n /** If eTag is provided in the response body, it may also be provided as a header per the normal etag convention. Entity tags are used for comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range (section 14.27) header fields. */\n readonly eTag?: string;\n /** The availability zones. */\n zones?: string[];\n}\n\nexport function elasticCapacityPoolSerializer(item: ElasticCapacityPool): any {\n return {\n tags: item[\"tags\"],\n location: item[\"location\"],\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : elasticCapacityPoolPropertiesSerializer(item[\"properties\"]),\n zones: !item[\"zones\"]\n ? item[\"zones\"]\n : item[\"zones\"].map((p: any) => {\n return p;\n }),\n };\n}\n\nexport function elasticCapacityPoolDeserializer(item: any): ElasticCapacityPool {\n return {\n tags: item[\"tags\"],\n location: item[\"location\"],\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : elasticCapacityPoolPropertiesDeserializer(item[\"properties\"]),\n eTag: item[\"eTag\"],\n zones: !item[\"zones\"]\n ? item[\"zones\"]\n : item[\"zones\"].map((p: any) => {\n return p;\n }),\n };\n}\n\n/** Elastic capacity pool properties */\nexport interface ElasticCapacityPoolProperties {\n /** Provisioned size of the pool (in bytes). For zoneRedundant service level pool, value must be in the range 1TiB to 16TiB or 1TiB to 128TiB for supported region. Values expressed in bytes as multiples of 1TiB till 16TiB and in multiples of 8TiB from 24TiB to 128TiB. Pool size can't be shrunk once it is created. */\n size: number;\n /** The service level of the elastic capacity pool */\n serviceLevel: ElasticServiceLevel;\n /** Azure lifecycle management. */\n readonly provisioningState?: NetAppProvisioningState;\n /** Encryption settings */\n encryption?: ElasticEncryptionConfiguration;\n /** Total throughput of the pool in MiB/s */\n readonly totalThroughputMibps?: number;\n /** The Azure Resource URI for a delegated subnet. Must have the delegation Microsoft.NetApp/elasticVolumes, this is used by all the volumes within the pool */\n subnetResourceId: string;\n /** Indicates the current zone of the pool. This can be changed for zoneRedundant service level pool with the changeZone action */\n readonly currentZone?: string;\n /** Current availability status of the resource. */\n readonly availabilityStatus?: ElasticResourceAvailabilityStatus;\n /** The Azure Resource URI for an Active Directory configuration. This is used by all the SMB volumes within the pool */\n activeDirectoryConfigResourceId?: string;\n}\n\nexport function elasticCapacityPoolPropertiesSerializer(item: ElasticCapacityPoolProperties): any {\n return {\n size: item[\"size\"],\n serviceLevel: item[\"serviceLevel\"],\n encryption: !item[\"encryption\"]\n ? item[\"encryption\"]\n : elasticEncryptionConfigurationSerializer(item[\"encryption\"]),\n subnetResourceId: item[\"subnetResourceId\"],\n activeDirectoryConfigResourceId: item[\"activeDirectoryConfigResourceId\"],\n };\n}\n\nexport function elasticCapacityPoolPropertiesDeserializer(\n item: any,\n): ElasticCapacityPoolProperties {\n return {\n size: item[\"size\"],\n serviceLevel: item[\"serviceLevel\"],\n provisioningState: item[\"provisioningState\"],\n encryption: !item[\"encryption\"]\n ? item[\"encryption\"]\n : elasticEncryptionConfigurationDeserializer(item[\"encryption\"]),\n totalThroughputMibps: item[\"totalThroughputMibps\"],\n subnetResourceId: item[\"subnetResourceId\"],\n currentZone: item[\"currentZone\"],\n availabilityStatus: item[\"availabilityStatus\"],\n activeDirectoryConfigResourceId: item[\"activeDirectoryConfigResourceId\"],\n };\n}\n\n/** Service level for elastic capacity pool */\nexport enum KnownElasticServiceLevel {\n /** Zone redundant storage service level. */\n ZoneRedundant = \"ZoneRedundant\",\n}\n\n/**\n * Service level for elastic capacity pool \\\n * {@link KnownElasticServiceLevel} can be used interchangeably with ElasticServiceLevel,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **ZoneRedundant**: Zone redundant storage service level.\n */\nexport type ElasticServiceLevel = string;\n\n/** CMK Encryption Configuration */\nexport interface ElasticEncryptionConfiguration {\n /** Pool Encryption Key Source. */\n elasticPoolEncryptionKeySource: ElasticPoolEncryptionKeySource;\n /** The resource ID of private endpoint for KeyVault. It must reside in the same VNET as the volume. Only applicable if encryptionKeySource = 'Microsoft.KeyVault'. */\n keyVaultPrivateEndpointResourceId: string;\n}\n\nexport function elasticEncryptionConfigurationSerializer(\n item: ElasticEncryptionConfiguration,\n): any {\n return {\n elasticPoolEncryptionKeySource: item[\"elasticPoolEncryptionKeySource\"],\n keyVaultPrivateEndpointResourceId: item[\"keyVaultPrivateEndpointResourceId\"],\n };\n}\n\nexport function elasticEncryptionConfigurationDeserializer(\n item: any,\n): ElasticEncryptionConfiguration {\n return {\n elasticPoolEncryptionKeySource: item[\"elasticPoolEncryptionKeySource\"],\n keyVaultPrivateEndpointResourceId: item[\"keyVaultPrivateEndpointResourceId\"],\n };\n}\n\n/** Pool Encryption Key Source. */\nexport enum KnownElasticPoolEncryptionKeySource {\n /** Represents the encryption key source of Elastic pool is Microsoft.NetApp */\n NetApp = \"NetApp\",\n /** Represents the encryption key source of Elastic pool is Microsoft.KeyVault */\n KeyVault = \"KeyVault\",\n}\n\n/**\n * Pool Encryption Key Source. \\\n * {@link KnownElasticPoolEncryptionKeySource} can be used interchangeably with ElasticPoolEncryptionKeySource,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **NetApp**: Represents the encryption key source of Elastic pool is Microsoft.NetApp \\\n * **KeyVault**: Represents the encryption key source of Elastic pool is Microsoft.KeyVault\n */\nexport type ElasticPoolEncryptionKeySource = string;\n\n/** Current availability status of the resource. */\nexport enum KnownElasticResourceAvailabilityStatus {\n /** The resource is currently Online and accessible */\n Online = \"Online\",\n /** The resource is currently Offline and not accessible */\n Offline = \"Offline\",\n}\n\n/**\n * Current availability status of the resource. \\\n * {@link KnownElasticResourceAvailabilityStatus} can be used interchangeably with ElasticResourceAvailabilityStatus,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Online**: The resource is currently Online and accessible \\\n * **Offline**: The resource is currently Offline and not accessible\n */\nexport type ElasticResourceAvailabilityStatus = string;\n\n/** The type used for update operations of the ElasticCapacityPool. */\nexport interface ElasticCapacityPoolUpdate {\n /** Resource tags. */\n tags?: Record<string, string>;\n /** The resource-specific properties for this resource. */\n properties?: ElasticCapacityPoolUpdateProperties;\n}\n\nexport function elasticCapacityPoolUpdateSerializer(item: ElasticCapacityPoolUpdate): any {\n return {\n tags: item[\"tags\"],\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : elasticCapacityPoolUpdatePropertiesSerializer(item[\"properties\"]),\n };\n}\n\n/** The updatable properties of the ElasticCapacityPool. */\nexport interface ElasticCapacityPoolUpdateProperties {\n /** Provisioned size of the pool (in bytes). For zoneRedundant service level pool, value must be in the range 1TiB to 16TiB or 1TiB to 128TiB for supported region. Values expressed in bytes as multiples of 1TiB till 16TiB and in multiples of 8TiB from 24TiB to 128TiB. Pool size can't be shrunk once it is created. */\n size?: number;\n /** Encryption settings */\n encryption?: ElasticEncryptionConfiguration;\n /** The Azure Resource URI for an Active Directory configuration. This is used by all the SMB volumes within the pool */\n activeDirectoryConfigResourceId?: string;\n}\n\nexport function elasticCapacityPoolUpdatePropertiesSerializer(\n item: ElasticCapacityPoolUpdateProperties,\n): any {\n return {\n size: item[\"size\"],\n encryption: !item[\"encryption\"]\n ? item[\"encryption\"]\n : elasticEncryptionConfigurationSerializer(item[\"encryption\"]),\n activeDirectoryConfigResourceId: item[\"activeDirectoryConfigResourceId\"],\n };\n}\n\n/** The response of a ElasticCapacityPool list operation. */\nexport interface _ElasticCapacityPoolListResult {\n /** The ElasticCapacityPool items on this page */\n value: ElasticCapacityPool[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _elasticCapacityPoolListResultDeserializer(\n item: any,\n): _ElasticCapacityPoolListResult {\n return {\n value: elasticCapacityPoolArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function elasticCapacityPoolArraySerializer(result: Array<ElasticCapacityPool>): any[] {\n return result.map((item) => {\n return elasticCapacityPoolSerializer(item);\n });\n}\n\nexport function elasticCapacityPoolArrayDeserializer(result: Array<ElasticCapacityPool>): any[] {\n return result.map((item) => {\n return elasticCapacityPoolDeserializer(item);\n });\n}\n\n/** Changes the zone for the Zone Redundant elastic capacity pool */\nexport interface ChangeZoneRequest {\n /** Availability zone to move Zone Redundant elastic capacity pool to */\n newZone: string;\n}\n\nexport function changeZoneRequestSerializer(item: ChangeZoneRequest): any {\n return { newZone: item[\"newZone\"] };\n}\n\n/** File path availability request content - availability is based on the elastic volume filePath within the given elastic capacityPool. */\nexport interface CheckElasticVolumeFilePathAvailabilityRequest {\n /** A unique file path for the volume. Used when creating mount targets. This needs to be unique within the elastic capacity pool. */\n filePath: string;\n}\n\nexport function checkElasticVolumeFilePathAvailabilityRequestSerializer(\n item: CheckElasticVolumeFilePathAvailabilityRequest,\n): any {\n return { filePath: item[\"filePath\"] };\n}\n\n/** Information regarding availability of a resource. */\nexport interface CheckElasticResourceAvailabilityResponse {\n /** True indicates name is valid and available. False indicates the name is invalid, unavailable, or both. */\n isAvailable?: CheckElasticResourceAvailabilityStatus;\n /** Invalid indicates the name provided does not match Azure NetApp Files naming requirements. AlreadyExists indicates that the name is already in use and is therefore unavailable. */\n reason?: CheckElasticResourceAvailabilityReason;\n /** If reason == invalid, provide the user with the reason why the given name is invalid, and provide the resource naming requirements so that the user can select a valid name. If reason == AlreadyExists, explain that resource name is already in use, and direct them to select a different name. */\n message?: string;\n}\n\nexport function checkElasticResourceAvailabilityResponseDeserializer(\n item: any,\n): CheckElasticResourceAvailabilityResponse {\n return {\n isAvailable: item[\"isAvailable\"],\n reason: item[\"reason\"],\n message: item[\"message\"],\n };\n}\n\n/** Availability status */\nexport enum KnownCheckElasticResourceAvailabilityStatus {\n /** Value indicating the name is valid and available */\n True = \"True\",\n /** Value indicating the the name is invalid, unavailable, or both. */\n False = \"False\",\n}\n\n/**\n * Availability status \\\n * {@link KnownCheckElasticResourceAvailabilityStatus} can be used interchangeably with CheckElasticResourceAvailabilityStatus,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **True**: Value indicating the name is valid and available \\\n * **False**: Value indicating the the name is invalid, unavailable, or both.\n */\nexport type CheckElasticResourceAvailabilityStatus = string;\n\n/** Availability reason */\nexport enum KnownCheckElasticResourceAvailabilityReason {\n /** Value indicating the name provided does not match Azure NetApp Files naming requirements */\n Invalid = \"Invalid\",\n /** Value indicating the name is already in use and is therefore unavailable */\n AlreadyExists = \"AlreadyExists\",\n}\n\n/**\n * Availability reason \\\n * {@link KnownCheckElasticResourceAvailabilityReason} can be used interchangeably with CheckElasticResourceAvailabilityReason,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Invalid**: Value indicating the name provided does not match Azure NetApp Files naming requirements \\\n * **AlreadyExists**: Value indicating the name is already in use and is therefore unavailable\n */\nexport type CheckElasticResourceAvailabilityReason = string;\n\n/** NetApp Elastic Volume resource */\nexport interface ElasticVolume extends TrackedResource {\n /** The resource-specific properties for this resource. */\n properties?: ElasticVolumeProperties;\n /** If eTag is provided in the response body, it may also be provided as a header per the normal etag convention. Entity tags are used for comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range (section 14.27) header fields. */\n readonly eTag?: string;\n /** The availability zones. */\n zones?: string[];\n}\n\nexport function elasticVolumeSerializer(item: ElasticVolume): any {\n return {\n tags: item[\"tags\"],\n location: item[\"location\"],\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : elasticVolumePropertiesSerializer(item[\"properties\"]),\n zones: !item[\"zones\"]\n ? item[\"zones\"]\n : item[\"zones\"].map((p: any) => {\n return p;\n }),\n };\n}\n\nexport function elasticVolumeDeserializer(item: any): ElasticVolume {\n return {\n tags: item[\"tags\"],\n location: item[\"location\"],\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : elasticVolumePropertiesDeserializer(item[\"properties\"]),\n eTag: item[\"eTag\"],\n zones: !item[\"zones\"]\n ? item[\"zones\"]\n : item[\"zones\"].map((p: any) => {\n return p;\n }),\n };\n}\n\n/** Elastic Volume properties */\nexport interface ElasticVolumeProperties {\n /** A unique file path for the volume. Used when creating mount targets. This needs to be unique within the elastic capacity pool. */\n filePath: string;\n /** Maximum size allowed for a volume in bytes. Valid values are in the range 1GiB to 16TiB. Values expressed in bytes as multiples of 1 GiB. */\n size: number;\n /** Set of export policy rules */\n exportPolicy?: ElasticExportPolicy;\n /** Set of support protocol types for the elastic volume */\n protocolTypes: ElasticProtocolType[];\n /** Azure lifecycle management. */\n readonly provisioningState?: NetAppProvisioningState;\n /** Current availability status of the resource. */\n readonly availabilityStatus?: ElasticResourceAvailabilityStatus;\n /** Resource identifier used to identify the Elastic Snapshot. */\n snapshotResourceId?: string;\n /** List of mount targets that can be used to mount this volume */\n readonly mountTargets?: ElasticMountTargetProperties[];\n /** Data protection configuration option for the volume, including snapshot policies and backup. */\n dataProtection?: ElasticVolumeDataProtectionProperties;\n /** Controls the visibility of the volume's read-only snapshot directory, which provides access to each of the volume's snapshots. */\n snapshotDirectoryVisibility?: SnapshotDirectoryVisibility;\n /** SMB Properties */\n smbProperties?: ElasticSmbProperties;\n /** Resource identifier used to identify the Elastic Backup. */\n backupResourceId?: string;\n /** The current state of the restoration process. */\n readonly restorationState?: ElasticVolumeRestorationState;\n}\n\nexport function elasticVolumePropertiesSerializer(item: ElasticVolumeProperties): any {\n return {\n filePath: item[\"filePath\"],\n size: item[\"size\"],\n exportPolicy: !item[\"exportPolicy\"]\n ? item[\"exportPolicy\"]\n : elasticExportPolicySerializer(item[\"exportPolicy\"]),\n protocolTypes: item[\"protocolTypes\"].map((p: any) => {\n return p;\n }),\n snapshotResourceId: item[\"snapshotResourceId\"],\n dataProtection: !item[\"dataProtection\"]\n ? item[\"dataProtection\"]\n : elasticVolumeDataProtectionPropertiesSerializer(item[\"dataProtection\"]),\n snapshotDirectoryVisibility: item[\"snapshotDirectoryVisibility\"],\n smbProperties: !item[\"smbProperties\"]\n ? item[\"smbProperties\"]\n : elasticSmbPropertiesSerializer(item[\"smbProperties\"]),\n backupResourceId: item[\"backupResourceId\"],\n };\n}\n\nexport function elasticVolumePropertiesDeserializer(item: any): ElasticVolumeProperties {\n return {\n filePath: item[\"filePath\"],\n size: item[\"size\"],\n exportPolicy: !item[\"exportPolicy\"]\n ? item[\"exportPolicy\"]\n : elasticExportPolicyDeserializer(item[\"exportPolicy\"]),\n protocolTypes: item[\"protocolTypes\"].map((p: any) => {\n return p;\n }),\n provisioningState: item[\"provisioningState\"],\n availabilityStatus: item[\"availabilityStatus\"],\n snapshotResourceId: item[\"snapshotResourceId\"],\n mountTargets: !item[\"mountTargets\"]\n ? item[\"mountTargets\"]\n : elasticMountTargetPropertiesArrayDeserializer(item[\"mountTargets\"]),\n dataProtection: !item[\"dataProtection\"]\n ? item[\"dataProtection\"]\n : elasticVolumeDataProtectionPropertiesDeserializer(item[\"dataProtection\"]),\n snapshotDirectoryVisibility: item[\"snapshotDirectoryVisibility\"],\n smbProperties: !item[\"smbProperties\"]\n ? item[\"smbProperties\"]\n : elasticSmbPropertiesDeserializer(item[\"smbProperties\"]),\n backupResourceId: item[\"backupResourceId\"],\n restorationState: item[\"restorationState\"],\n };\n}\n\n/** Set of export policy rules */\nexport interface ElasticExportPolicy {\n /** Export policy rule */\n rules?: ElasticExportPolicyRule[];\n}\n\nexport function elasticExportPolicySerializer(item: ElasticExportPolicy): any {\n return {\n rules: !item[\"rules\"] ? item[\"rules\"] : elasticExportPolicyRuleArraySerializer(item[\"rules\"]),\n };\n}\n\nexport function elasticExportPolicyDeserializer(item: any): ElasticExportPolicy {\n return {\n rules: !item[\"rules\"] ? item[\"rules\"] : elasticExportPolicyRuleArrayDeserializer(item[\"rules\"]),\n };\n}\n\nexport function elasticExportPolicyRuleArraySerializer(\n result: Array<ElasticExportPolicyRule>,\n): any[] {\n return result.map((item) => {\n return elasticExportPolicyRuleSerializer(item);\n });\n}\n\nexport function elasticExportPolicyRuleArrayDeserializer(\n result: Array<ElasticExportPolicyRule>,\n): any[] {\n return result.map((item) => {\n return elasticExportPolicyRuleDeserializer(item);\n });\n}\n\n/** Elastic Volume Export Policy Rule */\nexport interface ElasticExportPolicyRule {\n /** Controls the priority of the export policy rule. When connecting to the volume the rule with the lowest index that applies to the connecting client is used */\n ruleIndex?: number;\n /** Specifies the Unix file access level for the volume. It encompasses both read-only and read-write permissions. Additionally, NoAccess can be set to block all access to the volume */\n unixAccessRule?: ElasticUnixAccessRule;\n /** Allows clients to access the volume with the NFSv3 protocol. Enable only for NFSv3 type volumes */\n nfsv3?: ElasticNfsv3Access;\n /** Allows clients to access the volume with at least NFSv4.1 protocol. */\n nfsv4?: ElasticNfsv4Access;\n /** Client ingress specification for the export policy as list of IPv4 CIDRs, IPv4 host addresses and host names. */\n allowedClients?: string[];\n /** Indicates whether root access to the volume is granted to clients affected by this rule */\n rootAccess?: ElasticRootAccess;\n}\n\nexport function elasticExportPolicyRuleSerializer(item: ElasticExportPolicyRule): any {\n return {\n ruleIndex: item[\"ruleIndex\"],\n unixAccessRule: item[\"unixAccessRule\"],\n nfsv3: item[\"nfsv3\"],\n nfsv4: item[\"nfsv4\"],\n allowedClients: !item[\"allowedClients\"]\n ? item[\"allowedClients\"]\n : item[\"allowedClients\"].map((p: any) => {\n return p;\n }),\n rootAccess: item[\"rootAccess\"],\n };\n}\n\nexport function elasticExportPolicyRuleDeserializer(item: any): ElasticExportPolicyRule {\n return {\n ruleIndex: item[\"ruleIndex\"],\n unixAccessRule: item[\"unixAccessRule\"],\n nfsv3: item[\"nfsv3\"],\n nfsv4: item[\"nfsv4\"],\n allowedClients: !item[\"allowedClients\"]\n ? item[\"allowedClients\"]\n : item[\"allowedClients\"].map((p: any) => {\n return p;\n }),\n rootAccess: item[\"rootAccess\"],\n };\n}\n\n/** Unix access rule */\nexport enum KnownElasticUnixAccessRule {\n /** Clients connecting with this rule will only have read access to the volume */\n ReadOnly = \"ReadOnly\",\n /** Clients connecting with this rule will have full read and write access to the volume */\n ReadWrite = \"ReadWrite\",\n /** Clients connecting with this rule will have no access to the volume */\n NoAccess = \"NoAccess\",\n}\n\n/**\n * Unix access rule \\\n * {@link KnownElasticUnixAccessRule} can be used interchangeably with ElasticUnixAccessRule,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **ReadOnly**: Clients connecting with this rule will only have read access to the volume \\\n * **ReadWrite**: Clients connecting with this rule will have full read and write access to the volume \\\n * **NoAccess**: Clients connecting with this rule will have no access to the volume\n */\nexport type ElasticUnixAccessRule = string;\n\n/** NFSv3 access */\nexport enum KnownElasticNfsv3Access {\n /** Clients can connect to the volume using the NFSv3 protocol. */\n Enabled = \"Enabled\",\n /** Clients can't connect to the volume using the NFSv3 protocol. */\n Disabled = \"Disabled\",\n}\n\n/**\n * NFSv3 access \\\n * {@link KnownElasticNfsv3Access} can be used interchangeably with ElasticNfsv3Access,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Enabled**: Clients can connect to the volume using the NFSv3 protocol. \\\n * **Disabled**: Clients can't connect to the volume using the NFSv3 protocol.\n */\nexport type ElasticNfsv3Access = string;\n\n/** NFSv4 access */\nexport enum KnownElasticNfsv4Access {\n /** Clients can connect to the volume using the NFSv4 protocol. */\n Enabled = \"Enabled\",\n /** Clients can't connect to the volume using the NFSv4 protocol. */\n Disabled = \"Disabled\",\n}\n\n/**\n * NFSv4 access \\\n * {@link KnownElasticNfsv4Access} can be used interchangeably with ElasticNfsv4Access,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Enabled**: Clients can connect to the volume using the NFSv4 protocol. \\\n * **Disabled**: Clients can't connect to the volume using the NFSv4 protocol.\n */\nexport type ElasticNfsv4Access = string;\n\n/** Root access */\nexport enum KnownElasticRootAccess {\n /** Root user access is enabled for clients affected by this rule */\n Enabled = \"Enabled\",\n /** Root user access is disabled for clients affected by this rule */\n Disabled = \"Disabled\",\n}\n\n/**\n * Root access \\\n * {@link KnownElasticRootAccess} can be used interchangeably with ElasticRootAccess,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Enabled**: Root user access is enabled for clients affected by this rule \\\n * **Disabled**: Root user access is disabled for clients affected by this rule\n */\nexport type ElasticRootAccess = string;\n\n/** Protocol types for elastic volume */\nexport enum KnownElasticProtocolType {\n /** NFSv3 protocol type */\n NFSv3 = \"NFSv3\",\n /** NFSv4 protocol type */\n NFSv4 = \"NFSv4\",\n /** SMB/CIFS protocol type */\n SMB = \"SMB\",\n}\n\n/**\n * Protocol types for elastic volume \\\n * {@link KnownElasticProtocolType} can be used interchangeably with ElasticProtocolType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **NFSv3**: NFSv3 protocol type \\\n * **NFSv4**: NFSv4 protocol type \\\n * **SMB**: SMB\\/CIFS protocol type\n */\nexport type ElasticProtocolType = string;\n\nexport function elasticMountTargetPropertiesArrayDeserializer(\n result: Array<ElasticMountTargetProperties>,\n): any[] {\n return result.map((item) => {\n return elasticMountTargetPropertiesDeserializer(item);\n });\n}\n\n/** Contains all the information needed to mount an elastic volume */\nexport interface ElasticMountTargetProperties {\n /** The mount target's IPv4 address, used to mount the volume */\n readonly ipAddress?: string;\n /** The SMB server's Fully Qualified Domain Name, FQDN */\n readonly smbServerFqdn?: string;\n}\n\nexport function elasticMountTargetPropertiesDeserializer(item: any): ElasticMountTargetProperties {\n return {\n ipAddress: item[\"ipAddress\"],\n smbServerFqdn: item[\"smbServerFqdn\"],\n };\n}\n\n/** Data protection configuration option for the volume, including snapshot policies and backup. */\nexport interface ElasticVolumeDataProtectionProperties {\n /** Used to apply a snapshot policy to a volume. */\n snapshot?: ElasticVolumeSnapshotProperties;\n /** Used to configure backups on an elastic volume. */\n backup?: ElasticVolumeBackupProperties;\n}\n\nexport function elasticVolumeDataProtectionPropertiesSerializer(\n item: ElasticVolumeDataProtectionProperties,\n): any {\n return {\n snapshot: !item[\"snapshot\"]\n ? item[\"snapshot\"]\n : elasticVolumeSnapshotPropertiesSerializer(item[\"snapshot\"]),\n backup: !item[\"backup\"]\n ? item[\"backup\"]\n : elasticVolumeBackupPropertiesSerializer(item[\"backup\"]),\n };\n}\n\nexport function elasticVolumeDataProtectionPropertiesDeserializer(\n item: any,\n): ElasticVolumeDataProtectionProperties {\n return {\n snapshot: !item[\"snapshot\"]\n ? item[\"snapshot\"]\n : elasticVolumeSnapshotPropertiesDeserializer(item[\"snapshot\"]),\n backup: !item[\"backup\"]\n ? item[\"backup\"]\n : elasticVolumeBackupPropertiesDeserializer(item[\"backup\"]),\n };\n}\n\n/** Elastic Volume Snapshot Properties */\nexport interface ElasticVolumeSnapshotProperties {\n /** Snapshot Policy ResourceId */\n snapshotPolicyResourceId?: string;\n}\n\nexport function elasticVolumeSnapshotPropertiesSerializer(\n item: ElasticVolumeSnapshotProperties,\n): any {\n return { snapshotPolicyResourceId: item[\"snapshotPolicyResourceId\"] };\n}\n\nexport function elasticVolumeSnapshotPropertiesDeserializer(\n item: any,\n): ElasticVolumeSnapshotProperties {\n return {\n snapshotPolicyResourceId: item[\"snapshotPolicyResourceId\"],\n };\n}\n\n/** Elastic Volume Backup Properties */\nexport interface ElasticVolumeBackupProperties {\n /** ResourceId used to identify Elastic Backup Policy */\n elasticBackupPolicyResourceId?: string;\n /** The property to decide policy is enforced or not on the volume */\n policyEnforcement?: ElasticVolumePolicyEnforcement;\n /** ResourceId used to identify Elastic Backup Vault */\n elasticBackupVaultResourceId?: string;\n}\n\nexport function elasticVolumeBackupPropertiesSerializer(item: ElasticVolumeBackupProperties): any {\n return {\n elasticBackupPolicyResourceId: item[\"elasticBackupPolicyResourceId\"],\n policyEnforcement: item[\"policyEnforcement\"],\n elasticBackupVaultResourceId: item[\"elasticBackupVaultResourceId\"],\n };\n}\n\nexport function elasticVolumeBackupPropertiesDeserializer(\n item: any,\n): ElasticVolumeBackupProperties {\n return {\n elasticBackupPolicyResourceId: item[\"elasticBackupPolicyResourceId\"],\n policyEnforcement: item[\"policyEnforcement\"],\n elasticBackupVaultResourceId: item[\"elasticBackupVaultResourceId\"],\n };\n}\n\n/** Policy enforcement */\nexport enum KnownElasticVolumePolicyEnforcement {\n /** Value indicating the policy is enforced on the volume. */\n Enforced = \"Enforced\",\n /** Value indicating the policy is not enforced on the volume. */\n NotEnforced = \"NotEnforced\",\n}\n\n/**\n * Policy enforcement \\\n * {@link KnownElasticVolumePolicyEnforcement} can be used interchangeably with ElasticVolumePolicyEnforcement,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Enforced**: Value indicating the policy is enforced on the volume. \\\n * **NotEnforced**: Value indicating the policy is not enforced on the volume.\n */\nexport type ElasticVolumePolicyEnforcement = string;\n\n/** Controls the visibility of the Elastic Volume's read-only snapshot directory, which provides access to each of the volume's snapshots. */\nexport enum KnownSnapshotDirectoryVisibility {\n /** Value indicating the read-only snapshot directory is not visible */\n Hidden = \"Hidden\",\n /** Value indicating the read-only snapshot directory is visible */\n Visible = \"Visible\",\n}\n\n/**\n * Controls the visibility of the Elastic Volume's read-only snapshot directory, which provides access to each of the volume's snapshots. \\\n * {@link KnownSnapshotDirectoryVisibility} can be used interchangeably with SnapshotDirectoryVisibility,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Hidden**: Value indicating the read-only snapshot directory is not visible \\\n * **Visible**: Value indicating the read-only snapshot directory is visible\n */\nexport type SnapshotDirectoryVisibility = string;\n\n/** SMB Properties */\nexport interface ElasticSmbProperties {\n /** Used to enable or disable encryption for in-flight SMB data volume. This flag can be modified during Elastic volume update operation as well. Only applicable for SMB protocol Elastic volumes. */\n smbEncryption?: ElasticSmbEncryption;\n}\n\nexport function elasticSmbPropertiesSerializer(item: ElasticSmbProperties): any {\n return { smbEncryption: item[\"smbEncryption\"] };\n}\n\nexport function elasticSmbPropertiesDeserializer(item: any): ElasticSmbProperties {\n return {\n smbEncryption: item[\"smbEncryption\"],\n };\n}\n\n/** SMB encryption */\nexport enum KnownElasticSmbEncryption {\n /** Value indicating the SMB encryption is enabled */\n Enabled = \"Enabled\",\n /** Value indicating the SMB encryption is disabled */\n Disabled = \"Disabled\",\n}\n\n/**\n * SMB encryption \\\n * {@link KnownElasticSmbEncryption} can be used interchangeably with ElasticSmbEncryption,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Enabled**: Value indicating the SMB encryption is enabled \\\n * **Disabled**: Value indicating the SMB encryption is disabled\n */\nexport type ElasticSmbEncryption = string;\n\n/** The current state of the restoration process. */\nexport enum KnownElasticVolumeRestorationState {\n /** Value indicating that the volume is currently restoring. */\n Restoring = \"Restoring\",\n /** Value indicating that the volume is restored. */\n Restored = \"Restored\",\n /** Value indicating that the volume restore has failed. */\n Failed = \"Failed\",\n}\n\n/**\n * The current state of the restoration process. \\\n * {@link KnownElasticVolumeRestorationState} can be used interchangeably with ElasticVolumeRestorationState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Restoring**: Value indicating that the volume is currently restoring. \\\n * **Restored**: Value indicating that the volume is restored. \\\n * **Failed**: Value indicating that the volume restore has failed.\n */\nexport type ElasticVolumeRestorationState = string;\n\n/** The type used for update operations of the ElasticVolume. */\nexport interface ElasticVolumeUpdate {\n /** Resource tags. */\n tags?: Record<string, string>;\n /** The resource-specific properties for this resource. */\n properties?: ElasticVolumeUpdateProperties;\n}\n\nexport function elasticVolumeUpdateSerializer(item: ElasticVolumeUpdate): any {\n return {\n tags: item[\"tags\"],\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : elasticVolumeUpdatePropertiesSerializer(item[\"properties\"]),\n };\n}\n\n/** The updatable properties of the ElasticVolume. */\nexport interface ElasticVolumeUpdateProperties {\n /** Maximum size allowed for a volume in bytes. Valid values are in the range 1GiB to 16TiB. Values expressed in bytes as multiples of 1 GiB. */\n size?: number;\n /** Set of export policy rules */\n exportPolicy?: ElasticExportPolicy;\n /** Data protection configuration option for the volume, including snapshot policies and backup. */\n dataProtection?: ElasticVolumeDataProtectionPatchProperties;\n /** Controls the visibility of the volume's read-only snapshot directory, which provides access to each of the volume's snapshots. */\n snapshotDirectoryVisibility?: SnapshotDirectoryVisibility;\n /** SMB Properties */\n smbProperties?: ElasticSmbPatchProperties;\n}\n\nexport function elasticVolumeUpdatePropertiesSerializer(item: ElasticVolumeUpdateProperties): any {\n return {\n size: item[\"size\"],\n exportPolicy: !item[\"exportPolicy\"]\n ? item[\"exportPolicy\"]\n : elasticExportPolicySerializer(item[\"exportPolicy\"]),\n dataProtection: !item[\"dataProtection\"]\n ? item[\"dataProtection\"]\n : elasticVolumeDataProtectionPatchPropertiesSerializer(item[\"dataProtection\"]),\n snapshotDirectoryVisibility: item[\"snapshotDirectoryVisibility\"],\n smbProperties: !item[\"smbProperties\"]\n ? item[\"smbProperties\"]\n : elasticSmbPatchPropertiesSerializer(item[\"smbProperties\"]),\n };\n}\n\n/** Data protection configuration option for updating the volume, including snapshot policies and backup. */\nexport interface ElasticVolumeDataProtectionPatchProperties {\n /** Used to apply a snapshot policy to a volume. */\n snapshot?: ElasticVolumeSnapshotProperties;\n /** Used to configure backups on an elastic volume. */\n backup?: ElasticVolumeBackupProperties;\n}\n\nexport function elasticVolumeDataProtectionPatchPropertiesSerializer(\n item: ElasticVolumeDataProtectionPatchProperties,\n): any {\n return {\n snapshot: !item[\"snapshot\"]\n ? item[\"snapshot\"]\n : elasticVolumeSnapshotPropertiesSerializer(item[\"snapshot\"]),\n backup: !item[\"backup\"]\n ? item[\"backup\"]\n : elasticVolumeBackupPropertiesSerializer(item[\"backup\"]),\n };\n}\n\n/** SMB Patch Properties */\nexport interface ElasticSmbPatchProperties {\n /** Used to enable or disable encryption for in-flight SMB data volume. This flag can be modified during Elastic volume update operation as well. Only applicable for SMB protocol Elastic volumes. */\n smbEncryption?: ElasticSmbEncryption;\n}\n\nexport function elasticSmbPatchPropertiesSerializer(item: ElasticSmbPatchProperties): any {\n return { smbEncryption: item[\"smbEncryption\"] };\n}\n\n/** The response of a ElasticVolume list operation. */\nexport interface _ElasticVolumeListResult {\n /** The ElasticVolume items on this page */\n value: ElasticVolume[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _elasticVolumeListResultDeserializer(item: any): _ElasticVolumeListResult {\n return {\n value: elasticVolumeArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function elasticVolumeArraySerializer(result: Array<ElasticVolume>): any[] {\n return result.map((item) => {\n return elasticVolumeSerializer(item);\n });\n}\n\nexport function elasticVolumeArrayDeserializer(result: Array<ElasticVolume>): any[] {\n return result.map((item) => {\n return elasticVolumeDeserializer(item);\n });\n}\n\n/** Reverts the elastic volume to the specified snapshot. */\nexport interface ElasticVolumeRevert {\n /** Resource identifier used to identify the Elastic Snapshot. */\n snapshotResourceId?: string;\n}\n\nexport function elasticVolumeRevertSerializer(item: ElasticVolumeRevert): any {\n return { snapshotResourceId: item[\"snapshotResourceId\"] };\n}\n\n/** NetApp Elastic Snapshot under an Elastic Volume */\nexport interface ElasticSnapshot extends ProxyResource {\n /** The resource-specific properties for this resource. */\n properties?: ElasticSnapshotProperties;\n}\n\nexport function elasticSnapshotSerializer(item: ElasticSnapshot): any {\n return {\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : elasticSnapshotPropertiesSerializer(item[\"properties\"]),\n };\n}\n\nexport function elasticSnapshotDeserializer(item: any): ElasticSnapshot {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : elasticSnapshotPropertiesDeserializer(item[\"properties\"]),\n };\n}\n\n/** Elastic Snapshot properties */\nexport interface ElasticSnapshotProperties {\n /** Azure lifecycle management. */\n readonly provisioningState?: NetAppProvisioningState;\n}\n\nexport function elasticSnapshotPropertiesSerializer(item: ElasticSnapshotProperties): any {\n return item;\n}\n\nexport function elasticSnapshotPropertiesDeserializer(item: any): ElasticSnapshotProperties {\n return {\n provisioningState: item[\"provisioningState\"],\n };\n}\n\n/** The response of a ElasticSnapshot list operation. */\nexport interface _ElasticSnapshotListResult {\n /** The ElasticSnapshot items on this page */\n value: ElasticSnapshot[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _elasticSnapshotListResultDeserializer(item: any): _ElasticSnapshotListResult {\n return {\n value: elasticSnapshotArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function elasticSnapshotArraySerializer(result: Array<ElasticSnapshot>): any[] {\n return result.map((item) => {\n return elasticSnapshotSerializer(item);\n });\n}\n\nexport function elasticSnapshotArrayDeserializer(result: Array<ElasticSnapshot>): any[] {\n return result.map((item) => {\n return elasticSnapshotDeserializer(item);\n });\n}\n\n/** NetApp Elastic Snapshot Policy under an Elastic Account */\nexport interface ElasticSnapshotPolicy extends TrackedResource {\n /** The resource-specific properties for this resource. */\n properties?: ElasticSnapshotPolicyProperties;\n /** If eTag is provided in the response body, it may also be provided as a header per the normal etag convention. Entity tags are used for comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range (section 14.27) header fields. */\n readonly eTag?: string;\n}\n\nexport function elasticSnapshotPolicySerializer(item: ElasticSnapshotPolicy): any {\n return {\n tags: item[\"tags\"],\n location: item[\"location\"],\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : elasticSnapshotPolicyPropertiesSerializer(item[\"properties\"]),\n };\n}\n\nexport function elasticSnapshotPolicyDeserializer(item: any): ElasticSnapshotPolicy {\n return {\n tags: item[\"tags\"],\n location: item[\"location\"],\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : elasticSnapshotPolicyPropertiesDeserializer(item[\"properties\"]),\n eTag: item[\"eTag\"],\n };\n}\n\n/** Elastic Snapshot policy properties */\nexport interface ElasticSnapshotPolicyProperties {\n /** Schedule for hourly snapshots */\n hourlySchedule?: ElasticSnapshotPolicyHourlySchedule;\n /** Schedule for daily snapshots */\n dailySchedule?: ElasticSnapshotPolicyDailySchedule;\n /** Schedule for weekly snapshots */\n weeklySchedule?: ElasticSnapshotPolicyWeeklySchedule;\n /** Schedule for monthly snapshots */\n monthlySchedule?: ElasticSnapshotPolicyMonthlySchedule;\n /** Configures if the snapshot policy is enabled on the volumes connected to the policy. */\n policyStatus?: PolicyStatus;\n /** Azure lifecycle management. */\n readonly provisioningState?: NetAppProvisioningState;\n}\n\nexport function elasticSnapshotPolicyPropertiesSerializer(\n item: ElasticSnapshotPolicyProperties,\n): any {\n return {\n hourlySchedule: !item[\"hourlySchedule\"]\n ? item[\"hourlySchedule\"]\n : elasticSnapshotPolicyHourlyScheduleSerializer(item[\"hourlySchedule\"]),\n dailySchedule: !item[\"dailySchedule\"]\n ? item[\"dailySchedule\"]\n : elasticSnapshotPolicyDailyScheduleSerializer(item[\"dailySchedule\"]),\n weeklySchedule: !item[\"weeklySchedule\"]\n ? item[\"weeklySchedule\"]\n : elasticSnapshotPolicyWeeklyScheduleSerializer(item[\"weeklySchedule\"]),\n monthlySchedule: !item[\"monthlySchedule\"]\n ? item[\"monthlySchedule\"]\n : elasticSnapshotPolicyMonthlyScheduleSerializer(item[\"monthlySchedule\"]),\n policyStatus: item[\"policyStatus\"],\n };\n}\n\nexport function elasticSnapshotPolicyPropertiesDeserializer(\n item: any,\n): ElasticSnapshotPolicyProperties {\n return {\n hourlySchedule: !item[\"hourlySchedule\"]\n ? item[\"hourlySchedule\"]\n : elasticSnapshotPolicyHourlyScheduleDeserializer(item[\"hourlySchedule\"]),\n dailySchedule: !item[\"dailySchedule\"]\n ? item[\"dailySchedule\"]\n : elasticSnapshotPolicyDailyScheduleDeserializer(item[\"dailySchedule\"]),\n weeklySchedule: !item[\"weeklySchedule\"]\n ? item[\"weeklySchedule\"]\n : elasticSnapshotPolicyWeeklyScheduleDeserializer(item[\"weeklySchedule\"]),\n monthlySchedule: !item[\"monthlySchedule\"]\n ? item[\"monthlySchedule\"]\n : elasticSnapshotPolicyMonthlyScheduleDeserializer(item[\"monthlySchedule\"]),\n policyStatus: item[\"policyStatus\"],\n provisioningState: item[\"provisioningState\"],\n };\n}\n\n/** Hourly Schedule properties used to create NetApp snapshot policy */\nexport interface ElasticSnapshotPolicyHourlySchedule {\n /** Hourly snapshot count to keep */\n snapshotsToKeep?: number;\n /** Indicates which minute snapshot should be taken */\n minute?: number;\n}\n\nexport function elasticSnapshotPolicyHourlyScheduleSerializer(\n item: ElasticSnapshotPolicyHourlySchedule,\n): any {\n return { snapshotsToKeep: item[\"snapshotsToKeep\"], minute: item[\"minute\"] };\n}\n\nexport function elasticSnapshotPolicyHourlyScheduleDeserializer(\n item: any,\n): ElasticSnapshotPolicyHourlySchedule {\n return {\n snapshotsToKeep: item[\"snapshotsToKeep\"],\n minute: item[\"minute\"],\n };\n}\n\n/** Daily Schedule properties used to create NetApp snapshot policy */\nexport interface ElasticSnapshotPolicyDailySchedule {\n /** Daily snapshot count to keep */\n snapshotsToKeep?: number;\n /** Indicates which hour in UTC timezone a snapshot should be taken */\n hour?: number;\n /** Indicates which minute snapshot should be taken */\n minute?: number;\n}\n\nexport function elasticSnapshotPolicyDailyScheduleSerializer(\n item: ElasticSnapshotPolicyDailySchedule,\n): any {\n return {\n snapshotsToKeep: item[\"snapshotsToKeep\"],\n hour: item[\"hour\"],\n minute: item[\"minute\"],\n };\n}\n\nexport function elasticSnapshotPolicyDailyScheduleDeserializer(\n item: any,\n): ElasticSnapshotPolicyDailySchedule {\n return {\n snapshotsToKeep: item[\"snapshotsToKeep\"],\n hour: item[\"hour\"],\n minute: item[\"minute\"],\n };\n}\n\n/** Weekly Schedule properties used to create NetApp snapshot policy */\nexport interface ElasticSnapshotPolicyWeeklySchedule {\n /** Weekly snapshot count to keep */\n snapshotsToKeep?: number;\n /** Indicates which weekday(s) snapshot(s) should be taken, accepts a list of week day names in english */\n days?: DayOfWeek[];\n /** Indicates which hour in UTC timezone a snapshot should be taken */\n hour?: number;\n /** Indicates which minute snapshot should be taken */\n minute?: number;\n}\n\nexport function elasticSnapshotPolicyWeeklyScheduleSerializer(\n item: ElasticSnapshotPolicyWeeklySchedule,\n): any {\n return {\n snapshotsToKeep: item[\"snapshotsToKeep\"],\n days: !item[\"days\"]\n ? item[\"days\"]\n : item[\"days\"].map((p: any) => {\n return p;\n }),\n hour: item[\"hour\"],\n minute: item[\"minute\"],\n };\n}\n\nexport function elasticSnapshotPolicyWeeklyScheduleDeserializer(\n item: any,\n): ElasticSnapshotPolicyWeeklySchedule {\n return {\n snapshotsToKeep: item[\"snapshotsToKeep\"],\n days: !item[\"days\"]\n ? item[\"days\"]\n : item[\"days\"].map((p: any) => {\n return p;\n }),\n hour: item[\"hour\"],\n minute: item[\"minute\"],\n };\n}\n\n/** Day of the week */\nexport enum KnownDayOfWeek {\n /** Take a snapshot each Sunday */\n Sunday = \"Sunday\",\n /** Take a snapshot each Monday */\n Monday = \"Monday\",\n /** Take a snapshot each Tuesday */\n Tuesday = \"Tuesday\",\n /** Take a snapshot each Wednesday */\n Wednesday = \"Wednesday\",\n /** Take a snapshot each Thursday */\n Thursday = \"Thursday\",\n /** Take a snapshot each Friday */\n Friday = \"Friday\",\n /** Take a snapshot each Saturday */\n Saturday = \"Saturday\",\n}\n\n/**\n * Day of the week \\\n * {@link KnownDayOfWeek} can be used interchangeably with DayOfWeek,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Sunday**: Take a snapshot each Sunday \\\n * **Monday**: Take a snapshot each Monday \\\n * **Tuesday**: Take a snapshot each Tuesday \\\n * **Wednesday**: Take a snapshot each Wednesday \\\n * **Thursday**: Take a snapshot each Thursday \\\n * **Friday**: Take a snapshot each Friday \\\n * **Saturday**: Take a snapshot each Saturday\n */\nexport type DayOfWeek = string;\n\n/** Monthly Schedule properties used to create NetApp snapshot policy */\nexport interface ElasticSnapshotPolicyMonthlySchedule {\n /** Monthly snapshot count to keep */\n snapshotsToKeep?: number;\n /** Indicates which days of the month snapshot (1-31) should be taken, accepts a list of integers */\n daysOfMonth?: number[];\n /** Indicates which hour in UTC timezone a snapshot should be taken */\n hour?: number;\n /** Indicates which minute snapshot should be taken */\n minute?: number;\n}\n\nexport function elasticSnapshotPolicyMonthlyScheduleSerializer(\n item: ElasticSnapshotPolicyMonthlySchedule,\n): any {\n return {\n snapshotsToKeep: item[\"snapshotsToKeep\"],\n daysOfMonth: !item[\"daysOfMonth\"]\n ? item[\"daysOfMonth\"]\n : item[\"daysOfMonth\"].map((p: any) => {\n return p;\n }),\n hour: item[\"hour\"],\n minute: item[\"minute\"],\n };\n}\n\nexport function elasticSnapshotPolicyMonthlyScheduleDeserializer(\n item: any,\n): ElasticSnapshotPolicyMonthlySchedule {\n return {\n snapshotsToKeep: item[\"snapshotsToKeep\"],\n daysOfMonth: !item[\"daysOfMonth\"]\n ? item[\"daysOfMonth\"]\n : item[\"daysOfMonth\"].map((p: any) => {\n return p;\n }),\n hour: item[\"hour\"],\n minute: item[\"minute\"],\n };\n}\n\n/** Policy status */\nexport enum KnownPolicyStatus {\n /** Value indicating the policy is enabled */\n Enabled = \"Enabled\",\n /** Value indicating the policy is disabled */\n Disabled = \"Disabled\",\n}\n\n/**\n * Policy status \\\n * {@link KnownPolicyStatus} can be used interchangeably with PolicyStatus,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Enabled**: Value indicating the policy is enabled \\\n * **Disabled**: Value indicating the policy is disabled\n */\nexport type PolicyStatus = string;\n\n/** The type used for update operations of the ElasticSnapshotPolicy. */\nexport interface ElasticSnapshotPolicyUpdate {\n /** Resource tags. */\n tags?: Record<string, string>;\n /** The resource-specific properties for this resource. */\n properties?: ElasticSnapshotPolicyUpdateProperties;\n}\n\nexport function elasticSnapshotPolicyUpdateSerializer(item: ElasticSnapshotPolicyUpdate): any {\n return {\n tags: item[\"tags\"],\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : elasticSnapshotPolicyUpdatePropertiesSerializer(item[\"properties\"]),\n };\n}\n\n/** The updatable properties of the ElasticSnapshotPolicy. */\nexport interface ElasticSnapshotPolicyUpdateProperties {\n /** Schedule for hourly snapshots */\n hourlySchedule?: ElasticSnapshotPolicyHourlySchedule;\n /** Schedule for daily snapshots */\n dailySchedule?: ElasticSnapshotPolicyDailySchedule;\n /** Schedule for weekly snapshots */\n weeklySchedule?: ElasticSnapshotPolicyWeeklySchedule;\n /** Schedule for monthly snapshots */\n monthlySchedule?: ElasticSnapshotPolicyMonthlySchedule;\n /** Configures if the snapshot policy is enabled on the volumes connected to the policy. */\n policyStatus?: PolicyStatus;\n}\n\nexport function elasticSnapshotPolicyUpdatePropertiesSerializer(\n item: ElasticSnapshotPolicyUpdateProperties,\n): any {\n return {\n hourlySchedule: !item[\"hourlySchedule\"]\n ? item[\"hourlySchedule\"]\n : elasticSnapshotPolicyHourlyScheduleSerializer(item[\"hourlySchedule\"]),\n dailySchedule: !item[\"dailySchedule\"]\n ? item[\"dailySchedule\"]\n : elasticSnapshotPolicyDailyScheduleSerializer(item[\"dailySchedule\"]),\n weeklySchedule: !item[\"weeklySchedule\"]\n ? item[\"weeklySchedule\"]\n : elasticSnapshotPolicyWeeklyScheduleSerializer(item[\"weeklySchedule\"]),\n monthlySchedule: !item[\"monthlySchedule\"]\n ? item[\"monthlySchedule\"]\n : elasticSnapshotPolicyMonthlyScheduleSerializer(item[\"monthlySchedule\"]),\n policyStatus: item[\"policyStatus\"],\n };\n}\n\n/** The response of a ElasticSnapshotPolicy list operation. */\nexport interface _ElasticSnapshotPolicyListResult {\n /** The ElasticSnapshotPolicy items on this page */\n value: ElasticSnapshotPolicy[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _elasticSnapshotPolicyListResultDeserializer(\n item: any,\n): _ElasticSnapshotPolicyListResult {\n return {\n value: elasticSnapshotPolicyArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function elasticSnapshotPolicyArraySerializer(result: Array<ElasticSnapshotPolicy>): any[] {\n return result.map((item) => {\n return elasticSnapshotPolicySerializer(item);\n });\n}\n\nexport function elasticSnapshotPolicyArrayDeserializer(\n result: Array<ElasticSnapshotPolicy>,\n): any[] {\n return result.map((item) => {\n return elasticSnapshotPolicyDeserializer(item);\n });\n}\n\n/** Elastic Volumes associated with Elastic Snapshot Policy */\nexport interface _ElasticSnapshotPolicyVolumeList {\n /** The ElasticVolume items on this page */\n value: ElasticVolume[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _elasticSnapshotPolicyVolumeListDeserializer(\n item: any,\n): _ElasticSnapshotPolicyVolumeList {\n return {\n value: elasticVolumeArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\n/** NetApp elastic backup vault resource */\nexport interface ElasticBackupVault extends TrackedResource {\n /** The resource-specific properties for this resource. */\n properties?: ElasticBackupVaultProperties;\n /** If eTag is provided in the response body, it may also be provided as a header per the normal etag convention. Entity tags are used for comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range (section 14.27) header fields. */\n readonly eTag?: string;\n}\n\nexport function elasticBackupVaultSerializer(item: ElasticBackupVault): any {\n return {\n tags: item[\"tags\"],\n location: item[\"location\"],\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : elasticBackupVaultPropertiesSerializer(item[\"properties\"]),\n };\n}\n\nexport function elasticBackupVaultDeserializer(item: any): ElasticBackupVault {\n return {\n tags: item[\"tags\"],\n location: item[\"location\"],\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : elasticBackupVaultPropertiesDeserializer(item[\"properties\"]),\n eTag: item[\"eTag\"],\n };\n}\n\n/** Elastic Backup Vault properties */\nexport interface ElasticBackupVaultProperties {\n /** Azure lifecycle management. */\n readonly provisioningState?: NetAppProvisioningState;\n}\n\nexport function elasticBackupVaultPropertiesSerializer(item: ElasticBackupVaultProperties): any {\n return item;\n}\n\nexport function elasticBackupVaultPropertiesDeserializer(item: any): ElasticBackupVaultProperties {\n return {\n provisioningState: item[\"provisioningState\"],\n };\n}\n\n/** The type used for update operations of the ElasticBackupVault. */\nexport interface ElasticBackupVaultUpdate {\n /** Resource tags. */\n tags?: Record<string, string>;\n}\n\nexport function elasticBackupVaultUpdateSerializer(item: ElasticBackupVaultUpdate): any {\n return { tags: item[\"tags\"] };\n}\n\n/** The response of a ElasticBackupVault list operation. */\nexport interface _ElasticBackupVaultListResult {\n /** The ElasticBackupVault items on this page */\n value: ElasticBackupVault[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _elasticBackupVaultListResultDeserializer(\n item: any,\n): _ElasticBackupVaultListResult {\n return {\n value: elasticBackupVaultArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function elasticBackupVaultArraySerializer(result: Array<ElasticBackupVault>): any[] {\n return result.map((item) => {\n return elasticBackupVaultSerializer(item);\n });\n}\n\nexport function elasticBackupVaultArrayDeserializer(result: Array<ElasticBackupVault>): any[] {\n return result.map((item) => {\n return elasticBackupVaultDeserializer(item);\n });\n}\n\n/** NetApp Elastic Backup Policy resource */\nexport interface ElasticBackupPolicy extends TrackedResource {\n /** The resource-specific properties for this resource. */\n properties?: ElasticBackupPolicyProperties;\n /** If eTag is provided in the response body, it may also be provided as a header per the normal etag convention. Entity tags are used for comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range (section 14.27) header fields. */\n readonly eTag?: string;\n}\n\nexport function elasticBackupPolicySerializer(item: ElasticBackupPolicy): any {\n return {\n tags: item[\"tags\"],\n location: item[\"location\"],\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : elasticBackupPolicyPropertiesSerializer(item[\"properties\"]),\n };\n}\n\nexport function elasticBackupPolicyDeserializer(item: any): ElasticBackupPolicy {\n return {\n tags: item[\"tags\"],\n location: item[\"location\"],\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : elasticBackupPolicyPropertiesDeserializer(item[\"properties\"]),\n eTag: item[\"eTag\"],\n };\n}\n\n/** Elastic Backup Policy properties */\nexport interface ElasticBackupPolicyProperties {\n /** Azure lifecycle management. */\n readonly provisioningState?: NetAppProvisioningState;\n /** Daily backups count to keep */\n dailyBackupsToKeep?: number;\n /** Weekly backups count to keep */\n weeklyBackupsToKeep?: number;\n /** Monthly backups count to keep */\n monthlyBackupsToKeep?: number;\n /** The number of volumes currently using this Backup Policy. */\n readonly assignedVolumesCount?: number;\n /** The property to identify whether Backup Policy is enabled or not */\n policyState?: ElasticBackupPolicyState;\n}\n\nexport function elasticBackupPolicyPropertiesSerializer(item: ElasticBackupPolicyProperties): any {\n return {\n dailyBackupsToKeep: item[\"dailyBackupsToKeep\"],\n weeklyBackupsToKeep: item[\"weeklyBackupsToKeep\"],\n monthlyBackupsToKeep: item[\"monthlyBackupsToKeep\"],\n policyState: item[\"policyState\"],\n };\n}\n\nexport function elasticBackupPolicyPropertiesDeserializer(\n item: any,\n): ElasticBackupPolicyProperties {\n return {\n provisioningState: item[\"provisioningState\"],\n dailyBackupsToKeep: item[\"dailyBackupsToKeep\"],\n weeklyBackupsToKeep: item[\"weeklyBackupsToKeep\"],\n monthlyBackupsToKeep: item[\"monthlyBackupsToKeep\"],\n assignedVolumesCount: item[\"assignedVolumesCount\"],\n policyState: item[\"policyState\"],\n };\n}\n\n/** Elastic Backup Policy state */\nexport enum KnownElasticBackupPolicyState {\n /** Value indicating the policy is enabled */\n Enabled = \"Enabled\",\n /** Value indicating the policy is disabled */\n Disabled = \"Disabled\",\n}\n\n/**\n * Elastic Backup Policy state \\\n * {@link KnownElasticBackupPolicyState} can be used interchangeably with ElasticBackupPolicyState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Enabled**: Value indicating the policy is enabled \\\n * **Disabled**: Value indicating the policy is disabled\n */\nexport type ElasticBackupPolicyState = string;\n\n/** The type used for update operations of the ElasticBackupPolicy. */\nexport interface ElasticBackupPolicyUpdate {\n /** Resource tags. */\n tags?: Record<string, string>;\n /** The resource-specific properties for this resource. */\n properties?: ElasticBackupPolicyUpdateProperties;\n}\n\nexport function elasticBackupPolicyUpdateSerializer(item: ElasticBackupPolicyUpdate): any {\n return {\n tags: item[\"tags\"],\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : elasticBackupPolicyUpdatePropertiesSerializer(item[\"properties\"]),\n };\n}\n\n/** The updatable properties of the ElasticBackupPolicy. */\nexport interface ElasticBackupPolicyUpdateProperties {\n /** Daily backups count to keep */\n dailyBackupsToKeep?: number;\n /** Weekly backups count to keep */\n weeklyBackupsToKeep?: number;\n /** Monthly backups count to keep */\n monthlyBackupsToKeep?: number;\n /** The property to identify whether Backup Policy is enabled or not */\n policyState?: ElasticBackupPolicyState;\n}\n\nexport function elasticBackupPolicyUpdatePropertiesSerializer(\n item: ElasticBackupPolicyUpdateProperties,\n): any {\n return {\n dailyBackupsToKeep: item[\"dailyBackupsToKeep\"],\n weeklyBackupsToKeep: item[\"weeklyBackupsToKeep\"],\n monthlyBackupsToKeep: item[\"monthlyBackupsToKeep\"],\n policyState: item[\"policyState\"],\n };\n}\n\n/** The response of a ElasticBackupPolicy list operation. */\nexport interface _ElasticBackupPolicyListResult {\n /** The ElasticBackupPolicy items on this page */\n value: ElasticBackupPolicy[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _elasticBackupPolicyListResultDeserializer(\n item: any,\n): _ElasticBackupPolicyListResult {\n return {\n value: elasticBackupPolicyArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function elasticBackupPolicyArraySerializer(result: Array<ElasticBackupPolicy>): any[] {\n return result.map((item) => {\n return elasticBackupPolicySerializer(item);\n });\n}\n\nexport function elasticBackupPolicyArrayDeserializer(result: Array<ElasticBackupPolicy>): any[] {\n return result.map((item) => {\n return elasticBackupPolicyDeserializer(item);\n });\n}\n\n/** NetApp Elastic Backup under an elastic Backup Vault */\nexport interface ElasticBackup extends ProxyResource {\n /** The resource-specific properties for this resource. */\n properties?: ElasticBackupProperties;\n}\n\nexport function elasticBackupSerializer(item: ElasticBackup): any {\n return {\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : elasticBackupPropertiesSerializer(item[\"properties\"]),\n };\n}\n\nexport function elasticBackupDeserializer(item: any): ElasticBackup {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : elasticBackupPropertiesDeserializer(item[\"properties\"]),\n };\n}\n\n/** Elastic Backup properties */\nexport interface ElasticBackupProperties {\n /** The creation date of the backup */\n readonly creationDate?: Date;\n /** The snapshot creation date of the backup */\n readonly snapshotCreationDate?: Date;\n /** The completion date of the backup */\n readonly completionDate?: Date;\n /** Azure lifecycle management. */\n readonly provisioningState?: NetAppProvisioningState;\n /** Size of backup in bytes */\n readonly size?: number;\n /** Label for backup */\n label?: string;\n /** Type of backup Manual or Scheduled */\n readonly backupType?: ElasticBackupType;\n /** Failure reason */\n readonly failureReason?: string;\n /** ResourceId used to identify the Elastic Volume */\n elasticVolumeResourceId: string;\n /** Manual backup using an already existing snapshot. This will always be CreateNewSnapshot for scheduled backups and UseExistingSnapshot/CreateNewSnapshot for manual backups */\n snapshotUsage?: SnapshotUsage;\n /** ResourceId used to identify the elastic snapshot resource. This is required when an existing snapshot needs to be used for creating a manual backup */\n elasticSnapshotResourceId?: string;\n /** ResourceId used to identify the elastic backup policy */\n readonly elasticBackupPolicyResourceId?: string;\n /** Specifies if the backup is for a large volume. */\n readonly volumeSize?: VolumeSize;\n}\n\nexport function elasticBackupPropertiesSerializer(item: ElasticBackupProperties): any {\n return {\n label: item[\"label\"],\n elasticVolumeResourceId: item[\"elasticVolumeResourceId\"],\n snapshotUsage: item[\"snapshotUsage\"],\n elasticSnapshotResourceId: item[\"elasticSnapshotResourceId\"],\n };\n}\n\nexport function elasticBackupPropertiesDeserializer(item: any): ElasticBackupProperties {\n return {\n creationDate: !item[\"creationDate\"] ? item[\"creationDate\"] : new Date(item[\"creationDate\"]),\n snapshotCreationDate: !item[\"snapshotCreationDate\"]\n ? item[\"snapshotCreationDate\"]\n : new Date(item[\"snapshotCreationDate\"]),\n completionDate: !item[\"completionDate\"]\n ? item[\"completionDate\"]\n : new Date(item[\"completionDate\"]),\n provisioningState: item[\"provisioningState\"],\n size: item[\"size\"],\n label: item[\"label\"],\n backupType: item[\"backupType\"],\n failureReason: item[\"failureReason\"],\n elasticVolumeResourceId: item[\"elasticVolumeResourceId\"],\n snapshotUsage: item[\"snapshotUsage\"],\n elasticSnapshotResourceId: item[\"elasticSnapshotResourceId\"],\n elasticBackupPolicyResourceId: item[\"elasticBackupPolicyResourceId\"],\n volumeSize: item[\"volumeSize\"],\n };\n}\n\n/** Type of backup */\nexport enum KnownElasticBackupType {\n /** Manual backup type */\n Manual = \"Manual\",\n /** Scheduled backup type */\n Scheduled = \"Scheduled\",\n}\n\n/**\n * Type of backup \\\n * {@link KnownElasticBackupType} can be used interchangeably with ElasticBackupType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Manual**: Manual backup type \\\n * **Scheduled**: Scheduled backup type\n */\nexport type ElasticBackupType = string;\n\n/** Snapshot usage for backup */\nexport enum KnownSnapshotUsage {\n /** Value indicating an existing snapshot is used */\n UseExistingSnapshot = \"UseExistingSnapshot\",\n /** Value indicating a new snapshot is created */\n CreateNewSnapshot = \"CreateNewSnapshot\",\n}\n\n/**\n * Snapshot usage for backup \\\n * {@link KnownSnapshotUsage} can be used interchangeably with SnapshotUsage,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **UseExistingSnapshot**: Value indicating an existing snapshot is used \\\n * **CreateNewSnapshot**: Value indicating a new snapshot is created\n */\nexport type SnapshotUsage = string;\n\n/** Volume size for backup */\nexport enum KnownVolumeSize {\n /** Value indicating backup is for a large volume */\n Large = \"Large\",\n /** Value indicating backup is not for a large volume */\n Regular = \"Regular\",\n}\n\n/**\n * Volume size for backup \\\n * {@link KnownVolumeSize} can be used interchangeably with VolumeSize,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Large**: Value indicating backup is for a large volume \\\n * **Regular**: Value indicating backup is not for a large volume\n */\nexport type VolumeSize = string;\n\n/** The response of a ElasticBackup list operation. */\nexport interface _ElasticBackupListResult {\n /** The ElasticBackup items on this page */\n value: ElasticBackup[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _elasticBackupListResultDeserializer(item: any): _ElasticBackupListResult {\n return {\n value: elasticBackupArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function elasticBackupArraySerializer(result: Array<ElasticBackup>): any[] {\n return result.map((item) => {\n return elasticBackupSerializer(item);\n });\n}\n\nexport function elasticBackupArrayDeserializer(result: Array<ElasticBackup>): any[] {\n return result.map((item) => {\n return elasticBackupDeserializer(item);\n });\n}\n\n/** Active Directory Configuration resource */\nexport interface ActiveDirectoryConfig extends TrackedResource {\n /** The resource-specific properties for this resource. */\n properties?: ActiveDirectoryConfigProperties;\n /** \"If etag is provided in the response body, it may also be provided as a header per the normal etag convention. Entity tags are used for comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range (section 14.27) header fields.\") */\n readonly etag?: string;\n /** The managed service identities assigned to this resource. */\n identity?: ManagedServiceIdentity;\n}\n\nexport function activeDirectoryConfigSerializer(item: ActiveDirectoryConfig): any {\n return {\n tags: item[\"tags\"],\n location: item[\"location\"],\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : activeDirectoryConfigPropertiesSerializer(item[\"properties\"]),\n identity: !item[\"identity\"]\n ? item[\"identity\"]\n : managedServiceIdentitySerializer(item[\"identity\"]),\n };\n}\n\nexport function activeDirectoryConfigDeserializer(item: any): ActiveDirectoryConfig {\n return {\n tags: item[\"tags\"],\n location: item[\"location\"],\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : activeDirectoryConfigPropertiesDeserializer(item[\"properties\"]),\n etag: item[\"etag\"],\n identity: !item[\"identity\"]\n ? item[\"identity\"]\n : managedServiceIdentityDeserializer(item[\"identity\"]),\n };\n}\n\n/** Active Directory Configuration properties */\nexport interface ActiveDirectoryConfigProperties {\n /** A domain user account with permission to create machine accounts */\n userName?: string;\n /** An array of DNS server IP addresses(IPv4 only) for the Active Directory */\n dns?: string[];\n /** NetBIOS name of the SMB server. This name will be registered as a computer account in the AD and used to mount volumes */\n smbServerName?: string;\n /** The Organizational Unit (OU) within the Windows Active Directory */\n organizationalUnit?: string;\n /** The Active Directory site the service will limit Domain Controller discovery to */\n site?: string;\n /** Users to be added to the Built-in Backup Operator active directory group. A list of unique usernames without domain specifier */\n backupOperators?: string[];\n /** Users to be added to the Built-in Administrators active directory group. A list of unique usernames without domain specifier */\n administrators?: string[];\n /** Domain Users in the Active directory to be given SecurityPrivilege privilege (Needed for SMB Continuously available shares for SQL). A list of unique usernames without domain specifier */\n securityOperators?: string[];\n /** Status of the Active Directory */\n readonly activeDirectoryStatus?: ActiveDirectoryStatus;\n /** Azure lifecycle management. */\n readonly provisioningState?: NetAppProvisioningState;\n /** Name of the Active Directory domain */\n domain: string;\n /** Access password from Azure KeyVault Secrets to connect Active Directory */\n secretPassword: SecretPassword;\n}\n\nexport function activeDirectoryConfigPropertiesSerializer(\n item: ActiveDirectoryConfigProperties,\n): any {\n return {\n userName: item[\"userName\"],\n dns: !item[\"dns\"]\n ? item[\"dns\"]\n : item[\"dns\"].map((p: any) => {\n return p;\n }),\n smbServerName: item[\"smbServerName\"],\n organizationalUnit: item[\"organizationalUnit\"],\n site: item[\"site\"],\n backupOperators: !item[\"backupOperators\"]\n ? item[\"backupOperators\"]\n : item[\"backupOperators\"].map((p: any) => {\n return p;\n }),\n administrators: !item[\"administrators\"]\n ? item[\"administrators\"]\n : item[\"administrators\"].map((p: any) => {\n return p;\n }),\n securityOperators: !item[\"securityOperators\"]\n ? item[\"securityOperators\"]\n : item[\"securityOperators\"].map((p: any) => {\n return p;\n }),\n domain: item[\"domain\"],\n secretPassword: secretPasswordSerializer(item[\"secretPassword\"]),\n };\n}\n\nexport function activeDirectoryConfigPropertiesDeserializer(\n item: any,\n): ActiveDirectoryConfigProperties {\n return {\n userName: item[\"userName\"],\n dns: !item[\"dns\"]\n ? item[\"dns\"]\n : item[\"dns\"].map((p: any) => {\n return p;\n }),\n smbServerName: item[\"smbServerName\"],\n organizationalUnit: item[\"organizationalUnit\"],\n site: item[\"site\"],\n backupOperators: !item[\"backupOperators\"]\n ? item[\"backupOperators\"]\n : item[\"backupOperators\"].map((p: any) => {\n return p;\n }),\n administrators: !item[\"administrators\"]\n ? item[\"administrators\"]\n : item[\"administrators\"].map((p: any) => {\n return p;\n }),\n securityOperators: !item[\"securityOperators\"]\n ? item[\"securityOperators\"]\n : item[\"securityOperators\"].map((p: any) => {\n return p;\n }),\n activeDirectoryStatus: item[\"activeDirectoryStatus\"],\n provisioningState: item[\"provisioningState\"],\n domain: item[\"domain\"],\n secretPassword: secretPasswordDeserializer(item[\"secretPassword\"]),\n };\n}\n\n/** Status of the Active Directory */\nexport enum KnownActiveDirectoryStatus {\n /** Active Directory created but not in use */\n Created = \"Created\",\n /** Active Directory in use by SMB Volume */\n InUse = \"InUse\",\n /** Active Directory Deleted */\n Deleted = \"Deleted\",\n /** Error with the Active Directory */\n Error = \"Error\",\n /** Active Directory Updating */\n Updating = \"Updating\",\n}\n\n/**\n * Status of the Active Directory \\\n * {@link KnownActiveDirectoryStatus} can be used interchangeably with ActiveDirectoryStatus,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Created**: Active Directory created but not in use \\\n * **InUse**: Active Directory in use by SMB Volume \\\n * **Deleted**: Active Directory Deleted \\\n * **Error**: Error with the Active Directory \\\n * **Updating**: Active Directory Updating\n */\nexport type ActiveDirectoryStatus = string;\n\n/** Access password from Azure KeyVault Secrets to connect Active Directory */\nexport interface SecretPassword {\n /** Properties provided by KeyVault. */\n keyVaultProperties?: SecretPasswordKeyVaultProperties;\n /** Identity used to authenticate to KeyVault. Applicable if keySource is 'Microsoft.KeyVault'. */\n identity?: SecretPasswordIdentity;\n}\n\nexport function secretPasswordSerializer(item: SecretPassword): any {\n return {\n keyVaultProperties: !item[\"keyVaultProperties\"]\n ? item[\"keyVaultProperties\"]\n : secretPasswordKeyVaultPropertiesSerializer(item[\"keyVaultProperties\"]),\n identity: !item[\"identity\"]\n ? item[\"identity\"]\n : secretPasswordIdentitySerializer(item[\"identity\"]),\n };\n}\n\nexport function secretPasswordDeserializer(item: any): SecretPassword {\n return {\n keyVaultProperties: !item[\"keyVaultProperties\"]\n ? item[\"keyVaultProperties\"]\n : secretPasswordKeyVaultPropertiesDeserializer(item[\"keyVaultProperties\"]),\n identity: !item[\"identity\"]\n ? item[\"identity\"]\n : secretPasswordIdentityDeserializer(item[\"identity\"]),\n };\n}\n\n/** Properties of key vault to get the secrets for password. */\nexport interface SecretPasswordKeyVaultProperties {\n /** The Uri of KeyVault. */\n keyVaultUri: string;\n /** The name of KeyVault password secret. */\n secretName: string;\n}\n\nexport function secretPasswordKeyVaultPropertiesSerializer(\n item: SecretPasswordKeyVaultProperties,\n): any {\n return { keyVaultUri: item[\"keyVaultUri\"], secretName: item[\"secretName\"] };\n}\n\nexport function secretPasswordKeyVaultPropertiesDeserializer(\n item: any,\n): SecretPasswordKeyVaultProperties {\n return {\n keyVaultUri: item[\"keyVaultUri\"],\n secretName: item[\"secretName\"],\n };\n}\n\n/** Identity used to authenticate with key vault. */\nexport interface SecretPasswordIdentity {\n /** The principal ID (object ID) of the identity used to authenticate with key vault. Read-only. */\n readonly principalId?: string;\n /** The Azure resource identifier of the user assigned identity used to authenticate with key vault. Applicable if identity.type has 'UserAssigned'. It should match key of identity.userAssignedIdentities. */\n userAssignedIdentity?: string;\n}\n\nexport function secretPasswordIdentitySerializer(item: SecretPasswordIdentity): any {\n return { userAssignedIdentity: item[\"userAssignedIdentity\"] };\n}\n\nexport function secretPasswordIdentityDeserializer(item: any): SecretPasswordIdentity {\n return {\n principalId: item[\"principalId\"],\n userAssignedIdentity: item[\"userAssignedIdentity\"],\n };\n}\n\n/** The type used for update operations of the ActiveDirectoryConfig. */\nexport interface ActiveDirectoryConfigUpdate {\n /** The managed service identities assigned to this resource. */\n identity?: ManagedServiceIdentity;\n /** Resource tags. */\n tags?: Record<string, string>;\n /** The resource-specific properties for this resource. */\n properties?: ActiveDirectoryConfigUpdateProperties;\n}\n\nexport function activeDirectoryConfigUpdateSerializer(item: ActiveDirectoryConfigUpdate): any {\n return {\n identity: !item[\"identity\"]\n ? item[\"identity\"]\n : managedServiceIdentitySerializer(item[\"identity\"]),\n tags: item[\"tags\"],\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : activeDirectoryConfigUpdatePropertiesSerializer(item[\"properties\"]),\n };\n}\n\n/** The updatable properties of the ActiveDirectoryConfig. */\nexport interface ActiveDirectoryConfigUpdateProperties {\n /** A domain user account with permission to create machine accounts */\n userName?: string;\n /** An array of DNS server IP addresses(IPv4 only) for the Active Directory */\n dns?: string[];\n /** NetBIOS name of the SMB server. This name will be registered as a computer account in the AD and used to mount volumes */\n smbServerName?: string;\n /** The Organizational Unit (OU) within the Windows Active Directory */\n organizationalUnit?: string;\n /** The Active Directory site the service will limit Domain Controller discovery to */\n site?: string;\n /** Users to be added to the Built-in Backup Operator active directory group. A list of unique usernames without domain specifier */\n backupOperators?: string[];\n /** Users to be added to the Built-in Administrators active directory group. A list of unique usernames without domain specifier */\n administrators?: string[];\n /** Domain Users in the Active directory to be given SecurityPrivilege privilege (Needed for SMB Continuously available shares for SQL). A list of unique usernames without domain specifier */\n securityOperators?: string[];\n /** Name of the Active Directory domain */\n domain?: string;\n /** Access password from Azure KeyVault Secrets to connect Active Directory */\n secretPassword?: SecretPassword;\n}\n\nexport function activeDirectoryConfigUpdatePropertiesSerializer(\n item: ActiveDirectoryConfigUpdateProperties,\n): any {\n return {\n userName: item[\"userName\"],\n dns: !item[\"dns\"]\n ? item[\"dns\"]\n : item[\"dns\"].map((p: any) => {\n return p;\n }),\n smbServerName: item[\"smbServerName\"],\n organizationalUnit: item[\"organizationalUnit\"],\n site: item[\"site\"],\n backupOperators: !item[\"backupOperators\"]\n ? item[\"backupOperators\"]\n : item[\"backupOperators\"].map((p: any) => {\n return p;\n }),\n administrators: !item[\"administrators\"]\n ? item[\"administrators\"]\n : item[\"administrators\"].map((p: any) => {\n return p;\n }),\n securityOperators: !item[\"securityOperators\"]\n ? item[\"securityOperators\"]\n : item[\"securityOperators\"].map((p: any) => {\n return p;\n }),\n domain: item[\"domain\"],\n secretPassword: !item[\"secretPassword\"]\n ? item[\"secretPassword\"]\n : secretPasswordSerializer(item[\"secretPassword\"]),\n };\n}\n\n/** The response of a ActiveDirectoryConfig list operation. */\nexport interface _ActiveDirectoryConfigListResult {\n /** The ActiveDirectoryConfig items on this page */\n value: ActiveDirectoryConfig[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _activeDirectoryConfigListResultDeserializer(\n item: any,\n): _ActiveDirectoryConfigListResult {\n return {\n value: activeDirectoryConfigArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function activeDirectoryConfigArraySerializer(result: Array<ActiveDirectoryConfig>): any[] {\n return result.map((item) => {\n return activeDirectoryConfigSerializer(item);\n });\n}\n\nexport function activeDirectoryConfigArrayDeserializer(\n result: Array<ActiveDirectoryConfig>,\n): any[] {\n return result.map((item) => {\n return activeDirectoryConfigDeserializer(item);\n });\n}\n\n/** Information regarding regionInfo Item. */\nexport interface RegionInfoResource extends ProxyResource {\n /** regionInfo properties */\n properties?: RegionInfo;\n}\n\nexport function regionInfoResourceDeserializer(item: any): RegionInfoResource {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : regionInfoDeserializer(item[\"properties\"]),\n };\n}\n\n/** Provides region specific information. */\nexport interface RegionInfo {\n /** Provides storage to network proximity information in the region. */\n storageToNetworkProximity?: RegionStorageToNetworkProximity;\n /** Provides logical availability zone mappings for the subscription for a region. */\n availabilityZoneMappings?: RegionInfoAvailabilityZoneMappingsItem[];\n}\n\nexport function regionInfoDeserializer(item: any): RegionInfo {\n return {\n storageToNetworkProximity: item[\"storageToNetworkProximity\"],\n availabilityZoneMappings: !item[\"availabilityZoneMappings\"]\n ? item[\"availabilityZoneMappings\"]\n : regionInfoAvailabilityZoneMappingsItemArrayDeserializer(item[\"availabilityZoneMappings\"]),\n };\n}\n\n/** Provides storage to network proximity information in the region. */\nexport enum KnownRegionStorageToNetworkProximity {\n /** Basic network connectivity. */\n Default = \"Default\",\n /** Standard T1 network connectivity. */\n T1 = \"T1\",\n /** Standard T2 network connectivity. */\n T2 = \"T2\",\n /** Standard AcrossT2 network connectivity. */\n AcrossT2 = \"AcrossT2\",\n /** Standard T1 and T2 network connectivity. */\n T1AndT2 = \"T1AndT2\",\n /** Standard T1 and AcrossT2 network connectivity. */\n T1AndAcrossT2 = \"T1AndAcrossT2\",\n /** Standard T2 and AcrossT2 network connectivity. */\n T2AndAcrossT2 = \"T2AndAcrossT2\",\n /** Standard T1, T2 and AcrossT2 network connectivity. */\n T1AndT2AndAcrossT2 = \"T1AndT2AndAcrossT2\",\n}\n\n/**\n * Provides storage to network proximity information in the region. \\\n * {@link KnownRegionStorageToNetworkProximity} can be used interchangeably with RegionStorageToNetworkProximity,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Default**: Basic network connectivity. \\\n * **T1**: Standard T1 network connectivity. \\\n * **T2**: Standard T2 network connectivity. \\\n * **AcrossT2**: Standard AcrossT2 network connectivity. \\\n * **T1AndT2**: Standard T1 and T2 network connectivity. \\\n * **T1AndAcrossT2**: Standard T1 and AcrossT2 network connectivity. \\\n * **T2AndAcrossT2**: Standard T2 and AcrossT2 network connectivity. \\\n * **T1AndT2AndAcrossT2**: Standard T1, T2 and AcrossT2 network connectivity.\n */\nexport type RegionStorageToNetworkProximity = string;\n\nexport function regionInfoAvailabilityZoneMappingsItemArrayDeserializer(\n result: Array<RegionInfoAvailabilityZoneMappingsItem>,\n): any[] {\n return result.map((item) => {\n return regionInfoAvailabilityZoneMappingsItemDeserializer(item);\n });\n}\n\n/** model interface RegionInfoAvailabilityZoneMappingsItem */\nexport interface RegionInfoAvailabilityZoneMappingsItem {\n /** Logical availability zone. */\n availabilityZone?: string;\n /** Available availability zone */\n isAvailable?: boolean;\n}\n\nexport function regionInfoAvailabilityZoneMappingsItemDeserializer(\n item: any,\n): RegionInfoAvailabilityZoneMappingsItem {\n return {\n availabilityZone: item[\"availabilityZone\"],\n isAvailable: item[\"isAvailable\"],\n };\n}\n\n/** List of regionInfo resources */\nexport interface _RegionInfosList {\n /** The RegionInfoResource items on this page */\n value: RegionInfoResource[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _regionInfosListDeserializer(item: any): _RegionInfosList {\n return {\n value: regionInfoResourceArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function regionInfoResourceArrayDeserializer(result: Array<RegionInfoResource>): any[] {\n return result.map((item) => {\n return regionInfoResourceDeserializer(item);\n });\n}\n\n/** NetApp account resource */\nexport interface NetAppAccount extends TrackedResource {\n /** NetApp Account properties */\n properties?: AccountProperties;\n /** \"If etag is provided in the response body, it may also be provided as a header per the normal etag convention. Entity tags are used for comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range (section 14.27) header fields.\") */\n readonly etag?: string;\n /** The managed service identities assigned to this resource. */\n identity?: ManagedServiceIdentity;\n}\n\nexport function netAppAccountSerializer(item: NetAppAccount): any {\n return {\n tags: item[\"tags\"],\n location: item[\"location\"],\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : accountPropertiesSerializer(item[\"properties\"]),\n identity: !item[\"identity\"]\n ? item[\"identity\"]\n : managedServiceIdentitySerializer(item[\"identity\"]),\n };\n}\n\nexport function netAppAccountDeserializer(item: any): NetAppAccount {\n return {\n tags: item[\"tags\"],\n location: item[\"location\"],\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : accountPropertiesDeserializer(item[\"properties\"]),\n etag: item[\"etag\"],\n identity: !item[\"identity\"]\n ? item[\"identity\"]\n : managedServiceIdentityDeserializer(item[\"identity\"]),\n };\n}\n\n/** NetApp account properties */\nexport interface AccountProperties {\n /** Azure lifecycle management */\n readonly provisioningState?: string;\n /** Active Directories */\n activeDirectories?: ActiveDirectory[];\n /** Encryption settings */\n encryption?: AccountEncryption;\n /** Shows the status of disableShowmount for all volumes under the subscription, null equals false */\n readonly disableShowmount?: boolean | null;\n /** Domain for NFSv4 user ID mapping. This property will be set for all NetApp accounts in the subscription and region and only affect non ldap NFSv4 volumes. */\n nfsV4IDDomain?: string | null;\n /** MultiAD Status for the account */\n readonly multiAdStatus?: MultiAdStatus;\n /** LDAP Configuration for the account. */\n ldapConfiguration?: LdapConfiguration;\n}\n\nexport function accountPropertiesSerializer(item: AccountProperties): any {\n return {\n activeDirectories: !item[\"activeDirectories\"]\n ? item[\"activeDirectories\"]\n : activeDirectoryArraySerializer(item[\"activeDirectories\"]),\n encryption: !item[\"encryption\"]\n ? item[\"encryption\"]\n : accountEncryptionSerializer(item[\"encryption\"]),\n nfsV4IDDomain: item[\"nfsV4IDDomain\"],\n ldapConfiguration: !item[\"ldapConfiguration\"]\n ? item[\"ldapConfiguration\"]\n : ldapConfigurationSerializer(item[\"ldapConfiguration\"]),\n };\n}\n\nexport function accountPropertiesDeserializer(item: any): AccountProperties {\n return {\n provisioningState: item[\"provisioningState\"],\n activeDirectories: !item[\"activeDirectories\"]\n ? item[\"activeDirectories\"]\n : activeDirectoryArrayDeserializer(item[\"activeDirectories\"]),\n encryption: !item[\"encryption\"]\n ? item[\"encryption\"]\n : accountEncryptionDeserializer(item[\"encryption\"]),\n disableShowmount: item[\"disableShowmount\"],\n nfsV4IDDomain: item[\"nfsV4IDDomain\"],\n multiAdStatus: item[\"multiAdStatus\"],\n ldapConfiguration: !item[\"ldapConfiguration\"]\n ? item[\"ldapConfiguration\"]\n : ldapConfigurationDeserializer(item[\"ldapConfiguration\"]),\n };\n}\n\nexport function activeDirectoryArraySerializer(result: Array<ActiveDirectory>): any[] {\n return result.map((item) => {\n return activeDirectorySerializer(item);\n });\n}\n\nexport function activeDirectoryArrayDeserializer(result: Array<ActiveDirectory>): any[] {\n return result.map((item) => {\n return activeDirectoryDeserializer(item);\n });\n}\n\n/** Active Directory */\nexport interface ActiveDirectory {\n /** Id of the Active Directory */\n activeDirectoryId?: string | null;\n /** A domain user account with permission to create machine accounts */\n username?: string;\n /** Plain text password of Active Directory domain administrator, value is masked in the response */\n password?: string;\n /** Name of the Active Directory domain */\n domain?: string;\n /** Comma separated list of DNS server IP addresses (IPv4 only) for the Active Directory domain */\n dns?: string;\n /** Status of the Active Directory */\n readonly status?: ActiveDirectoryStatus;\n /** Any details in regards to the Status of the Active Directory */\n readonly statusDetails?: string;\n /** NetBIOS name of the SMB server. This name will be registered as a computer account in the AD and used to mount volumes */\n smbServerName?: string;\n /** The Organizational Unit (OU) within the Windows Active Directory */\n organizationalUnit?: string;\n /** The Active Directory site the service will limit Domain Controller discovery to */\n site?: string;\n /** Users to be added to the Built-in Backup Operator active directory group. A list of unique usernames without domain specifier */\n backupOperators?: string[];\n /** Users to be added to the Built-in Administrators active directory group. A list of unique usernames without domain specifier */\n administrators?: string[];\n /** kdc server IP address for the active directory machine. This optional parameter is used only while creating kerberos volume. */\n kdcIP?: string;\n /** Name of the active directory machine. This optional parameter is used only while creating kerberos volume */\n adName?: string;\n /** When LDAP over SSL/TLS is enabled, the LDAP client is required to have base64 encoded Active Directory Certificate Service's self-signed root CA certificate, this optional parameter is used only for dual protocol with LDAP user-mapping volumes. */\n serverRootCACertificate?: string;\n /** If enabled, AES encryption will be enabled for SMB communication. */\n aesEncryption?: boolean;\n /** Specifies whether or not the LDAP traffic needs to be signed. */\n ldapSigning?: boolean;\n /** Domain Users in the Active directory to be given SeSecurityPrivilege privilege (Needed for SMB Continuously available shares for SQL). A list of unique usernames without domain specifier */\n securityOperators?: string[];\n /** Specifies whether or not the LDAP traffic needs to be secured via TLS. */\n ldapOverTLS?: boolean;\n /** If enabled, NFS client local users can also (in addition to LDAP users) access the NFS volumes. */\n allowLocalNfsUsersWithLdap?: boolean;\n /** If enabled, Traffic between the SMB server to Domain Controller (DC) will be encrypted. */\n encryptDCConnections?: boolean;\n /** LDAP Search scope options */\n ldapSearchScope?: LdapSearchScopeOpt;\n /** Comma separated list of IPv4 addresses of preferred servers for LDAP client. At most two comma separated IPv4 addresses can be passed. */\n preferredServersForLdapClient?: string;\n}\n\nexport function activeDirectorySerializer(item: ActiveDirectory): any {\n return {\n activeDirectoryId: item[\"activeDirectoryId\"],\n username: item[\"username\"],\n password: item[\"password\"],\n domain: item[\"domain\"],\n dns: item[\"dns\"],\n smbServerName: item[\"smbServerName\"],\n organizationalUnit: item[\"organizationalUnit\"],\n site: item[\"site\"],\n backupOperators: !item[\"backupOperators\"]\n ? item[\"backupOperators\"]\n : item[\"backupOperators\"].map((p: any) => {\n return p;\n }),\n administrators: !item[\"administrators\"]\n ? item[\"administrators\"]\n : item[\"administrators\"].map((p: any) => {\n return p;\n }),\n kdcIP: item[\"kdcIP\"],\n adName: item[\"adName\"],\n serverRootCACertificate: item[\"serverRootCACertificate\"],\n aesEncryption: item[\"aesEncryption\"],\n ldapSigning: item[\"ldapSigning\"],\n securityOperators: !item[\"securityOperators\"]\n ? item[\"securityOperators\"]\n : item[\"securityOperators\"].map((p: any) => {\n return p;\n }),\n ldapOverTLS: item[\"ldapOverTLS\"],\n allowLocalNfsUsersWithLdap: item[\"allowLocalNfsUsersWithLdap\"],\n encryptDCConnections: item[\"encryptDCConnections\"],\n ldapSearchScope: !item[\"ldapSearchScope\"]\n ? item[\"ldapSearchScope\"]\n : ldapSearchScopeOptSerializer(item[\"ldapSearchScope\"]),\n preferredServersForLdapClient: item[\"preferredServersForLdapClient\"],\n };\n}\n\nexport function activeDirectoryDeserializer(item: any): ActiveDirectory {\n return {\n activeDirectoryId: item[\"activeDirectoryId\"],\n username: item[\"username\"],\n password: item[\"password\"],\n domain: item[\"domain\"],\n dns: item[\"dns\"],\n status: item[\"status\"],\n statusDetails: item[\"statusDetails\"],\n smbServerName: item[\"smbServerName\"],\n organizationalUnit: item[\"organizationalUnit\"],\n site: item[\"site\"],\n backupOperators: !item[\"backupOperators\"]\n ? item[\"backupOperators\"]\n : item[\"backupOperators\"].map((p: any) => {\n return p;\n }),\n administrators: !item[\"administrators\"]\n ? item[\"administrators\"]\n : item[\"administrators\"].map((p: any) => {\n return p;\n }),\n kdcIP: item[\"kdcIP\"],\n adName: item[\"adName\"],\n serverRootCACertificate: item[\"serverRootCACertificate\"],\n aesEncryption: item[\"aesEncryption\"],\n ldapSigning: item[\"ldapSigning\"],\n securityOperators: !item[\"securityOperators\"]\n ? item[\"securityOperators\"]\n : item[\"securityOperators\"].map((p: any) => {\n return p;\n }),\n ldapOverTLS: item[\"ldapOverTLS\"],\n allowLocalNfsUsersWithLdap: item[\"allowLocalNfsUsersWithLdap\"],\n encryptDCConnections: item[\"encryptDCConnections\"],\n ldapSearchScope: !item[\"ldapSearchScope\"]\n ? item[\"ldapSearchScope\"]\n : ldapSearchScopeOptDeserializer(item[\"ldapSearchScope\"]),\n preferredServersForLdapClient: item[\"preferredServersForLdapClient\"],\n };\n}\n\n/** LDAP search scope */\nexport interface LdapSearchScopeOpt {\n /** This specifies the user DN, which overrides the base DN for user lookups. */\n userDN?: string;\n /** This specifies the group DN, which overrides the base DN for group lookups. */\n groupDN?: string;\n /** This specifies the custom LDAP search filter to be used when looking up group membership from LDAP server. */\n groupMembershipFilter?: string;\n}\n\nexport function ldapSearchScopeOptSerializer(item: LdapSearchScopeOpt): any {\n return {\n userDN: item[\"userDN\"],\n groupDN: item[\"groupDN\"],\n groupMembershipFilter: item[\"groupMembershipFilter\"],\n };\n}\n\nexport function ldapSearchScopeOptDeserializer(item: any): LdapSearchScopeOpt {\n return {\n userDN: item[\"userDN\"],\n groupDN: item[\"groupDN\"],\n groupMembershipFilter: item[\"groupMembershipFilter\"],\n };\n}\n\n/** Encryption settings */\nexport interface AccountEncryption {\n /** The encryption keySource (provider). Possible values (case-insensitive): Microsoft.NetApp, Microsoft.KeyVault */\n keySource?: KeySource;\n /** Properties provided by KeVault. Applicable if keySource is 'Microsoft.KeyVault'. */\n keyVaultProperties?: KeyVaultProperties;\n /** Identity used to authenticate to KeyVault. Applicable if keySource is 'Microsoft.KeyVault'. */\n identity?: EncryptionIdentity;\n}\n\nexport function accountEncryptionSerializer(item: AccountEncryption): any {\n return {\n keySource: item[\"keySource\"],\n keyVaultProperties: !item[\"keyVaultProperties\"]\n ? item[\"keyVaultProperties\"]\n : keyVaultPropertiesSerializer(item[\"keyVaultProperties\"]),\n identity: !item[\"identity\"] ? item[\"identity\"] : encryptionIdentitySerializer(item[\"identity\"]),\n };\n}\n\nexport function accountEncryptionDeserializer(item: any): AccountEncryption {\n return {\n keySource: item[\"keySource\"],\n keyVaultProperties: !item[\"keyVaultProperties\"]\n ? item[\"keyVaultProperties\"]\n : keyVaultPropertiesDeserializer(item[\"keyVaultProperties\"]),\n identity: !item[\"identity\"]\n ? item[\"identity\"]\n : encryptionIdentityDeserializer(item[\"identity\"]),\n };\n}\n\n/** Properties of key vault. */\nexport interface KeyVaultProperties {\n /** UUID v4 used to identify the Azure Key Vault configuration */\n readonly keyVaultId?: string;\n /** The Uri of KeyVault. */\n keyVaultUri: string;\n /** The name of KeyVault key. */\n keyName: string;\n /** The resource ID of KeyVault. */\n keyVaultResourceId?: string;\n /** Status of the KeyVault connection. */\n readonly status?: KeyVaultStatus;\n}\n\nexport function keyVaultPropertiesSerializer(item: KeyVaultProperties): any {\n return {\n keyVaultUri: item[\"keyVaultUri\"],\n keyName: item[\"keyName\"],\n keyVaultResourceId: item[\"keyVaultResourceId\"],\n };\n}\n\nexport function keyVaultPropertiesDeserializer(item: any): KeyVaultProperties {\n return {\n keyVaultId: item[\"keyVaultId\"],\n keyVaultUri: item[\"keyVaultUri\"],\n keyName: item[\"keyName\"],\n keyVaultResourceId: item[\"keyVaultResourceId\"],\n status: item[\"status\"],\n };\n}\n\n/** Status of the KeyVault connection. */\nexport enum KnownKeyVaultStatus {\n /** KeyVault connection created but not in use */\n Created = \"Created\",\n /** KeyVault connection in use by SMB Volume */\n InUse = \"InUse\",\n /** KeyVault connection Deleted */\n Deleted = \"Deleted\",\n /** Error with the KeyVault connection */\n Error = \"Error\",\n /** KeyVault connection Updating */\n Updating = \"Updating\",\n}\n\n/**\n * Status of the KeyVault connection. \\\n * {@link KnownKeyVaultStatus} can be used interchangeably with KeyVaultStatus,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Created**: KeyVault connection created but not in use \\\n * **InUse**: KeyVault connection in use by SMB Volume \\\n * **Deleted**: KeyVault connection Deleted \\\n * **Error**: Error with the KeyVault connection \\\n * **Updating**: KeyVault connection Updating\n */\nexport type KeyVaultStatus = string;\n\n/** Identity used to authenticate with key vault. */\nexport interface EncryptionIdentity {\n /** The principal ID (object ID) of the identity used to authenticate with key vault. Read-only. */\n readonly principalId?: string;\n /** The ARM resource identifier of the user assigned identity used to authenticate with key vault. Applicable if identity.type has 'UserAssigned'. It should match key of identity.userAssignedIdentities. */\n userAssignedIdentity?: string;\n /** ClientId of the multi-tenant AAD Application. Used to access cross-tenant keyvaults. */\n federatedClientId?: string;\n}\n\nexport function encryptionIdentitySerializer(item: EncryptionIdentity): any {\n return {\n userAssignedIdentity: item[\"userAssignedIdentity\"],\n federatedClientId: item[\"federatedClientId\"],\n };\n}\n\nexport function encryptionIdentityDeserializer(item: any): EncryptionIdentity {\n return {\n principalId: item[\"principalId\"],\n userAssignedIdentity: item[\"userAssignedIdentity\"],\n federatedClientId: item[\"federatedClientId\"],\n };\n}\n\n/** MultiAD Status for the account */\nexport enum KnownMultiAdStatus {\n /** Account is MultiAD disabled, Means its a SharedAD or SingleAD account. */\n Disabled = \"Disabled\",\n /** Account is MultiAD enabled */\n Enabled = \"Enabled\",\n}\n\n/**\n * MultiAD Status for the account \\\n * {@link KnownMultiAdStatus} can be used interchangeably with MultiAdStatus,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Disabled**: Account is MultiAD disabled, Means its a SharedAD or SingleAD account. \\\n * **Enabled**: Account is MultiAD enabled\n */\nexport type MultiAdStatus = string;\n\n/** LDAP configuration */\nexport interface LdapConfiguration {\n /** Name of the LDAP configuration domain */\n domain?: string;\n /** List of LDAP server IP addresses (IPv4 only) for the LDAP domain. */\n ldapServers?: string[];\n /** Specifies whether or not the LDAP traffic needs to be secured via TLS. */\n ldapOverTLS?: boolean;\n /** When LDAP over SSL/TLS is enabled, the LDAP client is required to have base64 encoded ldap servers CA certificate. */\n serverCACertificate?: string;\n /** The CN host name used while generating the certificate, LDAP Over TLS requires the CN host name to create DNS host entry. */\n certificateCNHost?: string | null;\n}\n\nexport function ldapConfigurationSerializer(item: LdapConfiguration): any {\n return {\n domain: item[\"domain\"],\n ldapServers: !item[\"ldapServers\"]\n ? item[\"ldapServers\"]\n : item[\"ldapServers\"].map((p: any) => {\n return p;\n }),\n ldapOverTLS: item[\"ldapOverTLS\"],\n serverCACertificate: item[\"serverCACertificate\"],\n certificateCNHost: item[\"certificateCNHost\"],\n };\n}\n\nexport function ldapConfigurationDeserializer(item: any): LdapConfiguration {\n return {\n domain: item[\"domain\"],\n ldapServers: !item[\"ldapServers\"]\n ? item[\"ldapServers\"]\n : item[\"ldapServers\"].map((p: any) => {\n return p;\n }),\n ldapOverTLS: item[\"ldapOverTLS\"],\n serverCACertificate: item[\"serverCACertificate\"],\n certificateCNHost: item[\"certificateCNHost\"],\n };\n}\n\n/** NetApp account patch resource */\nexport interface NetAppAccountPatch {\n /** Resource location */\n location?: string;\n /** Resource Id */\n readonly id?: string;\n /** Resource name */\n readonly name?: string;\n /** Resource type */\n readonly type?: string;\n /** Resource tags */\n tags?: Record<string, string>;\n /** NetApp Account properties */\n properties?: AccountProperties;\n /** The identity used for the resource. */\n identity?: ManagedServiceIdentity;\n}\n\nexport function netAppAccountPatchSerializer(item: NetAppAccountPatch): any {\n return {\n location: item[\"location\"],\n tags: item[\"tags\"],\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : accountPropertiesSerializer(item[\"properties\"]),\n identity: !item[\"identity\"]\n ? item[\"identity\"]\n : managedServiceIdentitySerializer(item[\"identity\"]),\n };\n}\n\n/** List of NetApp account resources */\nexport interface _NetAppAccountList {\n /** The NetAppAccount items on this page */\n value: NetAppAccount[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _netAppAccountListDeserializer(item: any): _NetAppAccountList {\n return {\n value: netAppAccountArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function netAppAccountArraySerializer(result: Array<NetAppAccount>): any[] {\n return result.map((item) => {\n return netAppAccountSerializer(item);\n });\n}\n\nexport function netAppAccountArrayDeserializer(result: Array<NetAppAccount>): any[] {\n return result.map((item) => {\n return netAppAccountDeserializer(item);\n });\n}\n\n/** Encryption transition request */\nexport interface EncryptionTransitionRequest {\n /** Identifier for the virtual network */\n virtualNetworkId: string;\n /** Identifier of the private endpoint to reach the Azure Key Vault */\n privateEndpointId: string;\n}\n\nexport function encryptionTransitionRequestSerializer(item: EncryptionTransitionRequest): any {\n return {\n virtualNetworkId: item[\"virtualNetworkId\"],\n privateEndpointId: item[\"privateEndpointId\"],\n };\n}\n\n/** Result of getKeyVaultStatus with information about how volumes under NetApp account are encrypted. */\nexport interface GetKeyVaultStatusResponse {\n /** Represents the properties of the getKeyVaultStatus. */\n properties?: GetKeyVaultStatusResponseProperties;\n}\n\nexport function getKeyVaultStatusResponseDeserializer(item: any): GetKeyVaultStatusResponse {\n return {\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : getKeyVaultStatusResponsePropertiesDeserializer(item[\"properties\"]),\n };\n}\n\n/** Properties which represents Change key vault status. */\nexport interface GetKeyVaultStatusResponseProperties {\n /** The URI of the key vault/managed HSM that should be used for encryption. */\n keyVaultUri?: string;\n /** The name of the key that should be used for encryption. */\n keyName?: string;\n /** Azure resource ID of the key vault/managed HSM that should be used for encryption. */\n keyVaultResourceId?: string;\n /** Pairs of virtual network ID and private endpoint ID. Every virtual network that has volumes encrypted with customer-managed keys needs its own key vault private endpoint. */\n keyVaultPrivateEndpoints?: KeyVaultPrivateEndpoint[];\n}\n\nexport function getKeyVaultStatusResponsePropertiesDeserializer(\n item: any,\n): GetKeyVaultStatusResponseProperties {\n return {\n keyVaultUri: item[\"keyVaultUri\"],\n keyName: item[\"keyName\"],\n keyVaultResourceId: item[\"keyVaultResourceId\"],\n keyVaultPrivateEndpoints: !item[\"keyVaultPrivateEndpoints\"]\n ? item[\"keyVaultPrivateEndpoints\"]\n : keyVaultPrivateEndpointArrayDeserializer(item[\"keyVaultPrivateEndpoints\"]),\n };\n}\n\nexport function keyVaultPrivateEndpointArraySerializer(\n result: Array<KeyVaultPrivateEndpoint>,\n): any[] {\n return result.map((item) => {\n return keyVaultPrivateEndpointSerializer(item);\n });\n}\n\nexport function keyVaultPrivateEndpointArrayDeserializer(\n result: Array<KeyVaultPrivateEndpoint>,\n): any[] {\n return result.map((item) => {\n return keyVaultPrivateEndpointDeserializer(item);\n });\n}\n\n/** Pairs of virtual network ID and private endpoint ID. Every virtual network that has volumes encrypted with customer-managed keys needs its own key vault private endpoint. */\nexport interface KeyVaultPrivateEndpoint {\n /** Identifier for the virtual network id */\n virtualNetworkId?: string;\n /** Identifier of the private endpoint to reach the Azure Key Vault */\n privateEndpointId?: string;\n}\n\nexport function keyVaultPrivateEndpointSerializer(item: KeyVaultPrivateEndpoint): any {\n return {\n virtualNetworkId: item[\"virtualNetworkId\"],\n privateEndpointId: item[\"privateEndpointId\"],\n };\n}\n\nexport function keyVaultPrivateEndpointDeserializer(item: any): KeyVaultPrivateEndpoint {\n return {\n virtualNetworkId: item[\"virtualNetworkId\"],\n privateEndpointId: item[\"privateEndpointId\"],\n };\n}\n\n/** Change key vault request */\nexport interface ChangeKeyVault {\n /** The URI of the key vault/managed HSM that should be used for encryption. */\n keyVaultUri: string;\n /** The name of the key that should be used for encryption. */\n keyName: string;\n /** Azure resource ID of the key vault/managed HSM that should be used for encryption. */\n keyVaultResourceId?: string;\n /** Pairs of virtual network ID and private endpoint ID. Every virtual network that has volumes encrypted with customer-managed keys needs its own key vault private endpoint. */\n keyVaultPrivateEndpoints: KeyVaultPrivateEndpoint[];\n}\n\nexport function changeKeyVaultSerializer(item: ChangeKeyVault): any {\n return {\n keyVaultUri: item[\"keyVaultUri\"],\n keyName: item[\"keyName\"],\n keyVaultResourceId: item[\"keyVaultResourceId\"],\n keyVaultPrivateEndpoints: keyVaultPrivateEndpointArraySerializer(\n item[\"keyVaultPrivateEndpoints\"],\n ),\n };\n}\n\n/** Migrate Backups Request */\nexport interface BackupsMigrationRequest {\n /** The ResourceId of the Backup Vault */\n backupVaultId: string;\n}\n\nexport function backupsMigrationRequestSerializer(item: BackupsMigrationRequest): any {\n return { backupVaultId: item[\"backupVaultId\"] };\n}\n\n/** Capacity pool resource */\nexport interface CapacityPool extends TrackedResource {\n /** Capacity pool properties */\n properties: PoolProperties;\n /** \"If etag is provided in the response body, it may also be provided as a header per the normal etag convention. Entity tags are used for comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range (section 14.27) header fields.\") */\n readonly etag?: string;\n}\n\nexport function capacityPoolSerializer(item: CapacityPool): any {\n return {\n tags: item[\"tags\"],\n location: item[\"location\"],\n properties: poolPropertiesSerializer(item[\"properties\"]),\n };\n}\n\nexport function capacityPoolDeserializer(item: any): CapacityPool {\n return {\n tags: item[\"tags\"],\n location: item[\"location\"],\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: poolPropertiesDeserializer(item[\"properties\"]),\n etag: item[\"etag\"],\n };\n}\n\n/** Pool properties */\nexport interface PoolProperties {\n /** UUID v4 used to identify the Pool */\n readonly poolId?: string;\n /** Provisioned size of the pool (in bytes). Allowed values are in 1TiB chunks (value must be multiple of 1099511627776). */\n size: number;\n /** The service level of the file system */\n serviceLevel: ServiceLevel;\n /** Azure lifecycle management */\n readonly provisioningState?: string;\n /** Total throughput of pool in MiB/s */\n readonly totalThroughputMibps?: number;\n /** Utilized throughput of pool in MiB/s */\n readonly utilizedThroughputMibps?: number;\n /** Maximum throughput in MiB/s that can be achieved by this pool and this will be accepted as input only for manual qosType pool with Flexible service level */\n customThroughputMibps?: number | null;\n /** The qos type of the pool */\n qosType?: QosType;\n /** If enabled (true) the pool can contain cool Access enabled volumes. */\n coolAccess?: boolean;\n /** Encryption type of the capacity pool, set encryption type for data at rest for this pool and all volumes in it. This value can only be set when creating new pool. */\n encryptionType?: EncryptionType | null;\n}\n\nexport function poolPropertiesSerializer(item: PoolProperties): any {\n return {\n size: item[\"size\"],\n serviceLevel: item[\"serviceLevel\"],\n customThroughputMibps: item[\"customThroughputMibps\"],\n qosType: item[\"qosType\"],\n coolAccess: item[\"coolAccess\"],\n encryptionType: item[\"encryptionType\"],\n };\n}\n\nexport function poolPropertiesDeserializer(item: any): PoolProperties {\n return {\n poolId: item[\"poolId\"],\n size: item[\"size\"],\n serviceLevel: item[\"serviceLevel\"],\n provisioningState: item[\"provisioningState\"],\n totalThroughputMibps: item[\"totalThroughputMibps\"],\n utilizedThroughputMibps: item[\"utilizedThroughputMibps\"],\n customThroughputMibps: item[\"customThroughputMibps\"],\n qosType: item[\"qosType\"],\n coolAccess: item[\"coolAccess\"],\n encryptionType: item[\"encryptionType\"],\n };\n}\n\n/** The qos type of the pool */\nexport enum KnownQosType {\n /** qos type Auto */\n Auto = \"Auto\",\n /** qos type Manual */\n Manual = \"Manual\",\n}\n\n/**\n * The qos type of the pool \\\n * {@link KnownQosType} can be used interchangeably with QosType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Auto**: qos type Auto \\\n * **Manual**: qos type Manual\n */\nexport type QosType = string;\n\n/** Encryption type of the capacity pool, set encryption type for data at rest for this pool and all volumes in it. This value can only be set when creating new pool. */\nexport enum KnownEncryptionType {\n /** EncryptionType Single, volumes will use single encryption at rest */\n Single = \"Single\",\n /** EncryptionType Double, volumes will use double encryption at rest */\n Double = \"Double\",\n}\n\n/**\n * Encryption type of the capacity pool, set encryption type for data at rest for this pool and all volumes in it. This value can only be set when creating new pool. \\\n * {@link KnownEncryptionType} can be used interchangeably with EncryptionType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Single**: EncryptionType Single, volumes will use single encryption at rest \\\n * **Double**: EncryptionType Double, volumes will use double encryption at rest\n */\nexport type EncryptionType = string;\n\n/** Capacity pool patch resource */\nexport interface CapacityPoolPatch {\n /** Resource location */\n location?: string;\n /** Resource Id */\n readonly id?: string;\n /** Resource name */\n readonly name?: string;\n /** Resource type */\n readonly type?: string;\n /** Resource tags */\n tags?: Record<string, string>;\n /** Capacity pool properties */\n properties?: PoolPatchProperties;\n}\n\nexport function capacityPoolPatchSerializer(item: CapacityPoolPatch): any {\n return {\n location: item[\"location\"],\n tags: item[\"tags\"],\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : poolPatchPropertiesSerializer(item[\"properties\"]),\n };\n}\n\n/** Patchable pool properties */\nexport interface PoolPatchProperties {\n /** Provisioned size of the pool (in bytes). Allowed values are in 1TiB chunks (value must be multiple of 1099511627776). */\n size?: number;\n /** The qos type of the pool */\n qosType?: QosType;\n /** If enabled (true) the pool can contain cool Access enabled volumes. */\n coolAccess?: boolean;\n /** Maximum throughput in MiB/s that can be achieved by this pool and this will be accepted as input only for manual qosType pool with Flexible service level */\n customThroughputMibps?: number | null;\n}\n\nexport function poolPatchPropertiesSerializer(item: PoolPatchProperties): any {\n return {\n size: item[\"size\"],\n qosType: item[\"qosType\"],\n coolAccess: item[\"coolAccess\"],\n customThroughputMibps: item[\"customThroughputMibps\"],\n };\n}\n\n/** List of capacity pool resources */\nexport interface _CapacityPoolList {\n /** The CapacityPool items on this page */\n value: CapacityPool[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _capacityPoolListDeserializer(item: any): _CapacityPoolList {\n return {\n value: capacityPoolArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function capacityPoolArraySerializer(result: Array<CapacityPool>): any[] {\n return result.map((item) => {\n return capacityPoolSerializer(item);\n });\n}\n\nexport function capacityPoolArrayDeserializer(result: Array<CapacityPool>): any[] {\n return result.map((item) => {\n return capacityPoolDeserializer(item);\n });\n}\n\n/** Restore payload for Single File Backup Restore */\nexport interface BackupRestoreFiles {\n /** List of files to be restored */\n fileList: string[];\n /** Destination folder where the files will be restored. The path name should start with a forward slash. If it is omitted from request then restore is done at the root folder of the destination volume by default */\n restoreFilePath?: string;\n /** Resource Id of the destination volume on which the files need to be restored */\n destinationVolumeId: string;\n}\n\nexport function backupRestoreFilesSerializer(item: BackupRestoreFiles): any {\n return {\n fileList: item[\"fileList\"].map((p: any) => {\n return p;\n }),\n restoreFilePath: item[\"restoreFilePath\"],\n destinationVolumeId: item[\"destinationVolumeId\"],\n };\n}\n\n/** Subvolume Information properties */\nexport interface SubvolumeInfo extends ProxyResource {\n /** Subvolume Properties */\n properties?: SubvolumeProperties;\n}\n\nexport function subvolumeInfoSerializer(item: SubvolumeInfo): any {\n return {\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : subvolumePropertiesSerializer(item[\"properties\"]),\n };\n}\n\nexport function subvolumeInfoDeserializer(item: any): SubvolumeInfo {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : subvolumePropertiesDeserializer(item[\"properties\"]),\n };\n}\n\n/** This represents path associated with the subvolume */\nexport interface SubvolumeProperties {\n /** Path to the subvolume */\n path?: string;\n /** Truncate subvolume to the provided size in bytes */\n size?: number | null;\n /** parent path to the subvolume */\n parentPath?: string | null;\n /** Azure lifecycle management */\n readonly provisioningState?: string;\n}\n\nexport function subvolumePropertiesSerializer(item: SubvolumeProperties): any {\n return {\n path: item[\"path\"],\n size: item[\"size\"],\n parentPath: item[\"parentPath\"],\n };\n}\n\nexport function subvolumePropertiesDeserializer(item: any): SubvolumeProperties {\n return {\n path: item[\"path\"],\n size: item[\"size\"],\n parentPath: item[\"parentPath\"],\n provisioningState: item[\"provisioningState\"],\n };\n}\n\n/** Subvolume Patch Request properties */\nexport interface SubvolumePatchRequest {\n /** Subvolume Properties */\n properties?: SubvolumePatchParams;\n}\n\nexport function subvolumePatchRequestSerializer(item: SubvolumePatchRequest): any {\n return {\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : subvolumePatchParamsSerializer(item[\"properties\"]),\n };\n}\n\n/** Parameters with which a subvolume can be updated */\nexport interface SubvolumePatchParams {\n /** Truncate subvolume to the provided size in bytes */\n size?: number | null;\n /** path to the subvolume */\n path?: string;\n}\n\nexport function subvolumePatchParamsSerializer(item: SubvolumePatchParams): any {\n return { size: item[\"size\"], path: item[\"path\"] };\n}\n\n/** List of Subvolumes */\nexport interface _SubvolumesList {\n /** The SubvolumeInfo items on this page */\n value: SubvolumeInfo[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _subvolumesListDeserializer(item: any): _SubvolumesList {\n return {\n value: subvolumeInfoArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function subvolumeInfoArraySerializer(result: Array<SubvolumeInfo>): any[] {\n return result.map((item) => {\n return subvolumeInfoSerializer(item);\n });\n}\n\nexport function subvolumeInfoArrayDeserializer(result: Array<SubvolumeInfo>): any[] {\n return result.map((item) => {\n return subvolumeInfoDeserializer(item);\n });\n}\n\n/** Result of the post subvolume and action is to get metadata of the subvolume. */\nexport interface SubvolumeModel {\n /** Resource Id */\n readonly id?: string;\n /** Resource name */\n readonly name?: string;\n /** Resource type */\n readonly type?: string;\n /** It represents the minimal properties of the subvolume. */\n properties?: SubvolumeModelProperties;\n}\n\nexport function subvolumeModelDeserializer(item: any): SubvolumeModel {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : subvolumeModelPropertiesDeserializer(item[\"properties\"]),\n };\n}\n\n/** Properties which represents actual subvolume model which is stored as a file in the system. */\nexport interface SubvolumeModelProperties {\n /** Path to the subvolume */\n path?: string;\n /** Path to the parent subvolume */\n parentPath?: string;\n /** Size of subvolume */\n size?: number;\n /** Bytes used */\n bytesUsed?: number;\n /** Permissions of the subvolume */\n permissions?: string;\n /** Creation time and date */\n creationTimeStamp?: Date;\n /** Most recent access time and date */\n accessedTimeStamp?: Date;\n /** Most recent modification time and date */\n modifiedTimeStamp?: Date;\n /** Most recent change time and date */\n changedTimeStamp?: Date;\n /** Azure lifecycle management */\n provisioningState?: string;\n}\n\nexport function subvolumeModelPropertiesDeserializer(item: any): SubvolumeModelProperties {\n return {\n path: item[\"path\"],\n parentPath: item[\"parentPath\"],\n size: item[\"size\"],\n bytesUsed: item[\"bytesUsed\"],\n permissions: item[\"permissions\"],\n creationTimeStamp: !item[\"creationTimeStamp\"]\n ? item[\"creationTimeStamp\"]\n : new Date(item[\"creationTimeStamp\"]),\n accessedTimeStamp: !item[\"accessedTimeStamp\"]\n ? item[\"accessedTimeStamp\"]\n : new Date(item[\"accessedTimeStamp\"]),\n modifiedTimeStamp: !item[\"modifiedTimeStamp\"]\n ? item[\"modifiedTimeStamp\"]\n : new Date(item[\"modifiedTimeStamp\"]),\n changedTimeStamp: !item[\"changedTimeStamp\"]\n ? item[\"changedTimeStamp\"]\n : new Date(item[\"changedTimeStamp\"]),\n provisioningState: item[\"provisioningState\"],\n };\n}\n\n/** Resource name availability request content. */\nexport interface ResourceNameAvailabilityRequest {\n /** Resource name to verify. */\n name: string;\n /** Resource type used for verification. */\n type: CheckNameResourceTypes;\n /** Resource group name. */\n resourceGroup: string;\n}\n\nexport function resourceNameAvailabilityRequestSerializer(\n item: ResourceNameAvailabilityRequest,\n): any {\n return {\n name: item[\"name\"],\n type: item[\"type\"],\n resourceGroup: item[\"resourceGroup\"],\n };\n}\n\n/** Resource type used for verification. */\nexport enum KnownCheckNameResourceTypes {\n /** Microsoft.NetApp/netAppAccounts */\n MicrosoftNetAppNetAppAccounts = \"Microsoft.NetApp/netAppAccounts\",\n /** Microsoft.NetApp/netAppAccounts/capacityPools */\n MicrosoftNetAppNetAppAccountsCapacityPools = \"Microsoft.NetApp/netAppAccounts/capacityPools\",\n /** Microsoft.NetApp/netAppAccounts/capacityPools/volumes */\n MicrosoftNetAppNetAppAccountsCapacityPoolsVolumes = \"Microsoft.NetApp/netAppAccounts/capacityPools/volumes\",\n /** Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots */\n MicrosoftNetAppNetAppAccountsCapacityPoolsVolumesSnapshots = \"Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots\",\n /** ANF Backup under a volume , deprecated, use `Microsoft.NetApp/netAppAccounts/backupVaults/backups` instead. */\n MicrosoftNetAppNetAppAccountsBackupVaultsBackups = \"Microsoft.NetApp/netAppAccounts/backupVaults/backups\",\n /** ANF Backup under a Backup Vault */\n MicrosoftNetAppNetAppAccountsCapacityPoolsVolumesBackups = \"Microsoft.NetApp/netAppAccounts/capacityPools/volumes/backups\",\n}\n\n/**\n * Resource type used for verification. \\\n * {@link KnownCheckNameResourceTypes} can be used interchangeably with CheckNameResourceTypes,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Microsoft.NetApp\\/netAppAccounts** \\\n * **Microsoft.NetApp\\/netAppAccounts\\/capacityPools** \\\n * **Microsoft.NetApp\\/netAppAccounts\\/capacityPools\\/volumes** \\\n * **Microsoft.NetApp\\/netAppAccounts\\/capacityPools\\/volumes\\/snapshots** \\\n * **Microsoft.NetApp\\/netAppAccounts\\/backupVaults\\/backups**: ANF Backup under a volume , deprecated, use `Microsoft.NetApp\\/netAppAccounts\\/backupVaults\\/backups` instead. \\\n * **Microsoft.NetApp\\/netAppAccounts\\/capacityPools\\/volumes\\/backups**: ANF Backup under a Backup Vault\n */\nexport type CheckNameResourceTypes = string;\n\n/** Information regarding availability of a resource. */\nexport interface CheckAvailabilityResponse {\n /** <code>true</code> indicates name is valid and available. <code>false</code> indicates the name is invalid, unavailable, or both. */\n isAvailable?: boolean;\n /** <code>Invalid</code> indicates the name provided does not match Azure App Service naming requirements. <code>AlreadyExists</code> indicates that the name is already in use and is therefore unavailable. */\n reason?: InAvailabilityReasonType;\n /** If reason == invalid, provide the user with the reason why the given name is invalid, and provide the resource naming requirements so that the user can select a valid name. If reason == AlreadyExists, explain that resource name is already in use, and direct them to select a different name. */\n message?: string;\n}\n\nexport function checkAvailabilityResponseDeserializer(item: any): CheckAvailabilityResponse {\n return {\n isAvailable: item[\"isAvailable\"],\n reason: item[\"reason\"],\n message: item[\"message\"],\n };\n}\n\n/** <code>Invalid</code> indicates the name provided does not match Azure App Service naming requirements. <code>AlreadyExists</code> indicates that the name is already in use and is therefore unavailable. */\nexport enum KnownInAvailabilityReasonType {\n /** Invalid */\n Invalid = \"Invalid\",\n /** AlreadyExists */\n AlreadyExists = \"AlreadyExists\",\n}\n\n/**\n * <code>Invalid</code> indicates the name provided does not match Azure App Service naming requirements. <code>AlreadyExists</code> indicates that the name is already in use and is therefore unavailable. \\\n * {@link KnownInAvailabilityReasonType} can be used interchangeably with InAvailabilityReasonType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Invalid** \\\n * **AlreadyExists**\n */\nexport type InAvailabilityReasonType = string;\n\n/** File path availability request content - availability is based on the name and the subnetId. */\nexport interface FilePathAvailabilityRequest {\n /** File path to verify. */\n name: string;\n /** The Azure Resource URI for a delegated subnet. Must have the delegation Microsoft.NetApp/volumes */\n subnetId: string;\n /** The Azure Resource logical availability zone which is used within zone mapping lookup for the subscription and region. The lookup will retrieve the physical zone where volume is placed. */\n availabilityZone?: string | null;\n}\n\nexport function filePathAvailabilityRequestSerializer(item: FilePathAvailabilityRequest): any {\n return {\n name: item[\"name\"],\n subnetId: item[\"subnetId\"],\n availabilityZone: item[\"availabilityZone\"],\n };\n}\n\n/** Quota availability request content. */\nexport interface QuotaAvailabilityRequest {\n /** Name of the resource to verify. */\n name: string;\n /** Resource type used for verification. */\n type: CheckQuotaNameResourceTypes;\n /** Resource group name. */\n resourceGroup: string;\n}\n\nexport function quotaAvailabilityRequestSerializer(item: QuotaAvailabilityRequest): any {\n return {\n name: item[\"name\"],\n type: item[\"type\"],\n resourceGroup: item[\"resourceGroup\"],\n };\n}\n\n/** Resource type used for verification. */\nexport enum KnownCheckQuotaNameResourceTypes {\n /** Microsoft.NetApp/netAppAccounts */\n MicrosoftNetAppNetAppAccounts = \"Microsoft.NetApp/netAppAccounts\",\n /** Microsoft.NetApp/netAppAccounts/capacityPools */\n MicrosoftNetAppNetAppAccountsCapacityPools = \"Microsoft.NetApp/netAppAccounts/capacityPools\",\n /** Microsoft.NetApp/netAppAccounts/capacityPools/volumes */\n MicrosoftNetAppNetAppAccountsCapacityPoolsVolumes = \"Microsoft.NetApp/netAppAccounts/capacityPools/volumes\",\n /** Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots */\n MicrosoftNetAppNetAppAccountsCapacityPoolsVolumesSnapshots = \"Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots\",\n /** ANF Backup under a volume , deprecated, use `Microsoft.NetApp/netAppAccounts/backupVaults/backups` instead. */\n MicrosoftNetAppNetAppAccountsBackupVaultsBackups = \"Microsoft.NetApp/netAppAccounts/backupVaults/backups\",\n /** ANF Backup under a Backup Vault */\n MicrosoftNetAppNetAppAccountsCapacityPoolsVolumesBackups = \"Microsoft.NetApp/netAppAccounts/capacityPools/volumes/backups\",\n}\n\n/**\n * Resource type used for verification. \\\n * {@link KnownCheckQuotaNameResourceTypes} can be used interchangeably with CheckQuotaNameResourceTypes,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Microsoft.NetApp\\/netAppAccounts** \\\n * **Microsoft.NetApp\\/netAppAccounts\\/capacityPools** \\\n * **Microsoft.NetApp\\/netAppAccounts\\/capacityPools\\/volumes** \\\n * **Microsoft.NetApp\\/netAppAccounts\\/capacityPools\\/volumes\\/snapshots** \\\n * **Microsoft.NetApp\\/netAppAccounts\\/backupVaults\\/backups**: ANF Backup under a volume , deprecated, use `Microsoft.NetApp\\/netAppAccounts\\/backupVaults\\/backups` instead. \\\n * **Microsoft.NetApp\\/netAppAccounts\\/capacityPools\\/volumes\\/backups**: ANF Backup under a Backup Vault\n */\nexport type CheckQuotaNameResourceTypes = string;\n\n/** Network sibling set query. */\nexport interface QueryNetworkSiblingSetRequest {\n /** Network Sibling Set ID for a group of volumes sharing networking resources in a subnet. */\n networkSiblingSetId: string;\n /** The Azure Resource URI for a delegated subnet. Must have the delegation Microsoft.NetApp/volumes. Example /subscriptions/subscriptionId/resourceGroups/resourceGroup/providers/Microsoft.Network/virtualNetworks/testVnet/subnets/{mySubnet} */\n subnetId: string;\n}\n\nexport function queryNetworkSiblingSetRequestSerializer(item: QueryNetworkSiblingSetRequest): any {\n return {\n networkSiblingSetId: item[\"networkSiblingSetId\"],\n subnetId: item[\"subnetId\"],\n };\n}\n\n/** Describes the contents of a network sibling set. */\nexport interface NetworkSiblingSet {\n /** Network Sibling Set ID for a group of volumes sharing networking resources in a subnet. */\n networkSiblingSetId?: string;\n /** The Azure Resource URI for a delegated subnet. Must have the delegation Microsoft.NetApp/volumes. Example /subscriptions/subscriptionId/resourceGroups/resourceGroup/providers/Microsoft.Network/virtualNetworks/testVnet/subnets/{mySubnet} */\n subnetId?: string;\n /** Network sibling set state Id identifying the current state of the sibling set. */\n networkSiblingSetStateId?: string;\n /** Network features available to the volume, or current state of update. */\n networkFeatures?: NetworkFeatures;\n /** Gets the status of the NetworkSiblingSet at the time the operation was called. */\n readonly provisioningState?: NetworkSiblingSetProvisioningState;\n /** List of NIC information */\n nicInfoList?: NicInfo[];\n}\n\nexport function networkSiblingSetDeserializer(item: any): NetworkSiblingSet {\n return {\n networkSiblingSetId: item[\"networkSiblingSetId\"],\n subnetId: item[\"subnetId\"],\n networkSiblingSetStateId: item[\"networkSiblingSetStateId\"],\n networkFeatures: item[\"networkFeatures\"],\n provisioningState: item[\"provisioningState\"],\n nicInfoList: !item[\"nicInfoList\"]\n ? item[\"nicInfoList\"]\n : nicInfoArrayDeserializer(item[\"nicInfoList\"]),\n };\n}\n\n/** Gets the status of the NetworkSiblingSet at the time the operation was called. */\nexport enum KnownNetworkSiblingSetProvisioningState {\n /** Succeeded */\n Succeeded = \"Succeeded\",\n /** Failed */\n Failed = \"Failed\",\n /** Canceled */\n Canceled = \"Canceled\",\n /** Updating */\n Updating = \"Updating\",\n}\n\n/**\n * Gets the status of the NetworkSiblingSet at the time the operation was called. \\\n * {@link KnownNetworkSiblingSetProvisioningState} can be used interchangeably with NetworkSiblingSetProvisioningState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Succeeded** \\\n * **Failed** \\\n * **Canceled** \\\n * **Updating**\n */\nexport type NetworkSiblingSetProvisioningState = string;\n\nexport function nicInfoArrayDeserializer(result: Array<NicInfo>): any[] {\n return result.map((item) => {\n return nicInfoDeserializer(item);\n });\n}\n\n/** NIC information and list of volumes for which the NIC has the primary mount IP Address. */\nexport interface NicInfo {\n /** IP Address */\n readonly ipAddress?: string;\n /** Volume resource Ids */\n volumeResourceIds?: string[];\n}\n\nexport function nicInfoDeserializer(item: any): NicInfo {\n return {\n ipAddress: item[\"ipAddress\"],\n volumeResourceIds: !item[\"volumeResourceIds\"]\n ? item[\"volumeResourceIds\"]\n : item[\"volumeResourceIds\"].map((p: any) => {\n return p;\n }),\n };\n}\n\n/** Network sibling set update. */\nexport interface UpdateNetworkSiblingSetRequest {\n /** Network Sibling Set ID for a group of volumes sharing networking resources in a subnet. */\n networkSiblingSetId: string;\n /** The Azure Resource URI for a delegated subnet. Must have the delegation Microsoft.NetApp/volumes. Example /subscriptions/subscriptionId/resourceGroups/resourceGroup/providers/Microsoft.Network/virtualNetworks/testVnet/subnets/{mySubnet} */\n subnetId: string;\n /** Network sibling set state Id identifying the current state of the sibling set. */\n networkSiblingSetStateId: string;\n /** Network features available to the volume. */\n networkFeatures: NetworkFeatures;\n}\n\nexport function updateNetworkSiblingSetRequestSerializer(\n item: UpdateNetworkSiblingSetRequest,\n): any {\n return {\n networkSiblingSetId: item[\"networkSiblingSetId\"],\n subnetId: item[\"subnetId\"],\n networkSiblingSetStateId: item[\"networkSiblingSetStateId\"],\n networkFeatures: item[\"networkFeatures\"],\n };\n}\n\n/** Usages result */\nexport interface _UsagesListResult {\n /** The UsageResult items on this page */\n value: UsageResult[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _usagesListResultDeserializer(item: any): _UsagesListResult {\n return {\n value: usageResultArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function usageResultArrayDeserializer(result: Array<UsageResult>): any[] {\n return result.map((item) => {\n return usageResultDeserializer(item);\n });\n}\n\n/** Usages entity model */\nexport interface UsageResult {\n /** The id of the usage. */\n readonly id?: string;\n /** The name of the usage. */\n readonly name?: UsageName;\n /** Usage properties */\n properties?: UsageProperties;\n}\n\nexport function usageResultDeserializer(item: any): UsageResult {\n return {\n id: item[\"id\"],\n name: !item[\"name\"] ? item[\"name\"] : usageNameDeserializer(item[\"name\"]),\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : usagePropertiesDeserializer(item[\"properties\"]),\n };\n}\n\n/** The name of the usage. */\nexport interface UsageName {\n /** The name of the usage. */\n value?: string;\n /** The localized name of the usage. */\n localizedValue?: string;\n}\n\nexport function usageNameDeserializer(item: any): UsageName {\n return {\n value: item[\"value\"],\n localizedValue: item[\"localizedValue\"],\n };\n}\n\n/** Usage properties */\nexport interface UsageProperties {\n /** The current usage value for the subscription. */\n readonly currentValue?: number;\n /** The limit of the usage. */\n readonly limit?: number;\n /** The unit of the usage. */\n readonly unit?: string;\n}\n\nexport function usagePropertiesDeserializer(item: any): UsageProperties {\n return {\n currentValue: item[\"currentValue\"],\n limit: item[\"limit\"],\n unit: item[\"unit\"],\n };\n}\n\n/** The available API versions. */\nexport enum KnownVersions {\n /** The 2025-06-01 API version. */\n V20250601 = \"2025-06-01\",\n /** The 2025-07-01-preview API version. */\n V20250701Preview = \"2025-07-01-preview\",\n /** The 2025-08-01 API version. */\n V20250801 = \"2025-08-01\",\n /** The 2025-08-01-preview API version. */\n V20250801Preview = \"2025-08-01-preview\",\n /** The 2025-09-01 API version. */\n V20250901 = \"2025-09-01\",\n /** The 2025-09-01-preview API version. */\n V20250901Preview = \"2025-09-01-preview\",\n}\n"]}
|