@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
@@ -4,6 +4,15 @@ import { OperationState } from '@azure/core-lro';
4
4
  import { PagedAsyncIterableIterator } from '@azure/core-paging';
5
5
  import { SimplePollerLike } from '@azure/core-lro';
6
6
 
7
+ /**
8
+ * Defines values for Action. \
9
+ * {@link KnownAction} can be used interchangeably with Action,
10
+ * this enum contains the known values that the service supports.
11
+ * ### Known values supported by the service
12
+ * **Allow**
13
+ */
14
+ export declare type Action = string;
15
+
7
16
  /**
8
17
  * Defines values for ActionType. \
9
18
  * {@link KnownActionType} can be used interchangeably with ActionType,
@@ -27,49 +36,8 @@ export declare type CreatedByType = string;
27
36
 
28
37
  /** Response for ElasticSan request. */
29
38
  export declare interface ElasticSan extends TrackedResource {
30
- /** resource sku */
31
- sku: Sku;
32
- /** Logical zone for Elastic San resource; example: ["1"]. */
33
- availabilityZones?: string[];
34
- /**
35
- * State of the operation on the resource.
36
- * NOTE: This property will not be serialized. It can only be populated by the server.
37
- */
38
- readonly provisioningState?: ProvisioningStates;
39
- /** Base size of the Elastic San appliance in TiB. */
40
- baseSizeTiB: number;
41
- /** Extended size of the Elastic San appliance in TiB. */
42
- extendedCapacitySizeTiB: number;
43
- /**
44
- * Total size of the provisioned Volumes in GiB.
45
- * NOTE: This property will not be serialized. It can only be populated by the server.
46
- */
47
- readonly totalVolumeSizeGiB?: number;
48
- /**
49
- * Total number of volume groups in this Elastic San appliance.
50
- * NOTE: This property will not be serialized. It can only be populated by the server.
51
- */
52
- readonly volumeGroupCount?: number;
53
- /**
54
- * Total Provisioned IOPS of the Elastic San appliance.
55
- * NOTE: This property will not be serialized. It can only be populated by the server.
56
- */
57
- readonly totalIops?: number;
58
- /**
59
- * Total Provisioned MBps Elastic San appliance.
60
- * NOTE: This property will not be serialized. It can only be populated by the server.
61
- */
62
- readonly totalMBps?: number;
63
- /**
64
- * Total size of the Elastic San appliance in TB.
65
- * NOTE: This property will not be serialized. It can only be populated by the server.
66
- */
67
- readonly totalSizeTiB?: number;
68
- /**
69
- * The list of Private Endpoint Connections.
70
- * NOTE: This property will not be serialized. It can only be populated by the server.
71
- */
72
- readonly privateEndpointConnections?: PrivateEndpointConnection[];
39
+ /** Properties of ElasticSan. */
40
+ properties: ElasticSanProperties;
73
41
  }
74
42
 
75
43
  /** List of Elastic Sans */
@@ -103,6 +71,7 @@ export declare class ElasticSanManagement extends coreClient.ServiceClient {
103
71
  volumes: Volumes;
104
72
  privateEndpointConnections: PrivateEndpointConnections;
105
73
  privateLinkResources: PrivateLinkResources;
74
+ volumeSnapshots: VolumeSnapshots;
106
75
  }
107
76
 
108
77
  /** Optional parameters. */
@@ -115,6 +84,55 @@ export declare interface ElasticSanManagementOptionalParams extends coreClient.S
115
84
  endpoint?: string;
116
85
  }
117
86
 
87
+ /** Elastic San response properties. */
88
+ export declare interface ElasticSanProperties {
89
+ /** resource sku */
90
+ sku: Sku;
91
+ /** Logical zone for Elastic San resource; example: ["1"]. */
92
+ availabilityZones?: string[];
93
+ /**
94
+ * State of the operation on the resource.
95
+ * NOTE: This property will not be serialized. It can only be populated by the server.
96
+ */
97
+ readonly provisioningState?: ProvisioningStates;
98
+ /** Base size of the Elastic San appliance in TiB. */
99
+ baseSizeTiB: number;
100
+ /** Extended size of the Elastic San appliance in TiB. */
101
+ extendedCapacitySizeTiB: number;
102
+ /**
103
+ * Total size of the provisioned Volumes in GiB.
104
+ * NOTE: This property will not be serialized. It can only be populated by the server.
105
+ */
106
+ readonly totalVolumeSizeGiB?: number;
107
+ /**
108
+ * Total number of volume groups in this Elastic San appliance.
109
+ * NOTE: This property will not be serialized. It can only be populated by the server.
110
+ */
111
+ readonly volumeGroupCount?: number;
112
+ /**
113
+ * Total Provisioned IOPS of the Elastic San appliance.
114
+ * NOTE: This property will not be serialized. It can only be populated by the server.
115
+ */
116
+ readonly totalIops?: number;
117
+ /**
118
+ * Total Provisioned MBps Elastic San appliance.
119
+ * NOTE: This property will not be serialized. It can only be populated by the server.
120
+ */
121
+ readonly totalMBps?: number;
122
+ /**
123
+ * Total size of the Elastic San appliance in TB.
124
+ * NOTE: This property will not be serialized. It can only be populated by the server.
125
+ */
126
+ readonly totalSizeTiB?: number;
127
+ /**
128
+ * The list of Private Endpoint Connections.
129
+ * NOTE: This property will not be serialized. It can only be populated by the server.
130
+ */
131
+ readonly privateEndpointConnections?: PrivateEndpointConnection[];
132
+ /** Allow or disallow public network access to ElasticSan. Value is optional but if passed in, must be 'Enabled' or 'Disabled'. */
133
+ publicNetworkAccess?: PublicNetworkAccess;
134
+ }
135
+
118
136
  /** Interface representing a ElasticSans. */
119
137
  export declare interface ElasticSans {
120
138
  /**
@@ -260,14 +278,36 @@ export declare type ElasticSansUpdateResponse = ElasticSan;
260
278
 
261
279
  /** Response for ElasticSan update request. */
262
280
  export declare interface ElasticSanUpdate {
281
+ /** Properties of ElasticSan. */
282
+ properties?: ElasticSanUpdateProperties;
263
283
  /** Update tags */
264
284
  tags?: {
265
285
  [propertyName: string]: string;
266
286
  };
287
+ }
288
+
289
+ /** Elastic San update properties. */
290
+ export declare interface ElasticSanUpdateProperties {
267
291
  /** Base size of the Elastic San appliance in TiB. */
268
292
  baseSizeTiB?: number;
269
293
  /** Extended size of the Elastic San appliance in TiB. */
270
294
  extendedCapacitySizeTiB?: number;
295
+ /** Allow or disallow public network access to ElasticSan Account. Value is optional but if passed in, must be 'Enabled' or 'Disabled'. */
296
+ publicNetworkAccess?: PublicNetworkAccess;
297
+ }
298
+
299
+ /** Encryption identity for the volume group. */
300
+ export declare interface EncryptionIdentity {
301
+ /** Resource identifier of the UserAssigned identity to be associated with server-side encryption on the volume group. */
302
+ encryptionUserAssignedIdentity?: string;
303
+ }
304
+
305
+ /** The encryption settings on the volume group. */
306
+ export declare interface EncryptionProperties {
307
+ /** Properties provided by key vault. */
308
+ keyVaultProperties?: KeyVaultProperties;
309
+ /** The identity to be used with service-side encryption at rest. */
310
+ encryptionIdentity?: EncryptionIdentity;
271
311
  }
272
312
 
273
313
  /**
@@ -275,7 +315,8 @@ export declare interface ElasticSanUpdate {
275
315
  * {@link KnownEncryptionType} can be used interchangeably with EncryptionType,
276
316
  * this enum contains the known values that the service supports.
277
317
  * ### Known values supported by the service
278
- * **EncryptionAtRestWithPlatformKey**: Volume is encrypted at rest with Platform managed key. It is the default encryption type.
318
+ * **EncryptionAtRestWithPlatformKey**: Volume is encrypted at rest with Platform managed key. It is the default encryption type. \
319
+ * **EncryptionAtRestWithCustomerManagedKey**: Volume is encrypted at rest with Customer managed key that can be changed and revoked by a customer.
279
320
  */
280
321
  export declare type EncryptionType = string;
281
322
 
@@ -337,6 +378,37 @@ export declare interface ErrorResponse {
337
378
  */
338
379
  export declare function getContinuationToken(page: unknown): string | undefined;
339
380
 
381
+ /** Identity for the resource. */
382
+ export declare interface Identity {
383
+ /**
384
+ * The principal ID of resource identity.
385
+ * NOTE: This property will not be serialized. It can only be populated by the server.
386
+ */
387
+ readonly principalId?: string;
388
+ /**
389
+ * The tenant ID of resource.
390
+ * NOTE: This property will not be serialized. It can only be populated by the server.
391
+ */
392
+ readonly tenantId?: string;
393
+ /** The identity type. */
394
+ type: IdentityType;
395
+ /** 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. */
396
+ userAssignedIdentities?: {
397
+ [propertyName: string]: UserAssignedIdentity;
398
+ };
399
+ }
400
+
401
+ /**
402
+ * Defines values for IdentityType. \
403
+ * {@link KnownIdentityType} can be used interchangeably with IdentityType,
404
+ * this enum contains the known values that the service supports.
405
+ * ### Known values supported by the service
406
+ * **None** \
407
+ * **SystemAssigned** \
408
+ * **UserAssigned**
409
+ */
410
+ export declare type IdentityType = string;
411
+
340
412
  /** Iscsi target information */
341
413
  export declare interface IscsiTargetInfo {
342
414
  /**
@@ -363,6 +435,37 @@ export declare interface IscsiTargetInfo {
363
435
  status?: OperationalStatus;
364
436
  }
365
437
 
438
+ /** Properties of key vault. */
439
+ export declare interface KeyVaultProperties {
440
+ /** The name of KeyVault key. */
441
+ keyName?: string;
442
+ /** The version of KeyVault key. */
443
+ keyVersion?: string;
444
+ /** The Uri of KeyVault. */
445
+ keyVaultUri?: string;
446
+ /**
447
+ * The object identifier of the current versioned Key Vault Key in use.
448
+ * NOTE: This property will not be serialized. It can only be populated by the server.
449
+ */
450
+ readonly currentVersionedKeyIdentifier?: string;
451
+ /**
452
+ * Timestamp of last rotation of the Key Vault Key.
453
+ * NOTE: This property will not be serialized. It can only be populated by the server.
454
+ */
455
+ readonly lastKeyRotationTimestamp?: Date;
456
+ /**
457
+ * This is a read only property that represents the expiration time of the current version of the customer managed key used for encryption.
458
+ * NOTE: This property will not be serialized. It can only be populated by the server.
459
+ */
460
+ readonly currentVersionedKeyExpirationTimestamp?: Date;
461
+ }
462
+
463
+ /** Known values of {@link Action} that the service accepts. */
464
+ export declare enum KnownAction {
465
+ /** Allow */
466
+ Allow = "Allow"
467
+ }
468
+
366
469
  /** Known values of {@link ActionType} that the service accepts. */
367
470
  export declare enum KnownActionType {
368
471
  /** Internal */
@@ -384,7 +487,19 @@ export declare enum KnownCreatedByType {
384
487
  /** Known values of {@link EncryptionType} that the service accepts. */
385
488
  export declare enum KnownEncryptionType {
386
489
  /** Volume is encrypted at rest with Platform managed key. It is the default encryption type. */
387
- EncryptionAtRestWithPlatformKey = "EncryptionAtRestWithPlatformKey"
490
+ EncryptionAtRestWithPlatformKey = "EncryptionAtRestWithPlatformKey",
491
+ /** Volume is encrypted at rest with Customer managed key that can be changed and revoked by a customer. */
492
+ EncryptionAtRestWithCustomerManagedKey = "EncryptionAtRestWithCustomerManagedKey"
493
+ }
494
+
495
+ /** Known values of {@link IdentityType} that the service accepts. */
496
+ export declare enum KnownIdentityType {
497
+ /** None */
498
+ None = "None",
499
+ /** SystemAssigned */
500
+ SystemAssigned = "SystemAssigned",
501
+ /** UserAssigned */
502
+ UserAssigned = "UserAssigned"
388
503
  }
389
504
 
390
505
  /** Known values of {@link OperationalStatus} that the service accepts. */
@@ -449,6 +564,14 @@ export declare enum KnownProvisioningStates {
449
564
  Deleting = "Deleting"
450
565
  }
451
566
 
567
+ /** Known values of {@link PublicNetworkAccess} that the service accepts. */
568
+ export declare enum KnownPublicNetworkAccess {
569
+ /** Enabled */
570
+ Enabled = "Enabled",
571
+ /** Disabled */
572
+ Disabled = "Disabled"
573
+ }
574
+
452
575
  /** Known values of {@link SkuName} that the service accepts. */
453
576
  export declare enum KnownSkuName {
454
577
  /** Premium locally redundant storage */
@@ -471,6 +594,42 @@ export declare enum KnownStorageTargetType {
471
594
  None = "None"
472
595
  }
473
596
 
597
+ /** Known values of {@link VolumeCreateOption} that the service accepts. */
598
+ export declare enum KnownVolumeCreateOption {
599
+ /** None */
600
+ None = "None",
601
+ /** VolumeSnapshot */
602
+ VolumeSnapshot = "VolumeSnapshot",
603
+ /** DiskSnapshot */
604
+ DiskSnapshot = "DiskSnapshot",
605
+ /** Disk */
606
+ Disk = "Disk",
607
+ /** DiskRestorePoint */
608
+ DiskRestorePoint = "DiskRestorePoint"
609
+ }
610
+
611
+ /** Known values of {@link XMsDeleteSnapshots} that the service accepts. */
612
+ export declare enum KnownXMsDeleteSnapshots {
613
+ /** True */
614
+ True = "true",
615
+ /** False */
616
+ False = "false"
617
+ }
618
+
619
+ /** Known values of {@link XMsForceDelete} that the service accepts. */
620
+ export declare enum KnownXMsForceDelete {
621
+ /** True */
622
+ True = "true",
623
+ /** False */
624
+ False = "false"
625
+ }
626
+
627
+ /** Parent resource information. */
628
+ export declare interface ManagedByInfo {
629
+ /** Resource ID of the resource managing the volume, this is a restricted field and can only be set for internal use. */
630
+ resourceId?: string;
631
+ }
632
+
474
633
  /** A set of rules governing the network accessibility. */
475
634
  export declare interface NetworkRuleSet {
476
635
  /** The list of virtual network rules. */
@@ -595,17 +754,8 @@ export declare interface PrivateEndpoint {
595
754
 
596
755
  /** Response for PrivateEndpoint Connection object */
597
756
  export declare interface PrivateEndpointConnection extends Resource {
598
- /**
599
- * Provisioning State of Private Endpoint connection resource
600
- * NOTE: This property will not be serialized. It can only be populated by the server.
601
- */
602
- readonly provisioningState?: ProvisioningStates;
603
- /** Private Endpoint resource */
604
- privateEndpoint?: PrivateEndpoint;
605
- /** Private Link Service Connection State. */
606
- privateLinkServiceConnectionState: PrivateLinkServiceConnectionState;
607
- /** List of resources private endpoint is mapped */
608
- groupIds?: string[];
757
+ /** Private Endpoint Connection Properties. */
758
+ properties: PrivateEndpointConnectionProperties;
609
759
  }
610
760
 
611
761
  /** List of private endpoint connections associated with SAN */
@@ -619,6 +769,21 @@ export declare interface PrivateEndpointConnectionListResult {
619
769
  readonly nextLink?: string;
620
770
  }
621
771
 
772
+ /** Response for PrivateEndpoint connection properties */
773
+ export declare interface PrivateEndpointConnectionProperties {
774
+ /**
775
+ * Provisioning State of Private Endpoint connection resource
776
+ * NOTE: This property will not be serialized. It can only be populated by the server.
777
+ */
778
+ readonly provisioningState?: ProvisioningStates;
779
+ /** Private Endpoint resource */
780
+ privateEndpoint?: PrivateEndpoint;
781
+ /** Private Link Service Connection State. */
782
+ privateLinkServiceConnectionState: PrivateLinkServiceConnectionState;
783
+ /** List of resources private endpoint is mapped */
784
+ groupIds?: string[];
785
+ }
786
+
622
787
  /** Interface representing a PrivateEndpointConnections. */
623
788
  export declare interface PrivateEndpointConnections {
624
789
  /**
@@ -724,6 +889,23 @@ export declare type PrivateEndpointServiceConnectionStatus = string;
724
889
 
725
890
  /** A private link resource */
726
891
  export declare interface PrivateLinkResource extends Resource {
892
+ /** Resource properties. */
893
+ properties?: PrivateLinkResourceProperties;
894
+ }
895
+
896
+ /** A list of private link resources */
897
+ export declare interface PrivateLinkResourceListResult {
898
+ /** Array of private link resources */
899
+ value?: PrivateLinkResource[];
900
+ /**
901
+ * URI to fetch the next section of the paginated response.
902
+ * NOTE: This property will not be serialized. It can only be populated by the server.
903
+ */
904
+ readonly nextLink?: string;
905
+ }
906
+
907
+ /** Properties of a private link resource. */
908
+ export declare interface PrivateLinkResourceProperties {
727
909
  /**
728
910
  * The private link resource group id.
729
911
  * NOTE: This property will not be serialized. It can only be populated by the server.
@@ -738,17 +920,6 @@ export declare interface PrivateLinkResource extends Resource {
738
920
  requiredZoneNames?: string[];
739
921
  }
740
922
 
741
- /** A list of private link resources */
742
- export declare interface PrivateLinkResourceListResult {
743
- /** Array of private link resources */
744
- value?: PrivateLinkResource[];
745
- /**
746
- * URI to fetch the next section of the paginated response.
747
- * NOTE: This property will not be serialized. It can only be populated by the server.
748
- */
749
- readonly nextLink?: string;
750
- }
751
-
752
923
  /** Interface representing a PrivateLinkResources. */
753
924
  export declare interface PrivateLinkResources {
754
925
  /**
@@ -797,6 +968,16 @@ export declare type ProvisioningStates = string;
797
968
  export declare interface ProxyResource extends Resource {
798
969
  }
799
970
 
971
+ /**
972
+ * Defines values for PublicNetworkAccess. \
973
+ * {@link KnownPublicNetworkAccess} can be used interchangeably with PublicNetworkAccess,
974
+ * this enum contains the known values that the service supports.
975
+ * ### Known values supported by the service
976
+ * **Enabled** \
977
+ * **Disabled**
978
+ */
979
+ export declare type PublicNetworkAccess = string;
980
+
800
981
  /** Common fields that are returned in the response for all Azure Resource Manager resources */
801
982
  export declare interface Resource {
802
983
  /**
@@ -936,17 +1117,58 @@ export declare type SkusListResponse = SkuInformationList;
936
1117
  */
937
1118
  export declare type SkuTier = string;
938
1119
 
1120
+ /** Response for Volume Snapshot request. */
1121
+ export declare interface Snapshot extends ProxyResource {
1122
+ /** Properties of Volume Snapshot. */
1123
+ properties: SnapshotProperties;
1124
+ }
1125
+
1126
+ /** Data used when creating a volume snapshot. */
1127
+ export declare interface SnapshotCreationData {
1128
+ /** Fully qualified resource ID of the volume. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}/volumes/{volumeName}" */
1129
+ sourceId: string;
1130
+ }
1131
+
1132
+ /** List of Snapshots */
1133
+ export declare interface SnapshotList {
1134
+ /** An array of Snapshot objects. */
1135
+ value?: Snapshot[];
1136
+ /**
1137
+ * URI to fetch the next section of the paginated response.
1138
+ * NOTE: This property will not be serialized. It can only be populated by the server.
1139
+ */
1140
+ readonly nextLink?: string;
1141
+ }
1142
+
1143
+ /** Properties for Snapshot. */
1144
+ export declare interface SnapshotProperties {
1145
+ /** Data used when creating a volume snapshot. */
1146
+ creationData: SnapshotCreationData;
1147
+ /**
1148
+ * State of the operation on the resource.
1149
+ * NOTE: This property will not be serialized. It can only be populated by the server.
1150
+ */
1151
+ readonly provisioningState?: ProvisioningStates;
1152
+ /**
1153
+ * Size of Source Volume
1154
+ * NOTE: This property will not be serialized. It can only be populated by the server.
1155
+ */
1156
+ readonly sourceVolumeSizeGiB?: number;
1157
+ /**
1158
+ * Source Volume Name of a snapshot
1159
+ * NOTE: This property will not be serialized. It can only be populated by the server.
1160
+ */
1161
+ readonly volumeName?: string;
1162
+ }
1163
+
939
1164
  /** Data source used when creating the volume. */
940
1165
  export declare interface SourceCreationData {
941
1166
  /** This enumerates the possible sources of a volume creation. */
942
- createSource?: "None";
943
- /** 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. */
944
- sourceUri?: string;
1167
+ createSource?: VolumeCreateOption;
1168
+ /** Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" */
1169
+ sourceId?: string;
945
1170
  }
946
1171
 
947
- /** Defines values for State. */
948
- export declare type State = "provisioning" | "deprovisioning" | "succeeded" | "failed" | "networkSourceDeleted";
949
-
950
1172
  /**
951
1173
  * Defines values for StorageTargetType. \
952
1174
  * {@link KnownStorageTargetType} can be used interchangeably with StorageTargetType,
@@ -983,39 +1205,68 @@ export declare interface TrackedResource extends Resource {
983
1205
  location: string;
984
1206
  }
985
1207
 
1208
+ /** UserAssignedIdentity for the resource. */
1209
+ export declare interface UserAssignedIdentity {
1210
+ /**
1211
+ * The principal ID of the identity.
1212
+ * NOTE: This property will not be serialized. It can only be populated by the server.
1213
+ */
1214
+ readonly principalId?: string;
1215
+ /**
1216
+ * The client ID of the identity.
1217
+ * NOTE: This property will not be serialized. It can only be populated by the server.
1218
+ */
1219
+ readonly clientId?: string;
1220
+ }
1221
+
986
1222
  /** Virtual Network rule. */
987
1223
  export declare interface VirtualNetworkRule {
988
1224
  /** Resource ID of a subnet, for example: /subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.Network/virtualNetworks/{vnetName}/subnets/{subnetName}. */
989
1225
  virtualNetworkResourceId: string;
990
1226
  /** The action of virtual network rule. */
991
- action?: "Allow";
992
- /**
993
- * Gets the state of virtual network rule.
994
- * NOTE: This property will not be serialized. It can only be populated by the server.
995
- */
996
- readonly state?: State;
1227
+ action?: Action;
997
1228
  }
998
1229
 
999
1230
  /** Response for Volume request. */
1000
1231
  export declare interface Volume extends ProxyResource {
1232
+ /** Properties of Volume. */
1233
+ properties: VolumeProperties;
1234
+ }
1235
+
1236
+ /**
1237
+ * Defines values for VolumeCreateOption. \
1238
+ * {@link KnownVolumeCreateOption} can be used interchangeably with VolumeCreateOption,
1239
+ * this enum contains the known values that the service supports.
1240
+ * ### Known values supported by the service
1241
+ * **None** \
1242
+ * **VolumeSnapshot** \
1243
+ * **DiskSnapshot** \
1244
+ * **Disk** \
1245
+ * **DiskRestorePoint**
1246
+ */
1247
+ export declare type VolumeCreateOption = string;
1248
+
1249
+ /** Response for Volume Group request. */
1250
+ export declare interface VolumeGroup extends ProxyResource {
1251
+ /** The identity of the resource. */
1252
+ identity?: Identity;
1253
+ /** Properties of VolumeGroup. */
1254
+ properties?: VolumeGroupProperties;
1255
+ }
1256
+
1257
+ /** List of Volume Groups */
1258
+ export declare interface VolumeGroupList {
1259
+ /** An array of Volume Groups objects. */
1260
+ value?: VolumeGroup[];
1001
1261
  /**
1002
- * Unique Id of the volume in GUID format
1003
- * NOTE: This property will not be serialized. It can only be populated by the server.
1004
- */
1005
- readonly volumeId?: string;
1006
- /** State of the operation on the resource. */
1007
- creationData?: SourceCreationData;
1008
- /** Volume size. */
1009
- sizeGiB: number;
1010
- /**
1011
- * Storage target information
1262
+ * URI to fetch the next section of the paginated response.
1012
1263
  * NOTE: This property will not be serialized. It can only be populated by the server.
1013
1264
  */
1014
- readonly storageTarget?: IscsiTargetInfo;
1265
+ readonly nextLink?: string;
1015
1266
  }
1016
1267
 
1017
- /** Response for Volume Group request. */
1018
- export declare interface VolumeGroup extends ProxyResource {
1268
+ /** VolumeGroup response properties. */
1269
+ export declare interface VolumeGroupProperties {
1019
1270
  /**
1020
1271
  * State of the operation on the resource.
1021
1272
  * NOTE: This property will not be serialized. It can only be populated by the server.
@@ -1025,6 +1276,8 @@ export declare interface VolumeGroup extends ProxyResource {
1025
1276
  protocolType?: StorageTargetType;
1026
1277
  /** Type of encryption */
1027
1278
  encryption?: EncryptionType;
1279
+ /** Encryption Properties describing Key Vault and Identity information */
1280
+ encryptionProperties?: EncryptionProperties;
1028
1281
  /** A collection of rules governing the accessibility from specific network locations. */
1029
1282
  networkAcls?: NetworkRuleSet;
1030
1283
  /**
@@ -1034,17 +1287,6 @@ export declare interface VolumeGroup extends ProxyResource {
1034
1287
  readonly privateEndpointConnections?: PrivateEndpointConnection[];
1035
1288
  }
1036
1289
 
1037
- /** List of Volume Groups */
1038
- export declare interface VolumeGroupList {
1039
- /** An array of Volume Groups objects. */
1040
- value?: VolumeGroup[];
1041
- /**
1042
- * URI to fetch the next section of the paginated response.
1043
- * NOTE: This property will not be serialized. It can only be populated by the server.
1044
- */
1045
- readonly nextLink?: string;
1046
- }
1047
-
1048
1290
  /** Interface representing a VolumeGroups. */
1049
1291
  export declare interface VolumeGroups {
1050
1292
  /**
@@ -1179,10 +1421,20 @@ export declare type VolumeGroupsUpdateResponse = VolumeGroup;
1179
1421
 
1180
1422
  /** Volume Group request. */
1181
1423
  export declare interface VolumeGroupUpdate {
1424
+ /** The identity of the resource. */
1425
+ identity?: Identity;
1426
+ /** Properties of VolumeGroup. */
1427
+ properties?: VolumeGroupUpdateProperties;
1428
+ }
1429
+
1430
+ /** VolumeGroup response properties. */
1431
+ export declare interface VolumeGroupUpdateProperties {
1182
1432
  /** Type of storage target */
1183
1433
  protocolType?: StorageTargetType;
1184
1434
  /** Type of encryption */
1185
1435
  encryption?: EncryptionType;
1436
+ /** Encryption Properties describing Key Vault and Identity information */
1437
+ encryptionProperties?: EncryptionProperties;
1186
1438
  /** A collection of rules governing the accessibility from specific network locations. */
1187
1439
  networkAcls?: NetworkRuleSet;
1188
1440
  }
@@ -1198,6 +1450,31 @@ export declare interface VolumeList {
1198
1450
  readonly nextLink?: string;
1199
1451
  }
1200
1452
 
1453
+ /** Volume response properties. */
1454
+ export declare interface VolumeProperties {
1455
+ /**
1456
+ * Unique Id of the volume in GUID format
1457
+ * NOTE: This property will not be serialized. It can only be populated by the server.
1458
+ */
1459
+ readonly volumeId?: string;
1460
+ /** State of the operation on the resource. */
1461
+ creationData?: SourceCreationData;
1462
+ /** Volume size. */
1463
+ sizeGiB: number;
1464
+ /**
1465
+ * Storage target information
1466
+ * NOTE: This property will not be serialized. It can only be populated by the server.
1467
+ */
1468
+ readonly storageTarget?: IscsiTargetInfo;
1469
+ /** Parent resource information. */
1470
+ managedBy?: ManagedByInfo;
1471
+ /**
1472
+ * State of the operation on the resource.
1473
+ * NOTE: This property will not be serialized. It can only be populated by the server.
1474
+ */
1475
+ readonly provisioningState?: ProvisioningStates;
1476
+ }
1477
+
1201
1478
  /** Interface representing a Volumes. */
1202
1479
  export declare interface Volumes {
1203
1480
  /**
@@ -1295,6 +1572,10 @@ export declare interface VolumesDeleteHeaders {
1295
1572
 
1296
1573
  /** Optional parameters. */
1297
1574
  export declare interface VolumesDeleteOptionalParams extends coreClient.OperationOptions {
1575
+ /** Optional, used to delete snapshots under volume. Allowed value are only true or false. Default value is false. */
1576
+ xMsDeleteSnapshots?: XMsDeleteSnapshots;
1577
+ /** Optional, used to delete volume if active sessions present. Allowed value are only true or false. Default value is false. */
1578
+ xMsForceDelete?: XMsForceDelete;
1298
1579
  /** Delay to wait until next poll, in milliseconds. */
1299
1580
  updateIntervalInMs?: number;
1300
1581
  /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */
@@ -1322,6 +1603,112 @@ export declare interface VolumesListByVolumeGroupOptionalParams extends coreClie
1322
1603
  /** Contains response data for the listByVolumeGroup operation. */
1323
1604
  export declare type VolumesListByVolumeGroupResponse = VolumeList;
1324
1605
 
1606
+ /** Interface representing a VolumeSnapshots. */
1607
+ export declare interface VolumeSnapshots {
1608
+ /**
1609
+ * List Snapshots in a VolumeGroup or List Snapshots by Volume (name) in a VolumeGroup using filter
1610
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
1611
+ * @param elasticSanName The name of the ElasticSan.
1612
+ * @param volumeGroupName The name of the VolumeGroup.
1613
+ * @param options The options parameters.
1614
+ */
1615
+ listByVolumeGroup(resourceGroupName: string, elasticSanName: string, volumeGroupName: string, options?: VolumeSnapshotsListByVolumeGroupOptionalParams): PagedAsyncIterableIterator<Snapshot>;
1616
+ /**
1617
+ * Create a Volume Snapshot.
1618
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
1619
+ * @param elasticSanName The name of the ElasticSan.
1620
+ * @param volumeGroupName The name of the VolumeGroup.
1621
+ * @param snapshotName The name of the volume snapshot within the given volume group.
1622
+ * @param parameters Snapshot object.
1623
+ * @param options The options parameters.
1624
+ */
1625
+ beginCreate(resourceGroupName: string, elasticSanName: string, volumeGroupName: string, snapshotName: string, parameters: Snapshot, options?: VolumeSnapshotsCreateOptionalParams): Promise<SimplePollerLike<OperationState<VolumeSnapshotsCreateResponse>, VolumeSnapshotsCreateResponse>>;
1626
+ /**
1627
+ * Create a Volume Snapshot.
1628
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
1629
+ * @param elasticSanName The name of the ElasticSan.
1630
+ * @param volumeGroupName The name of the VolumeGroup.
1631
+ * @param snapshotName The name of the volume snapshot within the given volume group.
1632
+ * @param parameters Snapshot object.
1633
+ * @param options The options parameters.
1634
+ */
1635
+ beginCreateAndWait(resourceGroupName: string, elasticSanName: string, volumeGroupName: string, snapshotName: string, parameters: Snapshot, options?: VolumeSnapshotsCreateOptionalParams): Promise<VolumeSnapshotsCreateResponse>;
1636
+ /**
1637
+ * Delete a Volume Snapshot.
1638
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
1639
+ * @param elasticSanName The name of the ElasticSan.
1640
+ * @param volumeGroupName The name of the VolumeGroup.
1641
+ * @param snapshotName The name of the volume snapshot within the given volume group.
1642
+ * @param options The options parameters.
1643
+ */
1644
+ beginDelete(resourceGroupName: string, elasticSanName: string, volumeGroupName: string, snapshotName: string, options?: VolumeSnapshotsDeleteOptionalParams): Promise<SimplePollerLike<OperationState<void>, void>>;
1645
+ /**
1646
+ * Delete a Volume Snapshot.
1647
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
1648
+ * @param elasticSanName The name of the ElasticSan.
1649
+ * @param volumeGroupName The name of the VolumeGroup.
1650
+ * @param snapshotName The name of the volume snapshot within the given volume group.
1651
+ * @param options The options parameters.
1652
+ */
1653
+ beginDeleteAndWait(resourceGroupName: string, elasticSanName: string, volumeGroupName: string, snapshotName: string, options?: VolumeSnapshotsDeleteOptionalParams): Promise<void>;
1654
+ /**
1655
+ * Get a Volume Snapshot.
1656
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
1657
+ * @param elasticSanName The name of the ElasticSan.
1658
+ * @param volumeGroupName The name of the VolumeGroup.
1659
+ * @param snapshotName The name of the volume snapshot within the given volume group.
1660
+ * @param options The options parameters.
1661
+ */
1662
+ get(resourceGroupName: string, elasticSanName: string, volumeGroupName: string, snapshotName: string, options?: VolumeSnapshotsGetOptionalParams): Promise<VolumeSnapshotsGetResponse>;
1663
+ }
1664
+
1665
+ /** Optional parameters. */
1666
+ export declare interface VolumeSnapshotsCreateOptionalParams extends coreClient.OperationOptions {
1667
+ /** Delay to wait until next poll, in milliseconds. */
1668
+ updateIntervalInMs?: number;
1669
+ /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */
1670
+ resumeFrom?: string;
1671
+ }
1672
+
1673
+ /** Contains response data for the create operation. */
1674
+ export declare type VolumeSnapshotsCreateResponse = Snapshot;
1675
+
1676
+ /** Defines headers for VolumeSnapshots_delete operation. */
1677
+ export declare interface VolumeSnapshotsDeleteHeaders {
1678
+ location?: string;
1679
+ }
1680
+
1681
+ /** Optional parameters. */
1682
+ export declare interface VolumeSnapshotsDeleteOptionalParams extends coreClient.OperationOptions {
1683
+ /** Delay to wait until next poll, in milliseconds. */
1684
+ updateIntervalInMs?: number;
1685
+ /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */
1686
+ resumeFrom?: string;
1687
+ }
1688
+
1689
+ /** Optional parameters. */
1690
+ export declare interface VolumeSnapshotsGetOptionalParams extends coreClient.OperationOptions {
1691
+ }
1692
+
1693
+ /** Contains response data for the get operation. */
1694
+ export declare type VolumeSnapshotsGetResponse = Snapshot;
1695
+
1696
+ /** Optional parameters. */
1697
+ export declare interface VolumeSnapshotsListByVolumeGroupNextOptionalParams extends coreClient.OperationOptions {
1698
+ }
1699
+
1700
+ /** Contains response data for the listByVolumeGroupNext operation. */
1701
+ export declare type VolumeSnapshotsListByVolumeGroupNextResponse = SnapshotList;
1702
+
1703
+ /** Optional parameters. */
1704
+ export declare interface VolumeSnapshotsListByVolumeGroupOptionalParams extends coreClient.OperationOptions {
1705
+ /** Specify $filter='volumeName eq <volume name>' to filter on volume. */
1706
+ filter?: string;
1707
+ }
1708
+
1709
+ /** Contains response data for the listByVolumeGroup operation. */
1710
+ export declare type VolumeSnapshotsListByVolumeGroupResponse = SnapshotList;
1711
+
1325
1712
  /** Defines headers for Volumes_update operation. */
1326
1713
  export declare interface VolumesUpdateHeaders {
1327
1714
  location?: string;
@@ -1340,8 +1727,36 @@ export declare type VolumesUpdateResponse = Volume;
1340
1727
 
1341
1728
  /** Response for Volume request. */
1342
1729
  export declare interface VolumeUpdate {
1730
+ /** Properties of Volume. */
1731
+ properties?: VolumeUpdateProperties;
1732
+ }
1733
+
1734
+ /** Volume response properties. */
1735
+ export declare interface VolumeUpdateProperties {
1343
1736
  /** Volume size. */
1344
1737
  sizeGiB?: number;
1738
+ /** Parent resource information. */
1739
+ managedBy?: ManagedByInfo;
1345
1740
  }
1346
1741
 
1742
+ /**
1743
+ * Defines values for XMsDeleteSnapshots. \
1744
+ * {@link KnownXMsDeleteSnapshots} can be used interchangeably with XMsDeleteSnapshots,
1745
+ * this enum contains the known values that the service supports.
1746
+ * ### Known values supported by the service
1747
+ * **true** \
1748
+ * **false**
1749
+ */
1750
+ export declare type XMsDeleteSnapshots = string;
1751
+
1752
+ /**
1753
+ * Defines values for XMsForceDelete. \
1754
+ * {@link KnownXMsForceDelete} can be used interchangeably with XMsForceDelete,
1755
+ * this enum contains the known values that the service supports.
1756
+ * ### Known values supported by the service
1757
+ * **true** \
1758
+ * **false**
1759
+ */
1760
+ export declare type XMsForceDelete = string;
1761
+
1347
1762
  export { }