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

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 (121) hide show
  1. package/CHANGELOG.md +2 -66
  2. package/LICENSE +1 -1
  3. package/README.md +1 -1
  4. package/dist/index.js +2138 -1227
  5. package/dist/index.js.map +1 -1
  6. package/dist/index.min.js +1 -1
  7. package/dist/index.min.js.map +1 -1
  8. package/dist-esm/samples-dev/elasticSansCreateSample.js +16 -11
  9. package/dist-esm/samples-dev/elasticSansCreateSample.js.map +1 -1
  10. package/dist-esm/samples-dev/elasticSansDeleteSample.js +2 -2
  11. package/dist-esm/samples-dev/elasticSansGetSample.js +2 -2
  12. package/dist-esm/samples-dev/elasticSansListByResourceGroupSample.js +8 -18
  13. package/dist-esm/samples-dev/elasticSansListByResourceGroupSample.js.map +1 -1
  14. package/dist-esm/samples-dev/elasticSansListBySubscriptionSample.js +8 -18
  15. package/dist-esm/samples-dev/elasticSansListBySubscriptionSample.js.map +1 -1
  16. package/dist-esm/samples-dev/elasticSansUpdateSample.js +8 -5
  17. package/dist-esm/samples-dev/elasticSansUpdateSample.js.map +1 -1
  18. package/dist-esm/samples-dev/operationsListSample.js +8 -18
  19. package/dist-esm/samples-dev/operationsListSample.js.map +1 -1
  20. package/dist-esm/samples-dev/privateEndpointConnectionsCreateSample.js +11 -13
  21. package/dist-esm/samples-dev/privateEndpointConnectionsCreateSample.js.map +1 -1
  22. package/dist-esm/samples-dev/privateEndpointConnectionsDeleteSample.js +2 -2
  23. package/dist-esm/samples-dev/privateEndpointConnectionsGetSample.js +2 -2
  24. package/dist-esm/samples-dev/privateEndpointConnectionsListSample.js +8 -18
  25. package/dist-esm/samples-dev/privateEndpointConnectionsListSample.js.map +1 -1
  26. package/dist-esm/samples-dev/privateLinkResourcesListByElasticSanSample.js +2 -2
  27. package/dist-esm/samples-dev/skusListSample.js +9 -19
  28. package/dist-esm/samples-dev/skusListSample.js.map +1 -1
  29. package/dist-esm/samples-dev/volumeGroupsCreateSample.js +22 -11
  30. package/dist-esm/samples-dev/volumeGroupsCreateSample.js.map +1 -1
  31. package/dist-esm/samples-dev/volumeGroupsDeleteSample.js +2 -2
  32. package/dist-esm/samples-dev/volumeGroupsGetSample.js +2 -2
  33. package/dist-esm/samples-dev/volumeGroupsListByElasticSanSample.js +8 -18
  34. package/dist-esm/samples-dev/volumeGroupsListByElasticSanSample.js.map +1 -1
  35. package/dist-esm/samples-dev/volumeGroupsUpdateSample.js +22 -11
  36. package/dist-esm/samples-dev/volumeGroupsUpdateSample.js.map +1 -1
  37. package/dist-esm/samples-dev/volumeSnapshotsCreateSample.d.ts +2 -0
  38. package/dist-esm/samples-dev/volumeSnapshotsCreateSample.d.ts.map +1 -0
  39. package/dist-esm/samples-dev/volumeSnapshotsCreateSample.js +74 -0
  40. package/dist-esm/samples-dev/volumeSnapshotsCreateSample.js.map +1 -0
  41. package/dist-esm/samples-dev/volumeSnapshotsDeleteSample.d.ts +2 -0
  42. package/dist-esm/samples-dev/volumeSnapshotsDeleteSample.d.ts.map +1 -0
  43. package/dist-esm/samples-dev/volumeSnapshotsDeleteSample.js +60 -0
  44. package/dist-esm/samples-dev/volumeSnapshotsDeleteSample.js.map +1 -0
  45. package/dist-esm/samples-dev/volumeSnapshotsGetSample.d.ts +2 -0
  46. package/dist-esm/samples-dev/volumeSnapshotsGetSample.d.ts.map +1 -0
  47. package/dist-esm/samples-dev/volumeSnapshotsGetSample.js +60 -0
  48. package/dist-esm/samples-dev/volumeSnapshotsGetSample.js.map +1 -0
  49. package/dist-esm/samples-dev/volumeSnapshotsListByVolumeGroupSample.d.ts +2 -0
  50. package/dist-esm/samples-dev/volumeSnapshotsListByVolumeGroupSample.d.ts.map +1 -0
  51. package/dist-esm/samples-dev/volumeSnapshotsListByVolumeGroupSample.js +92 -0
  52. package/dist-esm/samples-dev/volumeSnapshotsListByVolumeGroupSample.js.map +1 -0
  53. package/dist-esm/samples-dev/volumesCreateSample.js +8 -5
  54. package/dist-esm/samples-dev/volumesCreateSample.js.map +1 -1
  55. package/dist-esm/samples-dev/volumesDeleteSample.js +9 -3
  56. package/dist-esm/samples-dev/volumesDeleteSample.js.map +1 -1
  57. package/dist-esm/samples-dev/volumesGetSample.js +2 -2
  58. package/dist-esm/samples-dev/volumesListByVolumeGroupSample.js +8 -18
  59. package/dist-esm/samples-dev/volumesListByVolumeGroupSample.js.map +1 -1
  60. package/dist-esm/samples-dev/volumesUpdateSample.js +3 -3
  61. package/dist-esm/samples-dev/volumesUpdateSample.js.map +1 -1
  62. package/dist-esm/src/elasticSanManagement.d.ts +2 -1
  63. package/dist-esm/src/elasticSanManagement.d.ts.map +1 -1
  64. package/dist-esm/src/elasticSanManagement.js +4 -3
  65. package/dist-esm/src/elasticSanManagement.js.map +1 -1
  66. package/dist-esm/src/models/index.d.ts +420 -104
  67. package/dist-esm/src/models/index.d.ts.map +1 -1
  68. package/dist-esm/src/models/index.js +56 -0
  69. package/dist-esm/src/models/index.js.map +1 -1
  70. package/dist-esm/src/models/mappers.d.ts +19 -0
  71. package/dist-esm/src/models/mappers.d.ts.map +1 -1
  72. package/dist-esm/src/models/mappers.js +636 -189
  73. package/dist-esm/src/models/mappers.js.map +1 -1
  74. package/dist-esm/src/models/parameters.d.ts +4 -0
  75. package/dist-esm/src/models/parameters.d.ts.map +1 -1
  76. package/dist-esm/src/models/parameters.js +39 -2
  77. package/dist-esm/src/models/parameters.js.map +1 -1
  78. package/dist-esm/src/operations/elasticSans.js +6 -16
  79. package/dist-esm/src/operations/elasticSans.js.map +1 -1
  80. package/dist-esm/src/operations/index.d.ts +1 -0
  81. package/dist-esm/src/operations/index.d.ts.map +1 -1
  82. package/dist-esm/src/operations/index.js +1 -0
  83. package/dist-esm/src/operations/index.js.map +1 -1
  84. package/dist-esm/src/operations/operations.js +3 -8
  85. package/dist-esm/src/operations/operations.js.map +1 -1
  86. package/dist-esm/src/operations/privateEndpointConnections.js +3 -8
  87. package/dist-esm/src/operations/privateEndpointConnections.js.map +1 -1
  88. package/dist-esm/src/operations/skus.js +3 -8
  89. package/dist-esm/src/operations/skus.js.map +1 -1
  90. package/dist-esm/src/operations/volumeGroups.js +3 -8
  91. package/dist-esm/src/operations/volumeGroups.js.map +1 -1
  92. package/dist-esm/src/operations/volumeSnapshots.d.ts +89 -0
  93. package/dist-esm/src/operations/volumeSnapshots.d.ts.map +1 -0
  94. package/dist-esm/src/operations/volumeSnapshots.js +390 -0
  95. package/dist-esm/src/operations/volumeSnapshots.js.map +1 -0
  96. package/dist-esm/src/operations/volumes.js +8 -9
  97. package/dist-esm/src/operations/volumes.js.map +1 -1
  98. package/dist-esm/src/operationsInterfaces/index.d.ts +1 -0
  99. package/dist-esm/src/operationsInterfaces/index.d.ts.map +1 -1
  100. package/dist-esm/src/operationsInterfaces/index.js +1 -0
  101. package/dist-esm/src/operationsInterfaces/index.js.map +1 -1
  102. package/dist-esm/src/operationsInterfaces/volumeSnapshots.d.ts +62 -0
  103. package/dist-esm/src/operationsInterfaces/volumeSnapshots.d.ts.map +1 -0
  104. package/dist-esm/src/operationsInterfaces/volumeSnapshots.js +9 -0
  105. package/dist-esm/src/operationsInterfaces/volumeSnapshots.js.map +1 -0
  106. package/dist-esm/test/elasticsan_examples.spec.js +40 -16
  107. package/dist-esm/test/elasticsan_examples.spec.js.map +1 -1
  108. package/package.json +15 -19
  109. package/review/arm-elasticsan.api.md +261 -35
  110. package/src/elasticSanManagement.ts +8 -4
  111. package/src/models/index.ts +461 -109
  112. package/src/models/mappers.ts +695 -247
  113. package/src/models/parameters.ts +44 -2
  114. package/src/operations/index.ts +1 -0
  115. package/src/operations/volumeSnapshots.ts +551 -0
  116. package/src/operations/volumes.ts +5 -1
  117. package/src/operationsInterfaces/index.ts +1 -0
  118. package/src/operationsInterfaces/volumeSnapshots.ts +121 -0
  119. package/types/arm-elasticsan.d.ts +518 -103
  120. package/types/tsdoc-metadata.json +1 -1
  121. package/rollup.config.js +0 -122
@@ -10,6 +10,9 @@ import { OperationState } from '@azure/core-lro';
10
10
  import { PagedAsyncIterableIterator } from '@azure/core-paging';
11
11
  import { SimplePollerLike } from '@azure/core-lro';
12
12
 
13
+ // @public
14
+ export type Action = string;
15
+
13
16
  // @public
14
17
  export type ActionType = string;
15
18
 
@@ -18,17 +21,7 @@ export type CreatedByType = string;
18
21
 
19
22
  // @public
20
23
  export interface ElasticSan extends TrackedResource {
21
- availabilityZones?: string[];
22
- baseSizeTiB: number;
23
- extendedCapacitySizeTiB: number;
24
- readonly privateEndpointConnections?: PrivateEndpointConnection[];
25
- readonly provisioningState?: ProvisioningStates;
26
- sku: Sku;
27
- readonly totalIops?: number;
28
- readonly totalMBps?: number;
29
- readonly totalSizeTiB?: number;
30
- readonly totalVolumeSizeGiB?: number;
31
- readonly volumeGroupCount?: number;
24
+ properties: ElasticSanProperties;
32
25
  }
33
26
 
34
27
  // @public
@@ -60,6 +53,8 @@ export class ElasticSanManagement extends coreClient.ServiceClient {
60
53
  volumeGroups: VolumeGroups;
61
54
  // (undocumented)
62
55
  volumes: Volumes;
56
+ // (undocumented)
57
+ volumeSnapshots: VolumeSnapshots;
63
58
  }
64
59
 
65
60
  // @public
@@ -69,6 +64,22 @@ export interface ElasticSanManagementOptionalParams extends coreClient.ServiceCl
69
64
  endpoint?: string;
70
65
  }
71
66
 
67
+ // @public
68
+ export interface ElasticSanProperties {
69
+ availabilityZones?: string[];
70
+ baseSizeTiB: number;
71
+ extendedCapacitySizeTiB: number;
72
+ readonly privateEndpointConnections?: PrivateEndpointConnection[];
73
+ readonly provisioningState?: ProvisioningStates;
74
+ publicNetworkAccess?: PublicNetworkAccess;
75
+ sku: Sku;
76
+ readonly totalIops?: number;
77
+ readonly totalMBps?: number;
78
+ readonly totalSizeTiB?: number;
79
+ readonly totalVolumeSizeGiB?: number;
80
+ readonly volumeGroupCount?: number;
81
+ }
82
+
72
83
  // @public
73
84
  export interface ElasticSans {
74
85
  beginCreate(resourceGroupName: string, elasticSanName: string, parameters: ElasticSan, options?: ElasticSansCreateOptionalParams): Promise<SimplePollerLike<OperationState<ElasticSansCreateResponse>, ElasticSansCreateResponse>>;
@@ -155,13 +166,30 @@ export type ElasticSansUpdateResponse = ElasticSan;
155
166
 
156
167
  // @public
157
168
  export interface ElasticSanUpdate {
158
- baseSizeTiB?: number;
159
- extendedCapacitySizeTiB?: number;
169
+ properties?: ElasticSanUpdateProperties;
160
170
  tags?: {
161
171
  [propertyName: string]: string;
162
172
  };
163
173
  }
164
174
 
175
+ // @public
176
+ export interface ElasticSanUpdateProperties {
177
+ baseSizeTiB?: number;
178
+ extendedCapacitySizeTiB?: number;
179
+ publicNetworkAccess?: PublicNetworkAccess;
180
+ }
181
+
182
+ // @public
183
+ export interface EncryptionIdentity {
184
+ encryptionUserAssignedIdentity?: string;
185
+ }
186
+
187
+ // @public
188
+ export interface EncryptionProperties {
189
+ encryptionIdentity?: EncryptionIdentity;
190
+ keyVaultProperties?: KeyVaultProperties;
191
+ }
192
+
165
193
  // @public
166
194
  export type EncryptionType = string;
167
195
 
@@ -188,6 +216,19 @@ export interface ErrorResponse {
188
216
  // @public
189
217
  export function getContinuationToken(page: unknown): string | undefined;
190
218
 
219
+ // @public
220
+ export interface Identity {
221
+ readonly principalId?: string;
222
+ readonly tenantId?: string;
223
+ type: IdentityType;
224
+ userAssignedIdentities?: {
225
+ [propertyName: string]: UserAssignedIdentity;
226
+ };
227
+ }
228
+
229
+ // @public
230
+ export type IdentityType = string;
231
+
191
232
  // @public
192
233
  export interface IscsiTargetInfo {
193
234
  readonly provisioningState?: ProvisioningStates;
@@ -197,6 +238,21 @@ export interface IscsiTargetInfo {
197
238
  readonly targetPortalPort?: number;
198
239
  }
199
240
 
241
+ // @public
242
+ export interface KeyVaultProperties {
243
+ readonly currentVersionedKeyExpirationTimestamp?: Date;
244
+ readonly currentVersionedKeyIdentifier?: string;
245
+ keyName?: string;
246
+ keyVaultUri?: string;
247
+ keyVersion?: string;
248
+ readonly lastKeyRotationTimestamp?: Date;
249
+ }
250
+
251
+ // @public
252
+ export enum KnownAction {
253
+ Allow = "Allow"
254
+ }
255
+
200
256
  // @public
201
257
  export enum KnownActionType {
202
258
  Internal = "Internal"
@@ -212,9 +268,17 @@ export enum KnownCreatedByType {
212
268
 
213
269
  // @public
214
270
  export enum KnownEncryptionType {
271
+ EncryptionAtRestWithCustomerManagedKey = "EncryptionAtRestWithCustomerManagedKey",
215
272
  EncryptionAtRestWithPlatformKey = "EncryptionAtRestWithPlatformKey"
216
273
  }
217
274
 
275
+ // @public
276
+ export enum KnownIdentityType {
277
+ None = "None",
278
+ SystemAssigned = "SystemAssigned",
279
+ UserAssigned = "UserAssigned"
280
+ }
281
+
218
282
  // @public
219
283
  export enum KnownOperationalStatus {
220
284
  Healthy = "Healthy",
@@ -254,6 +318,12 @@ export enum KnownProvisioningStates {
254
318
  Updating = "Updating"
255
319
  }
256
320
 
321
+ // @public
322
+ export enum KnownPublicNetworkAccess {
323
+ Disabled = "Disabled",
324
+ Enabled = "Enabled"
325
+ }
326
+
257
327
  // @public
258
328
  export enum KnownSkuName {
259
329
  PremiumLRS = "Premium_LRS",
@@ -271,6 +341,32 @@ export enum KnownStorageTargetType {
271
341
  None = "None"
272
342
  }
273
343
 
344
+ // @public
345
+ export enum KnownVolumeCreateOption {
346
+ Disk = "Disk",
347
+ DiskRestorePoint = "DiskRestorePoint",
348
+ DiskSnapshot = "DiskSnapshot",
349
+ None = "None",
350
+ VolumeSnapshot = "VolumeSnapshot"
351
+ }
352
+
353
+ // @public
354
+ export enum KnownXMsDeleteSnapshots {
355
+ False = "false",
356
+ True = "true"
357
+ }
358
+
359
+ // @public
360
+ export enum KnownXMsForceDelete {
361
+ False = "false",
362
+ True = "true"
363
+ }
364
+
365
+ // @public
366
+ export interface ManagedByInfo {
367
+ resourceId?: string;
368
+ }
369
+
274
370
  // @public
275
371
  export interface NetworkRuleSet {
276
372
  virtualNetworkRules?: VirtualNetworkRule[];
@@ -324,10 +420,7 @@ export interface PrivateEndpoint {
324
420
 
325
421
  // @public
326
422
  export interface PrivateEndpointConnection extends Resource {
327
- groupIds?: string[];
328
- privateEndpoint?: PrivateEndpoint;
329
- privateLinkServiceConnectionState: PrivateLinkServiceConnectionState;
330
- readonly provisioningState?: ProvisioningStates;
423
+ properties: PrivateEndpointConnectionProperties;
331
424
  }
332
425
 
333
426
  // @public
@@ -336,6 +429,14 @@ export interface PrivateEndpointConnectionListResult {
336
429
  value?: PrivateEndpointConnection[];
337
430
  }
338
431
 
432
+ // @public
433
+ export interface PrivateEndpointConnectionProperties {
434
+ groupIds?: string[];
435
+ privateEndpoint?: PrivateEndpoint;
436
+ privateLinkServiceConnectionState: PrivateLinkServiceConnectionState;
437
+ readonly provisioningState?: ProvisioningStates;
438
+ }
439
+
339
440
  // @public
340
441
  export interface PrivateEndpointConnections {
341
442
  beginCreate(resourceGroupName: string, elasticSanName: string, privateEndpointConnectionName: string, parameters: PrivateEndpointConnection, options?: PrivateEndpointConnectionsCreateOptionalParams): Promise<SimplePollerLike<OperationState<PrivateEndpointConnectionsCreateResponse>, PrivateEndpointConnectionsCreateResponse>>;
@@ -386,9 +487,7 @@ export type PrivateEndpointServiceConnectionStatus = string;
386
487
 
387
488
  // @public
388
489
  export interface PrivateLinkResource extends Resource {
389
- readonly groupId?: string;
390
- readonly requiredMembers?: string[];
391
- requiredZoneNames?: string[];
490
+ properties?: PrivateLinkResourceProperties;
392
491
  }
393
492
 
394
493
  // @public
@@ -397,6 +496,13 @@ export interface PrivateLinkResourceListResult {
397
496
  value?: PrivateLinkResource[];
398
497
  }
399
498
 
499
+ // @public
500
+ export interface PrivateLinkResourceProperties {
501
+ readonly groupId?: string;
502
+ readonly requiredMembers?: string[];
503
+ requiredZoneNames?: string[];
504
+ }
505
+
400
506
  // @public
401
507
  export interface PrivateLinkResources {
402
508
  listByElasticSan(resourceGroupName: string, elasticSanName: string, options?: PrivateLinkResourcesListByElasticSanOptionalParams): Promise<PrivateLinkResourcesListByElasticSanResponse>;
@@ -423,6 +529,9 @@ export type ProvisioningStates = string;
423
529
  export interface ProxyResource extends Resource {
424
530
  }
425
531
 
532
+ // @public
533
+ export type PublicNetworkAccess = string;
534
+
426
535
  // @public
427
536
  export interface Resource {
428
537
  readonly id?: string;
@@ -485,13 +594,34 @@ export type SkusListResponse = SkuInformationList;
485
594
  export type SkuTier = string;
486
595
 
487
596
  // @public
488
- export interface SourceCreationData {
489
- createSource?: "None";
490
- sourceUri?: string;
597
+ export interface Snapshot extends ProxyResource {
598
+ properties: SnapshotProperties;
599
+ }
600
+
601
+ // @public
602
+ export interface SnapshotCreationData {
603
+ sourceId: string;
604
+ }
605
+
606
+ // @public
607
+ export interface SnapshotList {
608
+ readonly nextLink?: string;
609
+ value?: Snapshot[];
491
610
  }
492
611
 
493
612
  // @public
494
- export type State = "provisioning" | "deprovisioning" | "succeeded" | "failed" | "networkSourceDeleted";
613
+ export interface SnapshotProperties {
614
+ creationData: SnapshotCreationData;
615
+ readonly provisioningState?: ProvisioningStates;
616
+ readonly sourceVolumeSizeGiB?: number;
617
+ readonly volumeName?: string;
618
+ }
619
+
620
+ // @public
621
+ export interface SourceCreationData {
622
+ createSource?: VolumeCreateOption;
623
+ sourceId?: string;
624
+ }
495
625
 
496
626
  // @public
497
627
  export type StorageTargetType = string;
@@ -514,28 +644,30 @@ export interface TrackedResource extends Resource {
514
644
  };
515
645
  }
516
646
 
647
+ // @public
648
+ export interface UserAssignedIdentity {
649
+ readonly clientId?: string;
650
+ readonly principalId?: string;
651
+ }
652
+
517
653
  // @public
518
654
  export interface VirtualNetworkRule {
519
- action?: "Allow";
520
- readonly state?: State;
655
+ action?: Action;
521
656
  virtualNetworkResourceId: string;
522
657
  }
523
658
 
524
659
  // @public
525
660
  export interface Volume extends ProxyResource {
526
- creationData?: SourceCreationData;
527
- sizeGiB: number;
528
- readonly storageTarget?: IscsiTargetInfo;
529
- readonly volumeId?: string;
661
+ properties: VolumeProperties;
530
662
  }
531
663
 
664
+ // @public
665
+ export type VolumeCreateOption = string;
666
+
532
667
  // @public
533
668
  export interface VolumeGroup extends ProxyResource {
534
- encryption?: EncryptionType;
535
- networkAcls?: NetworkRuleSet;
536
- readonly privateEndpointConnections?: PrivateEndpointConnection[];
537
- protocolType?: StorageTargetType;
538
- readonly provisioningState?: ProvisioningStates;
669
+ identity?: Identity;
670
+ properties?: VolumeGroupProperties;
539
671
  }
540
672
 
541
673
  // @public
@@ -544,6 +676,16 @@ export interface VolumeGroupList {
544
676
  value?: VolumeGroup[];
545
677
  }
546
678
 
679
+ // @public
680
+ export interface VolumeGroupProperties {
681
+ encryption?: EncryptionType;
682
+ encryptionProperties?: EncryptionProperties;
683
+ networkAcls?: NetworkRuleSet;
684
+ readonly privateEndpointConnections?: PrivateEndpointConnection[];
685
+ protocolType?: StorageTargetType;
686
+ readonly provisioningState?: ProvisioningStates;
687
+ }
688
+
547
689
  // @public
548
690
  export interface VolumeGroups {
549
691
  beginCreate(resourceGroupName: string, elasticSanName: string, volumeGroupName: string, parameters: VolumeGroup, options?: VolumeGroupsCreateOptionalParams): Promise<SimplePollerLike<OperationState<VolumeGroupsCreateResponse>, VolumeGroupsCreateResponse>>;
@@ -615,7 +757,14 @@ export type VolumeGroupsUpdateResponse = VolumeGroup;
615
757
 
616
758
  // @public
617
759
  export interface VolumeGroupUpdate {
760
+ identity?: Identity;
761
+ properties?: VolumeGroupUpdateProperties;
762
+ }
763
+
764
+ // @public
765
+ export interface VolumeGroupUpdateProperties {
618
766
  encryption?: EncryptionType;
767
+ encryptionProperties?: EncryptionProperties;
619
768
  networkAcls?: NetworkRuleSet;
620
769
  protocolType?: StorageTargetType;
621
770
  }
@@ -626,6 +775,16 @@ export interface VolumeList {
626
775
  value?: Volume[];
627
776
  }
628
777
 
778
+ // @public
779
+ export interface VolumeProperties {
780
+ creationData?: SourceCreationData;
781
+ managedBy?: ManagedByInfo;
782
+ readonly provisioningState?: ProvisioningStates;
783
+ sizeGiB: number;
784
+ readonly storageTarget?: IscsiTargetInfo;
785
+ readonly volumeId?: string;
786
+ }
787
+
629
788
  // @public
630
789
  export interface Volumes {
631
790
  beginCreate(resourceGroupName: string, elasticSanName: string, volumeGroupName: string, volumeName: string, parameters: Volume, options?: VolumesCreateOptionalParams): Promise<SimplePollerLike<OperationState<VolumesCreateResponse>, VolumesCreateResponse>>;
@@ -657,6 +816,8 @@ export interface VolumesDeleteHeaders {
657
816
  export interface VolumesDeleteOptionalParams extends coreClient.OperationOptions {
658
817
  resumeFrom?: string;
659
818
  updateIntervalInMs?: number;
819
+ xMsDeleteSnapshots?: XMsDeleteSnapshots;
820
+ xMsForceDelete?: XMsForceDelete;
660
821
  }
661
822
 
662
823
  // @public
@@ -680,6 +841,59 @@ export interface VolumesListByVolumeGroupOptionalParams extends coreClient.Opera
680
841
  // @public
681
842
  export type VolumesListByVolumeGroupResponse = VolumeList;
682
843
 
844
+ // @public
845
+ export interface VolumeSnapshots {
846
+ beginCreate(resourceGroupName: string, elasticSanName: string, volumeGroupName: string, snapshotName: string, parameters: Snapshot, options?: VolumeSnapshotsCreateOptionalParams): Promise<SimplePollerLike<OperationState<VolumeSnapshotsCreateResponse>, VolumeSnapshotsCreateResponse>>;
847
+ beginCreateAndWait(resourceGroupName: string, elasticSanName: string, volumeGroupName: string, snapshotName: string, parameters: Snapshot, options?: VolumeSnapshotsCreateOptionalParams): Promise<VolumeSnapshotsCreateResponse>;
848
+ beginDelete(resourceGroupName: string, elasticSanName: string, volumeGroupName: string, snapshotName: string, options?: VolumeSnapshotsDeleteOptionalParams): Promise<SimplePollerLike<OperationState<void>, void>>;
849
+ beginDeleteAndWait(resourceGroupName: string, elasticSanName: string, volumeGroupName: string, snapshotName: string, options?: VolumeSnapshotsDeleteOptionalParams): Promise<void>;
850
+ get(resourceGroupName: string, elasticSanName: string, volumeGroupName: string, snapshotName: string, options?: VolumeSnapshotsGetOptionalParams): Promise<VolumeSnapshotsGetResponse>;
851
+ listByVolumeGroup(resourceGroupName: string, elasticSanName: string, volumeGroupName: string, options?: VolumeSnapshotsListByVolumeGroupOptionalParams): PagedAsyncIterableIterator<Snapshot>;
852
+ }
853
+
854
+ // @public
855
+ export interface VolumeSnapshotsCreateOptionalParams extends coreClient.OperationOptions {
856
+ resumeFrom?: string;
857
+ updateIntervalInMs?: number;
858
+ }
859
+
860
+ // @public
861
+ export type VolumeSnapshotsCreateResponse = Snapshot;
862
+
863
+ // @public
864
+ export interface VolumeSnapshotsDeleteHeaders {
865
+ // (undocumented)
866
+ location?: string;
867
+ }
868
+
869
+ // @public
870
+ export interface VolumeSnapshotsDeleteOptionalParams extends coreClient.OperationOptions {
871
+ resumeFrom?: string;
872
+ updateIntervalInMs?: number;
873
+ }
874
+
875
+ // @public
876
+ export interface VolumeSnapshotsGetOptionalParams extends coreClient.OperationOptions {
877
+ }
878
+
879
+ // @public
880
+ export type VolumeSnapshotsGetResponse = Snapshot;
881
+
882
+ // @public
883
+ export interface VolumeSnapshotsListByVolumeGroupNextOptionalParams extends coreClient.OperationOptions {
884
+ }
885
+
886
+ // @public
887
+ export type VolumeSnapshotsListByVolumeGroupNextResponse = SnapshotList;
888
+
889
+ // @public
890
+ export interface VolumeSnapshotsListByVolumeGroupOptionalParams extends coreClient.OperationOptions {
891
+ filter?: string;
892
+ }
893
+
894
+ // @public
895
+ export type VolumeSnapshotsListByVolumeGroupResponse = SnapshotList;
896
+
683
897
  // @public
684
898
  export interface VolumesUpdateHeaders {
685
899
  // (undocumented)
@@ -697,9 +911,21 @@ export type VolumesUpdateResponse = Volume;
697
911
 
698
912
  // @public
699
913
  export interface VolumeUpdate {
914
+ properties?: VolumeUpdateProperties;
915
+ }
916
+
917
+ // @public
918
+ export interface VolumeUpdateProperties {
919
+ managedBy?: ManagedByInfo;
700
920
  sizeGiB?: number;
701
921
  }
702
922
 
923
+ // @public
924
+ export type XMsDeleteSnapshots = string;
925
+
926
+ // @public
927
+ export type XMsForceDelete = string;
928
+
703
929
  // (No @packageDocumentation comment for this package)
704
930
 
705
931
  ```
@@ -21,7 +21,8 @@ import {
21
21
  VolumeGroupsImpl,
22
22
  VolumesImpl,
23
23
  PrivateEndpointConnectionsImpl,
24
- PrivateLinkResourcesImpl
24
+ PrivateLinkResourcesImpl,
25
+ VolumeSnapshotsImpl
25
26
  } from "./operations";
26
27
  import {
27
28
  Operations,
@@ -30,7 +31,8 @@ import {
30
31
  VolumeGroups,
31
32
  Volumes,
32
33
  PrivateEndpointConnections,
33
- PrivateLinkResources
34
+ PrivateLinkResources,
35
+ VolumeSnapshots
34
36
  } from "./operationsInterfaces";
35
37
  import { ElasticSanManagementOptionalParams } from "./models";
36
38
 
@@ -66,7 +68,7 @@ export class ElasticSanManagement extends coreClient.ServiceClient {
66
68
  credential: credentials
67
69
  };
68
70
 
69
- const packageDetails = `azsdk-js-arm-elasticsan/1.0.0-beta.2`;
71
+ const packageDetails = `azsdk-js-arm-elasticsan/1.0.0`;
70
72
  const userAgentPrefix =
71
73
  options.userAgentOptions && options.userAgentOptions.userAgentPrefix
72
74
  ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}`
@@ -119,7 +121,7 @@ export class ElasticSanManagement extends coreClient.ServiceClient {
119
121
 
120
122
  // Assigning values to Constant parameters
121
123
  this.$host = options.$host || "https://management.azure.com";
122
- this.apiVersion = options.apiVersion || "2022-12-01-preview";
124
+ this.apiVersion = options.apiVersion || "2023-01-01";
123
125
  this.operations = new OperationsImpl(this);
124
126
  this.skus = new SkusImpl(this);
125
127
  this.elasticSans = new ElasticSansImpl(this);
@@ -127,6 +129,7 @@ export class ElasticSanManagement extends coreClient.ServiceClient {
127
129
  this.volumes = new VolumesImpl(this);
128
130
  this.privateEndpointConnections = new PrivateEndpointConnectionsImpl(this);
129
131
  this.privateLinkResources = new PrivateLinkResourcesImpl(this);
132
+ this.volumeSnapshots = new VolumeSnapshotsImpl(this);
130
133
  this.addCustomApiVersionPolicy(options.apiVersion);
131
134
  }
132
135
 
@@ -165,4 +168,5 @@ export class ElasticSanManagement extends coreClient.ServiceClient {
165
168
  volumes: Volumes;
166
169
  privateEndpointConnections: PrivateEndpointConnections;
167
170
  privateLinkResources: PrivateLinkResources;
171
+ volumeSnapshots: VolumeSnapshots;
168
172
  }