@azure/arm-elasticsan 1.0.0-beta.2 → 1.0.0-beta.3

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.
Files changed (101) hide show
  1. package/CHANGELOG.md +6 -2
  2. package/README.md +1 -1
  3. package/dist/index.js +899 -123
  4. package/dist/index.js.map +1 -1
  5. package/dist/index.min.js +1 -1
  6. package/dist/index.min.js.map +1 -1
  7. package/dist-esm/samples-dev/elasticSansCreateSample.js +7 -6
  8. package/dist-esm/samples-dev/elasticSansCreateSample.js.map +1 -1
  9. package/dist-esm/samples-dev/elasticSansDeleteSample.js +2 -2
  10. package/dist-esm/samples-dev/elasticSansGetSample.js +2 -2
  11. package/dist-esm/samples-dev/elasticSansListByResourceGroupSample.js +2 -2
  12. package/dist-esm/samples-dev/elasticSansListBySubscriptionSample.js +2 -2
  13. package/dist-esm/samples-dev/elasticSansUpdateSample.js +6 -5
  14. package/dist-esm/samples-dev/elasticSansUpdateSample.js.map +1 -1
  15. package/dist-esm/samples-dev/operationsListSample.js +2 -2
  16. package/dist-esm/samples-dev/privateEndpointConnectionsCreateSample.js +6 -10
  17. package/dist-esm/samples-dev/privateEndpointConnectionsCreateSample.js.map +1 -1
  18. package/dist-esm/samples-dev/privateEndpointConnectionsDeleteSample.js +2 -2
  19. package/dist-esm/samples-dev/privateEndpointConnectionsGetSample.js +2 -2
  20. package/dist-esm/samples-dev/privateEndpointConnectionsListSample.js +2 -2
  21. package/dist-esm/samples-dev/privateLinkResourcesListByElasticSanSample.js +2 -2
  22. package/dist-esm/samples-dev/skusListSample.js +3 -3
  23. package/dist-esm/samples-dev/skusListSample.js.map +1 -1
  24. package/dist-esm/samples-dev/volumeGroupsCreateSample.js +12 -3
  25. package/dist-esm/samples-dev/volumeGroupsCreateSample.js.map +1 -1
  26. package/dist-esm/samples-dev/volumeGroupsDeleteSample.js +2 -2
  27. package/dist-esm/samples-dev/volumeGroupsGetSample.js +2 -2
  28. package/dist-esm/samples-dev/volumeGroupsListByElasticSanSample.js +2 -2
  29. package/dist-esm/samples-dev/volumeGroupsUpdateSample.js +11 -2
  30. package/dist-esm/samples-dev/volumeGroupsUpdateSample.js.map +1 -1
  31. package/dist-esm/samples-dev/volumeSnapshotsCreateSample.d.ts +2 -0
  32. package/dist-esm/samples-dev/volumeSnapshotsCreateSample.d.ts.map +1 -0
  33. package/dist-esm/samples-dev/volumeSnapshotsCreateSample.js +70 -0
  34. package/dist-esm/samples-dev/volumeSnapshotsCreateSample.js.map +1 -0
  35. package/dist-esm/samples-dev/volumeSnapshotsDeleteSample.d.ts +2 -0
  36. package/dist-esm/samples-dev/volumeSnapshotsDeleteSample.d.ts.map +1 -0
  37. package/dist-esm/samples-dev/volumeSnapshotsDeleteSample.js +60 -0
  38. package/dist-esm/samples-dev/volumeSnapshotsDeleteSample.js.map +1 -0
  39. package/dist-esm/samples-dev/volumeSnapshotsGetSample.d.ts +2 -0
  40. package/dist-esm/samples-dev/volumeSnapshotsGetSample.d.ts.map +1 -0
  41. package/dist-esm/samples-dev/volumeSnapshotsGetSample.js +60 -0
  42. package/dist-esm/samples-dev/volumeSnapshotsGetSample.js.map +1 -0
  43. package/dist-esm/samples-dev/volumeSnapshotsListByVolumeGroupSample.d.ts +2 -0
  44. package/dist-esm/samples-dev/volumeSnapshotsListByVolumeGroupSample.d.ts.map +1 -0
  45. package/dist-esm/samples-dev/volumeSnapshotsListByVolumeGroupSample.js +102 -0
  46. package/dist-esm/samples-dev/volumeSnapshotsListByVolumeGroupSample.js.map +1 -0
  47. package/dist-esm/samples-dev/volumesCreateSample.js +6 -5
  48. package/dist-esm/samples-dev/volumesCreateSample.js.map +1 -1
  49. package/dist-esm/samples-dev/volumesDeleteSample.js +9 -3
  50. package/dist-esm/samples-dev/volumesDeleteSample.js.map +1 -1
  51. package/dist-esm/samples-dev/volumesGetSample.js +2 -2
  52. package/dist-esm/samples-dev/volumesListByVolumeGroupSample.js +2 -2
  53. package/dist-esm/samples-dev/volumesUpdateSample.js +2 -2
  54. package/dist-esm/src/elasticSanManagement.d.ts +2 -1
  55. package/dist-esm/src/elasticSanManagement.d.ts.map +1 -1
  56. package/dist-esm/src/elasticSanManagement.js +4 -3
  57. package/dist-esm/src/elasticSanManagement.js.map +1 -1
  58. package/dist-esm/src/models/index.d.ts +284 -13
  59. package/dist-esm/src/models/index.d.ts.map +1 -1
  60. package/dist-esm/src/models/index.js +56 -0
  61. package/dist-esm/src/models/index.js.map +1 -1
  62. package/dist-esm/src/models/mappers.d.ts +10 -0
  63. package/dist-esm/src/models/mappers.d.ts.map +1 -1
  64. package/dist-esm/src/models/mappers.js +303 -20
  65. package/dist-esm/src/models/mappers.js.map +1 -1
  66. package/dist-esm/src/models/parameters.d.ts +4 -0
  67. package/dist-esm/src/models/parameters.d.ts.map +1 -1
  68. package/dist-esm/src/models/parameters.js +39 -2
  69. package/dist-esm/src/models/parameters.js.map +1 -1
  70. package/dist-esm/src/operations/index.d.ts +1 -0
  71. package/dist-esm/src/operations/index.d.ts.map +1 -1
  72. package/dist-esm/src/operations/index.js +1 -0
  73. package/dist-esm/src/operations/index.js.map +1 -1
  74. package/dist-esm/src/operations/volumeSnapshots.d.ts +89 -0
  75. package/dist-esm/src/operations/volumeSnapshots.d.ts.map +1 -0
  76. package/dist-esm/src/operations/volumeSnapshots.js +395 -0
  77. package/dist-esm/src/operations/volumeSnapshots.js.map +1 -0
  78. package/dist-esm/src/operations/volumes.js +5 -1
  79. package/dist-esm/src/operations/volumes.js.map +1 -1
  80. package/dist-esm/src/operationsInterfaces/index.d.ts +1 -0
  81. package/dist-esm/src/operationsInterfaces/index.d.ts.map +1 -1
  82. package/dist-esm/src/operationsInterfaces/index.js +1 -0
  83. package/dist-esm/src/operationsInterfaces/index.js.map +1 -1
  84. package/dist-esm/src/operationsInterfaces/volumeSnapshots.d.ts +62 -0
  85. package/dist-esm/src/operationsInterfaces/volumeSnapshots.d.ts.map +1 -0
  86. package/dist-esm/src/operationsInterfaces/volumeSnapshots.js +9 -0
  87. package/dist-esm/src/operationsInterfaces/volumeSnapshots.js.map +1 -0
  88. package/package.json +12 -18
  89. package/review/arm-elasticsan.api.md +187 -6
  90. package/src/elasticSanManagement.ts +8 -4
  91. package/src/models/index.ts +316 -18
  92. package/src/models/mappers.ts +323 -19
  93. package/src/models/parameters.ts +44 -2
  94. package/src/operations/index.ts +1 -0
  95. package/src/operations/volumeSnapshots.ts +551 -0
  96. package/src/operations/volumes.ts +5 -1
  97. package/src/operationsInterfaces/index.ts +1 -0
  98. package/src/operationsInterfaces/volumeSnapshots.ts +121 -0
  99. package/types/arm-elasticsan.d.ts +375 -14
  100. package/types/tsdoc-metadata.json +1 -1
  101. package/rollup.config.js +0 -122
@@ -277,6 +277,8 @@ export interface ElasticSanUpdate {
277
277
  baseSizeTiB?: number;
278
278
  /** Extended size of the Elastic San appliance in TiB. */
279
279
  extendedCapacitySizeTiB?: number;
280
+ /** Allow or disallow public network access to ElasticSan Account. Value is optional but if passed in, must be 'Enabled' or 'Disabled'. */
281
+ publicNetworkAccess?: PublicNetworkAccess;
280
282
  }
281
283
 
282
284
  /** List of Volume Groups */
@@ -290,6 +292,77 @@ export interface VolumeGroupList {
290
292
  readonly nextLink?: string;
291
293
  }
292
294
 
295
+ /** Identity for the resource. */
296
+ export interface Identity {
297
+ /**
298
+ * The principal ID of resource identity.
299
+ * NOTE: This property will not be serialized. It can only be populated by the server.
300
+ */
301
+ readonly principalId?: string;
302
+ /**
303
+ * The tenant ID of resource.
304
+ * NOTE: This property will not be serialized. It can only be populated by the server.
305
+ */
306
+ readonly tenantId?: string;
307
+ /** The identity type. */
308
+ type: IdentityType;
309
+ /** Gets or sets a list of key value pairs that describe the set of User Assigned identities that will be used with this volume group. The key is the ARM resource identifier of the identity. */
310
+ userAssignedIdentities?: { [propertyName: string]: UserAssignedIdentity };
311
+ }
312
+
313
+ /** UserAssignedIdentity for the resource. */
314
+ export interface UserAssignedIdentity {
315
+ /**
316
+ * The principal ID of the identity.
317
+ * NOTE: This property will not be serialized. It can only be populated by the server.
318
+ */
319
+ readonly principalId?: string;
320
+ /**
321
+ * The client ID of the identity.
322
+ * NOTE: This property will not be serialized. It can only be populated by the server.
323
+ */
324
+ readonly clientId?: string;
325
+ }
326
+
327
+ /** The encryption settings on the volume group. */
328
+ export interface EncryptionProperties {
329
+ /** Properties provided by key vault. */
330
+ keyVaultProperties?: KeyVaultProperties;
331
+ /** The identity to be used with service-side encryption at rest. */
332
+ encryptionIdentity?: EncryptionIdentity;
333
+ }
334
+
335
+ /** Properties of key vault. */
336
+ export interface KeyVaultProperties {
337
+ /** The name of KeyVault key. */
338
+ keyName?: string;
339
+ /** The version of KeyVault key. */
340
+ keyVersion?: string;
341
+ /** The Uri of KeyVault. */
342
+ keyVaultUri?: string;
343
+ /**
344
+ * The object identifier of the current versioned Key Vault Key in use.
345
+ * NOTE: This property will not be serialized. It can only be populated by the server.
346
+ */
347
+ readonly currentVersionedKeyIdentifier?: string;
348
+ /**
349
+ * Timestamp of last rotation of the Key Vault Key.
350
+ * NOTE: This property will not be serialized. It can only be populated by the server.
351
+ */
352
+ readonly lastKeyRotationTimestamp?: Date;
353
+ /**
354
+ * This is a read only property that represents the expiration time of the current version of the customer managed key used for encryption.
355
+ * NOTE: This property will not be serialized. It can only be populated by the server.
356
+ */
357
+ readonly currentVersionedKeyExpirationTimestamp?: Date;
358
+ }
359
+
360
+ /** Encryption identity for the volume group. */
361
+ export interface EncryptionIdentity {
362
+ /** Resource identifier of the UserAssigned identity to be associated with server-side encryption on the volume group. */
363
+ encryptionUserAssignedIdentity?: string;
364
+ }
365
+
293
366
  /** A set of rules governing the network accessibility. */
294
367
  export interface NetworkRuleSet {
295
368
  /** The list of virtual network rules. */
@@ -301,20 +374,19 @@ export interface VirtualNetworkRule {
301
374
  /** Resource ID of a subnet, for example: /subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.Network/virtualNetworks/{vnetName}/subnets/{subnetName}. */
302
375
  virtualNetworkResourceId: string;
303
376
  /** The action of virtual network rule. */
304
- action?: "Allow";
305
- /**
306
- * Gets the state of virtual network rule.
307
- * NOTE: This property will not be serialized. It can only be populated by the server.
308
- */
309
- readonly state?: State;
377
+ action?: Action;
310
378
  }
311
379
 
312
380
  /** Volume Group request. */
313
381
  export interface VolumeGroupUpdate {
382
+ /** The identity of the resource. */
383
+ identity?: Identity;
314
384
  /** Type of storage target */
315
385
  protocolType?: StorageTargetType;
316
386
  /** Type of encryption */
317
387
  encryption?: EncryptionType;
388
+ /** Encryption Properties describing Key Vault and Identity information */
389
+ encryptionProperties?: EncryptionProperties;
318
390
  /** A collection of rules governing the accessibility from specific network locations. */
319
391
  networkAcls?: NetworkRuleSet;
320
392
  }
@@ -322,9 +394,9 @@ export interface VolumeGroupUpdate {
322
394
  /** Data source used when creating the volume. */
323
395
  export interface SourceCreationData {
324
396
  /** This enumerates the possible sources of a volume creation. */
325
- createSource?: "None";
326
- /** If createOption is Copy, this is the ARM id of the source snapshot or disk. If createOption is Restore, this is the ARM-like id of the source disk restore point. */
327
- sourceUri?: string;
397
+ createSource?: VolumeCreateOption;
398
+ /** Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" */
399
+ sourceId?: string;
328
400
  }
329
401
 
330
402
  /** Iscsi target information */
@@ -353,10 +425,18 @@ export interface IscsiTargetInfo {
353
425
  status?: OperationalStatus;
354
426
  }
355
427
 
428
+ /** Parent resource information. */
429
+ export interface ManagedByInfo {
430
+ /** Resource ID of the resource managing the volume, this is a restricted field and can only be set for internal use. */
431
+ resourceId?: string;
432
+ }
433
+
356
434
  /** Response for Volume request. */
357
435
  export interface VolumeUpdate {
358
436
  /** Volume size. */
359
437
  sizeGiB?: number;
438
+ /** Parent resource information. */
439
+ managedBy?: ManagedByInfo;
360
440
  }
361
441
 
362
442
  /** List of Volumes */
@@ -392,6 +472,23 @@ export interface PrivateLinkResourceListResult {
392
472
  readonly nextLink?: string;
393
473
  }
394
474
 
475
+ /** List of Snapshots */
476
+ export interface SnapshotList {
477
+ /** An array of Snapshot objects. */
478
+ value?: Snapshot[];
479
+ /**
480
+ * URI to fetch the next section of the paginated response.
481
+ * NOTE: This property will not be serialized. It can only be populated by the server.
482
+ */
483
+ readonly nextLink?: string;
484
+ }
485
+
486
+ /** Data used when creating a volume snapshot. */
487
+ export interface SnapshotCreationData {
488
+ /** Fully qualified resource ID of the volume. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}/volumes/{volumeName}" */
489
+ sourceId: string;
490
+ }
491
+
395
492
  /** Response for PrivateEndpoint Connection object */
396
493
  export interface PrivateEndpointConnection extends Resource {
397
494
  /**
@@ -479,10 +576,14 @@ export interface ElasticSan extends TrackedResource {
479
576
  * NOTE: This property will not be serialized. It can only be populated by the server.
480
577
  */
481
578
  readonly privateEndpointConnections?: PrivateEndpointConnection[];
579
+ /** Allow or disallow public network access to ElasticSan. Value is optional but if passed in, must be 'Enabled' or 'Disabled'. */
580
+ publicNetworkAccess?: PublicNetworkAccess;
482
581
  }
483
582
 
484
583
  /** Response for Volume Group request. */
485
584
  export interface VolumeGroup extends ProxyResource {
585
+ /** The identity of the resource. */
586
+ identity?: Identity;
486
587
  /**
487
588
  * State of the operation on the resource.
488
589
  * NOTE: This property will not be serialized. It can only be populated by the server.
@@ -492,6 +593,8 @@ export interface VolumeGroup extends ProxyResource {
492
593
  protocolType?: StorageTargetType;
493
594
  /** Type of encryption */
494
595
  encryption?: EncryptionType;
596
+ /** Encryption Properties describing Key Vault and Identity information */
597
+ encryptionProperties?: EncryptionProperties;
495
598
  /** A collection of rules governing the accessibility from specific network locations. */
496
599
  networkAcls?: NetworkRuleSet;
497
600
  /**
@@ -517,6 +620,34 @@ export interface Volume extends ProxyResource {
517
620
  * NOTE: This property will not be serialized. It can only be populated by the server.
518
621
  */
519
622
  readonly storageTarget?: IscsiTargetInfo;
623
+ /** Parent resource information. */
624
+ managedBy?: ManagedByInfo;
625
+ /**
626
+ * State of the operation on the resource.
627
+ * NOTE: This property will not be serialized. It can only be populated by the server.
628
+ */
629
+ readonly provisioningState?: ProvisioningStates;
630
+ }
631
+
632
+ /** Response for Volume Snapshot request. */
633
+ export interface Snapshot extends ProxyResource {
634
+ /** Data used when creating a volume snapshot. */
635
+ creationData: SnapshotCreationData;
636
+ /**
637
+ * State of the operation on the resource.
638
+ * NOTE: This property will not be serialized. It can only be populated by the server.
639
+ */
640
+ readonly provisioningState?: ProvisioningStates;
641
+ /**
642
+ * Size of Source Volume
643
+ * NOTE: This property will not be serialized. It can only be populated by the server.
644
+ */
645
+ readonly sourceVolumeSizeGiB?: number;
646
+ /**
647
+ * Source Volume Name of a snapshot
648
+ * NOTE: This property will not be serialized. It can only be populated by the server.
649
+ */
650
+ readonly volumeName?: string;
520
651
  }
521
652
 
522
653
  /** Defines headers for ElasticSans_update operation. */
@@ -554,6 +685,11 @@ export interface PrivateEndpointConnectionsDeleteHeaders {
554
685
  location?: string;
555
686
  }
556
687
 
688
+ /** Defines headers for VolumeSnapshots_delete operation. */
689
+ export interface VolumeSnapshotsDeleteHeaders {
690
+ location?: string;
691
+ }
692
+
557
693
  /** Known values of {@link Origin} that the service accepts. */
558
694
  export enum KnownOrigin {
559
695
  /** User */
@@ -707,6 +843,45 @@ export enum KnownCreatedByType {
707
843
  */
708
844
  export type CreatedByType = string;
709
845
 
846
+ /** Known values of {@link PublicNetworkAccess} that the service accepts. */
847
+ export enum KnownPublicNetworkAccess {
848
+ /** Enabled */
849
+ Enabled = "Enabled",
850
+ /** Disabled */
851
+ Disabled = "Disabled"
852
+ }
853
+
854
+ /**
855
+ * Defines values for PublicNetworkAccess. \
856
+ * {@link KnownPublicNetworkAccess} can be used interchangeably with PublicNetworkAccess,
857
+ * this enum contains the known values that the service supports.
858
+ * ### Known values supported by the service
859
+ * **Enabled** \
860
+ * **Disabled**
861
+ */
862
+ export type PublicNetworkAccess = string;
863
+
864
+ /** Known values of {@link IdentityType} that the service accepts. */
865
+ export enum KnownIdentityType {
866
+ /** None */
867
+ None = "None",
868
+ /** SystemAssigned */
869
+ SystemAssigned = "SystemAssigned",
870
+ /** UserAssigned */
871
+ UserAssigned = "UserAssigned"
872
+ }
873
+
874
+ /**
875
+ * Defines values for IdentityType. \
876
+ * {@link KnownIdentityType} can be used interchangeably with IdentityType,
877
+ * this enum contains the known values that the service supports.
878
+ * ### Known values supported by the service
879
+ * **None** \
880
+ * **SystemAssigned** \
881
+ * **UserAssigned**
882
+ */
883
+ export type IdentityType = string;
884
+
710
885
  /** Known values of {@link StorageTargetType} that the service accepts. */
711
886
  export enum KnownStorageTargetType {
712
887
  /** Iscsi */
@@ -728,7 +903,9 @@ export type StorageTargetType = string;
728
903
  /** Known values of {@link EncryptionType} that the service accepts. */
729
904
  export enum KnownEncryptionType {
730
905
  /** Volume is encrypted at rest with Platform managed key. It is the default encryption type. */
731
- EncryptionAtRestWithPlatformKey = "EncryptionAtRestWithPlatformKey"
906
+ EncryptionAtRestWithPlatformKey = "EncryptionAtRestWithPlatformKey",
907
+ /** Volume is encrypted at rest with Customer managed key that can be changed and revoked by a customer. */
908
+ EncryptionAtRestWithCustomerManagedKey = "EncryptionAtRestWithCustomerManagedKey"
732
909
  }
733
910
 
734
911
  /**
@@ -736,10 +913,53 @@ export enum KnownEncryptionType {
736
913
  * {@link KnownEncryptionType} can be used interchangeably with EncryptionType,
737
914
  * this enum contains the known values that the service supports.
738
915
  * ### Known values supported by the service
739
- * **EncryptionAtRestWithPlatformKey**: Volume is encrypted at rest with Platform managed key. It is the default encryption type.
916
+ * **EncryptionAtRestWithPlatformKey**: Volume is encrypted at rest with Platform managed key. It is the default encryption type. \
917
+ * **EncryptionAtRestWithCustomerManagedKey**: Volume is encrypted at rest with Customer managed key that can be changed and revoked by a customer.
740
918
  */
741
919
  export type EncryptionType = string;
742
920
 
921
+ /** Known values of {@link Action} that the service accepts. */
922
+ export enum KnownAction {
923
+ /** Allow */
924
+ Allow = "Allow"
925
+ }
926
+
927
+ /**
928
+ * Defines values for Action. \
929
+ * {@link KnownAction} can be used interchangeably with Action,
930
+ * this enum contains the known values that the service supports.
931
+ * ### Known values supported by the service
932
+ * **Allow**
933
+ */
934
+ export type Action = string;
935
+
936
+ /** Known values of {@link VolumeCreateOption} that the service accepts. */
937
+ export enum KnownVolumeCreateOption {
938
+ /** None */
939
+ None = "None",
940
+ /** VolumeSnapshot */
941
+ VolumeSnapshot = "VolumeSnapshot",
942
+ /** DiskSnapshot */
943
+ DiskSnapshot = "DiskSnapshot",
944
+ /** Disk */
945
+ Disk = "Disk",
946
+ /** DiskRestorePoint */
947
+ DiskRestorePoint = "DiskRestorePoint"
948
+ }
949
+
950
+ /**
951
+ * Defines values for VolumeCreateOption. \
952
+ * {@link KnownVolumeCreateOption} can be used interchangeably with VolumeCreateOption,
953
+ * this enum contains the known values that the service supports.
954
+ * ### Known values supported by the service
955
+ * **None** \
956
+ * **VolumeSnapshot** \
957
+ * **DiskSnapshot** \
958
+ * **Disk** \
959
+ * **DiskRestorePoint**
960
+ */
961
+ export type VolumeCreateOption = string;
962
+
743
963
  /** Known values of {@link OperationalStatus} that the service accepts. */
744
964
  export enum KnownOperationalStatus {
745
965
  /** Invalid */
@@ -775,13 +995,42 @@ export enum KnownOperationalStatus {
775
995
  * **Stopped (deallocated)**
776
996
  */
777
997
  export type OperationalStatus = string;
778
- /** Defines values for State. */
779
- export type State =
780
- | "provisioning"
781
- | "deprovisioning"
782
- | "succeeded"
783
- | "failed"
784
- | "networkSourceDeleted";
998
+
999
+ /** Known values of {@link XMsDeleteSnapshots} that the service accepts. */
1000
+ export enum KnownXMsDeleteSnapshots {
1001
+ /** True */
1002
+ True = "true",
1003
+ /** False */
1004
+ False = "false"
1005
+ }
1006
+
1007
+ /**
1008
+ * Defines values for XMsDeleteSnapshots. \
1009
+ * {@link KnownXMsDeleteSnapshots} can be used interchangeably with XMsDeleteSnapshots,
1010
+ * this enum contains the known values that the service supports.
1011
+ * ### Known values supported by the service
1012
+ * **true** \
1013
+ * **false**
1014
+ */
1015
+ export type XMsDeleteSnapshots = string;
1016
+
1017
+ /** Known values of {@link XMsForceDelete} that the service accepts. */
1018
+ export enum KnownXMsForceDelete {
1019
+ /** True */
1020
+ True = "true",
1021
+ /** False */
1022
+ False = "false"
1023
+ }
1024
+
1025
+ /**
1026
+ * Defines values for XMsForceDelete. \
1027
+ * {@link KnownXMsForceDelete} can be used interchangeably with XMsForceDelete,
1028
+ * this enum contains the known values that the service supports.
1029
+ * ### Known values supported by the service
1030
+ * **true** \
1031
+ * **false**
1032
+ */
1033
+ export type XMsForceDelete = string;
785
1034
 
786
1035
  /** Optional parameters. */
787
1036
  export interface OperationsListOptionalParams
@@ -948,6 +1197,10 @@ export type VolumesUpdateResponse = Volume;
948
1197
  /** Optional parameters. */
949
1198
  export interface VolumesDeleteOptionalParams
950
1199
  extends coreClient.OperationOptions {
1200
+ /** Optional, used to delete snapshots under volume. Allowed value are only true or false. Default value is false. */
1201
+ xMsDeleteSnapshots?: XMsDeleteSnapshots;
1202
+ /** Optional, used to delete volume if active sessions present. Allowed value are only true or false. Default value is false. */
1203
+ xMsForceDelete?: XMsForceDelete;
951
1204
  /** Delay to wait until next poll, in milliseconds. */
952
1205
  updateIntervalInMs?: number;
953
1206
  /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */
@@ -1016,6 +1269,51 @@ export interface PrivateLinkResourcesListByElasticSanOptionalParams
1016
1269
  /** Contains response data for the listByElasticSan operation. */
1017
1270
  export type PrivateLinkResourcesListByElasticSanResponse = PrivateLinkResourceListResult;
1018
1271
 
1272
+ /** Optional parameters. */
1273
+ export interface VolumeSnapshotsListByVolumeGroupOptionalParams
1274
+ extends coreClient.OperationOptions {
1275
+ /** Specify $filter='volumeName eq <volume name>' to filter on volume. */
1276
+ filter?: string;
1277
+ }
1278
+
1279
+ /** Contains response data for the listByVolumeGroup operation. */
1280
+ export type VolumeSnapshotsListByVolumeGroupResponse = SnapshotList;
1281
+
1282
+ /** Optional parameters. */
1283
+ export interface VolumeSnapshotsCreateOptionalParams
1284
+ extends coreClient.OperationOptions {
1285
+ /** Delay to wait until next poll, in milliseconds. */
1286
+ updateIntervalInMs?: number;
1287
+ /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */
1288
+ resumeFrom?: string;
1289
+ }
1290
+
1291
+ /** Contains response data for the create operation. */
1292
+ export type VolumeSnapshotsCreateResponse = Snapshot;
1293
+
1294
+ /** Optional parameters. */
1295
+ export interface VolumeSnapshotsDeleteOptionalParams
1296
+ extends coreClient.OperationOptions {
1297
+ /** Delay to wait until next poll, in milliseconds. */
1298
+ updateIntervalInMs?: number;
1299
+ /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */
1300
+ resumeFrom?: string;
1301
+ }
1302
+
1303
+ /** Optional parameters. */
1304
+ export interface VolumeSnapshotsGetOptionalParams
1305
+ extends coreClient.OperationOptions {}
1306
+
1307
+ /** Contains response data for the get operation. */
1308
+ export type VolumeSnapshotsGetResponse = Snapshot;
1309
+
1310
+ /** Optional parameters. */
1311
+ export interface VolumeSnapshotsListByVolumeGroupNextOptionalParams
1312
+ extends coreClient.OperationOptions {}
1313
+
1314
+ /** Contains response data for the listByVolumeGroupNext operation. */
1315
+ export type VolumeSnapshotsListByVolumeGroupNextResponse = SnapshotList;
1316
+
1019
1317
  /** Optional parameters. */
1020
1318
  export interface ElasticSanManagementOptionalParams
1021
1319
  extends coreClient.ServiceClientOptions {