@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
package/dist/index.js CHANGED
@@ -7,8 +7,7 @@ var coreClient = require('@azure/core-client');
7
7
  var coreRestPipeline = require('@azure/core-rest-pipeline');
8
8
  var coreLro = require('@azure/core-lro');
9
9
 
10
- function _interopNamespace(e) {
11
- if (e && e.__esModule) return e;
10
+ function _interopNamespaceDefault(e) {
12
11
  var n = Object.create(null);
13
12
  if (e) {
14
13
  Object.keys(e).forEach(function (k) {
@@ -21,12 +20,12 @@ function _interopNamespace(e) {
21
20
  }
22
21
  });
23
22
  }
24
- n["default"] = e;
23
+ n.default = e;
25
24
  return Object.freeze(n);
26
25
  }
27
26
 
28
- var coreClient__namespace = /*#__PURE__*/_interopNamespace(coreClient);
29
- var coreRestPipeline__namespace = /*#__PURE__*/_interopNamespace(coreRestPipeline);
27
+ var coreClient__namespace = /*#__PURE__*/_interopNamespaceDefault(coreClient);
28
+ var coreRestPipeline__namespace = /*#__PURE__*/_interopNamespaceDefault(coreRestPipeline);
30
29
 
31
30
  /*
32
31
  * Copyright (c) Microsoft Corporation.
@@ -141,6 +140,24 @@ exports.KnownCreatedByType = void 0;
141
140
  /** Key */
142
141
  KnownCreatedByType["Key"] = "Key";
143
142
  })(exports.KnownCreatedByType || (exports.KnownCreatedByType = {}));
143
+ /** Known values of {@link PublicNetworkAccess} that the service accepts. */
144
+ exports.KnownPublicNetworkAccess = void 0;
145
+ (function (KnownPublicNetworkAccess) {
146
+ /** Enabled */
147
+ KnownPublicNetworkAccess["Enabled"] = "Enabled";
148
+ /** Disabled */
149
+ KnownPublicNetworkAccess["Disabled"] = "Disabled";
150
+ })(exports.KnownPublicNetworkAccess || (exports.KnownPublicNetworkAccess = {}));
151
+ /** Known values of {@link IdentityType} that the service accepts. */
152
+ exports.KnownIdentityType = void 0;
153
+ (function (KnownIdentityType) {
154
+ /** None */
155
+ KnownIdentityType["None"] = "None";
156
+ /** SystemAssigned */
157
+ KnownIdentityType["SystemAssigned"] = "SystemAssigned";
158
+ /** UserAssigned */
159
+ KnownIdentityType["UserAssigned"] = "UserAssigned";
160
+ })(exports.KnownIdentityType || (exports.KnownIdentityType = {}));
144
161
  /** Known values of {@link StorageTargetType} that the service accepts. */
145
162
  exports.KnownStorageTargetType = void 0;
146
163
  (function (KnownStorageTargetType) {
@@ -154,7 +171,29 @@ exports.KnownEncryptionType = void 0;
154
171
  (function (KnownEncryptionType) {
155
172
  /** Volume is encrypted at rest with Platform managed key. It is the default encryption type. */
156
173
  KnownEncryptionType["EncryptionAtRestWithPlatformKey"] = "EncryptionAtRestWithPlatformKey";
174
+ /** Volume is encrypted at rest with Customer managed key that can be changed and revoked by a customer. */
175
+ KnownEncryptionType["EncryptionAtRestWithCustomerManagedKey"] = "EncryptionAtRestWithCustomerManagedKey";
157
176
  })(exports.KnownEncryptionType || (exports.KnownEncryptionType = {}));
177
+ /** Known values of {@link Action} that the service accepts. */
178
+ exports.KnownAction = void 0;
179
+ (function (KnownAction) {
180
+ /** Allow */
181
+ KnownAction["Allow"] = "Allow";
182
+ })(exports.KnownAction || (exports.KnownAction = {}));
183
+ /** Known values of {@link VolumeCreateOption} that the service accepts. */
184
+ exports.KnownVolumeCreateOption = void 0;
185
+ (function (KnownVolumeCreateOption) {
186
+ /** None */
187
+ KnownVolumeCreateOption["None"] = "None";
188
+ /** VolumeSnapshot */
189
+ KnownVolumeCreateOption["VolumeSnapshot"] = "VolumeSnapshot";
190
+ /** DiskSnapshot */
191
+ KnownVolumeCreateOption["DiskSnapshot"] = "DiskSnapshot";
192
+ /** Disk */
193
+ KnownVolumeCreateOption["Disk"] = "Disk";
194
+ /** DiskRestorePoint */
195
+ KnownVolumeCreateOption["DiskRestorePoint"] = "DiskRestorePoint";
196
+ })(exports.KnownVolumeCreateOption || (exports.KnownVolumeCreateOption = {}));
158
197
  /** Known values of {@link OperationalStatus} that the service accepts. */
159
198
  exports.KnownOperationalStatus = void 0;
160
199
  (function (KnownOperationalStatus) {
@@ -175,6 +214,22 @@ exports.KnownOperationalStatus = void 0;
175
214
  /** StoppedDeallocated */
176
215
  KnownOperationalStatus["StoppedDeallocated"] = "Stopped (deallocated)";
177
216
  })(exports.KnownOperationalStatus || (exports.KnownOperationalStatus = {}));
217
+ /** Known values of {@link XMsDeleteSnapshots} that the service accepts. */
218
+ exports.KnownXMsDeleteSnapshots = void 0;
219
+ (function (KnownXMsDeleteSnapshots) {
220
+ /** True */
221
+ KnownXMsDeleteSnapshots["True"] = "true";
222
+ /** False */
223
+ KnownXMsDeleteSnapshots["False"] = "false";
224
+ })(exports.KnownXMsDeleteSnapshots || (exports.KnownXMsDeleteSnapshots = {}));
225
+ /** Known values of {@link XMsForceDelete} that the service accepts. */
226
+ exports.KnownXMsForceDelete = void 0;
227
+ (function (KnownXMsForceDelete) {
228
+ /** True */
229
+ KnownXMsForceDelete["True"] = "true";
230
+ /** False */
231
+ KnownXMsForceDelete["False"] = "false";
232
+ })(exports.KnownXMsForceDelete || (exports.KnownXMsForceDelete = {}));
178
233
 
179
234
  /*
180
235
  * Copyright (c) Microsoft Corporation.
@@ -553,6 +608,107 @@ const ElasticSanList = {
553
608
  }
554
609
  }
555
610
  };
611
+ const ElasticSanProperties = {
612
+ type: {
613
+ name: "Composite",
614
+ className: "ElasticSanProperties",
615
+ modelProperties: {
616
+ sku: {
617
+ serializedName: "sku",
618
+ type: {
619
+ name: "Composite",
620
+ className: "Sku"
621
+ }
622
+ },
623
+ availabilityZones: {
624
+ serializedName: "availabilityZones",
625
+ type: {
626
+ name: "Sequence",
627
+ element: {
628
+ type: {
629
+ name: "String"
630
+ }
631
+ }
632
+ }
633
+ },
634
+ provisioningState: {
635
+ serializedName: "provisioningState",
636
+ readOnly: true,
637
+ type: {
638
+ name: "String"
639
+ }
640
+ },
641
+ baseSizeTiB: {
642
+ serializedName: "baseSizeTiB",
643
+ required: true,
644
+ type: {
645
+ name: "Number"
646
+ }
647
+ },
648
+ extendedCapacitySizeTiB: {
649
+ serializedName: "extendedCapacitySizeTiB",
650
+ required: true,
651
+ type: {
652
+ name: "Number"
653
+ }
654
+ },
655
+ totalVolumeSizeGiB: {
656
+ serializedName: "totalVolumeSizeGiB",
657
+ readOnly: true,
658
+ type: {
659
+ name: "Number"
660
+ }
661
+ },
662
+ volumeGroupCount: {
663
+ serializedName: "volumeGroupCount",
664
+ readOnly: true,
665
+ type: {
666
+ name: "Number"
667
+ }
668
+ },
669
+ totalIops: {
670
+ serializedName: "totalIops",
671
+ readOnly: true,
672
+ type: {
673
+ name: "Number"
674
+ }
675
+ },
676
+ totalMBps: {
677
+ serializedName: "totalMBps",
678
+ readOnly: true,
679
+ type: {
680
+ name: "Number"
681
+ }
682
+ },
683
+ totalSizeTiB: {
684
+ serializedName: "totalSizeTiB",
685
+ readOnly: true,
686
+ type: {
687
+ name: "Number"
688
+ }
689
+ },
690
+ privateEndpointConnections: {
691
+ serializedName: "privateEndpointConnections",
692
+ readOnly: true,
693
+ type: {
694
+ name: "Sequence",
695
+ element: {
696
+ type: {
697
+ name: "Composite",
698
+ className: "PrivateEndpointConnection"
699
+ }
700
+ }
701
+ }
702
+ },
703
+ publicNetworkAccess: {
704
+ serializedName: "publicNetworkAccess",
705
+ type: {
706
+ name: "String"
707
+ }
708
+ }
709
+ }
710
+ }
711
+ };
556
712
  const Sku = {
557
713
  type: {
558
714
  name: "Composite",
@@ -574,6 +730,46 @@ const Sku = {
574
730
  }
575
731
  }
576
732
  };
733
+ const PrivateEndpointConnectionProperties = {
734
+ type: {
735
+ name: "Composite",
736
+ className: "PrivateEndpointConnectionProperties",
737
+ modelProperties: {
738
+ provisioningState: {
739
+ serializedName: "provisioningState",
740
+ readOnly: true,
741
+ type: {
742
+ name: "String"
743
+ }
744
+ },
745
+ privateEndpoint: {
746
+ serializedName: "privateEndpoint",
747
+ type: {
748
+ name: "Composite",
749
+ className: "PrivateEndpoint"
750
+ }
751
+ },
752
+ privateLinkServiceConnectionState: {
753
+ serializedName: "privateLinkServiceConnectionState",
754
+ type: {
755
+ name: "Composite",
756
+ className: "PrivateLinkServiceConnectionState"
757
+ }
758
+ },
759
+ groupIds: {
760
+ serializedName: "groupIds",
761
+ type: {
762
+ name: "Sequence",
763
+ element: {
764
+ type: {
765
+ name: "String"
766
+ }
767
+ }
768
+ }
769
+ }
770
+ }
771
+ }
772
+ };
577
773
  const PrivateEndpoint = {
578
774
  type: {
579
775
  name: "Composite",
@@ -700,24 +896,45 @@ const ElasticSanUpdate = {
700
896
  name: "Composite",
701
897
  className: "ElasticSanUpdate",
702
898
  modelProperties: {
899
+ properties: {
900
+ serializedName: "properties",
901
+ type: {
902
+ name: "Composite",
903
+ className: "ElasticSanUpdateProperties"
904
+ }
905
+ },
703
906
  tags: {
704
907
  serializedName: "tags",
705
908
  type: {
706
909
  name: "Dictionary",
707
910
  value: { type: { name: "String" } }
708
911
  }
709
- },
912
+ }
913
+ }
914
+ }
915
+ };
916
+ const ElasticSanUpdateProperties = {
917
+ type: {
918
+ name: "Composite",
919
+ className: "ElasticSanUpdateProperties",
920
+ modelProperties: {
710
921
  baseSizeTiB: {
711
- serializedName: "properties.baseSizeTiB",
922
+ serializedName: "baseSizeTiB",
712
923
  type: {
713
924
  name: "Number"
714
925
  }
715
926
  },
716
927
  extendedCapacitySizeTiB: {
717
- serializedName: "properties.extendedCapacitySizeTiB",
928
+ serializedName: "extendedCapacitySizeTiB",
718
929
  type: {
719
930
  name: "Number"
720
931
  }
932
+ },
933
+ publicNetworkAccess: {
934
+ serializedName: "publicNetworkAccess",
935
+ type: {
936
+ name: "String"
937
+ }
721
938
  }
722
939
  }
723
940
  }
@@ -749,215 +966,238 @@ const VolumeGroupList = {
749
966
  }
750
967
  }
751
968
  };
752
- const NetworkRuleSet = {
969
+ const Identity = {
753
970
  type: {
754
971
  name: "Composite",
755
- className: "NetworkRuleSet",
972
+ className: "Identity",
756
973
  modelProperties: {
757
- virtualNetworkRules: {
758
- serializedName: "virtualNetworkRules",
974
+ principalId: {
975
+ serializedName: "principalId",
976
+ readOnly: true,
759
977
  type: {
760
- name: "Sequence",
761
- element: {
762
- type: {
763
- name: "Composite",
764
- className: "VirtualNetworkRule"
765
- }
978
+ name: "String"
979
+ }
980
+ },
981
+ tenantId: {
982
+ serializedName: "tenantId",
983
+ readOnly: true,
984
+ type: {
985
+ name: "String"
986
+ }
987
+ },
988
+ type: {
989
+ serializedName: "type",
990
+ required: true,
991
+ type: {
992
+ name: "String"
993
+ }
994
+ },
995
+ userAssignedIdentities: {
996
+ serializedName: "userAssignedIdentities",
997
+ type: {
998
+ name: "Dictionary",
999
+ value: {
1000
+ type: { name: "Composite", className: "UserAssignedIdentity" }
766
1001
  }
767
1002
  }
768
1003
  }
769
1004
  }
770
1005
  }
771
1006
  };
772
- const VirtualNetworkRule = {
1007
+ const UserAssignedIdentity = {
773
1008
  type: {
774
1009
  name: "Composite",
775
- className: "VirtualNetworkRule",
1010
+ className: "UserAssignedIdentity",
776
1011
  modelProperties: {
777
- virtualNetworkResourceId: {
778
- serializedName: "id",
779
- required: true,
780
- type: {
781
- name: "String"
782
- }
783
- },
784
- action: {
785
- defaultValue: "Allow",
786
- isConstant: true,
787
- serializedName: "action",
1012
+ principalId: {
1013
+ serializedName: "principalId",
1014
+ readOnly: true,
788
1015
  type: {
789
1016
  name: "String"
790
1017
  }
791
1018
  },
792
- state: {
793
- serializedName: "state",
1019
+ clientId: {
1020
+ serializedName: "clientId",
794
1021
  readOnly: true,
795
1022
  type: {
796
- name: "Enum",
797
- allowedValues: [
798
- "provisioning",
799
- "deprovisioning",
800
- "succeeded",
801
- "failed",
802
- "networkSourceDeleted"
803
- ]
1023
+ name: "String"
804
1024
  }
805
1025
  }
806
1026
  }
807
1027
  }
808
1028
  };
809
- const VolumeGroupUpdate = {
1029
+ const VolumeGroupProperties = {
810
1030
  type: {
811
1031
  name: "Composite",
812
- className: "VolumeGroupUpdate",
1032
+ className: "VolumeGroupProperties",
813
1033
  modelProperties: {
1034
+ provisioningState: {
1035
+ serializedName: "provisioningState",
1036
+ readOnly: true,
1037
+ type: {
1038
+ name: "String"
1039
+ }
1040
+ },
814
1041
  protocolType: {
815
- serializedName: "properties.protocolType",
1042
+ serializedName: "protocolType",
816
1043
  type: {
817
1044
  name: "String"
818
1045
  }
819
1046
  },
820
1047
  encryption: {
821
- serializedName: "properties.encryption",
1048
+ serializedName: "encryption",
822
1049
  type: {
823
1050
  name: "String"
824
1051
  }
825
1052
  },
1053
+ encryptionProperties: {
1054
+ serializedName: "encryptionProperties",
1055
+ type: {
1056
+ name: "Composite",
1057
+ className: "EncryptionProperties"
1058
+ }
1059
+ },
826
1060
  networkAcls: {
827
- serializedName: "properties.networkAcls",
1061
+ serializedName: "networkAcls",
828
1062
  type: {
829
1063
  name: "Composite",
830
1064
  className: "NetworkRuleSet"
831
1065
  }
1066
+ },
1067
+ privateEndpointConnections: {
1068
+ serializedName: "privateEndpointConnections",
1069
+ readOnly: true,
1070
+ type: {
1071
+ name: "Sequence",
1072
+ element: {
1073
+ type: {
1074
+ name: "Composite",
1075
+ className: "PrivateEndpointConnection"
1076
+ }
1077
+ }
1078
+ }
832
1079
  }
833
1080
  }
834
1081
  }
835
1082
  };
836
- const SourceCreationData = {
1083
+ const EncryptionProperties = {
837
1084
  type: {
838
1085
  name: "Composite",
839
- className: "SourceCreationData",
1086
+ className: "EncryptionProperties",
840
1087
  modelProperties: {
841
- createSource: {
842
- defaultValue: "None",
843
- isConstant: true,
844
- serializedName: "createSource",
1088
+ keyVaultProperties: {
1089
+ serializedName: "keyVaultProperties",
845
1090
  type: {
846
- name: "String"
1091
+ name: "Composite",
1092
+ className: "KeyVaultProperties"
847
1093
  }
848
1094
  },
849
- sourceUri: {
850
- serializedName: "sourceUri",
1095
+ encryptionIdentity: {
1096
+ serializedName: "identity",
851
1097
  type: {
852
- name: "String"
1098
+ name: "Composite",
1099
+ className: "EncryptionIdentity"
853
1100
  }
854
1101
  }
855
1102
  }
856
1103
  }
857
1104
  };
858
- const IscsiTargetInfo = {
1105
+ const KeyVaultProperties = {
859
1106
  type: {
860
1107
  name: "Composite",
861
- className: "IscsiTargetInfo",
1108
+ className: "KeyVaultProperties",
862
1109
  modelProperties: {
863
- targetIqn: {
864
- serializedName: "targetIqn",
865
- readOnly: true,
1110
+ keyName: {
1111
+ serializedName: "keyName",
866
1112
  type: {
867
1113
  name: "String"
868
1114
  }
869
1115
  },
870
- targetPortalHostname: {
871
- serializedName: "targetPortalHostname",
872
- readOnly: true,
1116
+ keyVersion: {
1117
+ serializedName: "keyVersion",
873
1118
  type: {
874
1119
  name: "String"
875
1120
  }
876
1121
  },
877
- targetPortalPort: {
878
- serializedName: "targetPortalPort",
879
- readOnly: true,
1122
+ keyVaultUri: {
1123
+ serializedName: "keyVaultUri",
880
1124
  type: {
881
- name: "Number"
1125
+ name: "String"
882
1126
  }
883
1127
  },
884
- provisioningState: {
885
- serializedName: "provisioningState",
1128
+ currentVersionedKeyIdentifier: {
1129
+ serializedName: "currentVersionedKeyIdentifier",
886
1130
  readOnly: true,
887
1131
  type: {
888
1132
  name: "String"
889
1133
  }
890
1134
  },
891
- status: {
892
- serializedName: "status",
1135
+ lastKeyRotationTimestamp: {
1136
+ serializedName: "lastKeyRotationTimestamp",
1137
+ readOnly: true,
893
1138
  type: {
894
- name: "String"
1139
+ name: "DateTime"
1140
+ }
1141
+ },
1142
+ currentVersionedKeyExpirationTimestamp: {
1143
+ serializedName: "currentVersionedKeyExpirationTimestamp",
1144
+ readOnly: true,
1145
+ type: {
1146
+ name: "DateTime"
895
1147
  }
896
1148
  }
897
1149
  }
898
1150
  }
899
1151
  };
900
- const VolumeUpdate = {
1152
+ const EncryptionIdentity = {
901
1153
  type: {
902
1154
  name: "Composite",
903
- className: "VolumeUpdate",
1155
+ className: "EncryptionIdentity",
904
1156
  modelProperties: {
905
- sizeGiB: {
906
- serializedName: "properties.sizeGiB",
1157
+ encryptionUserAssignedIdentity: {
1158
+ serializedName: "userAssignedIdentity",
907
1159
  type: {
908
- name: "Number"
1160
+ name: "String"
909
1161
  }
910
1162
  }
911
1163
  }
912
1164
  }
913
1165
  };
914
- const VolumeList = {
1166
+ const NetworkRuleSet = {
915
1167
  type: {
916
1168
  name: "Composite",
917
- className: "VolumeList",
1169
+ className: "NetworkRuleSet",
918
1170
  modelProperties: {
919
- value: {
920
- serializedName: "value",
1171
+ virtualNetworkRules: {
1172
+ serializedName: "virtualNetworkRules",
921
1173
  type: {
922
1174
  name: "Sequence",
923
1175
  element: {
924
1176
  type: {
925
1177
  name: "Composite",
926
- className: "Volume"
1178
+ className: "VirtualNetworkRule"
927
1179
  }
928
1180
  }
929
1181
  }
930
- },
931
- nextLink: {
932
- serializedName: "nextLink",
933
- readOnly: true,
934
- type: {
935
- name: "String"
936
- }
937
1182
  }
938
1183
  }
939
1184
  }
940
1185
  };
941
- const PrivateEndpointConnectionListResult = {
1186
+ const VirtualNetworkRule = {
942
1187
  type: {
943
1188
  name: "Composite",
944
- className: "PrivateEndpointConnectionListResult",
1189
+ className: "VirtualNetworkRule",
945
1190
  modelProperties: {
946
- value: {
947
- serializedName: "value",
1191
+ virtualNetworkResourceId: {
1192
+ serializedName: "id",
1193
+ required: true,
948
1194
  type: {
949
- name: "Sequence",
950
- element: {
951
- type: {
952
- name: "Composite",
953
- className: "PrivateEndpointConnection"
954
- }
955
- }
1195
+ name: "String"
956
1196
  }
957
1197
  },
958
- nextLink: {
959
- serializedName: "nextLink",
960
- readOnly: true,
1198
+ action: {
1199
+ defaultValue: "Allow",
1200
+ serializedName: "action",
961
1201
  type: {
962
1202
  name: "String"
963
1203
  }
@@ -965,290 +1205,167 @@ const PrivateEndpointConnectionListResult = {
965
1205
  }
966
1206
  }
967
1207
  };
968
- const PrivateLinkResourceListResult = {
1208
+ const VolumeGroupUpdate = {
969
1209
  type: {
970
1210
  name: "Composite",
971
- className: "PrivateLinkResourceListResult",
1211
+ className: "VolumeGroupUpdate",
972
1212
  modelProperties: {
973
- value: {
974
- serializedName: "value",
1213
+ identity: {
1214
+ serializedName: "identity",
975
1215
  type: {
976
- name: "Sequence",
977
- element: {
978
- type: {
979
- name: "Composite",
980
- className: "PrivateLinkResource"
981
- }
982
- }
1216
+ name: "Composite",
1217
+ className: "Identity"
983
1218
  }
984
1219
  },
985
- nextLink: {
986
- serializedName: "nextLink",
987
- readOnly: true,
1220
+ properties: {
1221
+ serializedName: "properties",
988
1222
  type: {
989
- name: "String"
1223
+ name: "Composite",
1224
+ className: "VolumeGroupUpdateProperties"
990
1225
  }
991
1226
  }
992
1227
  }
993
1228
  }
994
1229
  };
995
- const PrivateEndpointConnection = {
1230
+ const VolumeGroupUpdateProperties = {
996
1231
  type: {
997
1232
  name: "Composite",
998
- className: "PrivateEndpointConnection",
999
- modelProperties: Object.assign(Object.assign({}, Resource.type.modelProperties), { provisioningState: {
1000
- serializedName: "properties.provisioningState",
1001
- readOnly: true,
1233
+ className: "VolumeGroupUpdateProperties",
1234
+ modelProperties: {
1235
+ protocolType: {
1236
+ serializedName: "protocolType",
1002
1237
  type: {
1003
1238
  name: "String"
1004
1239
  }
1005
- }, privateEndpoint: {
1006
- serializedName: "properties.privateEndpoint",
1240
+ },
1241
+ encryption: {
1242
+ serializedName: "encryption",
1007
1243
  type: {
1008
- name: "Composite",
1009
- className: "PrivateEndpoint"
1244
+ name: "String"
1010
1245
  }
1011
- }, privateLinkServiceConnectionState: {
1012
- serializedName: "properties.privateLinkServiceConnectionState",
1246
+ },
1247
+ encryptionProperties: {
1248
+ serializedName: "encryptionProperties",
1013
1249
  type: {
1014
1250
  name: "Composite",
1015
- className: "PrivateLinkServiceConnectionState"
1016
- }
1017
- }, groupIds: {
1018
- serializedName: "properties.groupIds",
1019
- type: {
1020
- name: "Sequence",
1021
- element: {
1022
- type: {
1023
- name: "String"
1024
- }
1025
- }
1026
- }
1027
- } })
1028
- }
1029
- };
1030
- const TrackedResource = {
1031
- type: {
1032
- name: "Composite",
1033
- className: "TrackedResource",
1034
- modelProperties: Object.assign(Object.assign({}, Resource.type.modelProperties), { tags: {
1035
- serializedName: "tags",
1036
- type: {
1037
- name: "Dictionary",
1038
- value: { type: { name: "String" } }
1251
+ className: "EncryptionProperties"
1039
1252
  }
1040
- }, location: {
1041
- serializedName: "location",
1042
- required: true,
1253
+ },
1254
+ networkAcls: {
1255
+ serializedName: "networkAcls",
1043
1256
  type: {
1044
- name: "String"
1257
+ name: "Composite",
1258
+ className: "NetworkRuleSet"
1045
1259
  }
1046
- } })
1047
- }
1048
- };
1049
- const ProxyResource = {
1050
- type: {
1051
- name: "Composite",
1052
- className: "ProxyResource",
1053
- modelProperties: Object.assign({}, Resource.type.modelProperties)
1260
+ }
1261
+ }
1054
1262
  }
1055
1263
  };
1056
- const PrivateLinkResource = {
1264
+ const VolumeProperties = {
1057
1265
  type: {
1058
1266
  name: "Composite",
1059
- className: "PrivateLinkResource",
1060
- modelProperties: Object.assign(Object.assign({}, Resource.type.modelProperties), { groupId: {
1061
- serializedName: "properties.groupId",
1267
+ className: "VolumeProperties",
1268
+ modelProperties: {
1269
+ volumeId: {
1270
+ serializedName: "volumeId",
1062
1271
  readOnly: true,
1063
1272
  type: {
1064
1273
  name: "String"
1065
1274
  }
1066
- }, requiredMembers: {
1067
- serializedName: "properties.requiredMembers",
1068
- readOnly: true,
1069
- type: {
1070
- name: "Sequence",
1071
- element: {
1072
- type: {
1073
- name: "String"
1074
- }
1075
- }
1076
- }
1077
- }, requiredZoneNames: {
1078
- serializedName: "properties.requiredZoneNames",
1079
- type: {
1080
- name: "Sequence",
1081
- element: {
1082
- type: {
1083
- name: "String"
1084
- }
1085
- }
1086
- }
1087
- } })
1088
- }
1089
- };
1090
- const ElasticSan = {
1091
- type: {
1092
- name: "Composite",
1093
- className: "ElasticSan",
1094
- modelProperties: Object.assign(Object.assign({}, TrackedResource.type.modelProperties), { sku: {
1095
- serializedName: "properties.sku",
1275
+ },
1276
+ creationData: {
1277
+ serializedName: "creationData",
1096
1278
  type: {
1097
1279
  name: "Composite",
1098
- className: "Sku"
1099
- }
1100
- }, availabilityZones: {
1101
- serializedName: "properties.availabilityZones",
1102
- type: {
1103
- name: "Sequence",
1104
- element: {
1105
- type: {
1106
- name: "String"
1107
- }
1108
- }
1109
- }
1110
- }, provisioningState: {
1111
- serializedName: "properties.provisioningState",
1112
- readOnly: true,
1113
- type: {
1114
- name: "String"
1115
- }
1116
- }, baseSizeTiB: {
1117
- serializedName: "properties.baseSizeTiB",
1118
- required: true,
1119
- type: {
1120
- name: "Number"
1280
+ className: "SourceCreationData"
1121
1281
  }
1122
- }, extendedCapacitySizeTiB: {
1123
- serializedName: "properties.extendedCapacitySizeTiB",
1282
+ },
1283
+ sizeGiB: {
1284
+ serializedName: "sizeGiB",
1124
1285
  required: true,
1125
1286
  type: {
1126
1287
  name: "Number"
1127
1288
  }
1128
- }, totalVolumeSizeGiB: {
1129
- serializedName: "properties.totalVolumeSizeGiB",
1130
- readOnly: true,
1131
- type: {
1132
- name: "Number"
1133
- }
1134
- }, volumeGroupCount: {
1135
- serializedName: "properties.volumeGroupCount",
1136
- readOnly: true,
1137
- type: {
1138
- name: "Number"
1139
- }
1140
- }, totalIops: {
1141
- serializedName: "properties.totalIops",
1142
- readOnly: true,
1143
- type: {
1144
- name: "Number"
1145
- }
1146
- }, totalMBps: {
1147
- serializedName: "properties.totalMBps",
1148
- readOnly: true,
1289
+ },
1290
+ storageTarget: {
1291
+ serializedName: "storageTarget",
1149
1292
  type: {
1150
- name: "Number"
1293
+ name: "Composite",
1294
+ className: "IscsiTargetInfo"
1151
1295
  }
1152
- }, totalSizeTiB: {
1153
- serializedName: "properties.totalSizeTiB",
1154
- readOnly: true,
1296
+ },
1297
+ managedBy: {
1298
+ serializedName: "managedBy",
1155
1299
  type: {
1156
- name: "Number"
1300
+ name: "Composite",
1301
+ className: "ManagedByInfo"
1157
1302
  }
1158
- }, privateEndpointConnections: {
1159
- serializedName: "properties.privateEndpointConnections",
1303
+ },
1304
+ provisioningState: {
1305
+ serializedName: "provisioningState",
1160
1306
  readOnly: true,
1161
1307
  type: {
1162
- name: "Sequence",
1163
- element: {
1164
- type: {
1165
- name: "Composite",
1166
- className: "PrivateEndpointConnection"
1167
- }
1168
- }
1308
+ name: "String"
1169
1309
  }
1170
- } })
1310
+ }
1311
+ }
1171
1312
  }
1172
1313
  };
1173
- const VolumeGroup = {
1314
+ const SourceCreationData = {
1174
1315
  type: {
1175
1316
  name: "Composite",
1176
- className: "VolumeGroup",
1177
- modelProperties: Object.assign(Object.assign({}, ProxyResource.type.modelProperties), { provisioningState: {
1178
- serializedName: "properties.provisioningState",
1179
- readOnly: true,
1180
- type: {
1181
- name: "String"
1182
- }
1183
- }, protocolType: {
1184
- serializedName: "properties.protocolType",
1317
+ className: "SourceCreationData",
1318
+ modelProperties: {
1319
+ createSource: {
1320
+ serializedName: "createSource",
1185
1321
  type: {
1186
1322
  name: "String"
1187
1323
  }
1188
- }, encryption: {
1189
- serializedName: "properties.encryption",
1324
+ },
1325
+ sourceId: {
1326
+ serializedName: "sourceId",
1190
1327
  type: {
1191
1328
  name: "String"
1192
1329
  }
1193
- }, networkAcls: {
1194
- serializedName: "properties.networkAcls",
1195
- type: {
1196
- name: "Composite",
1197
- className: "NetworkRuleSet"
1198
- }
1199
- }, privateEndpointConnections: {
1200
- serializedName: "properties.privateEndpointConnections",
1201
- readOnly: true,
1202
- type: {
1203
- name: "Sequence",
1204
- element: {
1205
- type: {
1206
- name: "Composite",
1207
- className: "PrivateEndpointConnection"
1208
- }
1209
- }
1210
- }
1211
- } })
1330
+ }
1331
+ }
1212
1332
  }
1213
1333
  };
1214
- const Volume = {
1334
+ const IscsiTargetInfo = {
1215
1335
  type: {
1216
1336
  name: "Composite",
1217
- className: "Volume",
1218
- modelProperties: Object.assign(Object.assign({}, ProxyResource.type.modelProperties), { volumeId: {
1219
- serializedName: "properties.volumeId",
1337
+ className: "IscsiTargetInfo",
1338
+ modelProperties: {
1339
+ targetIqn: {
1340
+ serializedName: "targetIqn",
1220
1341
  readOnly: true,
1221
1342
  type: {
1222
1343
  name: "String"
1223
1344
  }
1224
- }, creationData: {
1225
- serializedName: "properties.creationData",
1345
+ },
1346
+ targetPortalHostname: {
1347
+ serializedName: "targetPortalHostname",
1348
+ readOnly: true,
1226
1349
  type: {
1227
- name: "Composite",
1228
- className: "SourceCreationData"
1350
+ name: "String"
1229
1351
  }
1230
- }, sizeGiB: {
1231
- serializedName: "properties.sizeGiB",
1232
- required: true,
1352
+ },
1353
+ targetPortalPort: {
1354
+ serializedName: "targetPortalPort",
1355
+ readOnly: true,
1233
1356
  type: {
1234
1357
  name: "Number"
1235
1358
  }
1236
- }, storageTarget: {
1237
- serializedName: "properties.storageTarget",
1359
+ },
1360
+ provisioningState: {
1361
+ serializedName: "provisioningState",
1362
+ readOnly: true,
1238
1363
  type: {
1239
- name: "Composite",
1240
- className: "IscsiTargetInfo"
1364
+ name: "String"
1241
1365
  }
1242
- } })
1243
- }
1244
- };
1245
- const ElasticSansUpdateHeaders = {
1246
- type: {
1247
- name: "Composite",
1248
- className: "ElasticSansUpdateHeaders",
1249
- modelProperties: {
1250
- location: {
1251
- serializedName: "location",
1366
+ },
1367
+ status: {
1368
+ serializedName: "status",
1252
1369
  type: {
1253
1370
  name: "String"
1254
1371
  }
@@ -1256,13 +1373,13 @@ const ElasticSansUpdateHeaders = {
1256
1373
  }
1257
1374
  }
1258
1375
  };
1259
- const ElasticSansDeleteHeaders = {
1376
+ const ManagedByInfo = {
1260
1377
  type: {
1261
1378
  name: "Composite",
1262
- className: "ElasticSansDeleteHeaders",
1379
+ className: "ManagedByInfo",
1263
1380
  modelProperties: {
1264
- location: {
1265
- serializedName: "location",
1381
+ resourceId: {
1382
+ serializedName: "resourceId",
1266
1383
  type: {
1267
1384
  name: "String"
1268
1385
  }
@@ -1270,41 +1387,62 @@ const ElasticSansDeleteHeaders = {
1270
1387
  }
1271
1388
  }
1272
1389
  };
1273
- const VolumeGroupsUpdateHeaders = {
1390
+ const VolumeUpdate = {
1274
1391
  type: {
1275
1392
  name: "Composite",
1276
- className: "VolumeGroupsUpdateHeaders",
1393
+ className: "VolumeUpdate",
1277
1394
  modelProperties: {
1278
- location: {
1279
- serializedName: "location",
1395
+ properties: {
1396
+ serializedName: "properties",
1280
1397
  type: {
1281
- name: "String"
1398
+ name: "Composite",
1399
+ className: "VolumeUpdateProperties"
1282
1400
  }
1283
1401
  }
1284
1402
  }
1285
1403
  }
1286
1404
  };
1287
- const VolumeGroupsDeleteHeaders = {
1405
+ const VolumeUpdateProperties = {
1288
1406
  type: {
1289
1407
  name: "Composite",
1290
- className: "VolumeGroupsDeleteHeaders",
1408
+ className: "VolumeUpdateProperties",
1291
1409
  modelProperties: {
1292
- location: {
1293
- serializedName: "location",
1410
+ sizeGiB: {
1411
+ serializedName: "sizeGiB",
1294
1412
  type: {
1295
- name: "String"
1413
+ name: "Number"
1414
+ }
1415
+ },
1416
+ managedBy: {
1417
+ serializedName: "managedBy",
1418
+ type: {
1419
+ name: "Composite",
1420
+ className: "ManagedByInfo"
1296
1421
  }
1297
1422
  }
1298
1423
  }
1299
1424
  }
1300
1425
  };
1301
- const VolumesUpdateHeaders = {
1426
+ const VolumeList = {
1302
1427
  type: {
1303
1428
  name: "Composite",
1304
- className: "VolumesUpdateHeaders",
1429
+ className: "VolumeList",
1305
1430
  modelProperties: {
1306
- location: {
1307
- serializedName: "location",
1431
+ value: {
1432
+ serializedName: "value",
1433
+ type: {
1434
+ name: "Sequence",
1435
+ element: {
1436
+ type: {
1437
+ name: "Composite",
1438
+ className: "Volume"
1439
+ }
1440
+ }
1441
+ }
1442
+ },
1443
+ nextLink: {
1444
+ serializedName: "nextLink",
1445
+ readOnly: true,
1308
1446
  type: {
1309
1447
  name: "String"
1310
1448
  }
@@ -1312,13 +1450,26 @@ const VolumesUpdateHeaders = {
1312
1450
  }
1313
1451
  }
1314
1452
  };
1315
- const VolumesDeleteHeaders = {
1453
+ const PrivateEndpointConnectionListResult = {
1316
1454
  type: {
1317
1455
  name: "Composite",
1318
- className: "VolumesDeleteHeaders",
1456
+ className: "PrivateEndpointConnectionListResult",
1319
1457
  modelProperties: {
1320
- location: {
1321
- serializedName: "location",
1458
+ value: {
1459
+ serializedName: "value",
1460
+ type: {
1461
+ name: "Sequence",
1462
+ element: {
1463
+ type: {
1464
+ name: "Composite",
1465
+ className: "PrivateEndpointConnection"
1466
+ }
1467
+ }
1468
+ }
1469
+ },
1470
+ nextLink: {
1471
+ serializedName: "nextLink",
1472
+ readOnly: true,
1322
1473
  type: {
1323
1474
  name: "String"
1324
1475
  }
@@ -1326,13 +1477,26 @@ const VolumesDeleteHeaders = {
1326
1477
  }
1327
1478
  }
1328
1479
  };
1329
- const PrivateEndpointConnectionsDeleteHeaders = {
1480
+ const PrivateLinkResourceListResult = {
1330
1481
  type: {
1331
1482
  name: "Composite",
1332
- className: "PrivateEndpointConnectionsDeleteHeaders",
1483
+ className: "PrivateLinkResourceListResult",
1333
1484
  modelProperties: {
1334
- location: {
1335
- serializedName: "location",
1485
+ value: {
1486
+ serializedName: "value",
1487
+ type: {
1488
+ name: "Sequence",
1489
+ element: {
1490
+ type: {
1491
+ name: "Composite",
1492
+ className: "PrivateLinkResource"
1493
+ }
1494
+ }
1495
+ }
1496
+ },
1497
+ nextLink: {
1498
+ serializedName: "nextLink",
1499
+ readOnly: true,
1336
1500
  type: {
1337
1501
  name: "String"
1338
1502
  }
@@ -1340,121 +1504,478 @@ const PrivateEndpointConnectionsDeleteHeaders = {
1340
1504
  }
1341
1505
  }
1342
1506
  };
1343
-
1344
- var Mappers = /*#__PURE__*/Object.freeze({
1345
- __proto__: null,
1346
- OperationListResult: OperationListResult,
1347
- Operation: Operation,
1348
- OperationDisplay: OperationDisplay,
1349
- ErrorResponse: ErrorResponse,
1350
- ErrorDetail: ErrorDetail,
1351
- ErrorAdditionalInfo: ErrorAdditionalInfo,
1352
- SkuInformationList: SkuInformationList,
1353
- SkuInformation: SkuInformation,
1354
- SkuLocationInfo: SkuLocationInfo,
1355
- SKUCapability: SKUCapability,
1356
- ElasticSanList: ElasticSanList,
1357
- Sku: Sku,
1358
- PrivateEndpoint: PrivateEndpoint,
1359
- PrivateLinkServiceConnectionState: PrivateLinkServiceConnectionState,
1360
- Resource: Resource,
1361
- SystemData: SystemData,
1362
- ElasticSanUpdate: ElasticSanUpdate,
1363
- VolumeGroupList: VolumeGroupList,
1364
- NetworkRuleSet: NetworkRuleSet,
1365
- VirtualNetworkRule: VirtualNetworkRule,
1366
- VolumeGroupUpdate: VolumeGroupUpdate,
1367
- SourceCreationData: SourceCreationData,
1368
- IscsiTargetInfo: IscsiTargetInfo,
1369
- VolumeUpdate: VolumeUpdate,
1370
- VolumeList: VolumeList,
1371
- PrivateEndpointConnectionListResult: PrivateEndpointConnectionListResult,
1372
- PrivateLinkResourceListResult: PrivateLinkResourceListResult,
1373
- PrivateEndpointConnection: PrivateEndpointConnection,
1374
- TrackedResource: TrackedResource,
1375
- ProxyResource: ProxyResource,
1376
- PrivateLinkResource: PrivateLinkResource,
1377
- ElasticSan: ElasticSan,
1378
- VolumeGroup: VolumeGroup,
1379
- Volume: Volume,
1380
- ElasticSansUpdateHeaders: ElasticSansUpdateHeaders,
1381
- ElasticSansDeleteHeaders: ElasticSansDeleteHeaders,
1382
- VolumeGroupsUpdateHeaders: VolumeGroupsUpdateHeaders,
1383
- VolumeGroupsDeleteHeaders: VolumeGroupsDeleteHeaders,
1384
- VolumesUpdateHeaders: VolumesUpdateHeaders,
1385
- VolumesDeleteHeaders: VolumesDeleteHeaders,
1386
- PrivateEndpointConnectionsDeleteHeaders: PrivateEndpointConnectionsDeleteHeaders
1387
- });
1388
-
1389
- /*
1390
- * Copyright (c) Microsoft Corporation.
1391
- * Licensed under the MIT License.
1392
- *
1393
- * Code generated by Microsoft (R) AutoRest Code Generator.
1394
- * Changes may cause incorrect behavior and will be lost if the code is regenerated.
1395
- */
1396
- const accept = {
1397
- parameterPath: "accept",
1398
- mapper: {
1399
- defaultValue: "application/json",
1400
- isConstant: true,
1401
- serializedName: "Accept",
1402
- type: {
1403
- name: "String"
1507
+ const PrivateLinkResourceProperties = {
1508
+ type: {
1509
+ name: "Composite",
1510
+ className: "PrivateLinkResourceProperties",
1511
+ modelProperties: {
1512
+ groupId: {
1513
+ serializedName: "groupId",
1514
+ readOnly: true,
1515
+ type: {
1516
+ name: "String"
1517
+ }
1518
+ },
1519
+ requiredMembers: {
1520
+ serializedName: "requiredMembers",
1521
+ readOnly: true,
1522
+ type: {
1523
+ name: "Sequence",
1524
+ element: {
1525
+ type: {
1526
+ name: "String"
1527
+ }
1528
+ }
1529
+ }
1530
+ },
1531
+ requiredZoneNames: {
1532
+ serializedName: "requiredZoneNames",
1533
+ type: {
1534
+ name: "Sequence",
1535
+ element: {
1536
+ type: {
1537
+ name: "String"
1538
+ }
1539
+ }
1540
+ }
1541
+ }
1404
1542
  }
1405
1543
  }
1406
1544
  };
1407
- const $host = {
1408
- parameterPath: "$host",
1409
- mapper: {
1410
- serializedName: "$host",
1411
- required: true,
1412
- type: {
1413
- name: "String"
1545
+ const SnapshotList = {
1546
+ type: {
1547
+ name: "Composite",
1548
+ className: "SnapshotList",
1549
+ modelProperties: {
1550
+ value: {
1551
+ serializedName: "value",
1552
+ type: {
1553
+ name: "Sequence",
1554
+ element: {
1555
+ type: {
1556
+ name: "Composite",
1557
+ className: "Snapshot"
1558
+ }
1559
+ }
1560
+ }
1561
+ },
1562
+ nextLink: {
1563
+ serializedName: "nextLink",
1564
+ readOnly: true,
1565
+ type: {
1566
+ name: "String"
1567
+ }
1568
+ }
1414
1569
  }
1415
- },
1416
- skipEncoding: true
1570
+ }
1417
1571
  };
1418
- const apiVersion = {
1419
- parameterPath: "apiVersion",
1420
- mapper: {
1421
- defaultValue: "2022-12-01-preview",
1422
- isConstant: true,
1423
- serializedName: "api-version",
1424
- type: {
1425
- name: "String"
1572
+ const SnapshotProperties = {
1573
+ type: {
1574
+ name: "Composite",
1575
+ className: "SnapshotProperties",
1576
+ modelProperties: {
1577
+ creationData: {
1578
+ serializedName: "creationData",
1579
+ type: {
1580
+ name: "Composite",
1581
+ className: "SnapshotCreationData"
1582
+ }
1583
+ },
1584
+ provisioningState: {
1585
+ serializedName: "provisioningState",
1586
+ readOnly: true,
1587
+ type: {
1588
+ name: "String"
1589
+ }
1590
+ },
1591
+ sourceVolumeSizeGiB: {
1592
+ serializedName: "sourceVolumeSizeGiB",
1593
+ readOnly: true,
1594
+ type: {
1595
+ name: "Number"
1596
+ }
1597
+ },
1598
+ volumeName: {
1599
+ serializedName: "volumeName",
1600
+ readOnly: true,
1601
+ type: {
1602
+ name: "String"
1603
+ }
1604
+ }
1426
1605
  }
1427
1606
  }
1428
1607
  };
1429
- const subscriptionId = {
1430
- parameterPath: "subscriptionId",
1431
- mapper: {
1432
- constraints: {
1433
- MinLength: 1
1434
- },
1435
- serializedName: "subscriptionId",
1436
- required: true,
1437
- type: {
1438
- name: "String"
1608
+ const SnapshotCreationData = {
1609
+ type: {
1610
+ name: "Composite",
1611
+ className: "SnapshotCreationData",
1612
+ modelProperties: {
1613
+ sourceId: {
1614
+ serializedName: "sourceId",
1615
+ required: true,
1616
+ type: {
1617
+ name: "String"
1618
+ }
1619
+ }
1439
1620
  }
1440
1621
  }
1441
1622
  };
1442
- const filter = {
1443
- parameterPath: ["options", "filter"],
1444
- mapper: {
1445
- serializedName: "$filter",
1446
- type: {
1447
- name: "String"
1448
- }
1623
+ const PrivateEndpointConnection = {
1624
+ type: {
1625
+ name: "Composite",
1626
+ className: "PrivateEndpointConnection",
1627
+ modelProperties: Object.assign(Object.assign({}, Resource.type.modelProperties), { properties: {
1628
+ serializedName: "properties",
1629
+ type: {
1630
+ name: "Composite",
1631
+ className: "PrivateEndpointConnectionProperties"
1632
+ }
1633
+ } })
1449
1634
  }
1450
1635
  };
1451
- const resourceGroupName = {
1452
- parameterPath: "resourceGroupName",
1453
- mapper: {
1454
- constraints: {
1455
- MaxLength: 90,
1456
- MinLength: 1
1457
- },
1636
+ const TrackedResource = {
1637
+ type: {
1638
+ name: "Composite",
1639
+ className: "TrackedResource",
1640
+ modelProperties: Object.assign(Object.assign({}, Resource.type.modelProperties), { tags: {
1641
+ serializedName: "tags",
1642
+ type: {
1643
+ name: "Dictionary",
1644
+ value: { type: { name: "String" } }
1645
+ }
1646
+ }, location: {
1647
+ serializedName: "location",
1648
+ required: true,
1649
+ type: {
1650
+ name: "String"
1651
+ }
1652
+ } })
1653
+ }
1654
+ };
1655
+ const ProxyResource = {
1656
+ type: {
1657
+ name: "Composite",
1658
+ className: "ProxyResource",
1659
+ modelProperties: Object.assign({}, Resource.type.modelProperties)
1660
+ }
1661
+ };
1662
+ const PrivateLinkResource = {
1663
+ type: {
1664
+ name: "Composite",
1665
+ className: "PrivateLinkResource",
1666
+ modelProperties: Object.assign(Object.assign({}, Resource.type.modelProperties), { properties: {
1667
+ serializedName: "properties",
1668
+ type: {
1669
+ name: "Composite",
1670
+ className: "PrivateLinkResourceProperties"
1671
+ }
1672
+ } })
1673
+ }
1674
+ };
1675
+ const ElasticSan = {
1676
+ type: {
1677
+ name: "Composite",
1678
+ className: "ElasticSan",
1679
+ modelProperties: Object.assign(Object.assign({}, TrackedResource.type.modelProperties), { properties: {
1680
+ serializedName: "properties",
1681
+ type: {
1682
+ name: "Composite",
1683
+ className: "ElasticSanProperties"
1684
+ }
1685
+ } })
1686
+ }
1687
+ };
1688
+ const VolumeGroup = {
1689
+ type: {
1690
+ name: "Composite",
1691
+ className: "VolumeGroup",
1692
+ modelProperties: Object.assign(Object.assign({}, ProxyResource.type.modelProperties), { identity: {
1693
+ serializedName: "identity",
1694
+ type: {
1695
+ name: "Composite",
1696
+ className: "Identity"
1697
+ }
1698
+ }, properties: {
1699
+ serializedName: "properties",
1700
+ type: {
1701
+ name: "Composite",
1702
+ className: "VolumeGroupProperties"
1703
+ }
1704
+ } })
1705
+ }
1706
+ };
1707
+ const Volume = {
1708
+ type: {
1709
+ name: "Composite",
1710
+ className: "Volume",
1711
+ modelProperties: Object.assign(Object.assign({}, ProxyResource.type.modelProperties), { properties: {
1712
+ serializedName: "properties",
1713
+ type: {
1714
+ name: "Composite",
1715
+ className: "VolumeProperties"
1716
+ }
1717
+ } })
1718
+ }
1719
+ };
1720
+ const Snapshot = {
1721
+ type: {
1722
+ name: "Composite",
1723
+ className: "Snapshot",
1724
+ modelProperties: Object.assign(Object.assign({}, ProxyResource.type.modelProperties), { properties: {
1725
+ serializedName: "properties",
1726
+ type: {
1727
+ name: "Composite",
1728
+ className: "SnapshotProperties"
1729
+ }
1730
+ } })
1731
+ }
1732
+ };
1733
+ const ElasticSansUpdateHeaders = {
1734
+ type: {
1735
+ name: "Composite",
1736
+ className: "ElasticSansUpdateHeaders",
1737
+ modelProperties: {
1738
+ location: {
1739
+ serializedName: "location",
1740
+ type: {
1741
+ name: "String"
1742
+ }
1743
+ }
1744
+ }
1745
+ }
1746
+ };
1747
+ const ElasticSansDeleteHeaders = {
1748
+ type: {
1749
+ name: "Composite",
1750
+ className: "ElasticSansDeleteHeaders",
1751
+ modelProperties: {
1752
+ location: {
1753
+ serializedName: "location",
1754
+ type: {
1755
+ name: "String"
1756
+ }
1757
+ }
1758
+ }
1759
+ }
1760
+ };
1761
+ const VolumeGroupsUpdateHeaders = {
1762
+ type: {
1763
+ name: "Composite",
1764
+ className: "VolumeGroupsUpdateHeaders",
1765
+ modelProperties: {
1766
+ location: {
1767
+ serializedName: "location",
1768
+ type: {
1769
+ name: "String"
1770
+ }
1771
+ }
1772
+ }
1773
+ }
1774
+ };
1775
+ const VolumeGroupsDeleteHeaders = {
1776
+ type: {
1777
+ name: "Composite",
1778
+ className: "VolumeGroupsDeleteHeaders",
1779
+ modelProperties: {
1780
+ location: {
1781
+ serializedName: "location",
1782
+ type: {
1783
+ name: "String"
1784
+ }
1785
+ }
1786
+ }
1787
+ }
1788
+ };
1789
+ const VolumesUpdateHeaders = {
1790
+ type: {
1791
+ name: "Composite",
1792
+ className: "VolumesUpdateHeaders",
1793
+ modelProperties: {
1794
+ location: {
1795
+ serializedName: "location",
1796
+ type: {
1797
+ name: "String"
1798
+ }
1799
+ }
1800
+ }
1801
+ }
1802
+ };
1803
+ const VolumesDeleteHeaders = {
1804
+ type: {
1805
+ name: "Composite",
1806
+ className: "VolumesDeleteHeaders",
1807
+ modelProperties: {
1808
+ location: {
1809
+ serializedName: "location",
1810
+ type: {
1811
+ name: "String"
1812
+ }
1813
+ }
1814
+ }
1815
+ }
1816
+ };
1817
+ const PrivateEndpointConnectionsDeleteHeaders = {
1818
+ type: {
1819
+ name: "Composite",
1820
+ className: "PrivateEndpointConnectionsDeleteHeaders",
1821
+ modelProperties: {
1822
+ location: {
1823
+ serializedName: "location",
1824
+ type: {
1825
+ name: "String"
1826
+ }
1827
+ }
1828
+ }
1829
+ }
1830
+ };
1831
+ const VolumeSnapshotsDeleteHeaders = {
1832
+ type: {
1833
+ name: "Composite",
1834
+ className: "VolumeSnapshotsDeleteHeaders",
1835
+ modelProperties: {
1836
+ location: {
1837
+ serializedName: "location",
1838
+ type: {
1839
+ name: "String"
1840
+ }
1841
+ }
1842
+ }
1843
+ }
1844
+ };
1845
+
1846
+ var Mappers = /*#__PURE__*/Object.freeze({
1847
+ __proto__: null,
1848
+ ElasticSan: ElasticSan,
1849
+ ElasticSanList: ElasticSanList,
1850
+ ElasticSanProperties: ElasticSanProperties,
1851
+ ElasticSanUpdate: ElasticSanUpdate,
1852
+ ElasticSanUpdateProperties: ElasticSanUpdateProperties,
1853
+ ElasticSansDeleteHeaders: ElasticSansDeleteHeaders,
1854
+ ElasticSansUpdateHeaders: ElasticSansUpdateHeaders,
1855
+ EncryptionIdentity: EncryptionIdentity,
1856
+ EncryptionProperties: EncryptionProperties,
1857
+ ErrorAdditionalInfo: ErrorAdditionalInfo,
1858
+ ErrorDetail: ErrorDetail,
1859
+ ErrorResponse: ErrorResponse,
1860
+ Identity: Identity,
1861
+ IscsiTargetInfo: IscsiTargetInfo,
1862
+ KeyVaultProperties: KeyVaultProperties,
1863
+ ManagedByInfo: ManagedByInfo,
1864
+ NetworkRuleSet: NetworkRuleSet,
1865
+ Operation: Operation,
1866
+ OperationDisplay: OperationDisplay,
1867
+ OperationListResult: OperationListResult,
1868
+ PrivateEndpoint: PrivateEndpoint,
1869
+ PrivateEndpointConnection: PrivateEndpointConnection,
1870
+ PrivateEndpointConnectionListResult: PrivateEndpointConnectionListResult,
1871
+ PrivateEndpointConnectionProperties: PrivateEndpointConnectionProperties,
1872
+ PrivateEndpointConnectionsDeleteHeaders: PrivateEndpointConnectionsDeleteHeaders,
1873
+ PrivateLinkResource: PrivateLinkResource,
1874
+ PrivateLinkResourceListResult: PrivateLinkResourceListResult,
1875
+ PrivateLinkResourceProperties: PrivateLinkResourceProperties,
1876
+ PrivateLinkServiceConnectionState: PrivateLinkServiceConnectionState,
1877
+ ProxyResource: ProxyResource,
1878
+ Resource: Resource,
1879
+ SKUCapability: SKUCapability,
1880
+ Sku: Sku,
1881
+ SkuInformation: SkuInformation,
1882
+ SkuInformationList: SkuInformationList,
1883
+ SkuLocationInfo: SkuLocationInfo,
1884
+ Snapshot: Snapshot,
1885
+ SnapshotCreationData: SnapshotCreationData,
1886
+ SnapshotList: SnapshotList,
1887
+ SnapshotProperties: SnapshotProperties,
1888
+ SourceCreationData: SourceCreationData,
1889
+ SystemData: SystemData,
1890
+ TrackedResource: TrackedResource,
1891
+ UserAssignedIdentity: UserAssignedIdentity,
1892
+ VirtualNetworkRule: VirtualNetworkRule,
1893
+ Volume: Volume,
1894
+ VolumeGroup: VolumeGroup,
1895
+ VolumeGroupList: VolumeGroupList,
1896
+ VolumeGroupProperties: VolumeGroupProperties,
1897
+ VolumeGroupUpdate: VolumeGroupUpdate,
1898
+ VolumeGroupUpdateProperties: VolumeGroupUpdateProperties,
1899
+ VolumeGroupsDeleteHeaders: VolumeGroupsDeleteHeaders,
1900
+ VolumeGroupsUpdateHeaders: VolumeGroupsUpdateHeaders,
1901
+ VolumeList: VolumeList,
1902
+ VolumeProperties: VolumeProperties,
1903
+ VolumeSnapshotsDeleteHeaders: VolumeSnapshotsDeleteHeaders,
1904
+ VolumeUpdate: VolumeUpdate,
1905
+ VolumeUpdateProperties: VolumeUpdateProperties,
1906
+ VolumesDeleteHeaders: VolumesDeleteHeaders,
1907
+ VolumesUpdateHeaders: VolumesUpdateHeaders
1908
+ });
1909
+
1910
+ /*
1911
+ * Copyright (c) Microsoft Corporation.
1912
+ * Licensed under the MIT License.
1913
+ *
1914
+ * Code generated by Microsoft (R) AutoRest Code Generator.
1915
+ * Changes may cause incorrect behavior and will be lost if the code is regenerated.
1916
+ */
1917
+ const accept = {
1918
+ parameterPath: "accept",
1919
+ mapper: {
1920
+ defaultValue: "application/json",
1921
+ isConstant: true,
1922
+ serializedName: "Accept",
1923
+ type: {
1924
+ name: "String"
1925
+ }
1926
+ }
1927
+ };
1928
+ const $host = {
1929
+ parameterPath: "$host",
1930
+ mapper: {
1931
+ serializedName: "$host",
1932
+ required: true,
1933
+ type: {
1934
+ name: "String"
1935
+ }
1936
+ },
1937
+ skipEncoding: true
1938
+ };
1939
+ const apiVersion = {
1940
+ parameterPath: "apiVersion",
1941
+ mapper: {
1942
+ defaultValue: "2023-01-01",
1943
+ isConstant: true,
1944
+ serializedName: "api-version",
1945
+ type: {
1946
+ name: "String"
1947
+ }
1948
+ }
1949
+ };
1950
+ const subscriptionId = {
1951
+ parameterPath: "subscriptionId",
1952
+ mapper: {
1953
+ constraints: {
1954
+ MinLength: 1
1955
+ },
1956
+ serializedName: "subscriptionId",
1957
+ required: true,
1958
+ type: {
1959
+ name: "String"
1960
+ }
1961
+ }
1962
+ };
1963
+ const filter = {
1964
+ parameterPath: ["options", "filter"],
1965
+ mapper: {
1966
+ serializedName: "$filter",
1967
+ type: {
1968
+ name: "String"
1969
+ }
1970
+ }
1971
+ };
1972
+ const resourceGroupName = {
1973
+ parameterPath: "resourceGroupName",
1974
+ mapper: {
1975
+ constraints: {
1976
+ MaxLength: 90,
1977
+ MinLength: 1
1978
+ },
1458
1979
  serializedName: "resourceGroupName",
1459
1980
  required: true,
1460
1981
  type: {
@@ -1549,10 +2070,28 @@ const volumeName = {
1549
2070
  }
1550
2071
  }
1551
2072
  };
1552
- const parameters5 = {
1553
- parameterPath: "parameters",
1554
- mapper: VolumeUpdate
1555
- };
2073
+ const parameters5 = {
2074
+ parameterPath: "parameters",
2075
+ mapper: VolumeUpdate
2076
+ };
2077
+ const xMsDeleteSnapshots = {
2078
+ parameterPath: ["options", "xMsDeleteSnapshots"],
2079
+ mapper: {
2080
+ serializedName: "x-ms-delete-snapshots",
2081
+ type: {
2082
+ name: "String"
2083
+ }
2084
+ }
2085
+ };
2086
+ const xMsForceDelete = {
2087
+ parameterPath: ["options", "xMsForceDelete"],
2088
+ mapper: {
2089
+ serializedName: "x-ms-force-delete",
2090
+ type: {
2091
+ name: "String"
2092
+ }
2093
+ }
2094
+ };
1556
2095
  const parameters6 = {
1557
2096
  parameterPath: "parameters",
1558
2097
  mapper: PrivateEndpointConnection
@@ -1567,6 +2106,25 @@ const privateEndpointConnectionName = {
1567
2106
  }
1568
2107
  }
1569
2108
  };
2109
+ const parameters7 = {
2110
+ parameterPath: "parameters",
2111
+ mapper: Snapshot
2112
+ };
2113
+ const snapshotName = {
2114
+ parameterPath: "snapshotName",
2115
+ mapper: {
2116
+ constraints: {
2117
+ Pattern: new RegExp("^[a-z0-9]+(?:[._-][a-z0-9]+)*$"),
2118
+ MaxLength: 80,
2119
+ MinLength: 1
2120
+ },
2121
+ serializedName: "snapshotName",
2122
+ required: true,
2123
+ type: {
2124
+ name: "String"
2125
+ }
2126
+ }
2127
+ };
1570
2128
 
1571
2129
  /*
1572
2130
  * Copyright (c) Microsoft Corporation.
@@ -1586,11 +2144,277 @@ class OperationsImpl {
1586
2144
  this.client = client;
1587
2145
  }
1588
2146
  /**
1589
- * Gets a list of ElasticSan operations.
2147
+ * Gets a list of ElasticSan operations.
2148
+ * @param options The options parameters.
2149
+ */
2150
+ list(options) {
2151
+ const iter = this.listPagingAll(options);
2152
+ return {
2153
+ next() {
2154
+ return iter.next();
2155
+ },
2156
+ [Symbol.asyncIterator]() {
2157
+ return this;
2158
+ },
2159
+ byPage: (settings) => {
2160
+ if (settings === null || settings === void 0 ? void 0 : settings.maxPageSize) {
2161
+ throw new Error("maxPageSize is not supported by this operation.");
2162
+ }
2163
+ return this.listPagingPage(options, settings);
2164
+ }
2165
+ };
2166
+ }
2167
+ listPagingPage(options, _settings) {
2168
+ return tslib.__asyncGenerator(this, arguments, function* listPagingPage_1() {
2169
+ let result;
2170
+ result = yield tslib.__await(this._list(options));
2171
+ yield yield tslib.__await(result.value || []);
2172
+ });
2173
+ }
2174
+ listPagingAll(options) {
2175
+ return tslib.__asyncGenerator(this, arguments, function* listPagingAll_1() {
2176
+ var _a, e_1, _b, _c;
2177
+ try {
2178
+ for (var _d = true, _e = tslib.__asyncValues(this.listPagingPage(options)), _f; _f = yield tslib.__await(_e.next()), _a = _f.done, !_a; _d = true) {
2179
+ _c = _f.value;
2180
+ _d = false;
2181
+ const page = _c;
2182
+ yield tslib.__await(yield* tslib.__asyncDelegator(tslib.__asyncValues(page)));
2183
+ }
2184
+ }
2185
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
2186
+ finally {
2187
+ try {
2188
+ if (!_d && !_a && (_b = _e.return)) yield tslib.__await(_b.call(_e));
2189
+ }
2190
+ finally { if (e_1) throw e_1.error; }
2191
+ }
2192
+ });
2193
+ }
2194
+ /**
2195
+ * Gets a list of ElasticSan operations.
2196
+ * @param options The options parameters.
2197
+ */
2198
+ _list(options) {
2199
+ return this.client.sendOperationRequest({ options }, listOperationSpec$2);
2200
+ }
2201
+ }
2202
+ // Operation Specifications
2203
+ const serializer$7 = coreClient__namespace.createSerializer(Mappers, /* isXml */ false);
2204
+ const listOperationSpec$2 = {
2205
+ path: "/providers/Microsoft.ElasticSan/operations",
2206
+ httpMethod: "GET",
2207
+ responses: {
2208
+ 200: {
2209
+ bodyMapper: OperationListResult
2210
+ },
2211
+ default: {
2212
+ bodyMapper: ErrorResponse
2213
+ }
2214
+ },
2215
+ queryParameters: [apiVersion],
2216
+ urlParameters: [$host],
2217
+ headerParameters: [accept],
2218
+ serializer: serializer$7
2219
+ };
2220
+
2221
+ /*
2222
+ * Copyright (c) Microsoft Corporation.
2223
+ * Licensed under the MIT License.
2224
+ *
2225
+ * Code generated by Microsoft (R) AutoRest Code Generator.
2226
+ * Changes may cause incorrect behavior and will be lost if the code is regenerated.
2227
+ */
2228
+ /// <reference lib="esnext.asynciterable" />
2229
+ /** Class containing Skus operations. */
2230
+ class SkusImpl {
2231
+ /**
2232
+ * Initialize a new instance of the class Skus class.
2233
+ * @param client Reference to the service client
2234
+ */
2235
+ constructor(client) {
2236
+ this.client = client;
2237
+ }
2238
+ /**
2239
+ * List all the available Skus in the region and information related to them
2240
+ * @param options The options parameters.
2241
+ */
2242
+ list(options) {
2243
+ const iter = this.listPagingAll(options);
2244
+ return {
2245
+ next() {
2246
+ return iter.next();
2247
+ },
2248
+ [Symbol.asyncIterator]() {
2249
+ return this;
2250
+ },
2251
+ byPage: (settings) => {
2252
+ if (settings === null || settings === void 0 ? void 0 : settings.maxPageSize) {
2253
+ throw new Error("maxPageSize is not supported by this operation.");
2254
+ }
2255
+ return this.listPagingPage(options, settings);
2256
+ }
2257
+ };
2258
+ }
2259
+ listPagingPage(options, _settings) {
2260
+ return tslib.__asyncGenerator(this, arguments, function* listPagingPage_1() {
2261
+ let result;
2262
+ result = yield tslib.__await(this._list(options));
2263
+ yield yield tslib.__await(result.value || []);
2264
+ });
2265
+ }
2266
+ listPagingAll(options) {
2267
+ return tslib.__asyncGenerator(this, arguments, function* listPagingAll_1() {
2268
+ var _a, e_1, _b, _c;
2269
+ try {
2270
+ for (var _d = true, _e = tslib.__asyncValues(this.listPagingPage(options)), _f; _f = yield tslib.__await(_e.next()), _a = _f.done, !_a; _d = true) {
2271
+ _c = _f.value;
2272
+ _d = false;
2273
+ const page = _c;
2274
+ yield tslib.__await(yield* tslib.__asyncDelegator(tslib.__asyncValues(page)));
2275
+ }
2276
+ }
2277
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
2278
+ finally {
2279
+ try {
2280
+ if (!_d && !_a && (_b = _e.return)) yield tslib.__await(_b.call(_e));
2281
+ }
2282
+ finally { if (e_1) throw e_1.error; }
2283
+ }
2284
+ });
2285
+ }
2286
+ /**
2287
+ * List all the available Skus in the region and information related to them
2288
+ * @param options The options parameters.
2289
+ */
2290
+ _list(options) {
2291
+ return this.client.sendOperationRequest({ options }, listOperationSpec$1);
2292
+ }
2293
+ }
2294
+ // Operation Specifications
2295
+ const serializer$6 = coreClient__namespace.createSerializer(Mappers, /* isXml */ false);
2296
+ const listOperationSpec$1 = {
2297
+ path: "/subscriptions/{subscriptionId}/providers/Microsoft.ElasticSan/skus",
2298
+ httpMethod: "GET",
2299
+ responses: {
2300
+ 200: {
2301
+ bodyMapper: SkuInformationList
2302
+ },
2303
+ default: {
2304
+ bodyMapper: ErrorResponse
2305
+ }
2306
+ },
2307
+ queryParameters: [apiVersion, filter],
2308
+ urlParameters: [$host, subscriptionId],
2309
+ headerParameters: [accept],
2310
+ serializer: serializer$6
2311
+ };
2312
+
2313
+ /*
2314
+ * Copyright (c) Microsoft Corporation.
2315
+ * Licensed under the MIT License.
2316
+ *
2317
+ * Code generated by Microsoft (R) AutoRest Code Generator.
2318
+ * Changes may cause incorrect behavior and will be lost if the code is regenerated.
2319
+ */
2320
+ function createLroSpec(inputs) {
2321
+ const { args, spec, sendOperationFn } = inputs;
2322
+ return {
2323
+ requestMethod: spec.httpMethod,
2324
+ requestPath: spec.path,
2325
+ sendInitialRequest: () => sendOperationFn(args, spec),
2326
+ sendPollRequest: (path, options) => {
2327
+ const restSpec = tslib.__rest(spec, ["requestBody"]);
2328
+ return sendOperationFn(args, Object.assign(Object.assign({}, restSpec), { httpMethod: "GET", path, abortSignal: options === null || options === void 0 ? void 0 : options.abortSignal }));
2329
+ }
2330
+ };
2331
+ }
2332
+
2333
+ /*
2334
+ * Copyright (c) Microsoft Corporation.
2335
+ * Licensed under the MIT License.
2336
+ *
2337
+ * Code generated by Microsoft (R) AutoRest Code Generator.
2338
+ * Changes may cause incorrect behavior and will be lost if the code is regenerated.
2339
+ */
2340
+ /// <reference lib="esnext.asynciterable" />
2341
+ /** Class containing ElasticSans operations. */
2342
+ class ElasticSansImpl {
2343
+ /**
2344
+ * Initialize a new instance of the class ElasticSans class.
2345
+ * @param client Reference to the service client
2346
+ */
2347
+ constructor(client) {
2348
+ this.client = client;
2349
+ }
2350
+ /**
2351
+ * Gets a list of ElasticSans in a subscription
2352
+ * @param options The options parameters.
2353
+ */
2354
+ listBySubscription(options) {
2355
+ const iter = this.listBySubscriptionPagingAll(options);
2356
+ return {
2357
+ next() {
2358
+ return iter.next();
2359
+ },
2360
+ [Symbol.asyncIterator]() {
2361
+ return this;
2362
+ },
2363
+ byPage: (settings) => {
2364
+ if (settings === null || settings === void 0 ? void 0 : settings.maxPageSize) {
2365
+ throw new Error("maxPageSize is not supported by this operation.");
2366
+ }
2367
+ return this.listBySubscriptionPagingPage(options, settings);
2368
+ }
2369
+ };
2370
+ }
2371
+ listBySubscriptionPagingPage(options, settings) {
2372
+ return tslib.__asyncGenerator(this, arguments, function* listBySubscriptionPagingPage_1() {
2373
+ let result;
2374
+ let continuationToken = settings === null || settings === void 0 ? void 0 : settings.continuationToken;
2375
+ if (!continuationToken) {
2376
+ result = yield tslib.__await(this._listBySubscription(options));
2377
+ let page = result.value || [];
2378
+ continuationToken = result.nextLink;
2379
+ setContinuationToken(page, continuationToken);
2380
+ yield yield tslib.__await(page);
2381
+ }
2382
+ while (continuationToken) {
2383
+ result = yield tslib.__await(this._listBySubscriptionNext(continuationToken, options));
2384
+ continuationToken = result.nextLink;
2385
+ let page = result.value || [];
2386
+ setContinuationToken(page, continuationToken);
2387
+ yield yield tslib.__await(page);
2388
+ }
2389
+ });
2390
+ }
2391
+ listBySubscriptionPagingAll(options) {
2392
+ return tslib.__asyncGenerator(this, arguments, function* listBySubscriptionPagingAll_1() {
2393
+ var _a, e_1, _b, _c;
2394
+ try {
2395
+ for (var _d = true, _e = tslib.__asyncValues(this.listBySubscriptionPagingPage(options)), _f; _f = yield tslib.__await(_e.next()), _a = _f.done, !_a; _d = true) {
2396
+ _c = _f.value;
2397
+ _d = false;
2398
+ const page = _c;
2399
+ yield tslib.__await(yield* tslib.__asyncDelegator(tslib.__asyncValues(page)));
2400
+ }
2401
+ }
2402
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
2403
+ finally {
2404
+ try {
2405
+ if (!_d && !_a && (_b = _e.return)) yield tslib.__await(_b.call(_e));
2406
+ }
2407
+ finally { if (e_1) throw e_1.error; }
2408
+ }
2409
+ });
2410
+ }
2411
+ /**
2412
+ * Gets a list of ElasticSan in a resource group.
2413
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
1590
2414
  * @param options The options parameters.
1591
2415
  */
1592
- list(options) {
1593
- const iter = this.listPagingAll(options);
2416
+ listByResourceGroup(resourceGroupName, options) {
2417
+ const iter = this.listByResourceGroupPagingAll(resourceGroupName, options);
1594
2418
  return {
1595
2419
  next() {
1596
2420
  return iter.next();
@@ -1602,185 +2426,448 @@ class OperationsImpl {
1602
2426
  if (settings === null || settings === void 0 ? void 0 : settings.maxPageSize) {
1603
2427
  throw new Error("maxPageSize is not supported by this operation.");
1604
2428
  }
1605
- return this.listPagingPage(options, settings);
2429
+ return this.listByResourceGroupPagingPage(resourceGroupName, options, settings);
1606
2430
  }
1607
2431
  };
1608
2432
  }
1609
- listPagingPage(options, _settings) {
1610
- return tslib.__asyncGenerator(this, arguments, function* listPagingPage_1() {
2433
+ listByResourceGroupPagingPage(resourceGroupName, options, settings) {
2434
+ return tslib.__asyncGenerator(this, arguments, function* listByResourceGroupPagingPage_1() {
1611
2435
  let result;
1612
- result = yield tslib.__await(this._list(options));
1613
- yield yield tslib.__await(result.value || []);
2436
+ let continuationToken = settings === null || settings === void 0 ? void 0 : settings.continuationToken;
2437
+ if (!continuationToken) {
2438
+ result = yield tslib.__await(this._listByResourceGroup(resourceGroupName, options));
2439
+ let page = result.value || [];
2440
+ continuationToken = result.nextLink;
2441
+ setContinuationToken(page, continuationToken);
2442
+ yield yield tslib.__await(page);
2443
+ }
2444
+ while (continuationToken) {
2445
+ result = yield tslib.__await(this._listByResourceGroupNext(resourceGroupName, continuationToken, options));
2446
+ continuationToken = result.nextLink;
2447
+ let page = result.value || [];
2448
+ setContinuationToken(page, continuationToken);
2449
+ yield yield tslib.__await(page);
2450
+ }
1614
2451
  });
1615
2452
  }
1616
- listPagingAll(options) {
1617
- return tslib.__asyncGenerator(this, arguments, function* listPagingAll_1() {
1618
- var _a, e_1, _b, _c;
2453
+ listByResourceGroupPagingAll(resourceGroupName, options) {
2454
+ return tslib.__asyncGenerator(this, arguments, function* listByResourceGroupPagingAll_1() {
2455
+ var _a, e_2, _b, _c;
1619
2456
  try {
1620
- for (var _d = true, _e = tslib.__asyncValues(this.listPagingPage(options)), _f; _f = yield tslib.__await(_e.next()), _a = _f.done, !_a;) {
2457
+ for (var _d = true, _e = tslib.__asyncValues(this.listByResourceGroupPagingPage(resourceGroupName, options)), _f; _f = yield tslib.__await(_e.next()), _a = _f.done, !_a; _d = true) {
1621
2458
  _c = _f.value;
1622
2459
  _d = false;
1623
- try {
1624
- const page = _c;
1625
- yield tslib.__await(yield* tslib.__asyncDelegator(tslib.__asyncValues(page)));
1626
- }
1627
- finally {
1628
- _d = true;
1629
- }
2460
+ const page = _c;
2461
+ yield tslib.__await(yield* tslib.__asyncDelegator(tslib.__asyncValues(page)));
1630
2462
  }
1631
2463
  }
1632
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
2464
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
1633
2465
  finally {
1634
2466
  try {
1635
2467
  if (!_d && !_a && (_b = _e.return)) yield tslib.__await(_b.call(_e));
1636
2468
  }
1637
- finally { if (e_1) throw e_1.error; }
2469
+ finally { if (e_2) throw e_2.error; }
1638
2470
  }
1639
2471
  });
1640
2472
  }
1641
2473
  /**
1642
- * Gets a list of ElasticSan operations.
2474
+ * Gets a list of ElasticSans in a subscription
1643
2475
  * @param options The options parameters.
1644
2476
  */
1645
- _list(options) {
1646
- return this.client.sendOperationRequest({ options }, listOperationSpec$2);
2477
+ _listBySubscription(options) {
2478
+ return this.client.sendOperationRequest({ options }, listBySubscriptionOperationSpec);
2479
+ }
2480
+ /**
2481
+ * Gets a list of ElasticSan in a resource group.
2482
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
2483
+ * @param options The options parameters.
2484
+ */
2485
+ _listByResourceGroup(resourceGroupName, options) {
2486
+ return this.client.sendOperationRequest({ resourceGroupName, options }, listByResourceGroupOperationSpec);
2487
+ }
2488
+ /**
2489
+ * Create ElasticSan.
2490
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
2491
+ * @param elasticSanName The name of the ElasticSan.
2492
+ * @param parameters Elastic San object.
2493
+ * @param options The options parameters.
2494
+ */
2495
+ beginCreate(resourceGroupName, elasticSanName, parameters, options) {
2496
+ return tslib.__awaiter(this, void 0, void 0, function* () {
2497
+ const directSendOperation = (args, spec) => tslib.__awaiter(this, void 0, void 0, function* () {
2498
+ return this.client.sendOperationRequest(args, spec);
2499
+ });
2500
+ const sendOperationFn = (args, spec) => tslib.__awaiter(this, void 0, void 0, function* () {
2501
+ var _a;
2502
+ let currentRawResponse = undefined;
2503
+ const providedCallback = (_a = args.options) === null || _a === void 0 ? void 0 : _a.onResponse;
2504
+ const callback = (rawResponse, flatResponse) => {
2505
+ currentRawResponse = rawResponse;
2506
+ providedCallback === null || providedCallback === void 0 ? void 0 : providedCallback(rawResponse, flatResponse);
2507
+ };
2508
+ const updatedArgs = Object.assign(Object.assign({}, args), { options: Object.assign(Object.assign({}, args.options), { onResponse: callback }) });
2509
+ const flatResponse = yield directSendOperation(updatedArgs, spec);
2510
+ return {
2511
+ flatResponse,
2512
+ rawResponse: {
2513
+ statusCode: currentRawResponse.status,
2514
+ body: currentRawResponse.parsedBody,
2515
+ headers: currentRawResponse.headers.toJSON()
2516
+ }
2517
+ };
2518
+ });
2519
+ const lro = createLroSpec({
2520
+ sendOperationFn,
2521
+ args: { resourceGroupName, elasticSanName, parameters, options },
2522
+ spec: createOperationSpec$4
2523
+ });
2524
+ const poller = yield coreLro.createHttpPoller(lro, {
2525
+ restoreFrom: options === null || options === void 0 ? void 0 : options.resumeFrom,
2526
+ intervalInMs: options === null || options === void 0 ? void 0 : options.updateIntervalInMs,
2527
+ resourceLocationConfig: "location"
2528
+ });
2529
+ yield poller.poll();
2530
+ return poller;
2531
+ });
2532
+ }
2533
+ /**
2534
+ * Create ElasticSan.
2535
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
2536
+ * @param elasticSanName The name of the ElasticSan.
2537
+ * @param parameters Elastic San object.
2538
+ * @param options The options parameters.
2539
+ */
2540
+ beginCreateAndWait(resourceGroupName, elasticSanName, parameters, options) {
2541
+ return tslib.__awaiter(this, void 0, void 0, function* () {
2542
+ const poller = yield this.beginCreate(resourceGroupName, elasticSanName, parameters, options);
2543
+ return poller.pollUntilDone();
2544
+ });
2545
+ }
2546
+ /**
2547
+ * Update a Elastic San.
2548
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
2549
+ * @param elasticSanName The name of the ElasticSan.
2550
+ * @param parameters Elastic San object.
2551
+ * @param options The options parameters.
2552
+ */
2553
+ beginUpdate(resourceGroupName, elasticSanName, parameters, options) {
2554
+ return tslib.__awaiter(this, void 0, void 0, function* () {
2555
+ const directSendOperation = (args, spec) => tslib.__awaiter(this, void 0, void 0, function* () {
2556
+ return this.client.sendOperationRequest(args, spec);
2557
+ });
2558
+ const sendOperationFn = (args, spec) => tslib.__awaiter(this, void 0, void 0, function* () {
2559
+ var _a;
2560
+ let currentRawResponse = undefined;
2561
+ const providedCallback = (_a = args.options) === null || _a === void 0 ? void 0 : _a.onResponse;
2562
+ const callback = (rawResponse, flatResponse) => {
2563
+ currentRawResponse = rawResponse;
2564
+ providedCallback === null || providedCallback === void 0 ? void 0 : providedCallback(rawResponse, flatResponse);
2565
+ };
2566
+ const updatedArgs = Object.assign(Object.assign({}, args), { options: Object.assign(Object.assign({}, args.options), { onResponse: callback }) });
2567
+ const flatResponse = yield directSendOperation(updatedArgs, spec);
2568
+ return {
2569
+ flatResponse,
2570
+ rawResponse: {
2571
+ statusCode: currentRawResponse.status,
2572
+ body: currentRawResponse.parsedBody,
2573
+ headers: currentRawResponse.headers.toJSON()
2574
+ }
2575
+ };
2576
+ });
2577
+ const lro = createLroSpec({
2578
+ sendOperationFn,
2579
+ args: { resourceGroupName, elasticSanName, parameters, options },
2580
+ spec: updateOperationSpec$2
2581
+ });
2582
+ const poller = yield coreLro.createHttpPoller(lro, {
2583
+ restoreFrom: options === null || options === void 0 ? void 0 : options.resumeFrom,
2584
+ intervalInMs: options === null || options === void 0 ? void 0 : options.updateIntervalInMs,
2585
+ resourceLocationConfig: "location"
2586
+ });
2587
+ yield poller.poll();
2588
+ return poller;
2589
+ });
2590
+ }
2591
+ /**
2592
+ * Update a Elastic San.
2593
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
2594
+ * @param elasticSanName The name of the ElasticSan.
2595
+ * @param parameters Elastic San object.
2596
+ * @param options The options parameters.
2597
+ */
2598
+ beginUpdateAndWait(resourceGroupName, elasticSanName, parameters, options) {
2599
+ return tslib.__awaiter(this, void 0, void 0, function* () {
2600
+ const poller = yield this.beginUpdate(resourceGroupName, elasticSanName, parameters, options);
2601
+ return poller.pollUntilDone();
2602
+ });
2603
+ }
2604
+ /**
2605
+ * Delete a Elastic San.
2606
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
2607
+ * @param elasticSanName The name of the ElasticSan.
2608
+ * @param options The options parameters.
2609
+ */
2610
+ beginDelete(resourceGroupName, elasticSanName, options) {
2611
+ return tslib.__awaiter(this, void 0, void 0, function* () {
2612
+ const directSendOperation = (args, spec) => tslib.__awaiter(this, void 0, void 0, function* () {
2613
+ return this.client.sendOperationRequest(args, spec);
2614
+ });
2615
+ const sendOperationFn = (args, spec) => tslib.__awaiter(this, void 0, void 0, function* () {
2616
+ var _a;
2617
+ let currentRawResponse = undefined;
2618
+ const providedCallback = (_a = args.options) === null || _a === void 0 ? void 0 : _a.onResponse;
2619
+ const callback = (rawResponse, flatResponse) => {
2620
+ currentRawResponse = rawResponse;
2621
+ providedCallback === null || providedCallback === void 0 ? void 0 : providedCallback(rawResponse, flatResponse);
2622
+ };
2623
+ const updatedArgs = Object.assign(Object.assign({}, args), { options: Object.assign(Object.assign({}, args.options), { onResponse: callback }) });
2624
+ const flatResponse = yield directSendOperation(updatedArgs, spec);
2625
+ return {
2626
+ flatResponse,
2627
+ rawResponse: {
2628
+ statusCode: currentRawResponse.status,
2629
+ body: currentRawResponse.parsedBody,
2630
+ headers: currentRawResponse.headers.toJSON()
2631
+ }
2632
+ };
2633
+ });
2634
+ const lro = createLroSpec({
2635
+ sendOperationFn,
2636
+ args: { resourceGroupName, elasticSanName, options },
2637
+ spec: deleteOperationSpec$4
2638
+ });
2639
+ const poller = yield coreLro.createHttpPoller(lro, {
2640
+ restoreFrom: options === null || options === void 0 ? void 0 : options.resumeFrom,
2641
+ intervalInMs: options === null || options === void 0 ? void 0 : options.updateIntervalInMs,
2642
+ resourceLocationConfig: "location"
2643
+ });
2644
+ yield poller.poll();
2645
+ return poller;
2646
+ });
1647
2647
  }
1648
- }
1649
- // Operation Specifications
1650
- const serializer$6 = coreClient__namespace.createSerializer(Mappers, /* isXml */ false);
1651
- const listOperationSpec$2 = {
1652
- path: "/providers/Microsoft.ElasticSan/operations",
1653
- httpMethod: "GET",
1654
- responses: {
1655
- 200: {
1656
- bodyMapper: OperationListResult
1657
- },
1658
- default: {
1659
- bodyMapper: ErrorResponse
1660
- }
1661
- },
1662
- queryParameters: [apiVersion],
1663
- urlParameters: [$host],
1664
- headerParameters: [accept],
1665
- serializer: serializer$6
1666
- };
1667
-
1668
- /*
1669
- * Copyright (c) Microsoft Corporation.
1670
- * Licensed under the MIT License.
1671
- *
1672
- * Code generated by Microsoft (R) AutoRest Code Generator.
1673
- * Changes may cause incorrect behavior and will be lost if the code is regenerated.
1674
- */
1675
- /// <reference lib="esnext.asynciterable" />
1676
- /** Class containing Skus operations. */
1677
- class SkusImpl {
1678
2648
  /**
1679
- * Initialize a new instance of the class Skus class.
1680
- * @param client Reference to the service client
2649
+ * Delete a Elastic San.
2650
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
2651
+ * @param elasticSanName The name of the ElasticSan.
2652
+ * @param options The options parameters.
1681
2653
  */
1682
- constructor(client) {
1683
- this.client = client;
2654
+ beginDeleteAndWait(resourceGroupName, elasticSanName, options) {
2655
+ return tslib.__awaiter(this, void 0, void 0, function* () {
2656
+ const poller = yield this.beginDelete(resourceGroupName, elasticSanName, options);
2657
+ return poller.pollUntilDone();
2658
+ });
1684
2659
  }
1685
2660
  /**
1686
- * List all the available Skus in the region and information related to them
2661
+ * Get a ElasticSan.
2662
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
2663
+ * @param elasticSanName The name of the ElasticSan.
1687
2664
  * @param options The options parameters.
1688
2665
  */
1689
- list(options) {
1690
- const iter = this.listPagingAll(options);
1691
- return {
1692
- next() {
1693
- return iter.next();
1694
- },
1695
- [Symbol.asyncIterator]() {
1696
- return this;
1697
- },
1698
- byPage: (settings) => {
1699
- if (settings === null || settings === void 0 ? void 0 : settings.maxPageSize) {
1700
- throw new Error("maxPageSize is not supported by this operation.");
1701
- }
1702
- return this.listPagingPage(options, settings);
1703
- }
1704
- };
1705
- }
1706
- listPagingPage(options, _settings) {
1707
- return tslib.__asyncGenerator(this, arguments, function* listPagingPage_1() {
1708
- let result;
1709
- result = yield tslib.__await(this._list(options));
1710
- yield yield tslib.__await(result.value || []);
1711
- });
2666
+ get(resourceGroupName, elasticSanName, options) {
2667
+ return this.client.sendOperationRequest({ resourceGroupName, elasticSanName, options }, getOperationSpec$4);
1712
2668
  }
1713
- listPagingAll(options) {
1714
- return tslib.__asyncGenerator(this, arguments, function* listPagingAll_1() {
1715
- var _a, e_1, _b, _c;
1716
- try {
1717
- for (var _d = true, _e = tslib.__asyncValues(this.listPagingPage(options)), _f; _f = yield tslib.__await(_e.next()), _a = _f.done, !_a;) {
1718
- _c = _f.value;
1719
- _d = false;
1720
- try {
1721
- const page = _c;
1722
- yield tslib.__await(yield* tslib.__asyncDelegator(tslib.__asyncValues(page)));
1723
- }
1724
- finally {
1725
- _d = true;
1726
- }
1727
- }
1728
- }
1729
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
1730
- finally {
1731
- try {
1732
- if (!_d && !_a && (_b = _e.return)) yield tslib.__await(_b.call(_e));
1733
- }
1734
- finally { if (e_1) throw e_1.error; }
1735
- }
1736
- });
2669
+ /**
2670
+ * ListBySubscriptionNext
2671
+ * @param nextLink The nextLink from the previous successful call to the ListBySubscription method.
2672
+ * @param options The options parameters.
2673
+ */
2674
+ _listBySubscriptionNext(nextLink, options) {
2675
+ return this.client.sendOperationRequest({ nextLink, options }, listBySubscriptionNextOperationSpec);
1737
2676
  }
1738
2677
  /**
1739
- * List all the available Skus in the region and information related to them
2678
+ * ListByResourceGroupNext
2679
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
2680
+ * @param nextLink The nextLink from the previous successful call to the ListByResourceGroup method.
1740
2681
  * @param options The options parameters.
1741
2682
  */
1742
- _list(options) {
1743
- return this.client.sendOperationRequest({ options }, listOperationSpec$1);
2683
+ _listByResourceGroupNext(resourceGroupName, nextLink, options) {
2684
+ return this.client.sendOperationRequest({ resourceGroupName, nextLink, options }, listByResourceGroupNextOperationSpec);
1744
2685
  }
1745
2686
  }
1746
2687
  // Operation Specifications
1747
2688
  const serializer$5 = coreClient__namespace.createSerializer(Mappers, /* isXml */ false);
1748
- const listOperationSpec$1 = {
1749
- path: "/subscriptions/{subscriptionId}/providers/Microsoft.ElasticSan/skus",
2689
+ const listBySubscriptionOperationSpec = {
2690
+ path: "/subscriptions/{subscriptionId}/providers/Microsoft.ElasticSan/elasticSans",
1750
2691
  httpMethod: "GET",
1751
2692
  responses: {
1752
2693
  200: {
1753
- bodyMapper: SkuInformationList
2694
+ bodyMapper: ElasticSanList
1754
2695
  },
1755
2696
  default: {
1756
2697
  bodyMapper: ErrorResponse
1757
2698
  }
1758
2699
  },
1759
- queryParameters: [apiVersion, filter],
2700
+ queryParameters: [apiVersion],
1760
2701
  urlParameters: [$host, subscriptionId],
1761
2702
  headerParameters: [accept],
1762
2703
  serializer: serializer$5
1763
2704
  };
1764
-
1765
- /*
1766
- * Copyright (c) Microsoft Corporation.
1767
- * Licensed under the MIT License.
1768
- *
1769
- * Code generated by Microsoft (R) AutoRest Code Generator.
1770
- * Changes may cause incorrect behavior and will be lost if the code is regenerated.
1771
- */
1772
- function createLroSpec(inputs) {
1773
- const { args, spec, sendOperationFn } = inputs;
1774
- return {
1775
- requestMethod: spec.httpMethod,
1776
- requestPath: spec.path,
1777
- sendInitialRequest: () => sendOperationFn(args, spec),
1778
- sendPollRequest: (path, options) => {
1779
- const restSpec = tslib.__rest(spec, ["requestBody"]);
1780
- return sendOperationFn(args, Object.assign(Object.assign({}, restSpec), { httpMethod: "GET", path, abortSignal: options === null || options === void 0 ? void 0 : options.abortSignal }));
2705
+ const listByResourceGroupOperationSpec = {
2706
+ path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans",
2707
+ httpMethod: "GET",
2708
+ responses: {
2709
+ 200: {
2710
+ bodyMapper: ElasticSanList
2711
+ },
2712
+ default: {
2713
+ bodyMapper: ErrorResponse
1781
2714
  }
1782
- };
1783
- }
2715
+ },
2716
+ queryParameters: [apiVersion],
2717
+ urlParameters: [
2718
+ $host,
2719
+ subscriptionId,
2720
+ resourceGroupName
2721
+ ],
2722
+ headerParameters: [accept],
2723
+ serializer: serializer$5
2724
+ };
2725
+ const createOperationSpec$4 = {
2726
+ path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}",
2727
+ httpMethod: "PUT",
2728
+ responses: {
2729
+ 200: {
2730
+ bodyMapper: ElasticSan
2731
+ },
2732
+ 201: {
2733
+ bodyMapper: ElasticSan
2734
+ },
2735
+ 202: {
2736
+ bodyMapper: ElasticSan
2737
+ },
2738
+ 204: {
2739
+ bodyMapper: ElasticSan
2740
+ },
2741
+ default: {
2742
+ bodyMapper: ErrorResponse
2743
+ }
2744
+ },
2745
+ requestBody: parameters,
2746
+ queryParameters: [apiVersion],
2747
+ urlParameters: [
2748
+ $host,
2749
+ subscriptionId,
2750
+ resourceGroupName,
2751
+ elasticSanName
2752
+ ],
2753
+ headerParameters: [accept, contentType],
2754
+ mediaType: "json",
2755
+ serializer: serializer$5
2756
+ };
2757
+ const updateOperationSpec$2 = {
2758
+ path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}",
2759
+ httpMethod: "PATCH",
2760
+ responses: {
2761
+ 200: {
2762
+ bodyMapper: ElasticSan
2763
+ },
2764
+ 201: {
2765
+ bodyMapper: ElasticSan
2766
+ },
2767
+ 202: {
2768
+ bodyMapper: ElasticSan
2769
+ },
2770
+ 204: {
2771
+ bodyMapper: ElasticSan
2772
+ },
2773
+ default: {
2774
+ bodyMapper: ErrorResponse
2775
+ }
2776
+ },
2777
+ requestBody: parameters1,
2778
+ queryParameters: [apiVersion],
2779
+ urlParameters: [
2780
+ $host,
2781
+ subscriptionId,
2782
+ resourceGroupName,
2783
+ elasticSanName
2784
+ ],
2785
+ headerParameters: [accept, contentType],
2786
+ mediaType: "json",
2787
+ serializer: serializer$5
2788
+ };
2789
+ const deleteOperationSpec$4 = {
2790
+ path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}",
2791
+ httpMethod: "DELETE",
2792
+ responses: {
2793
+ 200: {},
2794
+ 201: {},
2795
+ 202: {},
2796
+ 204: {},
2797
+ default: {
2798
+ bodyMapper: ErrorResponse
2799
+ }
2800
+ },
2801
+ queryParameters: [apiVersion],
2802
+ urlParameters: [
2803
+ $host,
2804
+ subscriptionId,
2805
+ resourceGroupName,
2806
+ elasticSanName
2807
+ ],
2808
+ headerParameters: [accept],
2809
+ serializer: serializer$5
2810
+ };
2811
+ const getOperationSpec$4 = {
2812
+ path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}",
2813
+ httpMethod: "GET",
2814
+ responses: {
2815
+ 200: {
2816
+ bodyMapper: ElasticSan
2817
+ },
2818
+ default: {
2819
+ bodyMapper: ErrorResponse
2820
+ }
2821
+ },
2822
+ queryParameters: [apiVersion],
2823
+ urlParameters: [
2824
+ $host,
2825
+ subscriptionId,
2826
+ resourceGroupName,
2827
+ elasticSanName
2828
+ ],
2829
+ headerParameters: [accept],
2830
+ serializer: serializer$5
2831
+ };
2832
+ const listBySubscriptionNextOperationSpec = {
2833
+ path: "{nextLink}",
2834
+ httpMethod: "GET",
2835
+ responses: {
2836
+ 200: {
2837
+ bodyMapper: ElasticSanList
2838
+ },
2839
+ default: {
2840
+ bodyMapper: ErrorResponse
2841
+ }
2842
+ },
2843
+ urlParameters: [
2844
+ $host,
2845
+ subscriptionId,
2846
+ nextLink
2847
+ ],
2848
+ headerParameters: [accept],
2849
+ serializer: serializer$5
2850
+ };
2851
+ const listByResourceGroupNextOperationSpec = {
2852
+ path: "{nextLink}",
2853
+ httpMethod: "GET",
2854
+ responses: {
2855
+ 200: {
2856
+ bodyMapper: ElasticSanList
2857
+ },
2858
+ default: {
2859
+ bodyMapper: ErrorResponse
2860
+ }
2861
+ },
2862
+ urlParameters: [
2863
+ $host,
2864
+ subscriptionId,
2865
+ resourceGroupName,
2866
+ nextLink
2867
+ ],
2868
+ headerParameters: [accept],
2869
+ serializer: serializer$5
2870
+ };
1784
2871
 
1785
2872
  /*
1786
2873
  * Copyright (c) Microsoft Corporation.
@@ -1790,21 +2877,23 @@ function createLroSpec(inputs) {
1790
2877
  * Changes may cause incorrect behavior and will be lost if the code is regenerated.
1791
2878
  */
1792
2879
  /// <reference lib="esnext.asynciterable" />
1793
- /** Class containing ElasticSans operations. */
1794
- class ElasticSansImpl {
2880
+ /** Class containing VolumeGroups operations. */
2881
+ class VolumeGroupsImpl {
1795
2882
  /**
1796
- * Initialize a new instance of the class ElasticSans class.
2883
+ * Initialize a new instance of the class VolumeGroups class.
1797
2884
  * @param client Reference to the service client
1798
2885
  */
1799
2886
  constructor(client) {
1800
2887
  this.client = client;
1801
2888
  }
1802
2889
  /**
1803
- * Gets a list of ElasticSans in a subscription
2890
+ * List VolumeGroups.
2891
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
2892
+ * @param elasticSanName The name of the ElasticSan.
1804
2893
  * @param options The options parameters.
1805
2894
  */
1806
- listBySubscription(options) {
1807
- const iter = this.listBySubscriptionPagingAll(options);
2895
+ listByElasticSan(resourceGroupName, elasticSanName, options) {
2896
+ const iter = this.listByElasticSanPagingAll(resourceGroupName, elasticSanName, options);
1808
2897
  return {
1809
2898
  next() {
1810
2899
  return iter.next();
@@ -1816,23 +2905,23 @@ class ElasticSansImpl {
1816
2905
  if (settings === null || settings === void 0 ? void 0 : settings.maxPageSize) {
1817
2906
  throw new Error("maxPageSize is not supported by this operation.");
1818
2907
  }
1819
- return this.listBySubscriptionPagingPage(options, settings);
2908
+ return this.listByElasticSanPagingPage(resourceGroupName, elasticSanName, options, settings);
1820
2909
  }
1821
2910
  };
1822
2911
  }
1823
- listBySubscriptionPagingPage(options, settings) {
1824
- return tslib.__asyncGenerator(this, arguments, function* listBySubscriptionPagingPage_1() {
2912
+ listByElasticSanPagingPage(resourceGroupName, elasticSanName, options, settings) {
2913
+ return tslib.__asyncGenerator(this, arguments, function* listByElasticSanPagingPage_1() {
1825
2914
  let result;
1826
2915
  let continuationToken = settings === null || settings === void 0 ? void 0 : settings.continuationToken;
1827
2916
  if (!continuationToken) {
1828
- result = yield tslib.__await(this._listBySubscription(options));
2917
+ result = yield tslib.__await(this._listByElasticSan(resourceGroupName, elasticSanName, options));
1829
2918
  let page = result.value || [];
1830
2919
  continuationToken = result.nextLink;
1831
2920
  setContinuationToken(page, continuationToken);
1832
2921
  yield yield tslib.__await(page);
1833
2922
  }
1834
2923
  while (continuationToken) {
1835
- result = yield tslib.__await(this._listBySubscriptionNext(continuationToken, options));
2924
+ result = yield tslib.__await(this._listByElasticSanNext(resourceGroupName, elasticSanName, continuationToken, options));
1836
2925
  continuationToken = result.nextLink;
1837
2926
  let page = result.value || [];
1838
2927
  setContinuationToken(page, continuationToken);
@@ -1840,20 +2929,15 @@ class ElasticSansImpl {
1840
2929
  }
1841
2930
  });
1842
2931
  }
1843
- listBySubscriptionPagingAll(options) {
1844
- return tslib.__asyncGenerator(this, arguments, function* listBySubscriptionPagingAll_1() {
2932
+ listByElasticSanPagingAll(resourceGroupName, elasticSanName, options) {
2933
+ return tslib.__asyncGenerator(this, arguments, function* listByElasticSanPagingAll_1() {
1845
2934
  var _a, e_1, _b, _c;
1846
2935
  try {
1847
- for (var _d = true, _e = tslib.__asyncValues(this.listBySubscriptionPagingPage(options)), _f; _f = yield tslib.__await(_e.next()), _a = _f.done, !_a;) {
2936
+ for (var _d = true, _e = tslib.__asyncValues(this.listByElasticSanPagingPage(resourceGroupName, elasticSanName, options)), _f; _f = yield tslib.__await(_e.next()), _a = _f.done, !_a; _d = true) {
1848
2937
  _c = _f.value;
1849
2938
  _d = false;
1850
- try {
1851
- const page = _c;
1852
- yield tslib.__await(yield* tslib.__asyncDelegator(tslib.__asyncValues(page)));
1853
- }
1854
- finally {
1855
- _d = true;
1856
- }
2939
+ const page = _c;
2940
+ yield tslib.__await(yield* tslib.__asyncDelegator(tslib.__asyncValues(page)));
1857
2941
  }
1858
2942
  }
1859
2943
  catch (e_1_1) { e_1 = { error: e_1_1 }; }
@@ -1866,95 +2950,23 @@ class ElasticSansImpl {
1866
2950
  });
1867
2951
  }
1868
2952
  /**
1869
- * Gets a list of ElasticSan in a resource group.
1870
- * @param resourceGroupName The name of the resource group. The name is case insensitive.
1871
- * @param options The options parameters.
1872
- */
1873
- listByResourceGroup(resourceGroupName, options) {
1874
- const iter = this.listByResourceGroupPagingAll(resourceGroupName, options);
1875
- return {
1876
- next() {
1877
- return iter.next();
1878
- },
1879
- [Symbol.asyncIterator]() {
1880
- return this;
1881
- },
1882
- byPage: (settings) => {
1883
- if (settings === null || settings === void 0 ? void 0 : settings.maxPageSize) {
1884
- throw new Error("maxPageSize is not supported by this operation.");
1885
- }
1886
- return this.listByResourceGroupPagingPage(resourceGroupName, options, settings);
1887
- }
1888
- };
1889
- }
1890
- listByResourceGroupPagingPage(resourceGroupName, options, settings) {
1891
- return tslib.__asyncGenerator(this, arguments, function* listByResourceGroupPagingPage_1() {
1892
- let result;
1893
- let continuationToken = settings === null || settings === void 0 ? void 0 : settings.continuationToken;
1894
- if (!continuationToken) {
1895
- result = yield tslib.__await(this._listByResourceGroup(resourceGroupName, options));
1896
- let page = result.value || [];
1897
- continuationToken = result.nextLink;
1898
- setContinuationToken(page, continuationToken);
1899
- yield yield tslib.__await(page);
1900
- }
1901
- while (continuationToken) {
1902
- result = yield tslib.__await(this._listByResourceGroupNext(resourceGroupName, continuationToken, options));
1903
- continuationToken = result.nextLink;
1904
- let page = result.value || [];
1905
- setContinuationToken(page, continuationToken);
1906
- yield yield tslib.__await(page);
1907
- }
1908
- });
1909
- }
1910
- listByResourceGroupPagingAll(resourceGroupName, options) {
1911
- return tslib.__asyncGenerator(this, arguments, function* listByResourceGroupPagingAll_1() {
1912
- var _a, e_2, _b, _c;
1913
- try {
1914
- for (var _d = true, _e = tslib.__asyncValues(this.listByResourceGroupPagingPage(resourceGroupName, options)), _f; _f = yield tslib.__await(_e.next()), _a = _f.done, !_a;) {
1915
- _c = _f.value;
1916
- _d = false;
1917
- try {
1918
- const page = _c;
1919
- yield tslib.__await(yield* tslib.__asyncDelegator(tslib.__asyncValues(page)));
1920
- }
1921
- finally {
1922
- _d = true;
1923
- }
1924
- }
1925
- }
1926
- catch (e_2_1) { e_2 = { error: e_2_1 }; }
1927
- finally {
1928
- try {
1929
- if (!_d && !_a && (_b = _e.return)) yield tslib.__await(_b.call(_e));
1930
- }
1931
- finally { if (e_2) throw e_2.error; }
1932
- }
1933
- });
1934
- }
1935
- /**
1936
- * Gets a list of ElasticSans in a subscription
1937
- * @param options The options parameters.
1938
- */
1939
- _listBySubscription(options) {
1940
- return this.client.sendOperationRequest({ options }, listBySubscriptionOperationSpec);
1941
- }
1942
- /**
1943
- * Gets a list of ElasticSan in a resource group.
2953
+ * List VolumeGroups.
1944
2954
  * @param resourceGroupName The name of the resource group. The name is case insensitive.
2955
+ * @param elasticSanName The name of the ElasticSan.
1945
2956
  * @param options The options parameters.
1946
2957
  */
1947
- _listByResourceGroup(resourceGroupName, options) {
1948
- return this.client.sendOperationRequest({ resourceGroupName, options }, listByResourceGroupOperationSpec);
2958
+ _listByElasticSan(resourceGroupName, elasticSanName, options) {
2959
+ return this.client.sendOperationRequest({ resourceGroupName, elasticSanName, options }, listByElasticSanOperationSpec$1);
1949
2960
  }
1950
2961
  /**
1951
- * Create ElasticSan.
2962
+ * Create a Volume Group.
1952
2963
  * @param resourceGroupName The name of the resource group. The name is case insensitive.
1953
2964
  * @param elasticSanName The name of the ElasticSan.
1954
- * @param parameters Elastic San object.
2965
+ * @param volumeGroupName The name of the VolumeGroup.
2966
+ * @param parameters Volume Group object.
1955
2967
  * @param options The options parameters.
1956
2968
  */
1957
- beginCreate(resourceGroupName, elasticSanName, parameters, options) {
2969
+ beginCreate(resourceGroupName, elasticSanName, volumeGroupName, parameters, options) {
1958
2970
  return tslib.__awaiter(this, void 0, void 0, function* () {
1959
2971
  const directSendOperation = (args, spec) => tslib.__awaiter(this, void 0, void 0, function* () {
1960
2972
  return this.client.sendOperationRequest(args, spec);
@@ -1980,7 +2992,13 @@ class ElasticSansImpl {
1980
2992
  });
1981
2993
  const lro = createLroSpec({
1982
2994
  sendOperationFn,
1983
- args: { resourceGroupName, elasticSanName, parameters, options },
2995
+ args: {
2996
+ resourceGroupName,
2997
+ elasticSanName,
2998
+ volumeGroupName,
2999
+ parameters,
3000
+ options
3001
+ },
1984
3002
  spec: createOperationSpec$3
1985
3003
  });
1986
3004
  const poller = yield coreLro.createHttpPoller(lro, {
@@ -1993,26 +3011,28 @@ class ElasticSansImpl {
1993
3011
  });
1994
3012
  }
1995
3013
  /**
1996
- * Create ElasticSan.
3014
+ * Create a Volume Group.
1997
3015
  * @param resourceGroupName The name of the resource group. The name is case insensitive.
1998
3016
  * @param elasticSanName The name of the ElasticSan.
1999
- * @param parameters Elastic San object.
3017
+ * @param volumeGroupName The name of the VolumeGroup.
3018
+ * @param parameters Volume Group object.
2000
3019
  * @param options The options parameters.
2001
3020
  */
2002
- beginCreateAndWait(resourceGroupName, elasticSanName, parameters, options) {
3021
+ beginCreateAndWait(resourceGroupName, elasticSanName, volumeGroupName, parameters, options) {
2003
3022
  return tslib.__awaiter(this, void 0, void 0, function* () {
2004
- const poller = yield this.beginCreate(resourceGroupName, elasticSanName, parameters, options);
3023
+ const poller = yield this.beginCreate(resourceGroupName, elasticSanName, volumeGroupName, parameters, options);
2005
3024
  return poller.pollUntilDone();
2006
3025
  });
2007
3026
  }
2008
3027
  /**
2009
- * Update a Elastic San.
3028
+ * Update an VolumeGroup.
2010
3029
  * @param resourceGroupName The name of the resource group. The name is case insensitive.
2011
3030
  * @param elasticSanName The name of the ElasticSan.
2012
- * @param parameters Elastic San object.
3031
+ * @param volumeGroupName The name of the VolumeGroup.
3032
+ * @param parameters Volume Group object.
2013
3033
  * @param options The options parameters.
2014
3034
  */
2015
- beginUpdate(resourceGroupName, elasticSanName, parameters, options) {
3035
+ beginUpdate(resourceGroupName, elasticSanName, volumeGroupName, parameters, options) {
2016
3036
  return tslib.__awaiter(this, void 0, void 0, function* () {
2017
3037
  const directSendOperation = (args, spec) => tslib.__awaiter(this, void 0, void 0, function* () {
2018
3038
  return this.client.sendOperationRequest(args, spec);
@@ -2038,8 +3058,14 @@ class ElasticSansImpl {
2038
3058
  });
2039
3059
  const lro = createLroSpec({
2040
3060
  sendOperationFn,
2041
- args: { resourceGroupName, elasticSanName, parameters, options },
2042
- spec: updateOperationSpec$2
3061
+ args: {
3062
+ resourceGroupName,
3063
+ elasticSanName,
3064
+ volumeGroupName,
3065
+ parameters,
3066
+ options
3067
+ },
3068
+ spec: updateOperationSpec$1
2043
3069
  });
2044
3070
  const poller = yield coreLro.createHttpPoller(lro, {
2045
3071
  restoreFrom: options === null || options === void 0 ? void 0 : options.resumeFrom,
@@ -2051,25 +3077,27 @@ class ElasticSansImpl {
2051
3077
  });
2052
3078
  }
2053
3079
  /**
2054
- * Update a Elastic San.
3080
+ * Update an VolumeGroup.
2055
3081
  * @param resourceGroupName The name of the resource group. The name is case insensitive.
2056
3082
  * @param elasticSanName The name of the ElasticSan.
2057
- * @param parameters Elastic San object.
3083
+ * @param volumeGroupName The name of the VolumeGroup.
3084
+ * @param parameters Volume Group object.
2058
3085
  * @param options The options parameters.
2059
3086
  */
2060
- beginUpdateAndWait(resourceGroupName, elasticSanName, parameters, options) {
3087
+ beginUpdateAndWait(resourceGroupName, elasticSanName, volumeGroupName, parameters, options) {
2061
3088
  return tslib.__awaiter(this, void 0, void 0, function* () {
2062
- const poller = yield this.beginUpdate(resourceGroupName, elasticSanName, parameters, options);
3089
+ const poller = yield this.beginUpdate(resourceGroupName, elasticSanName, volumeGroupName, parameters, options);
2063
3090
  return poller.pollUntilDone();
2064
3091
  });
2065
3092
  }
2066
3093
  /**
2067
- * Delete a Elastic San.
3094
+ * Delete an VolumeGroup.
2068
3095
  * @param resourceGroupName The name of the resource group. The name is case insensitive.
2069
3096
  * @param elasticSanName The name of the ElasticSan.
3097
+ * @param volumeGroupName The name of the VolumeGroup.
2070
3098
  * @param options The options parameters.
2071
3099
  */
2072
- beginDelete(resourceGroupName, elasticSanName, options) {
3100
+ beginDelete(resourceGroupName, elasticSanName, volumeGroupName, options) {
2073
3101
  return tslib.__awaiter(this, void 0, void 0, function* () {
2074
3102
  const directSendOperation = (args, spec) => tslib.__awaiter(this, void 0, void 0, function* () {
2075
3103
  return this.client.sendOperationRequest(args, spec);
@@ -2095,7 +3123,7 @@ class ElasticSansImpl {
2095
3123
  });
2096
3124
  const lro = createLroSpec({
2097
3125
  sendOperationFn,
2098
- args: { resourceGroupName, elasticSanName, options },
3126
+ args: { resourceGroupName, elasticSanName, volumeGroupName, options },
2099
3127
  spec: deleteOperationSpec$3
2100
3128
  });
2101
3129
  const poller = yield coreLro.createHttpPoller(lro, {
@@ -2108,68 +3136,47 @@ class ElasticSansImpl {
2108
3136
  });
2109
3137
  }
2110
3138
  /**
2111
- * Delete a Elastic San.
3139
+ * Delete an VolumeGroup.
2112
3140
  * @param resourceGroupName The name of the resource group. The name is case insensitive.
2113
3141
  * @param elasticSanName The name of the ElasticSan.
3142
+ * @param volumeGroupName The name of the VolumeGroup.
2114
3143
  * @param options The options parameters.
2115
3144
  */
2116
- beginDeleteAndWait(resourceGroupName, elasticSanName, options) {
3145
+ beginDeleteAndWait(resourceGroupName, elasticSanName, volumeGroupName, options) {
2117
3146
  return tslib.__awaiter(this, void 0, void 0, function* () {
2118
- const poller = yield this.beginDelete(resourceGroupName, elasticSanName, options);
3147
+ const poller = yield this.beginDelete(resourceGroupName, elasticSanName, volumeGroupName, options);
2119
3148
  return poller.pollUntilDone();
2120
3149
  });
2121
3150
  }
2122
3151
  /**
2123
- * Get a ElasticSan.
3152
+ * Get an VolumeGroups.
2124
3153
  * @param resourceGroupName The name of the resource group. The name is case insensitive.
2125
3154
  * @param elasticSanName The name of the ElasticSan.
3155
+ * @param volumeGroupName The name of the VolumeGroup.
2126
3156
  * @param options The options parameters.
2127
3157
  */
2128
- get(resourceGroupName, elasticSanName, options) {
2129
- return this.client.sendOperationRequest({ resourceGroupName, elasticSanName, options }, getOperationSpec$3);
2130
- }
2131
- /**
2132
- * ListBySubscriptionNext
2133
- * @param nextLink The nextLink from the previous successful call to the ListBySubscription method.
2134
- * @param options The options parameters.
2135
- */
2136
- _listBySubscriptionNext(nextLink, options) {
2137
- return this.client.sendOperationRequest({ nextLink, options }, listBySubscriptionNextOperationSpec);
3158
+ get(resourceGroupName, elasticSanName, volumeGroupName, options) {
3159
+ return this.client.sendOperationRequest({ resourceGroupName, elasticSanName, volumeGroupName, options }, getOperationSpec$3);
2138
3160
  }
2139
3161
  /**
2140
- * ListByResourceGroupNext
3162
+ * ListByElasticSanNext
2141
3163
  * @param resourceGroupName The name of the resource group. The name is case insensitive.
2142
- * @param nextLink The nextLink from the previous successful call to the ListByResourceGroup method.
3164
+ * @param elasticSanName The name of the ElasticSan.
3165
+ * @param nextLink The nextLink from the previous successful call to the ListByElasticSan method.
2143
3166
  * @param options The options parameters.
2144
3167
  */
2145
- _listByResourceGroupNext(resourceGroupName, nextLink, options) {
2146
- return this.client.sendOperationRequest({ resourceGroupName, nextLink, options }, listByResourceGroupNextOperationSpec);
3168
+ _listByElasticSanNext(resourceGroupName, elasticSanName, nextLink, options) {
3169
+ return this.client.sendOperationRequest({ resourceGroupName, elasticSanName, nextLink, options }, listByElasticSanNextOperationSpec);
2147
3170
  }
2148
3171
  }
2149
3172
  // Operation Specifications
2150
3173
  const serializer$4 = coreClient__namespace.createSerializer(Mappers, /* isXml */ false);
2151
- const listBySubscriptionOperationSpec = {
2152
- path: "/subscriptions/{subscriptionId}/providers/Microsoft.ElasticSan/elasticSans",
2153
- httpMethod: "GET",
2154
- responses: {
2155
- 200: {
2156
- bodyMapper: ElasticSanList
2157
- },
2158
- default: {
2159
- bodyMapper: ErrorResponse
2160
- }
2161
- },
2162
- queryParameters: [apiVersion],
2163
- urlParameters: [$host, subscriptionId],
2164
- headerParameters: [accept],
2165
- serializer: serializer$4
2166
- };
2167
- const listByResourceGroupOperationSpec = {
2168
- path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans",
3174
+ const listByElasticSanOperationSpec$1 = {
3175
+ path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumeGroups",
2169
3176
  httpMethod: "GET",
2170
3177
  responses: {
2171
3178
  200: {
2172
- bodyMapper: ElasticSanList
3179
+ bodyMapper: VolumeGroupList
2173
3180
  },
2174
3181
  default: {
2175
3182
  bodyMapper: ErrorResponse
@@ -2179,77 +3186,80 @@ const listByResourceGroupOperationSpec = {
2179
3186
  urlParameters: [
2180
3187
  $host,
2181
3188
  subscriptionId,
2182
- resourceGroupName
3189
+ resourceGroupName,
3190
+ elasticSanName
2183
3191
  ],
2184
3192
  headerParameters: [accept],
2185
3193
  serializer: serializer$4
2186
3194
  };
2187
3195
  const createOperationSpec$3 = {
2188
- path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}",
3196
+ path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}",
2189
3197
  httpMethod: "PUT",
2190
3198
  responses: {
2191
3199
  200: {
2192
- bodyMapper: ElasticSan
3200
+ bodyMapper: VolumeGroup
2193
3201
  },
2194
3202
  201: {
2195
- bodyMapper: ElasticSan
3203
+ bodyMapper: VolumeGroup
2196
3204
  },
2197
3205
  202: {
2198
- bodyMapper: ElasticSan
3206
+ bodyMapper: VolumeGroup
2199
3207
  },
2200
3208
  204: {
2201
- bodyMapper: ElasticSan
3209
+ bodyMapper: VolumeGroup
2202
3210
  },
2203
3211
  default: {
2204
3212
  bodyMapper: ErrorResponse
2205
3213
  }
2206
3214
  },
2207
- requestBody: parameters,
3215
+ requestBody: parameters2,
2208
3216
  queryParameters: [apiVersion],
2209
3217
  urlParameters: [
2210
3218
  $host,
2211
3219
  subscriptionId,
2212
3220
  resourceGroupName,
2213
- elasticSanName
3221
+ elasticSanName,
3222
+ volumeGroupName
2214
3223
  ],
2215
3224
  headerParameters: [accept, contentType],
2216
3225
  mediaType: "json",
2217
3226
  serializer: serializer$4
2218
3227
  };
2219
- const updateOperationSpec$2 = {
2220
- path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}",
3228
+ const updateOperationSpec$1 = {
3229
+ path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}",
2221
3230
  httpMethod: "PATCH",
2222
3231
  responses: {
2223
3232
  200: {
2224
- bodyMapper: ElasticSan
3233
+ bodyMapper: VolumeGroup
2225
3234
  },
2226
3235
  201: {
2227
- bodyMapper: ElasticSan
3236
+ bodyMapper: VolumeGroup
2228
3237
  },
2229
3238
  202: {
2230
- bodyMapper: ElasticSan
3239
+ bodyMapper: VolumeGroup
2231
3240
  },
2232
3241
  204: {
2233
- bodyMapper: ElasticSan
3242
+ bodyMapper: VolumeGroup
2234
3243
  },
2235
3244
  default: {
2236
3245
  bodyMapper: ErrorResponse
2237
3246
  }
2238
3247
  },
2239
- requestBody: parameters1,
3248
+ requestBody: parameters3,
2240
3249
  queryParameters: [apiVersion],
2241
3250
  urlParameters: [
2242
3251
  $host,
2243
3252
  subscriptionId,
2244
3253
  resourceGroupName,
2245
- elasticSanName
3254
+ elasticSanName,
3255
+ volumeGroupName
2246
3256
  ],
2247
3257
  headerParameters: [accept, contentType],
2248
3258
  mediaType: "json",
2249
3259
  serializer: serializer$4
2250
3260
  };
2251
3261
  const deleteOperationSpec$3 = {
2252
- path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}",
3262
+ path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}",
2253
3263
  httpMethod: "DELETE",
2254
3264
  responses: {
2255
3265
  200: {},
@@ -2265,17 +3275,18 @@ const deleteOperationSpec$3 = {
2265
3275
  $host,
2266
3276
  subscriptionId,
2267
3277
  resourceGroupName,
2268
- elasticSanName
3278
+ elasticSanName,
3279
+ volumeGroupName
2269
3280
  ],
2270
3281
  headerParameters: [accept],
2271
3282
  serializer: serializer$4
2272
3283
  };
2273
3284
  const getOperationSpec$3 = {
2274
- path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}",
3285
+ path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}",
2275
3286
  httpMethod: "GET",
2276
3287
  responses: {
2277
3288
  200: {
2278
- bodyMapper: ElasticSan
3289
+ bodyMapper: VolumeGroup
2279
3290
  },
2280
3291
  default: {
2281
3292
  bodyMapper: ErrorResponse
@@ -2286,36 +3297,18 @@ const getOperationSpec$3 = {
2286
3297
  $host,
2287
3298
  subscriptionId,
2288
3299
  resourceGroupName,
2289
- elasticSanName
2290
- ],
2291
- headerParameters: [accept],
2292
- serializer: serializer$4
2293
- };
2294
- const listBySubscriptionNextOperationSpec = {
2295
- path: "{nextLink}",
2296
- httpMethod: "GET",
2297
- responses: {
2298
- 200: {
2299
- bodyMapper: ElasticSanList
2300
- },
2301
- default: {
2302
- bodyMapper: ErrorResponse
2303
- }
2304
- },
2305
- urlParameters: [
2306
- $host,
2307
- subscriptionId,
2308
- nextLink
3300
+ elasticSanName,
3301
+ volumeGroupName
2309
3302
  ],
2310
3303
  headerParameters: [accept],
2311
3304
  serializer: serializer$4
2312
3305
  };
2313
- const listByResourceGroupNextOperationSpec = {
3306
+ const listByElasticSanNextOperationSpec = {
2314
3307
  path: "{nextLink}",
2315
3308
  httpMethod: "GET",
2316
3309
  responses: {
2317
3310
  200: {
2318
- bodyMapper: ElasticSanList
3311
+ bodyMapper: VolumeGroupList
2319
3312
  },
2320
3313
  default: {
2321
3314
  bodyMapper: ErrorResponse
@@ -2325,6 +3318,7 @@ const listByResourceGroupNextOperationSpec = {
2325
3318
  $host,
2326
3319
  subscriptionId,
2327
3320
  resourceGroupName,
3321
+ elasticSanName,
2328
3322
  nextLink
2329
3323
  ],
2330
3324
  headerParameters: [accept],
@@ -2339,23 +3333,24 @@ const listByResourceGroupNextOperationSpec = {
2339
3333
  * Changes may cause incorrect behavior and will be lost if the code is regenerated.
2340
3334
  */
2341
3335
  /// <reference lib="esnext.asynciterable" />
2342
- /** Class containing VolumeGroups operations. */
2343
- class VolumeGroupsImpl {
3336
+ /** Class containing Volumes operations. */
3337
+ class VolumesImpl {
2344
3338
  /**
2345
- * Initialize a new instance of the class VolumeGroups class.
3339
+ * Initialize a new instance of the class Volumes class.
2346
3340
  * @param client Reference to the service client
2347
3341
  */
2348
3342
  constructor(client) {
2349
3343
  this.client = client;
2350
3344
  }
2351
3345
  /**
2352
- * List VolumeGroups.
3346
+ * List Volumes in a VolumeGroup.
2353
3347
  * @param resourceGroupName The name of the resource group. The name is case insensitive.
2354
3348
  * @param elasticSanName The name of the ElasticSan.
3349
+ * @param volumeGroupName The name of the VolumeGroup.
2355
3350
  * @param options The options parameters.
2356
3351
  */
2357
- listByElasticSan(resourceGroupName, elasticSanName, options) {
2358
- const iter = this.listByElasticSanPagingAll(resourceGroupName, elasticSanName, options);
3352
+ listByVolumeGroup(resourceGroupName, elasticSanName, volumeGroupName, options) {
3353
+ const iter = this.listByVolumeGroupPagingAll(resourceGroupName, elasticSanName, volumeGroupName, options);
2359
3354
  return {
2360
3355
  next() {
2361
3356
  return iter.next();
@@ -2367,23 +3362,23 @@ class VolumeGroupsImpl {
2367
3362
  if (settings === null || settings === void 0 ? void 0 : settings.maxPageSize) {
2368
3363
  throw new Error("maxPageSize is not supported by this operation.");
2369
3364
  }
2370
- return this.listByElasticSanPagingPage(resourceGroupName, elasticSanName, options, settings);
3365
+ return this.listByVolumeGroupPagingPage(resourceGroupName, elasticSanName, volumeGroupName, options, settings);
2371
3366
  }
2372
3367
  };
2373
3368
  }
2374
- listByElasticSanPagingPage(resourceGroupName, elasticSanName, options, settings) {
2375
- return tslib.__asyncGenerator(this, arguments, function* listByElasticSanPagingPage_1() {
3369
+ listByVolumeGroupPagingPage(resourceGroupName, elasticSanName, volumeGroupName, options, settings) {
3370
+ return tslib.__asyncGenerator(this, arguments, function* listByVolumeGroupPagingPage_1() {
2376
3371
  let result;
2377
3372
  let continuationToken = settings === null || settings === void 0 ? void 0 : settings.continuationToken;
2378
3373
  if (!continuationToken) {
2379
- result = yield tslib.__await(this._listByElasticSan(resourceGroupName, elasticSanName, options));
3374
+ result = yield tslib.__await(this._listByVolumeGroup(resourceGroupName, elasticSanName, volumeGroupName, options));
2380
3375
  let page = result.value || [];
2381
3376
  continuationToken = result.nextLink;
2382
3377
  setContinuationToken(page, continuationToken);
2383
3378
  yield yield tslib.__await(page);
2384
3379
  }
2385
3380
  while (continuationToken) {
2386
- result = yield tslib.__await(this._listByElasticSanNext(resourceGroupName, elasticSanName, continuationToken, options));
3381
+ result = yield tslib.__await(this._listByVolumeGroupNext(resourceGroupName, elasticSanName, volumeGroupName, continuationToken, options));
2387
3382
  continuationToken = result.nextLink;
2388
3383
  let page = result.value || [];
2389
3384
  setContinuationToken(page, continuationToken);
@@ -2391,20 +3386,15 @@ class VolumeGroupsImpl {
2391
3386
  }
2392
3387
  });
2393
3388
  }
2394
- listByElasticSanPagingAll(resourceGroupName, elasticSanName, options) {
2395
- return tslib.__asyncGenerator(this, arguments, function* listByElasticSanPagingAll_1() {
3389
+ listByVolumeGroupPagingAll(resourceGroupName, elasticSanName, volumeGroupName, options) {
3390
+ return tslib.__asyncGenerator(this, arguments, function* listByVolumeGroupPagingAll_1() {
2396
3391
  var _a, e_1, _b, _c;
2397
3392
  try {
2398
- for (var _d = true, _e = tslib.__asyncValues(this.listByElasticSanPagingPage(resourceGroupName, elasticSanName, options)), _f; _f = yield tslib.__await(_e.next()), _a = _f.done, !_a;) {
3393
+ for (var _d = true, _e = tslib.__asyncValues(this.listByVolumeGroupPagingPage(resourceGroupName, elasticSanName, volumeGroupName, options)), _f; _f = yield tslib.__await(_e.next()), _a = _f.done, !_a; _d = true) {
2399
3394
  _c = _f.value;
2400
3395
  _d = false;
2401
- try {
2402
- const page = _c;
2403
- yield tslib.__await(yield* tslib.__asyncDelegator(tslib.__asyncValues(page)));
2404
- }
2405
- finally {
2406
- _d = true;
2407
- }
3396
+ const page = _c;
3397
+ yield tslib.__await(yield* tslib.__asyncDelegator(tslib.__asyncValues(page)));
2408
3398
  }
2409
3399
  }
2410
3400
  catch (e_1_1) { e_1 = { error: e_1_1 }; }
@@ -2417,23 +3407,15 @@ class VolumeGroupsImpl {
2417
3407
  });
2418
3408
  }
2419
3409
  /**
2420
- * List VolumeGroups.
2421
- * @param resourceGroupName The name of the resource group. The name is case insensitive.
2422
- * @param elasticSanName The name of the ElasticSan.
2423
- * @param options The options parameters.
2424
- */
2425
- _listByElasticSan(resourceGroupName, elasticSanName, options) {
2426
- return this.client.sendOperationRequest({ resourceGroupName, elasticSanName, options }, listByElasticSanOperationSpec$1);
2427
- }
2428
- /**
2429
- * Create a Volume Group.
3410
+ * Create a Volume.
2430
3411
  * @param resourceGroupName The name of the resource group. The name is case insensitive.
2431
3412
  * @param elasticSanName The name of the ElasticSan.
2432
3413
  * @param volumeGroupName The name of the VolumeGroup.
2433
- * @param parameters Volume Group object.
3414
+ * @param volumeName The name of the Volume.
3415
+ * @param parameters Volume object.
2434
3416
  * @param options The options parameters.
2435
3417
  */
2436
- beginCreate(resourceGroupName, elasticSanName, volumeGroupName, parameters, options) {
3418
+ beginCreate(resourceGroupName, elasticSanName, volumeGroupName, volumeName, parameters, options) {
2437
3419
  return tslib.__awaiter(this, void 0, void 0, function* () {
2438
3420
  const directSendOperation = (args, spec) => tslib.__awaiter(this, void 0, void 0, function* () {
2439
3421
  return this.client.sendOperationRequest(args, spec);
@@ -2463,6 +3445,7 @@ class VolumeGroupsImpl {
2463
3445
  resourceGroupName,
2464
3446
  elasticSanName,
2465
3447
  volumeGroupName,
3448
+ volumeName,
2466
3449
  parameters,
2467
3450
  options
2468
3451
  },
@@ -2478,28 +3461,30 @@ class VolumeGroupsImpl {
2478
3461
  });
2479
3462
  }
2480
3463
  /**
2481
- * Create a Volume Group.
3464
+ * Create a Volume.
2482
3465
  * @param resourceGroupName The name of the resource group. The name is case insensitive.
2483
3466
  * @param elasticSanName The name of the ElasticSan.
2484
3467
  * @param volumeGroupName The name of the VolumeGroup.
2485
- * @param parameters Volume Group object.
3468
+ * @param volumeName The name of the Volume.
3469
+ * @param parameters Volume object.
2486
3470
  * @param options The options parameters.
2487
3471
  */
2488
- beginCreateAndWait(resourceGroupName, elasticSanName, volumeGroupName, parameters, options) {
3472
+ beginCreateAndWait(resourceGroupName, elasticSanName, volumeGroupName, volumeName, parameters, options) {
2489
3473
  return tslib.__awaiter(this, void 0, void 0, function* () {
2490
- const poller = yield this.beginCreate(resourceGroupName, elasticSanName, volumeGroupName, parameters, options);
3474
+ const poller = yield this.beginCreate(resourceGroupName, elasticSanName, volumeGroupName, volumeName, parameters, options);
2491
3475
  return poller.pollUntilDone();
2492
3476
  });
2493
3477
  }
2494
3478
  /**
2495
- * Update an VolumeGroup.
3479
+ * Update an Volume.
2496
3480
  * @param resourceGroupName The name of the resource group. The name is case insensitive.
2497
3481
  * @param elasticSanName The name of the ElasticSan.
2498
3482
  * @param volumeGroupName The name of the VolumeGroup.
2499
- * @param parameters Volume Group object.
3483
+ * @param volumeName The name of the Volume.
3484
+ * @param parameters Volume object.
2500
3485
  * @param options The options parameters.
2501
3486
  */
2502
- beginUpdate(resourceGroupName, elasticSanName, volumeGroupName, parameters, options) {
3487
+ beginUpdate(resourceGroupName, elasticSanName, volumeGroupName, volumeName, parameters, options) {
2503
3488
  return tslib.__awaiter(this, void 0, void 0, function* () {
2504
3489
  const directSendOperation = (args, spec) => tslib.__awaiter(this, void 0, void 0, function* () {
2505
3490
  return this.client.sendOperationRequest(args, spec);
@@ -2529,10 +3514,11 @@ class VolumeGroupsImpl {
2529
3514
  resourceGroupName,
2530
3515
  elasticSanName,
2531
3516
  volumeGroupName,
3517
+ volumeName,
2532
3518
  parameters,
2533
3519
  options
2534
3520
  },
2535
- spec: updateOperationSpec$1
3521
+ spec: updateOperationSpec
2536
3522
  });
2537
3523
  const poller = yield coreLro.createHttpPoller(lro, {
2538
3524
  restoreFrom: options === null || options === void 0 ? void 0 : options.resumeFrom,
@@ -2544,27 +3530,29 @@ class VolumeGroupsImpl {
2544
3530
  });
2545
3531
  }
2546
3532
  /**
2547
- * Update an VolumeGroup.
3533
+ * Update an Volume.
2548
3534
  * @param resourceGroupName The name of the resource group. The name is case insensitive.
2549
3535
  * @param elasticSanName The name of the ElasticSan.
2550
3536
  * @param volumeGroupName The name of the VolumeGroup.
2551
- * @param parameters Volume Group object.
3537
+ * @param volumeName The name of the Volume.
3538
+ * @param parameters Volume object.
2552
3539
  * @param options The options parameters.
2553
3540
  */
2554
- beginUpdateAndWait(resourceGroupName, elasticSanName, volumeGroupName, parameters, options) {
3541
+ beginUpdateAndWait(resourceGroupName, elasticSanName, volumeGroupName, volumeName, parameters, options) {
2555
3542
  return tslib.__awaiter(this, void 0, void 0, function* () {
2556
- const poller = yield this.beginUpdate(resourceGroupName, elasticSanName, volumeGroupName, parameters, options);
3543
+ const poller = yield this.beginUpdate(resourceGroupName, elasticSanName, volumeGroupName, volumeName, parameters, options);
2557
3544
  return poller.pollUntilDone();
2558
3545
  });
2559
3546
  }
2560
3547
  /**
2561
- * Delete an VolumeGroup.
3548
+ * Delete an Volume.
2562
3549
  * @param resourceGroupName The name of the resource group. The name is case insensitive.
2563
3550
  * @param elasticSanName The name of the ElasticSan.
2564
3551
  * @param volumeGroupName The name of the VolumeGroup.
3552
+ * @param volumeName The name of the Volume.
2565
3553
  * @param options The options parameters.
2566
3554
  */
2567
- beginDelete(resourceGroupName, elasticSanName, volumeGroupName, options) {
3555
+ beginDelete(resourceGroupName, elasticSanName, volumeGroupName, volumeName, options) {
2568
3556
  return tslib.__awaiter(this, void 0, void 0, function* () {
2569
3557
  const directSendOperation = (args, spec) => tslib.__awaiter(this, void 0, void 0, function* () {
2570
3558
  return this.client.sendOperationRequest(args, spec);
@@ -2590,7 +3578,13 @@ class VolumeGroupsImpl {
2590
3578
  });
2591
3579
  const lro = createLroSpec({
2592
3580
  sendOperationFn,
2593
- args: { resourceGroupName, elasticSanName, volumeGroupName, options },
3581
+ args: {
3582
+ resourceGroupName,
3583
+ elasticSanName,
3584
+ volumeGroupName,
3585
+ volumeName,
3586
+ options
3587
+ },
2594
3588
  spec: deleteOperationSpec$2
2595
3589
  });
2596
3590
  const poller = yield coreLro.createHttpPoller(lro, {
@@ -2603,130 +3597,130 @@ class VolumeGroupsImpl {
2603
3597
  });
2604
3598
  }
2605
3599
  /**
2606
- * Delete an VolumeGroup.
3600
+ * Delete an Volume.
2607
3601
  * @param resourceGroupName The name of the resource group. The name is case insensitive.
2608
3602
  * @param elasticSanName The name of the ElasticSan.
2609
3603
  * @param volumeGroupName The name of the VolumeGroup.
3604
+ * @param volumeName The name of the Volume.
2610
3605
  * @param options The options parameters.
2611
3606
  */
2612
- beginDeleteAndWait(resourceGroupName, elasticSanName, volumeGroupName, options) {
3607
+ beginDeleteAndWait(resourceGroupName, elasticSanName, volumeGroupName, volumeName, options) {
2613
3608
  return tslib.__awaiter(this, void 0, void 0, function* () {
2614
- const poller = yield this.beginDelete(resourceGroupName, elasticSanName, volumeGroupName, options);
3609
+ const poller = yield this.beginDelete(resourceGroupName, elasticSanName, volumeGroupName, volumeName, options);
2615
3610
  return poller.pollUntilDone();
2616
3611
  });
2617
3612
  }
2618
3613
  /**
2619
- * Get an VolumeGroups.
3614
+ * Get an Volume.
2620
3615
  * @param resourceGroupName The name of the resource group. The name is case insensitive.
2621
3616
  * @param elasticSanName The name of the ElasticSan.
2622
3617
  * @param volumeGroupName The name of the VolumeGroup.
3618
+ * @param volumeName The name of the Volume.
2623
3619
  * @param options The options parameters.
2624
3620
  */
2625
- get(resourceGroupName, elasticSanName, volumeGroupName, options) {
2626
- return this.client.sendOperationRequest({ resourceGroupName, elasticSanName, volumeGroupName, options }, getOperationSpec$2);
3621
+ get(resourceGroupName, elasticSanName, volumeGroupName, volumeName, options) {
3622
+ return this.client.sendOperationRequest({
3623
+ resourceGroupName,
3624
+ elasticSanName,
3625
+ volumeGroupName,
3626
+ volumeName,
3627
+ options
3628
+ }, getOperationSpec$2);
2627
3629
  }
2628
3630
  /**
2629
- * ListByElasticSanNext
3631
+ * List Volumes in a VolumeGroup.
2630
3632
  * @param resourceGroupName The name of the resource group. The name is case insensitive.
2631
3633
  * @param elasticSanName The name of the ElasticSan.
2632
- * @param nextLink The nextLink from the previous successful call to the ListByElasticSan method.
3634
+ * @param volumeGroupName The name of the VolumeGroup.
2633
3635
  * @param options The options parameters.
2634
3636
  */
2635
- _listByElasticSanNext(resourceGroupName, elasticSanName, nextLink, options) {
2636
- return this.client.sendOperationRequest({ resourceGroupName, elasticSanName, nextLink, options }, listByElasticSanNextOperationSpec);
3637
+ _listByVolumeGroup(resourceGroupName, elasticSanName, volumeGroupName, options) {
3638
+ return this.client.sendOperationRequest({ resourceGroupName, elasticSanName, volumeGroupName, options }, listByVolumeGroupOperationSpec$1);
3639
+ }
3640
+ /**
3641
+ * ListByVolumeGroupNext
3642
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
3643
+ * @param elasticSanName The name of the ElasticSan.
3644
+ * @param volumeGroupName The name of the VolumeGroup.
3645
+ * @param nextLink The nextLink from the previous successful call to the ListByVolumeGroup method.
3646
+ * @param options The options parameters.
3647
+ */
3648
+ _listByVolumeGroupNext(resourceGroupName, elasticSanName, volumeGroupName, nextLink, options) {
3649
+ return this.client.sendOperationRequest({ resourceGroupName, elasticSanName, volumeGroupName, nextLink, options }, listByVolumeGroupNextOperationSpec$1);
2637
3650
  }
2638
3651
  }
2639
3652
  // Operation Specifications
2640
3653
  const serializer$3 = coreClient__namespace.createSerializer(Mappers, /* isXml */ false);
2641
- const listByElasticSanOperationSpec$1 = {
2642
- path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumeGroups",
2643
- httpMethod: "GET",
2644
- responses: {
2645
- 200: {
2646
- bodyMapper: VolumeGroupList
2647
- },
2648
- default: {
2649
- bodyMapper: ErrorResponse
2650
- }
2651
- },
2652
- queryParameters: [apiVersion],
2653
- urlParameters: [
2654
- $host,
2655
- subscriptionId,
2656
- resourceGroupName,
2657
- elasticSanName
2658
- ],
2659
- headerParameters: [accept],
2660
- serializer: serializer$3
2661
- };
2662
3654
  const createOperationSpec$2 = {
2663
- path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}",
3655
+ path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}/volumes/{volumeName}",
2664
3656
  httpMethod: "PUT",
2665
3657
  responses: {
2666
3658
  200: {
2667
- bodyMapper: VolumeGroup
3659
+ bodyMapper: Volume
2668
3660
  },
2669
3661
  201: {
2670
- bodyMapper: VolumeGroup
3662
+ bodyMapper: Volume
2671
3663
  },
2672
3664
  202: {
2673
- bodyMapper: VolumeGroup
3665
+ bodyMapper: Volume
2674
3666
  },
2675
3667
  204: {
2676
- bodyMapper: VolumeGroup
3668
+ bodyMapper: Volume
2677
3669
  },
2678
3670
  default: {
2679
3671
  bodyMapper: ErrorResponse
2680
3672
  }
2681
3673
  },
2682
- requestBody: parameters2,
3674
+ requestBody: parameters4,
2683
3675
  queryParameters: [apiVersion],
2684
3676
  urlParameters: [
2685
3677
  $host,
2686
3678
  subscriptionId,
2687
3679
  resourceGroupName,
2688
3680
  elasticSanName,
2689
- volumeGroupName
3681
+ volumeGroupName,
3682
+ volumeName
2690
3683
  ],
2691
3684
  headerParameters: [accept, contentType],
2692
3685
  mediaType: "json",
2693
3686
  serializer: serializer$3
2694
3687
  };
2695
- const updateOperationSpec$1 = {
2696
- path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}",
3688
+ const updateOperationSpec = {
3689
+ path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}/volumes/{volumeName}",
2697
3690
  httpMethod: "PATCH",
2698
3691
  responses: {
2699
3692
  200: {
2700
- bodyMapper: VolumeGroup
3693
+ bodyMapper: Volume
2701
3694
  },
2702
3695
  201: {
2703
- bodyMapper: VolumeGroup
3696
+ bodyMapper: Volume
2704
3697
  },
2705
3698
  202: {
2706
- bodyMapper: VolumeGroup
3699
+ bodyMapper: Volume
2707
3700
  },
2708
3701
  204: {
2709
- bodyMapper: VolumeGroup
3702
+ bodyMapper: Volume
2710
3703
  },
2711
3704
  default: {
2712
3705
  bodyMapper: ErrorResponse
2713
3706
  }
2714
3707
  },
2715
- requestBody: parameters3,
3708
+ requestBody: parameters5,
2716
3709
  queryParameters: [apiVersion],
2717
3710
  urlParameters: [
2718
3711
  $host,
2719
3712
  subscriptionId,
2720
3713
  resourceGroupName,
2721
3714
  elasticSanName,
2722
- volumeGroupName
3715
+ volumeGroupName,
3716
+ volumeName
2723
3717
  ],
2724
3718
  headerParameters: [accept, contentType],
2725
3719
  mediaType: "json",
2726
3720
  serializer: serializer$3
2727
3721
  };
2728
3722
  const deleteOperationSpec$2 = {
2729
- path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}",
3723
+ path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}/volumes/{volumeName}",
2730
3724
  httpMethod: "DELETE",
2731
3725
  responses: {
2732
3726
  200: {},
@@ -2743,17 +3737,45 @@ const deleteOperationSpec$2 = {
2743
3737
  subscriptionId,
2744
3738
  resourceGroupName,
2745
3739
  elasticSanName,
2746
- volumeGroupName
3740
+ volumeGroupName,
3741
+ volumeName
3742
+ ],
3743
+ headerParameters: [
3744
+ accept,
3745
+ xMsDeleteSnapshots,
3746
+ xMsForceDelete
2747
3747
  ],
2748
- headerParameters: [accept],
2749
3748
  serializer: serializer$3
2750
3749
  };
2751
3750
  const getOperationSpec$2 = {
2752
- path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}",
3751
+ path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}/volumes/{volumeName}",
2753
3752
  httpMethod: "GET",
2754
3753
  responses: {
2755
3754
  200: {
2756
- bodyMapper: VolumeGroup
3755
+ bodyMapper: Volume
3756
+ },
3757
+ default: {
3758
+ bodyMapper: ErrorResponse
3759
+ }
3760
+ },
3761
+ queryParameters: [apiVersion],
3762
+ urlParameters: [
3763
+ $host,
3764
+ subscriptionId,
3765
+ resourceGroupName,
3766
+ elasticSanName,
3767
+ volumeGroupName,
3768
+ volumeName
3769
+ ],
3770
+ headerParameters: [accept],
3771
+ serializer: serializer$3
3772
+ };
3773
+ const listByVolumeGroupOperationSpec$1 = {
3774
+ path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}/volumes",
3775
+ httpMethod: "GET",
3776
+ responses: {
3777
+ 200: {
3778
+ bodyMapper: VolumeList
2757
3779
  },
2758
3780
  default: {
2759
3781
  bodyMapper: ErrorResponse
@@ -2770,12 +3792,12 @@ const getOperationSpec$2 = {
2770
3792
  headerParameters: [accept],
2771
3793
  serializer: serializer$3
2772
3794
  };
2773
- const listByElasticSanNextOperationSpec = {
3795
+ const listByVolumeGroupNextOperationSpec$1 = {
2774
3796
  path: "{nextLink}",
2775
3797
  httpMethod: "GET",
2776
3798
  responses: {
2777
3799
  200: {
2778
- bodyMapper: VolumeGroupList
3800
+ bodyMapper: VolumeList
2779
3801
  },
2780
3802
  default: {
2781
3803
  bodyMapper: ErrorResponse
@@ -2786,7 +3808,8 @@ const listByElasticSanNextOperationSpec = {
2786
3808
  subscriptionId,
2787
3809
  resourceGroupName,
2788
3810
  elasticSanName,
2789
- nextLink
3811
+ nextLink,
3812
+ volumeGroupName
2790
3813
  ],
2791
3814
  headerParameters: [accept],
2792
3815
  serializer: serializer$3
@@ -2800,24 +3823,23 @@ const listByElasticSanNextOperationSpec = {
2800
3823
  * Changes may cause incorrect behavior and will be lost if the code is regenerated.
2801
3824
  */
2802
3825
  /// <reference lib="esnext.asynciterable" />
2803
- /** Class containing Volumes operations. */
2804
- class VolumesImpl {
3826
+ /** Class containing PrivateEndpointConnections operations. */
3827
+ class PrivateEndpointConnectionsImpl {
2805
3828
  /**
2806
- * Initialize a new instance of the class Volumes class.
3829
+ * Initialize a new instance of the class PrivateEndpointConnections class.
2807
3830
  * @param client Reference to the service client
2808
3831
  */
2809
3832
  constructor(client) {
2810
3833
  this.client = client;
2811
3834
  }
2812
3835
  /**
2813
- * List Volumes in a VolumeGroup.
3836
+ * List all Private Endpoint Connections associated with the Elastic San.
2814
3837
  * @param resourceGroupName The name of the resource group. The name is case insensitive.
2815
3838
  * @param elasticSanName The name of the ElasticSan.
2816
- * @param volumeGroupName The name of the VolumeGroup.
2817
3839
  * @param options The options parameters.
2818
3840
  */
2819
- listByVolumeGroup(resourceGroupName, elasticSanName, volumeGroupName, options) {
2820
- const iter = this.listByVolumeGroupPagingAll(resourceGroupName, elasticSanName, volumeGroupName, options);
3841
+ list(resourceGroupName, elasticSanName, options) {
3842
+ const iter = this.listPagingAll(resourceGroupName, elasticSanName, options);
2821
3843
  return {
2822
3844
  next() {
2823
3845
  return iter.next();
@@ -2829,44 +3851,26 @@ class VolumesImpl {
2829
3851
  if (settings === null || settings === void 0 ? void 0 : settings.maxPageSize) {
2830
3852
  throw new Error("maxPageSize is not supported by this operation.");
2831
3853
  }
2832
- return this.listByVolumeGroupPagingPage(resourceGroupName, elasticSanName, volumeGroupName, options, settings);
3854
+ return this.listPagingPage(resourceGroupName, elasticSanName, options, settings);
2833
3855
  }
2834
3856
  };
2835
3857
  }
2836
- listByVolumeGroupPagingPage(resourceGroupName, elasticSanName, volumeGroupName, options, settings) {
2837
- return tslib.__asyncGenerator(this, arguments, function* listByVolumeGroupPagingPage_1() {
3858
+ listPagingPage(resourceGroupName, elasticSanName, options, _settings) {
3859
+ return tslib.__asyncGenerator(this, arguments, function* listPagingPage_1() {
2838
3860
  let result;
2839
- let continuationToken = settings === null || settings === void 0 ? void 0 : settings.continuationToken;
2840
- if (!continuationToken) {
2841
- result = yield tslib.__await(this._listByVolumeGroup(resourceGroupName, elasticSanName, volumeGroupName, options));
2842
- let page = result.value || [];
2843
- continuationToken = result.nextLink;
2844
- setContinuationToken(page, continuationToken);
2845
- yield yield tslib.__await(page);
2846
- }
2847
- while (continuationToken) {
2848
- result = yield tslib.__await(this._listByVolumeGroupNext(resourceGroupName, elasticSanName, volumeGroupName, continuationToken, options));
2849
- continuationToken = result.nextLink;
2850
- let page = result.value || [];
2851
- setContinuationToken(page, continuationToken);
2852
- yield yield tslib.__await(page);
2853
- }
3861
+ result = yield tslib.__await(this._list(resourceGroupName, elasticSanName, options));
3862
+ yield yield tslib.__await(result.value || []);
2854
3863
  });
2855
3864
  }
2856
- listByVolumeGroupPagingAll(resourceGroupName, elasticSanName, volumeGroupName, options) {
2857
- return tslib.__asyncGenerator(this, arguments, function* listByVolumeGroupPagingAll_1() {
3865
+ listPagingAll(resourceGroupName, elasticSanName, options) {
3866
+ return tslib.__asyncGenerator(this, arguments, function* listPagingAll_1() {
2858
3867
  var _a, e_1, _b, _c;
2859
3868
  try {
2860
- for (var _d = true, _e = tslib.__asyncValues(this.listByVolumeGroupPagingPage(resourceGroupName, elasticSanName, volumeGroupName, options)), _f; _f = yield tslib.__await(_e.next()), _a = _f.done, !_a;) {
3869
+ for (var _d = true, _e = tslib.__asyncValues(this.listPagingPage(resourceGroupName, elasticSanName, options)), _f; _f = yield tslib.__await(_e.next()), _a = _f.done, !_a; _d = true) {
2861
3870
  _c = _f.value;
2862
3871
  _d = false;
2863
- try {
2864
- const page = _c;
2865
- yield tslib.__await(yield* tslib.__asyncDelegator(tslib.__asyncValues(page)));
2866
- }
2867
- finally {
2868
- _d = true;
2869
- }
3872
+ const page = _c;
3873
+ yield tslib.__await(yield* tslib.__asyncDelegator(tslib.__asyncValues(page)));
2870
3874
  }
2871
3875
  }
2872
3876
  catch (e_1_1) { e_1 = { error: e_1_1 }; }
@@ -2879,15 +3883,14 @@ class VolumesImpl {
2879
3883
  });
2880
3884
  }
2881
3885
  /**
2882
- * Create a Volume.
3886
+ * Update the state of specified private endpoint connection associated with the Elastic San
2883
3887
  * @param resourceGroupName The name of the resource group. The name is case insensitive.
2884
3888
  * @param elasticSanName The name of the ElasticSan.
2885
- * @param volumeGroupName The name of the VolumeGroup.
2886
- * @param volumeName The name of the Volume.
2887
- * @param parameters Volume object.
3889
+ * @param privateEndpointConnectionName The name of the Private Endpoint connection.
3890
+ * @param parameters Private Endpoint Connection Approval object.
2888
3891
  * @param options The options parameters.
2889
3892
  */
2890
- beginCreate(resourceGroupName, elasticSanName, volumeGroupName, volumeName, parameters, options) {
3893
+ beginCreate(resourceGroupName, elasticSanName, privateEndpointConnectionName, parameters, options) {
2891
3894
  return tslib.__awaiter(this, void 0, void 0, function* () {
2892
3895
  const directSendOperation = (args, spec) => tslib.__awaiter(this, void 0, void 0, function* () {
2893
3896
  return this.client.sendOperationRequest(args, spec);
@@ -2916,8 +3919,7 @@ class VolumesImpl {
2916
3919
  args: {
2917
3920
  resourceGroupName,
2918
3921
  elasticSanName,
2919
- volumeGroupName,
2920
- volumeName,
3922
+ privateEndpointConnectionName,
2921
3923
  parameters,
2922
3924
  options
2923
3925
  },
@@ -2933,98 +3935,42 @@ class VolumesImpl {
2933
3935
  });
2934
3936
  }
2935
3937
  /**
2936
- * Create a Volume.
3938
+ * Update the state of specified private endpoint connection associated with the Elastic San
2937
3939
  * @param resourceGroupName The name of the resource group. The name is case insensitive.
2938
3940
  * @param elasticSanName The name of the ElasticSan.
2939
- * @param volumeGroupName The name of the VolumeGroup.
2940
- * @param volumeName The name of the Volume.
2941
- * @param parameters Volume object.
3941
+ * @param privateEndpointConnectionName The name of the Private Endpoint connection.
3942
+ * @param parameters Private Endpoint Connection Approval object.
2942
3943
  * @param options The options parameters.
2943
3944
  */
2944
- beginCreateAndWait(resourceGroupName, elasticSanName, volumeGroupName, volumeName, parameters, options) {
3945
+ beginCreateAndWait(resourceGroupName, elasticSanName, privateEndpointConnectionName, parameters, options) {
2945
3946
  return tslib.__awaiter(this, void 0, void 0, function* () {
2946
- const poller = yield this.beginCreate(resourceGroupName, elasticSanName, volumeGroupName, volumeName, parameters, options);
3947
+ const poller = yield this.beginCreate(resourceGroupName, elasticSanName, privateEndpointConnectionName, parameters, options);
2947
3948
  return poller.pollUntilDone();
2948
3949
  });
2949
3950
  }
2950
3951
  /**
2951
- * Update an Volume.
2952
- * @param resourceGroupName The name of the resource group. The name is case insensitive.
2953
- * @param elasticSanName The name of the ElasticSan.
2954
- * @param volumeGroupName The name of the VolumeGroup.
2955
- * @param volumeName The name of the Volume.
2956
- * @param parameters Volume object.
2957
- * @param options The options parameters.
2958
- */
2959
- beginUpdate(resourceGroupName, elasticSanName, volumeGroupName, volumeName, parameters, options) {
2960
- return tslib.__awaiter(this, void 0, void 0, function* () {
2961
- const directSendOperation = (args, spec) => tslib.__awaiter(this, void 0, void 0, function* () {
2962
- return this.client.sendOperationRequest(args, spec);
2963
- });
2964
- const sendOperationFn = (args, spec) => tslib.__awaiter(this, void 0, void 0, function* () {
2965
- var _a;
2966
- let currentRawResponse = undefined;
2967
- const providedCallback = (_a = args.options) === null || _a === void 0 ? void 0 : _a.onResponse;
2968
- const callback = (rawResponse, flatResponse) => {
2969
- currentRawResponse = rawResponse;
2970
- providedCallback === null || providedCallback === void 0 ? void 0 : providedCallback(rawResponse, flatResponse);
2971
- };
2972
- const updatedArgs = Object.assign(Object.assign({}, args), { options: Object.assign(Object.assign({}, args.options), { onResponse: callback }) });
2973
- const flatResponse = yield directSendOperation(updatedArgs, spec);
2974
- return {
2975
- flatResponse,
2976
- rawResponse: {
2977
- statusCode: currentRawResponse.status,
2978
- body: currentRawResponse.parsedBody,
2979
- headers: currentRawResponse.headers.toJSON()
2980
- }
2981
- };
2982
- });
2983
- const lro = createLroSpec({
2984
- sendOperationFn,
2985
- args: {
2986
- resourceGroupName,
2987
- elasticSanName,
2988
- volumeGroupName,
2989
- volumeName,
2990
- parameters,
2991
- options
2992
- },
2993
- spec: updateOperationSpec
2994
- });
2995
- const poller = yield coreLro.createHttpPoller(lro, {
2996
- restoreFrom: options === null || options === void 0 ? void 0 : options.resumeFrom,
2997
- intervalInMs: options === null || options === void 0 ? void 0 : options.updateIntervalInMs,
2998
- resourceLocationConfig: "location"
2999
- });
3000
- yield poller.poll();
3001
- return poller;
3002
- });
3003
- }
3004
- /**
3005
- * Update an Volume.
3952
+ * Gets the specified private endpoint connection associated with the Elastic San
3006
3953
  * @param resourceGroupName The name of the resource group. The name is case insensitive.
3007
3954
  * @param elasticSanName The name of the ElasticSan.
3008
- * @param volumeGroupName The name of the VolumeGroup.
3009
- * @param volumeName The name of the Volume.
3010
- * @param parameters Volume object.
3955
+ * @param privateEndpointConnectionName The name of the Private Endpoint connection.
3011
3956
  * @param options The options parameters.
3012
3957
  */
3013
- beginUpdateAndWait(resourceGroupName, elasticSanName, volumeGroupName, volumeName, parameters, options) {
3014
- return tslib.__awaiter(this, void 0, void 0, function* () {
3015
- const poller = yield this.beginUpdate(resourceGroupName, elasticSanName, volumeGroupName, volumeName, parameters, options);
3016
- return poller.pollUntilDone();
3017
- });
3958
+ get(resourceGroupName, elasticSanName, privateEndpointConnectionName, options) {
3959
+ return this.client.sendOperationRequest({
3960
+ resourceGroupName,
3961
+ elasticSanName,
3962
+ privateEndpointConnectionName,
3963
+ options
3964
+ }, getOperationSpec$1);
3018
3965
  }
3019
3966
  /**
3020
- * Delete an Volume.
3967
+ * Deletes the specified private endpoint connection associated with the Elastic San
3021
3968
  * @param resourceGroupName The name of the resource group. The name is case insensitive.
3022
3969
  * @param elasticSanName The name of the ElasticSan.
3023
- * @param volumeGroupName The name of the VolumeGroup.
3024
- * @param volumeName The name of the Volume.
3970
+ * @param privateEndpointConnectionName The name of the Private Endpoint connection.
3025
3971
  * @param options The options parameters.
3026
3972
  */
3027
- beginDelete(resourceGroupName, elasticSanName, volumeGroupName, volumeName, options) {
3973
+ beginDelete(resourceGroupName, elasticSanName, privateEndpointConnectionName, options) {
3028
3974
  return tslib.__awaiter(this, void 0, void 0, function* () {
3029
3975
  const directSendOperation = (args, spec) => tslib.__awaiter(this, void 0, void 0, function* () {
3030
3976
  return this.client.sendOperationRequest(args, spec);
@@ -3053,8 +3999,7 @@ class VolumesImpl {
3053
3999
  args: {
3054
4000
  resourceGroupName,
3055
4001
  elasticSanName,
3056
- volumeGroupName,
3057
- volumeName,
4002
+ privateEndpointConnectionName,
3058
4003
  options
3059
4004
  },
3060
4005
  spec: deleteOperationSpec$1
@@ -3069,130 +4014,87 @@ class VolumesImpl {
3069
4014
  });
3070
4015
  }
3071
4016
  /**
3072
- * Delete an Volume.
4017
+ * Deletes the specified private endpoint connection associated with the Elastic San
3073
4018
  * @param resourceGroupName The name of the resource group. The name is case insensitive.
3074
4019
  * @param elasticSanName The name of the ElasticSan.
3075
- * @param volumeGroupName The name of the VolumeGroup.
3076
- * @param volumeName The name of the Volume.
4020
+ * @param privateEndpointConnectionName The name of the Private Endpoint connection.
3077
4021
  * @param options The options parameters.
3078
4022
  */
3079
- beginDeleteAndWait(resourceGroupName, elasticSanName, volumeGroupName, volumeName, options) {
4023
+ beginDeleteAndWait(resourceGroupName, elasticSanName, privateEndpointConnectionName, options) {
3080
4024
  return tslib.__awaiter(this, void 0, void 0, function* () {
3081
- const poller = yield this.beginDelete(resourceGroupName, elasticSanName, volumeGroupName, volumeName, options);
4025
+ const poller = yield this.beginDelete(resourceGroupName, elasticSanName, privateEndpointConnectionName, options);
3082
4026
  return poller.pollUntilDone();
3083
4027
  });
3084
4028
  }
3085
4029
  /**
3086
- * Get an Volume.
3087
- * @param resourceGroupName The name of the resource group. The name is case insensitive.
3088
- * @param elasticSanName The name of the ElasticSan.
3089
- * @param volumeGroupName The name of the VolumeGroup.
3090
- * @param volumeName The name of the Volume.
3091
- * @param options The options parameters.
3092
- */
3093
- get(resourceGroupName, elasticSanName, volumeGroupName, volumeName, options) {
3094
- return this.client.sendOperationRequest({
3095
- resourceGroupName,
3096
- elasticSanName,
3097
- volumeGroupName,
3098
- volumeName,
3099
- options
3100
- }, getOperationSpec$1);
3101
- }
3102
- /**
3103
- * List Volumes in a VolumeGroup.
3104
- * @param resourceGroupName The name of the resource group. The name is case insensitive.
3105
- * @param elasticSanName The name of the ElasticSan.
3106
- * @param volumeGroupName The name of the VolumeGroup.
3107
- * @param options The options parameters.
3108
- */
3109
- _listByVolumeGroup(resourceGroupName, elasticSanName, volumeGroupName, options) {
3110
- return this.client.sendOperationRequest({ resourceGroupName, elasticSanName, volumeGroupName, options }, listByVolumeGroupOperationSpec);
3111
- }
3112
- /**
3113
- * ListByVolumeGroupNext
4030
+ * List all Private Endpoint Connections associated with the Elastic San.
3114
4031
  * @param resourceGroupName The name of the resource group. The name is case insensitive.
3115
4032
  * @param elasticSanName The name of the ElasticSan.
3116
- * @param volumeGroupName The name of the VolumeGroup.
3117
- * @param nextLink The nextLink from the previous successful call to the ListByVolumeGroup method.
3118
4033
  * @param options The options parameters.
3119
4034
  */
3120
- _listByVolumeGroupNext(resourceGroupName, elasticSanName, volumeGroupName, nextLink, options) {
3121
- return this.client.sendOperationRequest({ resourceGroupName, elasticSanName, volumeGroupName, nextLink, options }, listByVolumeGroupNextOperationSpec);
4035
+ _list(resourceGroupName, elasticSanName, options) {
4036
+ return this.client.sendOperationRequest({ resourceGroupName, elasticSanName, options }, listOperationSpec);
3122
4037
  }
3123
4038
  }
3124
4039
  // Operation Specifications
3125
4040
  const serializer$2 = coreClient__namespace.createSerializer(Mappers, /* isXml */ false);
3126
4041
  const createOperationSpec$1 = {
3127
- path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}/volumes/{volumeName}",
4042
+ path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/privateEndpointConnections/{privateEndpointConnectionName}",
3128
4043
  httpMethod: "PUT",
3129
4044
  responses: {
3130
4045
  200: {
3131
- bodyMapper: Volume
4046
+ bodyMapper: PrivateEndpointConnection
3132
4047
  },
3133
4048
  201: {
3134
- bodyMapper: Volume
4049
+ bodyMapper: PrivateEndpointConnection
3135
4050
  },
3136
4051
  202: {
3137
- bodyMapper: Volume
4052
+ bodyMapper: PrivateEndpointConnection
3138
4053
  },
3139
4054
  204: {
3140
- bodyMapper: Volume
4055
+ bodyMapper: PrivateEndpointConnection
3141
4056
  },
3142
4057
  default: {
3143
4058
  bodyMapper: ErrorResponse
3144
4059
  }
3145
4060
  },
3146
- requestBody: parameters4,
4061
+ requestBody: parameters6,
3147
4062
  queryParameters: [apiVersion],
3148
4063
  urlParameters: [
3149
4064
  $host,
3150
4065
  subscriptionId,
3151
4066
  resourceGroupName,
3152
4067
  elasticSanName,
3153
- volumeGroupName,
3154
- volumeName
4068
+ privateEndpointConnectionName
3155
4069
  ],
3156
4070
  headerParameters: [accept, contentType],
3157
4071
  mediaType: "json",
3158
4072
  serializer: serializer$2
3159
4073
  };
3160
- const updateOperationSpec = {
3161
- path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}/volumes/{volumeName}",
3162
- httpMethod: "PATCH",
4074
+ const getOperationSpec$1 = {
4075
+ path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/privateEndpointConnections/{privateEndpointConnectionName}",
4076
+ httpMethod: "GET",
3163
4077
  responses: {
3164
4078
  200: {
3165
- bodyMapper: Volume
3166
- },
3167
- 201: {
3168
- bodyMapper: Volume
3169
- },
3170
- 202: {
3171
- bodyMapper: Volume
3172
- },
3173
- 204: {
3174
- bodyMapper: Volume
4079
+ bodyMapper: PrivateEndpointConnection
3175
4080
  },
3176
4081
  default: {
3177
4082
  bodyMapper: ErrorResponse
3178
4083
  }
3179
4084
  },
3180
- requestBody: parameters5,
3181
4085
  queryParameters: [apiVersion],
3182
4086
  urlParameters: [
3183
4087
  $host,
3184
4088
  subscriptionId,
3185
4089
  resourceGroupName,
3186
4090
  elasticSanName,
3187
- volumeGroupName,
3188
- volumeName
4091
+ privateEndpointConnectionName
3189
4092
  ],
3190
- headerParameters: [accept, contentType],
3191
- mediaType: "json",
4093
+ headerParameters: [accept],
3192
4094
  serializer: serializer$2
3193
4095
  };
3194
4096
  const deleteOperationSpec$1 = {
3195
- path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}/volumes/{volumeName}",
4097
+ path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/privateEndpointConnections/{privateEndpointConnectionName}",
3196
4098
  httpMethod: "DELETE",
3197
4099
  responses: {
3198
4100
  200: {},
@@ -3209,41 +4111,17 @@ const deleteOperationSpec$1 = {
3209
4111
  subscriptionId,
3210
4112
  resourceGroupName,
3211
4113
  elasticSanName,
3212
- volumeGroupName,
3213
- volumeName
3214
- ],
3215
- headerParameters: [accept],
3216
- serializer: serializer$2
3217
- };
3218
- const getOperationSpec$1 = {
3219
- path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}/volumes/{volumeName}",
3220
- httpMethod: "GET",
3221
- responses: {
3222
- 200: {
3223
- bodyMapper: Volume
3224
- },
3225
- default: {
3226
- bodyMapper: ErrorResponse
3227
- }
3228
- },
3229
- queryParameters: [apiVersion],
3230
- urlParameters: [
3231
- $host,
3232
- subscriptionId,
3233
- resourceGroupName,
3234
- elasticSanName,
3235
- volumeGroupName,
3236
- volumeName
4114
+ privateEndpointConnectionName
3237
4115
  ],
3238
4116
  headerParameters: [accept],
3239
4117
  serializer: serializer$2
3240
- };
3241
- const listByVolumeGroupOperationSpec = {
3242
- path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}/volumes",
4118
+ };
4119
+ const listOperationSpec = {
4120
+ path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/privateEndpointConnections",
3243
4121
  httpMethod: "GET",
3244
4122
  responses: {
3245
4123
  200: {
3246
- bodyMapper: VolumeList
4124
+ bodyMapper: PrivateEndpointConnectionListResult
3247
4125
  },
3248
4126
  default: {
3249
4127
  bodyMapper: ErrorResponse
@@ -3254,33 +4132,60 @@ const listByVolumeGroupOperationSpec = {
3254
4132
  $host,
3255
4133
  subscriptionId,
3256
4134
  resourceGroupName,
3257
- elasticSanName,
3258
- volumeGroupName
4135
+ elasticSanName
3259
4136
  ],
3260
4137
  headerParameters: [accept],
3261
4138
  serializer: serializer$2
3262
4139
  };
3263
- const listByVolumeGroupNextOperationSpec = {
3264
- path: "{nextLink}",
4140
+
4141
+ /*
4142
+ * Copyright (c) Microsoft Corporation.
4143
+ * Licensed under the MIT License.
4144
+ *
4145
+ * Code generated by Microsoft (R) AutoRest Code Generator.
4146
+ * Changes may cause incorrect behavior and will be lost if the code is regenerated.
4147
+ */
4148
+ /** Class containing PrivateLinkResources operations. */
4149
+ class PrivateLinkResourcesImpl {
4150
+ /**
4151
+ * Initialize a new instance of the class PrivateLinkResources class.
4152
+ * @param client Reference to the service client
4153
+ */
4154
+ constructor(client) {
4155
+ this.client = client;
4156
+ }
4157
+ /**
4158
+ * Gets the private link resources that need to be created for a elastic San.
4159
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
4160
+ * @param elasticSanName The name of the ElasticSan.
4161
+ * @param options The options parameters.
4162
+ */
4163
+ listByElasticSan(resourceGroupName, elasticSanName, options) {
4164
+ return this.client.sendOperationRequest({ resourceGroupName, elasticSanName, options }, listByElasticSanOperationSpec);
4165
+ }
4166
+ }
4167
+ // Operation Specifications
4168
+ const serializer$1 = coreClient__namespace.createSerializer(Mappers, /* isXml */ false);
4169
+ const listByElasticSanOperationSpec = {
4170
+ path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/privateLinkResources",
3265
4171
  httpMethod: "GET",
3266
4172
  responses: {
3267
4173
  200: {
3268
- bodyMapper: VolumeList
4174
+ bodyMapper: PrivateLinkResourceListResult
3269
4175
  },
3270
4176
  default: {
3271
4177
  bodyMapper: ErrorResponse
3272
4178
  }
3273
4179
  },
4180
+ queryParameters: [apiVersion],
3274
4181
  urlParameters: [
3275
4182
  $host,
3276
4183
  subscriptionId,
3277
4184
  resourceGroupName,
3278
- elasticSanName,
3279
- nextLink,
3280
- volumeGroupName
4185
+ elasticSanName
3281
4186
  ],
3282
4187
  headerParameters: [accept],
3283
- serializer: serializer$2
4188
+ serializer: serializer$1
3284
4189
  };
3285
4190
 
3286
4191
  /*
@@ -3291,23 +4196,24 @@ const listByVolumeGroupNextOperationSpec = {
3291
4196
  * Changes may cause incorrect behavior and will be lost if the code is regenerated.
3292
4197
  */
3293
4198
  /// <reference lib="esnext.asynciterable" />
3294
- /** Class containing PrivateEndpointConnections operations. */
3295
- class PrivateEndpointConnectionsImpl {
4199
+ /** Class containing VolumeSnapshots operations. */
4200
+ class VolumeSnapshotsImpl {
3296
4201
  /**
3297
- * Initialize a new instance of the class PrivateEndpointConnections class.
4202
+ * Initialize a new instance of the class VolumeSnapshots class.
3298
4203
  * @param client Reference to the service client
3299
4204
  */
3300
4205
  constructor(client) {
3301
4206
  this.client = client;
3302
4207
  }
3303
4208
  /**
3304
- * List all Private Endpoint Connections associated with the Elastic San.
4209
+ * List Snapshots in a VolumeGroup or List Snapshots by Volume (name) in a VolumeGroup using filter
3305
4210
  * @param resourceGroupName The name of the resource group. The name is case insensitive.
3306
4211
  * @param elasticSanName The name of the ElasticSan.
4212
+ * @param volumeGroupName The name of the VolumeGroup.
3307
4213
  * @param options The options parameters.
3308
4214
  */
3309
- list(resourceGroupName, elasticSanName, options) {
3310
- const iter = this.listPagingAll(resourceGroupName, elasticSanName, options);
4215
+ listByVolumeGroup(resourceGroupName, elasticSanName, volumeGroupName, options) {
4216
+ const iter = this.listByVolumeGroupPagingAll(resourceGroupName, elasticSanName, volumeGroupName, options);
3311
4217
  return {
3312
4218
  next() {
3313
4219
  return iter.next();
@@ -3319,31 +4225,39 @@ class PrivateEndpointConnectionsImpl {
3319
4225
  if (settings === null || settings === void 0 ? void 0 : settings.maxPageSize) {
3320
4226
  throw new Error("maxPageSize is not supported by this operation.");
3321
4227
  }
3322
- return this.listPagingPage(resourceGroupName, elasticSanName, options, settings);
4228
+ return this.listByVolumeGroupPagingPage(resourceGroupName, elasticSanName, volumeGroupName, options, settings);
3323
4229
  }
3324
4230
  };
3325
4231
  }
3326
- listPagingPage(resourceGroupName, elasticSanName, options, _settings) {
3327
- return tslib.__asyncGenerator(this, arguments, function* listPagingPage_1() {
4232
+ listByVolumeGroupPagingPage(resourceGroupName, elasticSanName, volumeGroupName, options, settings) {
4233
+ return tslib.__asyncGenerator(this, arguments, function* listByVolumeGroupPagingPage_1() {
3328
4234
  let result;
3329
- result = yield tslib.__await(this._list(resourceGroupName, elasticSanName, options));
3330
- yield yield tslib.__await(result.value || []);
4235
+ let continuationToken = settings === null || settings === void 0 ? void 0 : settings.continuationToken;
4236
+ if (!continuationToken) {
4237
+ result = yield tslib.__await(this._listByVolumeGroup(resourceGroupName, elasticSanName, volumeGroupName, options));
4238
+ let page = result.value || [];
4239
+ continuationToken = result.nextLink;
4240
+ setContinuationToken(page, continuationToken);
4241
+ yield yield tslib.__await(page);
4242
+ }
4243
+ while (continuationToken) {
4244
+ result = yield tslib.__await(this._listByVolumeGroupNext(resourceGroupName, elasticSanName, volumeGroupName, continuationToken, options));
4245
+ continuationToken = result.nextLink;
4246
+ let page = result.value || [];
4247
+ setContinuationToken(page, continuationToken);
4248
+ yield yield tslib.__await(page);
4249
+ }
3331
4250
  });
3332
4251
  }
3333
- listPagingAll(resourceGroupName, elasticSanName, options) {
3334
- return tslib.__asyncGenerator(this, arguments, function* listPagingAll_1() {
4252
+ listByVolumeGroupPagingAll(resourceGroupName, elasticSanName, volumeGroupName, options) {
4253
+ return tslib.__asyncGenerator(this, arguments, function* listByVolumeGroupPagingAll_1() {
3335
4254
  var _a, e_1, _b, _c;
3336
4255
  try {
3337
- for (var _d = true, _e = tslib.__asyncValues(this.listPagingPage(resourceGroupName, elasticSanName, options)), _f; _f = yield tslib.__await(_e.next()), _a = _f.done, !_a;) {
4256
+ for (var _d = true, _e = tslib.__asyncValues(this.listByVolumeGroupPagingPage(resourceGroupName, elasticSanName, volumeGroupName, options)), _f; _f = yield tslib.__await(_e.next()), _a = _f.done, !_a; _d = true) {
3338
4257
  _c = _f.value;
3339
4258
  _d = false;
3340
- try {
3341
- const page = _c;
3342
- yield tslib.__await(yield* tslib.__asyncDelegator(tslib.__asyncValues(page)));
3343
- }
3344
- finally {
3345
- _d = true;
3346
- }
4259
+ const page = _c;
4260
+ yield tslib.__await(yield* tslib.__asyncDelegator(tslib.__asyncValues(page)));
3347
4261
  }
3348
4262
  }
3349
4263
  catch (e_1_1) { e_1 = { error: e_1_1 }; }
@@ -3356,14 +4270,25 @@ class PrivateEndpointConnectionsImpl {
3356
4270
  });
3357
4271
  }
3358
4272
  /**
3359
- * Update the state of specified private endpoint connection associated with the Elastic San
4273
+ * List Snapshots in a VolumeGroup or List Snapshots by Volume (name) in a VolumeGroup using filter
3360
4274
  * @param resourceGroupName The name of the resource group. The name is case insensitive.
3361
4275
  * @param elasticSanName The name of the ElasticSan.
3362
- * @param privateEndpointConnectionName The name of the Private Endpoint connection.
3363
- * @param parameters Private Endpoint Connection Approval object.
4276
+ * @param volumeGroupName The name of the VolumeGroup.
3364
4277
  * @param options The options parameters.
3365
4278
  */
3366
- beginCreate(resourceGroupName, elasticSanName, privateEndpointConnectionName, parameters, options) {
4279
+ _listByVolumeGroup(resourceGroupName, elasticSanName, volumeGroupName, options) {
4280
+ return this.client.sendOperationRequest({ resourceGroupName, elasticSanName, volumeGroupName, options }, listByVolumeGroupOperationSpec);
4281
+ }
4282
+ /**
4283
+ * Create a Volume Snapshot.
4284
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
4285
+ * @param elasticSanName The name of the ElasticSan.
4286
+ * @param volumeGroupName The name of the VolumeGroup.
4287
+ * @param snapshotName The name of the volume snapshot within the given volume group.
4288
+ * @param parameters Snapshot object.
4289
+ * @param options The options parameters.
4290
+ */
4291
+ beginCreate(resourceGroupName, elasticSanName, volumeGroupName, snapshotName, parameters, options) {
3367
4292
  return tslib.__awaiter(this, void 0, void 0, function* () {
3368
4293
  const directSendOperation = (args, spec) => tslib.__awaiter(this, void 0, void 0, function* () {
3369
4294
  return this.client.sendOperationRequest(args, spec);
@@ -3392,7 +4317,8 @@ class PrivateEndpointConnectionsImpl {
3392
4317
  args: {
3393
4318
  resourceGroupName,
3394
4319
  elasticSanName,
3395
- privateEndpointConnectionName,
4320
+ volumeGroupName,
4321
+ snapshotName,
3396
4322
  parameters,
3397
4323
  options
3398
4324
  },
@@ -3408,42 +4334,29 @@ class PrivateEndpointConnectionsImpl {
3408
4334
  });
3409
4335
  }
3410
4336
  /**
3411
- * Update the state of specified private endpoint connection associated with the Elastic San
4337
+ * Create a Volume Snapshot.
3412
4338
  * @param resourceGroupName The name of the resource group. The name is case insensitive.
3413
4339
  * @param elasticSanName The name of the ElasticSan.
3414
- * @param privateEndpointConnectionName The name of the Private Endpoint connection.
3415
- * @param parameters Private Endpoint Connection Approval object.
4340
+ * @param volumeGroupName The name of the VolumeGroup.
4341
+ * @param snapshotName The name of the volume snapshot within the given volume group.
4342
+ * @param parameters Snapshot object.
3416
4343
  * @param options The options parameters.
3417
4344
  */
3418
- beginCreateAndWait(resourceGroupName, elasticSanName, privateEndpointConnectionName, parameters, options) {
4345
+ beginCreateAndWait(resourceGroupName, elasticSanName, volumeGroupName, snapshotName, parameters, options) {
3419
4346
  return tslib.__awaiter(this, void 0, void 0, function* () {
3420
- const poller = yield this.beginCreate(resourceGroupName, elasticSanName, privateEndpointConnectionName, parameters, options);
4347
+ const poller = yield this.beginCreate(resourceGroupName, elasticSanName, volumeGroupName, snapshotName, parameters, options);
3421
4348
  return poller.pollUntilDone();
3422
4349
  });
3423
4350
  }
3424
4351
  /**
3425
- * Gets the specified private endpoint connection associated with the Elastic San
3426
- * @param resourceGroupName The name of the resource group. The name is case insensitive.
3427
- * @param elasticSanName The name of the ElasticSan.
3428
- * @param privateEndpointConnectionName The name of the Private Endpoint connection.
3429
- * @param options The options parameters.
3430
- */
3431
- get(resourceGroupName, elasticSanName, privateEndpointConnectionName, options) {
3432
- return this.client.sendOperationRequest({
3433
- resourceGroupName,
3434
- elasticSanName,
3435
- privateEndpointConnectionName,
3436
- options
3437
- }, getOperationSpec);
3438
- }
3439
- /**
3440
- * Deletes the specified private endpoint connection associated with the Elastic San
4352
+ * Delete a Volume Snapshot.
3441
4353
  * @param resourceGroupName The name of the resource group. The name is case insensitive.
3442
4354
  * @param elasticSanName The name of the ElasticSan.
3443
- * @param privateEndpointConnectionName The name of the Private Endpoint connection.
4355
+ * @param volumeGroupName The name of the VolumeGroup.
4356
+ * @param snapshotName The name of the volume snapshot within the given volume group.
3444
4357
  * @param options The options parameters.
3445
4358
  */
3446
- beginDelete(resourceGroupName, elasticSanName, privateEndpointConnectionName, options) {
4359
+ beginDelete(resourceGroupName, elasticSanName, volumeGroupName, snapshotName, options) {
3447
4360
  return tslib.__awaiter(this, void 0, void 0, function* () {
3448
4361
  const directSendOperation = (args, spec) => tslib.__awaiter(this, void 0, void 0, function* () {
3449
4362
  return this.client.sendOperationRequest(args, spec);
@@ -3472,7 +4385,8 @@ class PrivateEndpointConnectionsImpl {
3472
4385
  args: {
3473
4386
  resourceGroupName,
3474
4387
  elasticSanName,
3475
- privateEndpointConnectionName,
4388
+ volumeGroupName,
4389
+ snapshotName,
3476
4390
  options
3477
4391
  },
3478
4392
  spec: deleteOperationSpec
@@ -3487,87 +4401,108 @@ class PrivateEndpointConnectionsImpl {
3487
4401
  });
3488
4402
  }
3489
4403
  /**
3490
- * Deletes the specified private endpoint connection associated with the Elastic San
4404
+ * Delete a Volume Snapshot.
3491
4405
  * @param resourceGroupName The name of the resource group. The name is case insensitive.
3492
4406
  * @param elasticSanName The name of the ElasticSan.
3493
- * @param privateEndpointConnectionName The name of the Private Endpoint connection.
4407
+ * @param volumeGroupName The name of the VolumeGroup.
4408
+ * @param snapshotName The name of the volume snapshot within the given volume group.
3494
4409
  * @param options The options parameters.
3495
4410
  */
3496
- beginDeleteAndWait(resourceGroupName, elasticSanName, privateEndpointConnectionName, options) {
4411
+ beginDeleteAndWait(resourceGroupName, elasticSanName, volumeGroupName, snapshotName, options) {
3497
4412
  return tslib.__awaiter(this, void 0, void 0, function* () {
3498
- const poller = yield this.beginDelete(resourceGroupName, elasticSanName, privateEndpointConnectionName, options);
4413
+ const poller = yield this.beginDelete(resourceGroupName, elasticSanName, volumeGroupName, snapshotName, options);
3499
4414
  return poller.pollUntilDone();
3500
4415
  });
3501
4416
  }
3502
4417
  /**
3503
- * List all Private Endpoint Connections associated with the Elastic San.
4418
+ * Get a Volume Snapshot.
3504
4419
  * @param resourceGroupName The name of the resource group. The name is case insensitive.
3505
4420
  * @param elasticSanName The name of the ElasticSan.
4421
+ * @param volumeGroupName The name of the VolumeGroup.
4422
+ * @param snapshotName The name of the volume snapshot within the given volume group.
3506
4423
  * @param options The options parameters.
3507
4424
  */
3508
- _list(resourceGroupName, elasticSanName, options) {
3509
- return this.client.sendOperationRequest({ resourceGroupName, elasticSanName, options }, listOperationSpec);
4425
+ get(resourceGroupName, elasticSanName, volumeGroupName, snapshotName, options) {
4426
+ return this.client.sendOperationRequest({
4427
+ resourceGroupName,
4428
+ elasticSanName,
4429
+ volumeGroupName,
4430
+ snapshotName,
4431
+ options
4432
+ }, getOperationSpec);
4433
+ }
4434
+ /**
4435
+ * ListByVolumeGroupNext
4436
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
4437
+ * @param elasticSanName The name of the ElasticSan.
4438
+ * @param volumeGroupName The name of the VolumeGroup.
4439
+ * @param nextLink The nextLink from the previous successful call to the ListByVolumeGroup method.
4440
+ * @param options The options parameters.
4441
+ */
4442
+ _listByVolumeGroupNext(resourceGroupName, elasticSanName, volumeGroupName, nextLink, options) {
4443
+ return this.client.sendOperationRequest({ resourceGroupName, elasticSanName, volumeGroupName, nextLink, options }, listByVolumeGroupNextOperationSpec);
3510
4444
  }
3511
4445
  }
3512
4446
  // Operation Specifications
3513
- const serializer$1 = coreClient__namespace.createSerializer(Mappers, /* isXml */ false);
3514
- const createOperationSpec = {
3515
- path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/privateEndpointConnections/{privateEndpointConnectionName}",
3516
- httpMethod: "PUT",
4447
+ const serializer = coreClient__namespace.createSerializer(Mappers, /* isXml */ false);
4448
+ const listByVolumeGroupOperationSpec = {
4449
+ path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}/snapshots",
4450
+ httpMethod: "GET",
3517
4451
  responses: {
3518
4452
  200: {
3519
- bodyMapper: PrivateEndpointConnection
3520
- },
3521
- 201: {
3522
- bodyMapper: PrivateEndpointConnection
3523
- },
3524
- 202: {
3525
- bodyMapper: PrivateEndpointConnection
3526
- },
3527
- 204: {
3528
- bodyMapper: PrivateEndpointConnection
4453
+ bodyMapper: SnapshotList
3529
4454
  },
3530
4455
  default: {
3531
4456
  bodyMapper: ErrorResponse
3532
4457
  }
3533
4458
  },
3534
- requestBody: parameters6,
3535
- queryParameters: [apiVersion],
4459
+ queryParameters: [apiVersion, filter],
3536
4460
  urlParameters: [
3537
4461
  $host,
3538
4462
  subscriptionId,
3539
4463
  resourceGroupName,
3540
4464
  elasticSanName,
3541
- privateEndpointConnectionName
4465
+ volumeGroupName
3542
4466
  ],
3543
- headerParameters: [accept, contentType],
3544
- mediaType: "json",
3545
- serializer: serializer$1
4467
+ headerParameters: [accept],
4468
+ serializer
3546
4469
  };
3547
- const getOperationSpec = {
3548
- path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/privateEndpointConnections/{privateEndpointConnectionName}",
3549
- httpMethod: "GET",
4470
+ const createOperationSpec = {
4471
+ path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}/snapshots/{snapshotName}",
4472
+ httpMethod: "PUT",
3550
4473
  responses: {
3551
4474
  200: {
3552
- bodyMapper: PrivateEndpointConnection
4475
+ bodyMapper: Snapshot
4476
+ },
4477
+ 201: {
4478
+ bodyMapper: Snapshot
4479
+ },
4480
+ 202: {
4481
+ bodyMapper: Snapshot
4482
+ },
4483
+ 204: {
4484
+ bodyMapper: Snapshot
3553
4485
  },
3554
4486
  default: {
3555
4487
  bodyMapper: ErrorResponse
3556
4488
  }
3557
4489
  },
4490
+ requestBody: parameters7,
3558
4491
  queryParameters: [apiVersion],
3559
4492
  urlParameters: [
3560
4493
  $host,
3561
4494
  subscriptionId,
3562
4495
  resourceGroupName,
3563
4496
  elasticSanName,
3564
- privateEndpointConnectionName
4497
+ volumeGroupName,
4498
+ snapshotName
3565
4499
  ],
3566
- headerParameters: [accept],
3567
- serializer: serializer$1
4500
+ headerParameters: [accept, contentType],
4501
+ mediaType: "json",
4502
+ serializer
3568
4503
  };
3569
4504
  const deleteOperationSpec = {
3570
- path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/privateEndpointConnections/{privateEndpointConnectionName}",
4505
+ path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}/snapshots/{snapshotName}",
3571
4506
  httpMethod: "DELETE",
3572
4507
  responses: {
3573
4508
  200: {},
@@ -3584,17 +4519,18 @@ const deleteOperationSpec = {
3584
4519
  subscriptionId,
3585
4520
  resourceGroupName,
3586
4521
  elasticSanName,
3587
- privateEndpointConnectionName
4522
+ volumeGroupName,
4523
+ snapshotName
3588
4524
  ],
3589
4525
  headerParameters: [accept],
3590
- serializer: serializer$1
4526
+ serializer
3591
4527
  };
3592
- const listOperationSpec = {
3593
- path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/privateEndpointConnections",
4528
+ const getOperationSpec = {
4529
+ path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}/snapshots/{snapshotName}",
3594
4530
  httpMethod: "GET",
3595
4531
  responses: {
3596
4532
  200: {
3597
- bodyMapper: PrivateEndpointConnectionListResult
4533
+ bodyMapper: Snapshot
3598
4534
  },
3599
4535
  default: {
3600
4536
  bodyMapper: ErrorResponse
@@ -3605,57 +4541,31 @@ const listOperationSpec = {
3605
4541
  $host,
3606
4542
  subscriptionId,
3607
4543
  resourceGroupName,
3608
- elasticSanName
4544
+ elasticSanName,
4545
+ volumeGroupName,
4546
+ snapshotName
3609
4547
  ],
3610
4548
  headerParameters: [accept],
3611
- serializer: serializer$1
4549
+ serializer
3612
4550
  };
3613
-
3614
- /*
3615
- * Copyright (c) Microsoft Corporation.
3616
- * Licensed under the MIT License.
3617
- *
3618
- * Code generated by Microsoft (R) AutoRest Code Generator.
3619
- * Changes may cause incorrect behavior and will be lost if the code is regenerated.
3620
- */
3621
- /** Class containing PrivateLinkResources operations. */
3622
- class PrivateLinkResourcesImpl {
3623
- /**
3624
- * Initialize a new instance of the class PrivateLinkResources class.
3625
- * @param client Reference to the service client
3626
- */
3627
- constructor(client) {
3628
- this.client = client;
3629
- }
3630
- /**
3631
- * Gets the private link resources that need to be created for a elastic San.
3632
- * @param resourceGroupName The name of the resource group. The name is case insensitive.
3633
- * @param elasticSanName The name of the ElasticSan.
3634
- * @param options The options parameters.
3635
- */
3636
- listByElasticSan(resourceGroupName, elasticSanName, options) {
3637
- return this.client.sendOperationRequest({ resourceGroupName, elasticSanName, options }, listByElasticSanOperationSpec);
3638
- }
3639
- }
3640
- // Operation Specifications
3641
- const serializer = coreClient__namespace.createSerializer(Mappers, /* isXml */ false);
3642
- const listByElasticSanOperationSpec = {
3643
- path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/privateLinkResources",
4551
+ const listByVolumeGroupNextOperationSpec = {
4552
+ path: "{nextLink}",
3644
4553
  httpMethod: "GET",
3645
4554
  responses: {
3646
4555
  200: {
3647
- bodyMapper: PrivateLinkResourceListResult
4556
+ bodyMapper: SnapshotList
3648
4557
  },
3649
4558
  default: {
3650
4559
  bodyMapper: ErrorResponse
3651
4560
  }
3652
4561
  },
3653
- queryParameters: [apiVersion],
3654
4562
  urlParameters: [
3655
4563
  $host,
3656
4564
  subscriptionId,
3657
4565
  resourceGroupName,
3658
- elasticSanName
4566
+ elasticSanName,
4567
+ nextLink,
4568
+ volumeGroupName
3659
4569
  ],
3660
4570
  headerParameters: [accept],
3661
4571
  serializer
@@ -3691,7 +4601,7 @@ class ElasticSanManagement extends coreClient__namespace.ServiceClient {
3691
4601
  requestContentType: "application/json; charset=utf-8",
3692
4602
  credential: credentials
3693
4603
  };
3694
- const packageDetails = `azsdk-js-arm-elasticsan/1.0.0-beta.2`;
4604
+ const packageDetails = `azsdk-js-arm-elasticsan/1.0.0`;
3695
4605
  const userAgentPrefix = options.userAgentOptions && options.userAgentOptions.userAgentPrefix
3696
4606
  ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}`
3697
4607
  : `${packageDetails}`;
@@ -3724,7 +4634,7 @@ class ElasticSanManagement extends coreClient__namespace.ServiceClient {
3724
4634
  this.subscriptionId = subscriptionId;
3725
4635
  // Assigning values to Constant parameters
3726
4636
  this.$host = options.$host || "https://management.azure.com";
3727
- this.apiVersion = options.apiVersion || "2022-12-01-preview";
4637
+ this.apiVersion = options.apiVersion || "2023-01-01";
3728
4638
  this.operations = new OperationsImpl(this);
3729
4639
  this.skus = new SkusImpl(this);
3730
4640
  this.elasticSans = new ElasticSansImpl(this);
@@ -3732,6 +4642,7 @@ class ElasticSanManagement extends coreClient__namespace.ServiceClient {
3732
4642
  this.volumes = new VolumesImpl(this);
3733
4643
  this.privateEndpointConnections = new PrivateEndpointConnectionsImpl(this);
3734
4644
  this.privateLinkResources = new PrivateLinkResourcesImpl(this);
4645
+ this.volumeSnapshots = new VolumeSnapshotsImpl(this);
3735
4646
  this.addCustomApiVersionPolicy(options.apiVersion);
3736
4647
  }
3737
4648
  /** A function that adds a policy that sets the api-version (or equivalent) to reflect the library version. */