From d20d911129b5c8493fa8dd2f4701859a9927ab95 Mon Sep 17 00:00:00 2001 From: SDKAuto Date: Tue, 16 Nov 2021 13:36:29 +0000 Subject: [PATCH] CodeGen from PR 16381 in Azure/azure-rest-api-specs Merge 7094a0b7c7912b5d10bd3ce694a4c05f8b802e85 into 08999b02aaf0dc3d8ad597edb21b98f98ee2b2b9 --- sdk/netapp/arm-netapp/package.json | 2 +- .../src/azureNetAppFilesManagementClient.ts | 2 + ...azureNetAppFilesManagementClientContext.ts | 2 +- .../src/models/accountBackupsMappers.ts | 2 + .../arm-netapp/src/models/accountsMappers.ts | 2 + .../src/models/backupPoliciesMappers.ts | 2 + .../arm-netapp/src/models/backupsMappers.ts | 2 + sdk/netapp/arm-netapp/src/models/index.ts | 509 ++++++++- sdk/netapp/arm-netapp/src/models/mappers.ts | 962 ++++++++++++++---- .../netAppResourceQuotaLimitsMappers.ts | 2 + .../arm-netapp/src/models/parameters.ts | 15 + .../arm-netapp/src/models/poolsMappers.ts | 2 + .../src/models/snapshotPoliciesMappers.ts | 2 + .../arm-netapp/src/models/snapshotsMappers.ts | 2 + .../arm-netapp/src/models/vaultsMappers.ts | 2 + .../src/models/volumeGroupsMappers.ts | 54 + .../arm-netapp/src/models/volumesMappers.ts | 2 + sdk/netapp/arm-netapp/src/operations/index.ts | 1 + .../arm-netapp/src/operations/volumeGroups.ts | 287 ++++++ 19 files changed, 1658 insertions(+), 196 deletions(-) create mode 100644 sdk/netapp/arm-netapp/src/models/volumeGroupsMappers.ts create mode 100644 sdk/netapp/arm-netapp/src/operations/volumeGroups.ts diff --git a/sdk/netapp/arm-netapp/package.json b/sdk/netapp/arm-netapp/package.json index 115c440a92c3..80240354162e 100644 --- a/sdk/netapp/arm-netapp/package.json +++ b/sdk/netapp/arm-netapp/package.json @@ -27,7 +27,7 @@ "rollup-plugin-sourcemaps": "^0.4.2", "uglify-js": "^3.6.0" }, - "homepage": "https://github.com/Azure/azure-sdk-for-js/tree/feature/v4/sdk/netapp/arm-netapp", + "homepage": "https://github.com/Azure/azure-sdk-for-js/tree/master/sdk/netapp/arm-netapp", "repository": { "type": "git", "url": "https://github.com/Azure/azure-sdk-for-js.git" diff --git a/sdk/netapp/arm-netapp/src/azureNetAppFilesManagementClient.ts b/sdk/netapp/arm-netapp/src/azureNetAppFilesManagementClient.ts index 1ff5d6d4ca30..57986294a50e 100644 --- a/sdk/netapp/arm-netapp/src/azureNetAppFilesManagementClient.ts +++ b/sdk/netapp/arm-netapp/src/azureNetAppFilesManagementClient.ts @@ -29,6 +29,7 @@ class AzureNetAppFilesManagementClient extends AzureNetAppFilesManagementClientC accountBackups: operations.AccountBackups; backupPolicies: operations.BackupPolicies; vaults: operations.Vaults; + volumeGroups: operations.VolumeGroups; /** * Initializes a new instance of the AzureNetAppFilesManagementClient class. @@ -56,6 +57,7 @@ class AzureNetAppFilesManagementClient extends AzureNetAppFilesManagementClientC this.accountBackups = new operations.AccountBackups(this); this.backupPolicies = new operations.BackupPolicies(this); this.vaults = new operations.Vaults(this); + this.volumeGroups = new operations.VolumeGroups(this); } } diff --git a/sdk/netapp/arm-netapp/src/azureNetAppFilesManagementClientContext.ts b/sdk/netapp/arm-netapp/src/azureNetAppFilesManagementClientContext.ts index 2be902ac304d..1f64d734daa6 100644 --- a/sdk/netapp/arm-netapp/src/azureNetAppFilesManagementClientContext.ts +++ b/sdk/netapp/arm-netapp/src/azureNetAppFilesManagementClientContext.ts @@ -50,7 +50,7 @@ export class AzureNetAppFilesManagementClientContext extends msRestAzure.AzureSe super(credentials, options); - this.apiVersion = '2021-06-01'; + this.apiVersion = '2021-08-01'; this.acceptLanguage = 'en-US'; this.longRunningOperationRetryTimeout = 30; this.baseUri = options.baseUri || this.baseUri || "https://management.azure.com"; diff --git a/sdk/netapp/arm-netapp/src/models/accountBackupsMappers.ts b/sdk/netapp/arm-netapp/src/models/accountBackupsMappers.ts index 580151675a70..864677910846 100644 --- a/sdk/netapp/arm-netapp/src/models/accountBackupsMappers.ts +++ b/sdk/netapp/arm-netapp/src/models/accountBackupsMappers.ts @@ -27,6 +27,7 @@ export { MountTargetProperties, NetAppAccount, NetAppAccountPatch, + PlacementKeyValuePairs, ProxyResource, ReplicationObject, Resource, @@ -39,6 +40,7 @@ export { Volume, VolumeBackupProperties, VolumeBackups, + VolumeGroupVolumeProperties, VolumePatch, VolumePatchPropertiesDataProtection, VolumePatchPropertiesExportPolicy, diff --git a/sdk/netapp/arm-netapp/src/models/accountsMappers.ts b/sdk/netapp/arm-netapp/src/models/accountsMappers.ts index 2dbc04f2e7ac..453c9c894dc4 100644 --- a/sdk/netapp/arm-netapp/src/models/accountsMappers.ts +++ b/sdk/netapp/arm-netapp/src/models/accountsMappers.ts @@ -27,6 +27,7 @@ export { NetAppAccount, NetAppAccountList, NetAppAccountPatch, + PlacementKeyValuePairs, ProxyResource, ReplicationObject, Resource, @@ -39,6 +40,7 @@ export { Volume, VolumeBackupProperties, VolumeBackups, + VolumeGroupVolumeProperties, VolumePatch, VolumePatchPropertiesDataProtection, VolumePatchPropertiesExportPolicy, diff --git a/sdk/netapp/arm-netapp/src/models/backupPoliciesMappers.ts b/sdk/netapp/arm-netapp/src/models/backupPoliciesMappers.ts index 673a1e64d8d9..569d9fc25ac5 100644 --- a/sdk/netapp/arm-netapp/src/models/backupPoliciesMappers.ts +++ b/sdk/netapp/arm-netapp/src/models/backupPoliciesMappers.ts @@ -27,6 +27,7 @@ export { MountTargetProperties, NetAppAccount, NetAppAccountPatch, + PlacementKeyValuePairs, ProxyResource, ReplicationObject, Resource, @@ -39,6 +40,7 @@ export { Volume, VolumeBackupProperties, VolumeBackups, + VolumeGroupVolumeProperties, VolumePatch, VolumePatchPropertiesDataProtection, VolumePatchPropertiesExportPolicy, diff --git a/sdk/netapp/arm-netapp/src/models/backupsMappers.ts b/sdk/netapp/arm-netapp/src/models/backupsMappers.ts index 427ac245a686..2aa3e8ddb91a 100644 --- a/sdk/netapp/arm-netapp/src/models/backupsMappers.ts +++ b/sdk/netapp/arm-netapp/src/models/backupsMappers.ts @@ -28,6 +28,7 @@ export { MountTargetProperties, NetAppAccount, NetAppAccountPatch, + PlacementKeyValuePairs, ProxyResource, ReplicationObject, Resource, @@ -41,6 +42,7 @@ export { Volume, VolumeBackupProperties, VolumeBackups, + VolumeGroupVolumeProperties, VolumePatch, VolumePatchPropertiesDataProtection, VolumePatchPropertiesExportPolicy, diff --git a/sdk/netapp/arm-netapp/src/models/index.ts b/sdk/netapp/arm-netapp/src/models/index.ts index 0a594d0abef0..5aa716c614d2 100644 --- a/sdk/netapp/arm-netapp/src/models/index.ts +++ b/sdk/netapp/arm-netapp/src/models/index.ts @@ -121,7 +121,13 @@ export interface MetricSpecification { * Log Definition of a single resource metric. */ export interface LogSpecification { + /** + * Name of log specification. + */ name?: string; + /** + * Display name of log specification. + */ displayName?: string; } @@ -133,6 +139,9 @@ export interface ServiceSpecification { * Metric specifications of operation. */ metricSpecifications?: MetricSpecification[]; + /** + * Log specification of operation. + */ logSpecifications?: LogSpecification[]; } @@ -307,11 +316,6 @@ export interface ProxyResource extends Resource { * Information regarding Subscription Quota Item. */ export interface SubscriptionQuotaItem extends ProxyResource { - /** - * Quota Item name - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly subscriptionQuotaItemName?: string; /** * The current quota value. * **NOTE: This property will not be serialized. It can only be populated by the server.** @@ -426,6 +430,10 @@ export interface ActiveDirectory { * volumes. */ allowLocalNfsUsersWithLdap?: boolean; + /** + * If enabled, Traffic between the SMB server to Domain Controller (DC) will be encrypted. + */ + encryptDCConnections?: boolean; } /** @@ -839,6 +847,20 @@ export interface VolumePropertiesDataProtection { snapshot?: VolumeSnapshotProperties; } +/** + * Application specific parameters for the placement of volumes in the volume group + */ +export interface PlacementKeyValuePairs { + /** + * Key for an application specific parameter for the placement of volumes in the volume group + */ + key: string; + /** + * Value for an application specific parameter for the placement of volumes in the volume group + */ + value: string; +} + /** * Volume resource */ @@ -985,7 +1007,8 @@ export interface Volume extends BaseResource { */ smbContinuouslyAvailable?: boolean; /** - * Maximum throughput in Mibps that can be achieved by this volume. Default value: 0. + * Maximum throughput in Mibps that can be achieved by this volume and this will be accepted as + * input only for manual qosType volume. Default value: 0. */ throughputMibps?: number; /** @@ -1039,6 +1062,33 @@ export interface Volume extends BaseResource { * 4 KiBs applies. Default value: 0. */ defaultGroupQuotaInKiBs?: number; + /** + * Volume Group Name + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly volumeGroupName?: string; + /** + * Pool Resource Id used in case of creating a volume through volume group + */ + capacityPoolResourceId?: string; + /** + * Proximity placement group associated with the volume + */ + proximityPlacementGroup?: string; + /** + * T2 network information + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly t2Network?: string; + /** + * Volume spec name is the application specific designation or identifier for the particular + * volume in a volume group for e.g. data, log + */ + volumeSpecName?: string; + /** + * Volume placement rules. Application specific placement rules for the particular volume + */ + placementRules?: PlacementKeyValuePairs[]; } /** @@ -1156,7 +1206,8 @@ export interface VolumePatch extends BaseResource { */ exportPolicy?: VolumePatchPropertiesExportPolicy; /** - * Maximum throughput in Mibps that can be achieved by this volume. + * Maximum throughput in Mibps that can be achieved by this volume and this will be accepted as + * input only for manual qosType volume. Default value: 0. */ throughputMibps?: number; /** @@ -1534,7 +1585,7 @@ export interface SnapshotPolicyVolumeList { /** * List of volumes */ - value?: any[]; + value?: Volume[]; } /** @@ -1751,11 +1802,6 @@ export interface BackupPolicy extends BaseResource { * Resource tags */ tags?: { [propertyName: string]: string }; - /** - * Name of backup policy - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly name1?: string; /** * Backup Policy Resource ID * **NOTE: This property will not be serialized. It can only be populated by the server.** @@ -1821,11 +1867,6 @@ export interface BackupPolicyDetails extends BaseResource { * Resource tags */ tags?: { [propertyName: string]: string }; - /** - * Name of backup policy - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly name1?: string; /** * Backup Policy Resource ID * **NOTE: This property will not be serialized. It can only be populated by the server.** @@ -1891,11 +1932,6 @@ export interface BackupPolicyPatch extends BaseResource { * Resource tags */ tags?: { [propertyName: string]: string }; - /** - * Name of backup policy - * **NOTE: This property will not be serialized. It can only be populated by the server.** - */ - readonly name1?: string; /** * Backup Policy Resource ID * **NOTE: This property will not be serialized. It can only be populated by the server.** @@ -2045,6 +2081,337 @@ export interface RestoreStatus { readonly totalTransferBytes?: number; } +/** + * Volume group properties + */ +export interface VolumeGroupMetaData { + /** + * Group Description + */ + groupDescription?: string; + /** + * Application Type. Possible values include: 'SAP-HANA' + */ + applicationType?: ApplicationType; + /** + * Application specific identifier + */ + applicationIdentifier?: string; + /** + * Global volume placement rules. Application specific placement rules for the volume group + */ + globalPlacementRules?: PlacementKeyValuePairs[]; + /** + * Application specific identifier of deployment rules for the volume group + */ + deploymentSpecId?: string; + /** + * Number of volumes in volume group + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly volumesCount?: number; +} + +/** + * Volume group resource + */ +export interface VolumeGroup { + /** + * Resource location + */ + location?: string; + /** + * Resource Id + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly id?: string; + /** + * Resource name + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly name?: string; + /** + * Resource type + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly type?: string; + /** + * Resource tags + */ + tags?: { [propertyName: string]: string }; + /** + * Azure lifecycle management + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly provisioningState?: string; + /** + * groupMetaData. Volume group details + */ + groupMetaData?: VolumeGroupMetaData; +} + +/** + * Volume resource + */ +export interface VolumeGroupVolumeProperties extends BaseResource { + /** + * Resource Id + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly id?: string; + /** + * Resource name + */ + name?: string; + /** + * Resource type + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly type?: string; + /** + * Resource tags + */ + tags?: { [propertyName: string]: string }; + /** + * FileSystem ID. Unique FileSystem Identifier. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly fileSystemId?: string; + /** + * Creation Token or File Path. A unique file path for the volume. Used when creating mount + * targets + */ + creationToken: string; + /** + * serviceLevel. Possible values include: 'Standard', 'Premium', 'Ultra', 'StandardZRS'. Default + * value: 'Premium'. + */ + serviceLevel?: ServiceLevel; + /** + * usageThreshold. Maximum storage quota allowed for a file system in bytes. This is a soft quota + * used for alerting only. Minimum size is 100 GiB. Upper limit is 100TiB. Specified in bytes. + * Default value: 107374182400. + */ + usageThreshold: number; + /** + * exportPolicy. Set of export policy rules + */ + exportPolicy?: VolumePropertiesExportPolicy; + /** + * protocolTypes. Set of protocol types, default NFSv3, CIFS for SMB protocol + */ + protocolTypes?: string[]; + /** + * Azure lifecycle management + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly provisioningState?: string; + /** + * Snapshot ID. UUID v4 or resource identifier used to identify the Snapshot. + */ + snapshotId?: string; + /** + * Backup ID. UUID v4 or resource identifier used to identify the Backup. + */ + backupId?: string; + /** + * Baremetal Tenant ID. Unique Baremetal Tenant Identifier. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly baremetalTenantId?: string; + /** + * The Azure Resource URI for a delegated subnet. Must have the delegation + * Microsoft.NetApp/volumes + */ + subnetId: string; + /** + * Network features. Basic network, or Standard features available to the volume. Possible values + * include: 'Basic', 'Standard'. Default value: 'Basic'. + */ + networkFeatures?: NetworkFeatures; + /** + * Network Sibling Set ID. Network Sibling Set ID for the the group of volumes sharing networking + * resources. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly networkSiblingSetId?: string; + /** + * Storage to Network Proximity. Provides storage to network proximity information for the + * volume. Possible values include: 'Default', 'T1', 'T2' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly storageToNetworkProximity?: VolumeStorageToNetworkProximity; + /** + * mountTargets. List of mount targets + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly mountTargets?: MountTargetProperties[]; + /** + * What type of volume is this. For destination volumes in Cross Region Replication, set type to + * DataProtection + */ + volumeType?: string; + /** + * DataProtection. DataProtection type volumes include an object containing details of the + * replication + */ + dataProtection?: VolumePropertiesDataProtection; + /** + * Restoring + */ + isRestoring?: boolean; + /** + * If enabled (true) the volume will contain a read-only snapshot directory which provides access + * to each of the volume's snapshots (default to true). Default value: true. + */ + snapshotDirectoryVisible?: boolean; + /** + * Describe if a volume is KerberosEnabled. To be use with swagger version 2020-05-01 or later. + * Default value: false. + */ + kerberosEnabled?: boolean; + /** + * The security style of volume, default unix, defaults to ntfs for dual protocol or CIFS + * protocol. Possible values include: 'ntfs', 'unix'. Default value: 'unix'. + */ + securityStyle?: SecurityStyle; + /** + * Enables encryption for in-flight smb3 data. Only applicable for SMB/DualProtocol volume. To be + * used with swagger version 2020-08-01 or later. Default value: false. + */ + smbEncryption?: boolean; + /** + * Enables continuously available share property for smb volume. Only applicable for SMB volume. + * Default value: false. + */ + smbContinuouslyAvailable?: boolean; + /** + * Maximum throughput in Mibps that can be achieved by this volume and this will be accepted as + * input only for manual qosType volume. Default value: 0. + */ + throughputMibps?: number; + /** + * Encryption Key Source. Possible values are: 'Microsoft.NetApp' + */ + encryptionKeySource?: string; + /** + * Specifies whether LDAP is enabled or not for a given NFS volume. Default value: false. + */ + ldapEnabled?: boolean; + /** + * Specifies whether Cool Access(tiering) is enabled for the volume. Default value: false. + */ + coolAccess?: boolean; + /** + * Specifies the number of days after which data that is not accessed by clients will be tiered. + */ + coolnessPeriod?: number; + /** + * 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. Default + * value: '0770'. + */ + unixPermissions?: string; + /** + * 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. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly cloneProgress?: number; + /** + * avsDataStore. Specifies whether the volume is enabled for Azure VMware Solution (AVS) + * datastore purpose. Possible values include: 'Enabled', 'Disabled'. Default value: 'Disabled'. + */ + avsDataStore?: AvsDataStore; + /** + * Specifies if default quota is enabled for the volume. Default value: false. + */ + isDefaultQuotaEnabled?: boolean; + /** + * Default user quota for volume in KiBs. If isDefaultQuotaEnabled is set, the minimum value of 4 + * KiBs applies . Default value: 0. + */ + defaultUserQuotaInKiBs?: number; + /** + * Default group quota for volume in KiBs. If isDefaultQuotaEnabled is set, the minimum value of + * 4 KiBs applies. Default value: 0. + */ + defaultGroupQuotaInKiBs?: number; + /** + * Volume Group Name + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly volumeGroupName?: string; + /** + * Pool Resource Id used in case of creating a volume through volume group + */ + capacityPoolResourceId?: string; + /** + * Proximity placement group associated with the volume + */ + proximityPlacementGroup?: string; + /** + * T2 network information + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly t2Network?: string; + /** + * Volume spec name is the application specific designation or identifier for the particular + * volume in a volume group for e.g. data, log + */ + volumeSpecName?: string; + /** + * Volume placement rules. Application specific placement rules for the particular volume + */ + placementRules?: PlacementKeyValuePairs[]; +} + +/** + * Volume group resource for create + */ +export interface VolumeGroupDetails { + /** + * Resource location + */ + location?: string; + /** + * Resource Id + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly id?: string; + /** + * Resource name + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly name?: string; + /** + * Resource type + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly type?: string; + /** + * Resource tags + */ + tags?: { [propertyName: string]: string }; + /** + * Azure lifecycle management + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly provisioningState?: string; + /** + * groupMetaData. Volume group details + */ + groupMetaData?: VolumeGroupMetaData; + /** + * List of volumes from group + */ + volumes?: VolumeGroupVolumeProperties[]; +} + /** * The resource model definition for an Azure Resource Manager tracked top level resource which has * 'tags' and a 'location' @@ -2255,6 +2622,14 @@ export interface BackupPoliciesList extends Array { export interface VaultList extends Array { } +/** + * @interface + * List of volume group resources + * @extends Array + */ +export interface VolumeGroupList extends Array { +} + /** * Defines values for MetricAggregationType. * Possible values include: 'Average' @@ -2413,6 +2788,14 @@ export type MirrorState = 'Uninitialized' | 'Mirrored' | 'Broken'; */ export type BackupType = 'Manual' | 'Scheduled'; +/** + * Defines values for ApplicationType. + * Possible values include: 'SAP-HANA' + * @readonly + * @enum {string} + */ +export type ApplicationType = 'SAP-HANA'; + /** * Contains response data for the list operation. */ @@ -3592,3 +3975,83 @@ export type VaultsListResponse = VaultList & { parsedBody: VaultList; }; }; + +/** + * Contains response data for the listByNetAppAccount operation. + */ +export type VolumeGroupsListByNetAppAccountResponse = VolumeGroupList & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: VolumeGroupList; + }; +}; + +/** + * Contains response data for the get operation. + */ +export type VolumeGroupsGetResponse = VolumeGroupDetails & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: VolumeGroupDetails; + }; +}; + +/** + * Contains response data for the create operation. + */ +export type VolumeGroupsCreateResponse = VolumeGroupDetails & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: VolumeGroupDetails; + }; +}; + +/** + * Contains response data for the beginCreate operation. + */ +export type VolumeGroupsBeginCreateResponse = VolumeGroupDetails & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: VolumeGroupDetails; + }; +}; diff --git a/sdk/netapp/arm-netapp/src/models/mappers.ts b/sdk/netapp/arm-netapp/src/models/mappers.ts index f7a2c2334100..34c0170d50b4 100644 --- a/sdk/netapp/arm-netapp/src/models/mappers.ts +++ b/sdk/netapp/arm-netapp/src/models/mappers.ts @@ -491,13 +491,6 @@ export const SubscriptionQuotaItem: msRest.CompositeMapper = { className: "SubscriptionQuotaItem", modelProperties: { ...ProxyResource.type.modelProperties, - subscriptionQuotaItemName: { - readOnly: true, - serializedName: "properties.name", - type: { - name: "String" - } - }, current: { readOnly: true, serializedName: "properties.current", @@ -682,6 +675,12 @@ export const ActiveDirectory: msRest.CompositeMapper = { type: { name: "Boolean" } + }, + encryptDCConnections: { + serializedName: "encryptDCConnections", + type: { + name: "Boolean" + } } } } @@ -1362,6 +1361,30 @@ export const VolumePropertiesDataProtection: msRest.CompositeMapper = { } }; +export const PlacementKeyValuePairs: msRest.CompositeMapper = { + serializedName: "placementKeyValuePairs", + type: { + name: "Composite", + className: "PlacementKeyValuePairs", + modelProperties: { + key: { + required: true, + serializedName: "key", + type: { + name: "String" + } + }, + value: { + required: true, + serializedName: "value", + type: { + name: "String" + } + } + } + } +}; + export const Volume: msRest.CompositeMapper = { serializedName: "volume", type: { @@ -1616,10 +1639,6 @@ export const Volume: msRest.CompositeMapper = { throughputMibps: { serializedName: "properties.throughputMibps", defaultValue: 0, - constraints: { - InclusiveMaximum: 4500, - InclusiveMinimum: 0 - }, type: { name: "Number" } @@ -1701,6 +1720,50 @@ export const Volume: msRest.CompositeMapper = { type: { name: "Number" } + }, + volumeGroupName: { + readOnly: true, + serializedName: "properties.volumeGroupName", + type: { + name: "String" + } + }, + capacityPoolResourceId: { + serializedName: "properties.capacityPoolResourceId", + type: { + name: "String" + } + }, + proximityPlacementGroup: { + serializedName: "properties.proximityPlacementGroup", + type: { + name: "String" + } + }, + t2Network: { + readOnly: true, + serializedName: "properties.t2Network", + type: { + name: "String" + } + }, + volumeSpecName: { + serializedName: "properties.volumeSpecName", + type: { + name: "String" + } + }, + placementRules: { + serializedName: "properties.placementRules", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "PlacementKeyValuePairs" + } + } + } } } } @@ -1893,10 +1956,7 @@ export const VolumePatch: msRest.CompositeMapper = { }, throughputMibps: { serializedName: "properties.throughputMibps", - constraints: { - InclusiveMaximum: 4500, - InclusiveMinimum: 1 - }, + defaultValue: 0, type: { name: "Number" } @@ -2512,7 +2572,8 @@ export const SnapshotPolicyVolumeList: msRest.CompositeMapper = { name: "Sequence", element: { type: { - name: "Object" + name: "Composite", + className: "Volume" } } } @@ -2859,13 +2920,6 @@ export const BackupPolicy: msRest.CompositeMapper = { } } }, - name1: { - readOnly: true, - serializedName: "properties.name", - type: { - name: "String" - } - }, backupPolicyId: { readOnly: true, serializedName: "properties.backupPolicyId", @@ -2972,13 +3026,6 @@ export const BackupPolicyDetails: msRest.CompositeMapper = { } } }, - name1: { - readOnly: true, - serializedName: "properties.name", - type: { - name: "String" - } - }, backupPolicyId: { readOnly: true, serializedName: "properties.backupPolicyId", @@ -3085,13 +3132,6 @@ export const BackupPolicyPatch: msRest.CompositeMapper = { } } }, - name1: { - readOnly: true, - serializedName: "properties.name", - type: { - name: "String" - } - }, backupPolicyId: { readOnly: true, serializedName: "properties.backupPolicyId", @@ -3316,201 +3356,759 @@ export const RestoreStatus: msRest.CompositeMapper = { } }; -export const TrackedResource: msRest.CompositeMapper = { - serializedName: "TrackedResource", +export const VolumeGroupMetaData: msRest.CompositeMapper = { + serializedName: "volumeGroupMetaData", type: { name: "Composite", - className: "TrackedResource", + className: "VolumeGroupMetaData", modelProperties: { - ...Resource.type.modelProperties, - tags: { - serializedName: "tags", + groupDescription: { + serializedName: "groupDescription", type: { - name: "Dictionary", - value: { - type: { - name: "String" - } - } + name: "String" } }, - location: { - required: true, - serializedName: "location", + applicationType: { + serializedName: "applicationType", type: { name: "String" } - } - } - } -}; - -export const AzureEntityResource: msRest.CompositeMapper = { - serializedName: "AzureEntityResource", - type: { - name: "Composite", - className: "AzureEntityResource", - modelProperties: { - ...Resource.type.modelProperties, - etag: { - readOnly: true, - serializedName: "etag", + }, + applicationIdentifier: { + serializedName: "applicationIdentifier", type: { name: "String" } - } - } - } -}; - -export const OperationListResult: msRest.CompositeMapper = { - serializedName: "OperationListResult", - type: { - name: "Composite", - className: "OperationListResult", - modelProperties: { - value: { - serializedName: "", + }, + globalPlacementRules: { + serializedName: "globalPlacementRules", type: { name: "Sequence", element: { type: { name: "Composite", - className: "Operation" + className: "PlacementKeyValuePairs" } } } - } - } - } -}; - -export const SubscriptionQuotaItemList: msRest.CompositeMapper = { - serializedName: "SubscriptionQuotaItemList", - type: { - name: "Composite", - className: "SubscriptionQuotaItemList", - modelProperties: { - value: { - serializedName: "", + }, + deploymentSpecId: { + serializedName: "deploymentSpecId", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "SubscriptionQuotaItem" - } - } + name: "String" + } + }, + volumesCount: { + readOnly: true, + serializedName: "volumesCount", + type: { + name: "Number" } } } } }; -export const NetAppAccountList: msRest.CompositeMapper = { - serializedName: "netAppAccountList", +export const VolumeGroup: msRest.CompositeMapper = { + serializedName: "volumeGroup", type: { name: "Composite", - className: "NetAppAccountList", + className: "VolumeGroup", modelProperties: { - value: { - serializedName: "", + location: { + serializedName: "location", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "NetAppAccount" - } - } + name: "String" } }, - nextLink: { - serializedName: "nextLink", + id: { + readOnly: true, + serializedName: "id", type: { name: "String" } - } - } - } -}; - -export const CapacityPoolList: msRest.CompositeMapper = { - serializedName: "capacityPoolList", - type: { - name: "Composite", - className: "CapacityPoolList", - modelProperties: { - value: { - serializedName: "", + }, + name: { + readOnly: true, + serializedName: "name", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "CapacityPool" - } - } + name: "String" } }, - nextLink: { - serializedName: "nextLink", + type: { + readOnly: true, + serializedName: "type", type: { name: "String" } - } - } - } -}; - -export const VolumeList: msRest.CompositeMapper = { - serializedName: "volumeList", - type: { - name: "Composite", - className: "VolumeList", - modelProperties: { - value: { - serializedName: "", + }, + tags: { + serializedName: "tags", type: { - name: "Sequence", - element: { + name: "Dictionary", + value: { type: { - name: "Composite", - className: "Volume" + name: "String" } } } }, - nextLink: { - serializedName: "nextLink", + provisioningState: { + readOnly: true, + serializedName: "properties.provisioningState", type: { name: "String" } + }, + groupMetaData: { + serializedName: "properties.groupMetaData", + type: { + name: "Composite", + className: "VolumeGroupMetaData" + } } } } }; -export const SnapshotsList: msRest.CompositeMapper = { - serializedName: "snapshotsList", +export const VolumeGroupVolumeProperties: msRest.CompositeMapper = { + serializedName: "volumeGroupVolumeProperties", type: { name: "Composite", - className: "SnapshotsList", + className: "VolumeGroupVolumeProperties", modelProperties: { - value: { - serializedName: "", + id: { + readOnly: true, + serializedName: "id", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "Snapshot" - } - } + name: "String" } - } - } - } + }, + name: { + serializedName: "name", + type: { + name: "String" + } + }, + type: { + readOnly: true, + serializedName: "type", + type: { + name: "String" + } + }, + tags: { + serializedName: "tags", + type: { + name: "Dictionary", + value: { + type: { + name: "String" + } + } + } + }, + fileSystemId: { + readOnly: true, + serializedName: "properties.fileSystemId", + constraints: { + MaxLength: 36, + MinLength: 36, + Pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/ + }, + type: { + name: "String" + } + }, + creationToken: { + required: true, + serializedName: "properties.creationToken", + constraints: { + MaxLength: 80, + MinLength: 1, + Pattern: /^[a-zA-Z][a-zA-Z0-9\-]{0,79}$/ + }, + type: { + name: "String" + } + }, + serviceLevel: { + serializedName: "properties.serviceLevel", + defaultValue: 'Premium', + type: { + name: "String" + } + }, + usageThreshold: { + required: true, + serializedName: "properties.usageThreshold", + defaultValue: 107374182400, + constraints: { + InclusiveMaximum: 109951162777600, + InclusiveMinimum: 107374182400 + }, + type: { + name: "Number" + } + }, + exportPolicy: { + serializedName: "properties.exportPolicy", + type: { + name: "Composite", + className: "VolumePropertiesExportPolicy" + } + }, + protocolTypes: { + serializedName: "properties.protocolTypes", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + provisioningState: { + readOnly: true, + serializedName: "properties.provisioningState", + type: { + name: "String" + } + }, + snapshotId: { + nullable: true, + serializedName: "properties.snapshotId", + constraints: { + MaxLength: 36, + MinLength: 36, + Pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}|(\\?([^\/]*[\/])*)([^\/]+)$/ + }, + type: { + name: "String" + } + }, + backupId: { + nullable: true, + serializedName: "properties.backupId", + constraints: { + MaxLength: 36, + MinLength: 36, + Pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}|(\\?([^\/]*[\/])*)([^\/]+)$/ + }, + type: { + name: "String" + } + }, + baremetalTenantId: { + readOnly: true, + serializedName: "properties.baremetalTenantId", + type: { + name: "String" + } + }, + subnetId: { + required: true, + serializedName: "properties.subnetId", + type: { + name: "String" + } + }, + networkFeatures: { + serializedName: "properties.networkFeatures", + defaultValue: 'Basic', + type: { + name: "String" + } + }, + networkSiblingSetId: { + readOnly: true, + serializedName: "properties.networkSiblingSetId", + constraints: { + MaxLength: 36, + MinLength: 36, + Pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/ + }, + type: { + name: "String" + } + }, + storageToNetworkProximity: { + readOnly: true, + serializedName: "properties.storageToNetworkProximity", + type: { + name: "String" + } + }, + mountTargets: { + readOnly: true, + serializedName: "properties.mountTargets", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "MountTargetProperties" + } + } + } + }, + volumeType: { + serializedName: "properties.volumeType", + type: { + name: "String" + } + }, + dataProtection: { + serializedName: "properties.dataProtection", + type: { + name: "Composite", + className: "VolumePropertiesDataProtection" + } + }, + isRestoring: { + serializedName: "properties.isRestoring", + type: { + name: "Boolean" + } + }, + snapshotDirectoryVisible: { + serializedName: "properties.snapshotDirectoryVisible", + defaultValue: true, + type: { + name: "Boolean" + } + }, + kerberosEnabled: { + serializedName: "properties.kerberosEnabled", + defaultValue: false, + type: { + name: "Boolean" + } + }, + securityStyle: { + serializedName: "properties.securityStyle", + defaultValue: 'unix', + type: { + name: "String" + } + }, + smbEncryption: { + serializedName: "properties.smbEncryption", + defaultValue: false, + type: { + name: "Boolean" + } + }, + smbContinuouslyAvailable: { + serializedName: "properties.smbContinuouslyAvailable", + defaultValue: false, + type: { + name: "Boolean" + } + }, + throughputMibps: { + serializedName: "properties.throughputMibps", + defaultValue: 0, + type: { + name: "Number" + } + }, + encryptionKeySource: { + serializedName: "properties.encryptionKeySource", + type: { + name: "String" + } + }, + ldapEnabled: { + serializedName: "properties.ldapEnabled", + defaultValue: false, + type: { + name: "Boolean" + } + }, + coolAccess: { + serializedName: "properties.coolAccess", + defaultValue: false, + type: { + name: "Boolean" + } + }, + coolnessPeriod: { + serializedName: "properties.coolnessPeriod", + constraints: { + InclusiveMaximum: 63, + InclusiveMinimum: 7 + }, + type: { + name: "Number" + } + }, + unixPermissions: { + nullable: true, + serializedName: "properties.unixPermissions", + defaultValue: '0770', + constraints: { + MaxLength: 4, + MinLength: 4 + }, + type: { + name: "String" + } + }, + cloneProgress: { + nullable: true, + readOnly: true, + serializedName: "properties.cloneProgress", + type: { + name: "Number" + } + }, + avsDataStore: { + serializedName: "properties.avsDataStore", + defaultValue: 'Disabled', + type: { + name: "String" + } + }, + isDefaultQuotaEnabled: { + serializedName: "properties.isDefaultQuotaEnabled", + defaultValue: false, + type: { + name: "Boolean" + } + }, + defaultUserQuotaInKiBs: { + serializedName: "properties.defaultUserQuotaInKiBs", + defaultValue: 0, + type: { + name: "Number" + } + }, + defaultGroupQuotaInKiBs: { + serializedName: "properties.defaultGroupQuotaInKiBs", + defaultValue: 0, + type: { + name: "Number" + } + }, + volumeGroupName: { + readOnly: true, + serializedName: "properties.volumeGroupName", + type: { + name: "String" + } + }, + capacityPoolResourceId: { + serializedName: "properties.capacityPoolResourceId", + type: { + name: "String" + } + }, + proximityPlacementGroup: { + serializedName: "properties.proximityPlacementGroup", + type: { + name: "String" + } + }, + t2Network: { + readOnly: true, + serializedName: "properties.t2Network", + type: { + name: "String" + } + }, + volumeSpecName: { + serializedName: "properties.volumeSpecName", + type: { + name: "String" + } + }, + placementRules: { + serializedName: "properties.placementRules", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "PlacementKeyValuePairs" + } + } + } + } + } + } +}; + +export const VolumeGroupDetails: msRest.CompositeMapper = { + serializedName: "volumeGroupDetails", + type: { + name: "Composite", + className: "VolumeGroupDetails", + modelProperties: { + location: { + serializedName: "location", + type: { + name: "String" + } + }, + id: { + readOnly: true, + serializedName: "id", + type: { + name: "String" + } + }, + name: { + readOnly: true, + serializedName: "name", + type: { + name: "String" + } + }, + type: { + readOnly: true, + serializedName: "type", + type: { + name: "String" + } + }, + tags: { + serializedName: "tags", + type: { + name: "Dictionary", + value: { + type: { + name: "String" + } + } + } + }, + provisioningState: { + readOnly: true, + serializedName: "properties.provisioningState", + type: { + name: "String" + } + }, + groupMetaData: { + serializedName: "properties.groupMetaData", + type: { + name: "Composite", + className: "VolumeGroupMetaData" + } + }, + volumes: { + serializedName: "properties.volumes", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "VolumeGroupVolumeProperties" + } + } + } + } + } + } +}; + +export const TrackedResource: msRest.CompositeMapper = { + serializedName: "TrackedResource", + type: { + name: "Composite", + className: "TrackedResource", + modelProperties: { + ...Resource.type.modelProperties, + tags: { + serializedName: "tags", + type: { + name: "Dictionary", + value: { + type: { + name: "String" + } + } + } + }, + location: { + required: true, + serializedName: "location", + type: { + name: "String" + } + } + } + } +}; + +export const AzureEntityResource: msRest.CompositeMapper = { + serializedName: "AzureEntityResource", + type: { + name: "Composite", + className: "AzureEntityResource", + modelProperties: { + ...Resource.type.modelProperties, + etag: { + readOnly: true, + serializedName: "etag", + type: { + name: "String" + } + } + } + } +}; + +export const OperationListResult: msRest.CompositeMapper = { + serializedName: "OperationListResult", + type: { + name: "Composite", + className: "OperationListResult", + modelProperties: { + value: { + serializedName: "", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "Operation" + } + } + } + } + } + } +}; + +export const SubscriptionQuotaItemList: msRest.CompositeMapper = { + serializedName: "SubscriptionQuotaItemList", + type: { + name: "Composite", + className: "SubscriptionQuotaItemList", + modelProperties: { + value: { + serializedName: "", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "SubscriptionQuotaItem" + } + } + } + } + } + } +}; + +export const NetAppAccountList: msRest.CompositeMapper = { + serializedName: "netAppAccountList", + type: { + name: "Composite", + className: "NetAppAccountList", + modelProperties: { + value: { + serializedName: "", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "NetAppAccount" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + +export const CapacityPoolList: msRest.CompositeMapper = { + serializedName: "capacityPoolList", + type: { + name: "Composite", + className: "CapacityPoolList", + modelProperties: { + value: { + serializedName: "", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "CapacityPool" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + +export const VolumeList: msRest.CompositeMapper = { + serializedName: "volumeList", + type: { + name: "Composite", + className: "VolumeList", + modelProperties: { + value: { + serializedName: "", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "Volume" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + +export const SnapshotsList: msRest.CompositeMapper = { + serializedName: "snapshotsList", + type: { + name: "Composite", + className: "SnapshotsList", + modelProperties: { + value: { + serializedName: "", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "Snapshot" + } + } + } + } + } + } }; export const SnapshotPoliciesList: msRest.CompositeMapper = { @@ -3600,3 +4198,25 @@ export const VaultList: msRest.CompositeMapper = { } } }; + +export const VolumeGroupList: msRest.CompositeMapper = { + serializedName: "volumeGroupList", + type: { + name: "Composite", + className: "VolumeGroupList", + modelProperties: { + value: { + serializedName: "", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "VolumeGroup" + } + } + } + } + } + } +}; diff --git a/sdk/netapp/arm-netapp/src/models/netAppResourceQuotaLimitsMappers.ts b/sdk/netapp/arm-netapp/src/models/netAppResourceQuotaLimitsMappers.ts index 4f7cc3870945..ceddd4fa3c8b 100644 --- a/sdk/netapp/arm-netapp/src/models/netAppResourceQuotaLimitsMappers.ts +++ b/sdk/netapp/arm-netapp/src/models/netAppResourceQuotaLimitsMappers.ts @@ -26,6 +26,7 @@ export { MountTargetProperties, NetAppAccount, NetAppAccountPatch, + PlacementKeyValuePairs, ProxyResource, ReplicationObject, Resource, @@ -39,6 +40,7 @@ export { Volume, VolumeBackupProperties, VolumeBackups, + VolumeGroupVolumeProperties, VolumePatch, VolumePatchPropertiesDataProtection, VolumePatchPropertiesExportPolicy, diff --git a/sdk/netapp/arm-netapp/src/models/parameters.ts b/sdk/netapp/arm-netapp/src/models/parameters.ts index 196b741086bc..75b777794582 100644 --- a/sdk/netapp/arm-netapp/src/models/parameters.ts +++ b/sdk/netapp/arm-netapp/src/models/parameters.ts @@ -153,6 +153,21 @@ export const subscriptionId: msRest.OperationURLParameter = { } } }; +export const volumeGroupName: msRest.OperationURLParameter = { + parameterPath: "volumeGroupName", + mapper: { + required: true, + serializedName: "volumeGroupName", + constraints: { + MaxLength: 64, + MinLength: 1, + Pattern: /^[a-zA-Z0-9][a-zA-Z0-9\-_]{0,63}$/ + }, + type: { + name: "String" + } + } +}; export const volumeName: msRest.OperationURLParameter = { parameterPath: "volumeName", mapper: { diff --git a/sdk/netapp/arm-netapp/src/models/poolsMappers.ts b/sdk/netapp/arm-netapp/src/models/poolsMappers.ts index aa64a08a82a7..287b0ded157c 100644 --- a/sdk/netapp/arm-netapp/src/models/poolsMappers.ts +++ b/sdk/netapp/arm-netapp/src/models/poolsMappers.ts @@ -27,6 +27,7 @@ export { MountTargetProperties, NetAppAccount, NetAppAccountPatch, + PlacementKeyValuePairs, ProxyResource, ReplicationObject, Resource, @@ -39,6 +40,7 @@ export { Volume, VolumeBackupProperties, VolumeBackups, + VolumeGroupVolumeProperties, VolumePatch, VolumePatchPropertiesDataProtection, VolumePatchPropertiesExportPolicy, diff --git a/sdk/netapp/arm-netapp/src/models/snapshotPoliciesMappers.ts b/sdk/netapp/arm-netapp/src/models/snapshotPoliciesMappers.ts index 4bb30589037a..d98d9548265f 100644 --- a/sdk/netapp/arm-netapp/src/models/snapshotPoliciesMappers.ts +++ b/sdk/netapp/arm-netapp/src/models/snapshotPoliciesMappers.ts @@ -26,6 +26,7 @@ export { MountTargetProperties, NetAppAccount, NetAppAccountPatch, + PlacementKeyValuePairs, ProxyResource, ReplicationObject, Resource, @@ -41,6 +42,7 @@ export { Volume, VolumeBackupProperties, VolumeBackups, + VolumeGroupVolumeProperties, VolumePatch, VolumePatchPropertiesDataProtection, VolumePatchPropertiesExportPolicy, diff --git a/sdk/netapp/arm-netapp/src/models/snapshotsMappers.ts b/sdk/netapp/arm-netapp/src/models/snapshotsMappers.ts index 6ec1b2ff4be0..0ef309f50693 100644 --- a/sdk/netapp/arm-netapp/src/models/snapshotsMappers.ts +++ b/sdk/netapp/arm-netapp/src/models/snapshotsMappers.ts @@ -26,6 +26,7 @@ export { MountTargetProperties, NetAppAccount, NetAppAccountPatch, + PlacementKeyValuePairs, ProxyResource, ReplicationObject, Resource, @@ -39,6 +40,7 @@ export { Volume, VolumeBackupProperties, VolumeBackups, + VolumeGroupVolumeProperties, VolumePatch, VolumePatchPropertiesDataProtection, VolumePatchPropertiesExportPolicy, diff --git a/sdk/netapp/arm-netapp/src/models/vaultsMappers.ts b/sdk/netapp/arm-netapp/src/models/vaultsMappers.ts index 037d3284c42b..248535a3382b 100644 --- a/sdk/netapp/arm-netapp/src/models/vaultsMappers.ts +++ b/sdk/netapp/arm-netapp/src/models/vaultsMappers.ts @@ -26,6 +26,7 @@ export { MountTargetProperties, NetAppAccount, NetAppAccountPatch, + PlacementKeyValuePairs, ProxyResource, ReplicationObject, Resource, @@ -39,6 +40,7 @@ export { Volume, VolumeBackupProperties, VolumeBackups, + VolumeGroupVolumeProperties, VolumePatch, VolumePatchPropertiesDataProtection, VolumePatchPropertiesExportPolicy, diff --git a/sdk/netapp/arm-netapp/src/models/volumeGroupsMappers.ts b/sdk/netapp/arm-netapp/src/models/volumeGroupsMappers.ts new file mode 100644 index 000000000000..28d776e8c09d --- /dev/null +++ b/sdk/netapp/arm-netapp/src/models/volumeGroupsMappers.ts @@ -0,0 +1,54 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +export { + AccountEncryption, + ActiveDirectory, + AzureEntityResource, + Backup, + BackupPatch, + BackupPolicy, + BackupPolicyDetails, + BackupPolicyPatch, + BaseResource, + CapacityPool, + CapacityPoolPatch, + CloudError, + DailySchedule, + ExportPolicyRule, + HourlySchedule, + MonthlySchedule, + MountTargetProperties, + NetAppAccount, + NetAppAccountPatch, + PlacementKeyValuePairs, + ProxyResource, + ReplicationObject, + Resource, + Snapshot, + SnapshotPolicy, + SubscriptionQuotaItem, + SystemData, + TrackedResource, + Vault, + Volume, + VolumeBackupProperties, + VolumeBackups, + VolumeGroup, + VolumeGroupDetails, + VolumeGroupList, + VolumeGroupMetaData, + VolumeGroupVolumeProperties, + VolumePatch, + VolumePatchPropertiesDataProtection, + VolumePatchPropertiesExportPolicy, + VolumePropertiesDataProtection, + VolumePropertiesExportPolicy, + VolumeSnapshotProperties, + WeeklySchedule +} from "../models/mappers"; diff --git a/sdk/netapp/arm-netapp/src/models/volumesMappers.ts b/sdk/netapp/arm-netapp/src/models/volumesMappers.ts index 7db07db26e8c..46aa3a8306f7 100644 --- a/sdk/netapp/arm-netapp/src/models/volumesMappers.ts +++ b/sdk/netapp/arm-netapp/src/models/volumesMappers.ts @@ -28,6 +28,7 @@ export { MountTargetProperties, NetAppAccount, NetAppAccountPatch, + PlacementKeyValuePairs, PoolChangeRequest, ProxyResource, ReplicationObject, @@ -42,6 +43,7 @@ export { Volume, VolumeBackupProperties, VolumeBackups, + VolumeGroupVolumeProperties, VolumeList, VolumePatch, VolumePatchPropertiesDataProtection, diff --git a/sdk/netapp/arm-netapp/src/operations/index.ts b/sdk/netapp/arm-netapp/src/operations/index.ts index 0dd40a92a893..8f9b8d41a186 100644 --- a/sdk/netapp/arm-netapp/src/operations/index.ts +++ b/sdk/netapp/arm-netapp/src/operations/index.ts @@ -19,3 +19,4 @@ export * from "./backups"; export * from "./accountBackups"; export * from "./backupPolicies"; export * from "./vaults"; +export * from "./volumeGroups"; diff --git a/sdk/netapp/arm-netapp/src/operations/volumeGroups.ts b/sdk/netapp/arm-netapp/src/operations/volumeGroups.ts new file mode 100644 index 000000000000..1824522b5dcc --- /dev/null +++ b/sdk/netapp/arm-netapp/src/operations/volumeGroups.ts @@ -0,0 +1,287 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is + * regenerated. + */ + +import * as msRest from "@azure/ms-rest-js"; +import * as msRestAzure from "@azure/ms-rest-azure-js"; +import * as Models from "../models"; +import * as Mappers from "../models/volumeGroupsMappers"; +import * as Parameters from "../models/parameters"; +import { AzureNetAppFilesManagementClientContext } from "../azureNetAppFilesManagementClientContext"; + +/** Class representing a VolumeGroups. */ +export class VolumeGroups { + private readonly client: AzureNetAppFilesManagementClientContext; + + /** + * Create a VolumeGroups. + * @param {AzureNetAppFilesManagementClientContext} client Reference to the service client. + */ + constructor(client: AzureNetAppFilesManagementClientContext) { + this.client = client; + } + + /** + * List all volume groups for given account + * @summary Describe all volume groups + * @param resourceGroupName The name of the resource group. + * @param accountName The name of the NetApp account + * @param [options] The optional parameters + * @returns Promise + */ + listByNetAppAccount(resourceGroupName: string, accountName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param resourceGroupName The name of the resource group. + * @param accountName The name of the NetApp account + * @param callback The callback + */ + listByNetAppAccount(resourceGroupName: string, accountName: string, callback: msRest.ServiceCallback): void; + /** + * @param resourceGroupName The name of the resource group. + * @param accountName The name of the NetApp account + * @param options The optional parameters + * @param callback The callback + */ + listByNetAppAccount(resourceGroupName: string, accountName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + listByNetAppAccount(resourceGroupName: string, accountName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + accountName, + options + }, + listByNetAppAccountOperationSpec, + callback) as Promise; + } + + /** + * Get details of the specified volume group + * @summary Describe a Volume Group + * @param resourceGroupName The name of the resource group. + * @param accountName The name of the NetApp account + * @param volumeGroupName The name of the volumeGroup + * @param [options] The optional parameters + * @returns Promise + */ + get(resourceGroupName: string, accountName: string, volumeGroupName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param resourceGroupName The name of the resource group. + * @param accountName The name of the NetApp account + * @param volumeGroupName The name of the volumeGroup + * @param callback The callback + */ + get(resourceGroupName: string, accountName: string, volumeGroupName: string, callback: msRest.ServiceCallback): void; + /** + * @param resourceGroupName The name of the resource group. + * @param accountName The name of the NetApp account + * @param volumeGroupName The name of the volumeGroup + * @param options The optional parameters + * @param callback The callback + */ + get(resourceGroupName: string, accountName: string, volumeGroupName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + get(resourceGroupName: string, accountName: string, volumeGroupName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + accountName, + volumeGroupName, + options + }, + getOperationSpec, + callback) as Promise; + } + + /** + * Create a volume group along with specified volumes + * @summary Create the specified volume group and volumes. Creating volume group will create all + * the volumes specified in request body implicitly. Once volumes are created using volume group, + * those will be treated as regular volumes thereafter. + * @param body Volume Group object supplied in the body of the operation. + * @param resourceGroupName The name of the resource group. + * @param accountName The name of the NetApp account + * @param volumeGroupName The name of the volumeGroup + * @param [options] The optional parameters + * @returns Promise + */ + create(body: Models.VolumeGroupDetails, resourceGroupName: string, accountName: string, volumeGroupName: string, options?: msRest.RequestOptionsBase): Promise { + return this.beginCreate(body,resourceGroupName,accountName,volumeGroupName,options) + .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + } + + /** + * Delete the specified volume group only if there are no volumes under volume group. + * @summary Delete a volume group + * @param resourceGroupName The name of the resource group. + * @param accountName The name of the NetApp account + * @param volumeGroupName The name of the volumeGroup + * @param [options] The optional parameters + * @returns Promise + */ + deleteMethod(resourceGroupName: string, accountName: string, volumeGroupName: string, options?: msRest.RequestOptionsBase): Promise { + return this.beginDeleteMethod(resourceGroupName,accountName,volumeGroupName,options) + .then(lroPoller => lroPoller.pollUntilFinished()); + } + + /** + * Create a volume group along with specified volumes + * @summary Create the specified volume group and volumes. Creating volume group will create all + * the volumes specified in request body implicitly. Once volumes are created using volume group, + * those will be treated as regular volumes thereafter. + * @param body Volume Group object supplied in the body of the operation. + * @param resourceGroupName The name of the resource group. + * @param accountName The name of the NetApp account + * @param volumeGroupName The name of the volumeGroup + * @param [options] The optional parameters + * @returns Promise + */ + beginCreate(body: Models.VolumeGroupDetails, resourceGroupName: string, accountName: string, volumeGroupName: string, options?: msRest.RequestOptionsBase): Promise { + return this.client.sendLRORequest( + { + body, + resourceGroupName, + accountName, + volumeGroupName, + options + }, + beginCreateOperationSpec, + options); + } + + /** + * Delete the specified volume group only if there are no volumes under volume group. + * @summary Delete a volume group + * @param resourceGroupName The name of the resource group. + * @param accountName The name of the NetApp account + * @param volumeGroupName The name of the volumeGroup + * @param [options] The optional parameters + * @returns Promise + */ + beginDeleteMethod(resourceGroupName: string, accountName: string, volumeGroupName: string, options?: msRest.RequestOptionsBase): Promise { + return this.client.sendLRORequest( + { + resourceGroupName, + accountName, + volumeGroupName, + options + }, + beginDeleteMethodOperationSpec, + options); + } +} + +// Operation Specifications +const serializer = new msRest.Serializer(Mappers); +const listByNetAppAccountOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/volumeGroups", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.accountName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.VolumeGroupList + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const getOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/volumeGroups/{volumeGroupName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.accountName, + Parameters.volumeGroupName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.VolumeGroupDetails + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const beginCreateOperationSpec: msRest.OperationSpec = { + httpMethod: "PUT", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/volumeGroups/{volumeGroupName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.accountName, + Parameters.volumeGroupName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: "body", + mapper: { + ...Mappers.VolumeGroupDetails, + required: true + } + }, + responses: { + 201: { + bodyMapper: Mappers.VolumeGroupDetails + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const beginDeleteMethodOperationSpec: msRest.OperationSpec = { + httpMethod: "DELETE", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/volumeGroups/{volumeGroupName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.accountName, + Parameters.volumeGroupName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: {}, + 202: {}, + 204: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +};