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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (101) hide show
  1. package/CHANGELOG.md +6 -2
  2. package/README.md +1 -1
  3. package/dist/index.js +899 -123
  4. package/dist/index.js.map +1 -1
  5. package/dist/index.min.js +1 -1
  6. package/dist/index.min.js.map +1 -1
  7. package/dist-esm/samples-dev/elasticSansCreateSample.js +7 -6
  8. package/dist-esm/samples-dev/elasticSansCreateSample.js.map +1 -1
  9. package/dist-esm/samples-dev/elasticSansDeleteSample.js +2 -2
  10. package/dist-esm/samples-dev/elasticSansGetSample.js +2 -2
  11. package/dist-esm/samples-dev/elasticSansListByResourceGroupSample.js +2 -2
  12. package/dist-esm/samples-dev/elasticSansListBySubscriptionSample.js +2 -2
  13. package/dist-esm/samples-dev/elasticSansUpdateSample.js +6 -5
  14. package/dist-esm/samples-dev/elasticSansUpdateSample.js.map +1 -1
  15. package/dist-esm/samples-dev/operationsListSample.js +2 -2
  16. package/dist-esm/samples-dev/privateEndpointConnectionsCreateSample.js +6 -10
  17. package/dist-esm/samples-dev/privateEndpointConnectionsCreateSample.js.map +1 -1
  18. package/dist-esm/samples-dev/privateEndpointConnectionsDeleteSample.js +2 -2
  19. package/dist-esm/samples-dev/privateEndpointConnectionsGetSample.js +2 -2
  20. package/dist-esm/samples-dev/privateEndpointConnectionsListSample.js +2 -2
  21. package/dist-esm/samples-dev/privateLinkResourcesListByElasticSanSample.js +2 -2
  22. package/dist-esm/samples-dev/skusListSample.js +3 -3
  23. package/dist-esm/samples-dev/skusListSample.js.map +1 -1
  24. package/dist-esm/samples-dev/volumeGroupsCreateSample.js +12 -3
  25. package/dist-esm/samples-dev/volumeGroupsCreateSample.js.map +1 -1
  26. package/dist-esm/samples-dev/volumeGroupsDeleteSample.js +2 -2
  27. package/dist-esm/samples-dev/volumeGroupsGetSample.js +2 -2
  28. package/dist-esm/samples-dev/volumeGroupsListByElasticSanSample.js +2 -2
  29. package/dist-esm/samples-dev/volumeGroupsUpdateSample.js +11 -2
  30. package/dist-esm/samples-dev/volumeGroupsUpdateSample.js.map +1 -1
  31. package/dist-esm/samples-dev/volumeSnapshotsCreateSample.d.ts +2 -0
  32. package/dist-esm/samples-dev/volumeSnapshotsCreateSample.d.ts.map +1 -0
  33. package/dist-esm/samples-dev/volumeSnapshotsCreateSample.js +70 -0
  34. package/dist-esm/samples-dev/volumeSnapshotsCreateSample.js.map +1 -0
  35. package/dist-esm/samples-dev/volumeSnapshotsDeleteSample.d.ts +2 -0
  36. package/dist-esm/samples-dev/volumeSnapshotsDeleteSample.d.ts.map +1 -0
  37. package/dist-esm/samples-dev/volumeSnapshotsDeleteSample.js +60 -0
  38. package/dist-esm/samples-dev/volumeSnapshotsDeleteSample.js.map +1 -0
  39. package/dist-esm/samples-dev/volumeSnapshotsGetSample.d.ts +2 -0
  40. package/dist-esm/samples-dev/volumeSnapshotsGetSample.d.ts.map +1 -0
  41. package/dist-esm/samples-dev/volumeSnapshotsGetSample.js +60 -0
  42. package/dist-esm/samples-dev/volumeSnapshotsGetSample.js.map +1 -0
  43. package/dist-esm/samples-dev/volumeSnapshotsListByVolumeGroupSample.d.ts +2 -0
  44. package/dist-esm/samples-dev/volumeSnapshotsListByVolumeGroupSample.d.ts.map +1 -0
  45. package/dist-esm/samples-dev/volumeSnapshotsListByVolumeGroupSample.js +102 -0
  46. package/dist-esm/samples-dev/volumeSnapshotsListByVolumeGroupSample.js.map +1 -0
  47. package/dist-esm/samples-dev/volumesCreateSample.js +6 -5
  48. package/dist-esm/samples-dev/volumesCreateSample.js.map +1 -1
  49. package/dist-esm/samples-dev/volumesDeleteSample.js +9 -3
  50. package/dist-esm/samples-dev/volumesDeleteSample.js.map +1 -1
  51. package/dist-esm/samples-dev/volumesGetSample.js +2 -2
  52. package/dist-esm/samples-dev/volumesListByVolumeGroupSample.js +2 -2
  53. package/dist-esm/samples-dev/volumesUpdateSample.js +2 -2
  54. package/dist-esm/src/elasticSanManagement.d.ts +2 -1
  55. package/dist-esm/src/elasticSanManagement.d.ts.map +1 -1
  56. package/dist-esm/src/elasticSanManagement.js +4 -3
  57. package/dist-esm/src/elasticSanManagement.js.map +1 -1
  58. package/dist-esm/src/models/index.d.ts +284 -13
  59. package/dist-esm/src/models/index.d.ts.map +1 -1
  60. package/dist-esm/src/models/index.js +56 -0
  61. package/dist-esm/src/models/index.js.map +1 -1
  62. package/dist-esm/src/models/mappers.d.ts +10 -0
  63. package/dist-esm/src/models/mappers.d.ts.map +1 -1
  64. package/dist-esm/src/models/mappers.js +303 -20
  65. package/dist-esm/src/models/mappers.js.map +1 -1
  66. package/dist-esm/src/models/parameters.d.ts +4 -0
  67. package/dist-esm/src/models/parameters.d.ts.map +1 -1
  68. package/dist-esm/src/models/parameters.js +39 -2
  69. package/dist-esm/src/models/parameters.js.map +1 -1
  70. package/dist-esm/src/operations/index.d.ts +1 -0
  71. package/dist-esm/src/operations/index.d.ts.map +1 -1
  72. package/dist-esm/src/operations/index.js +1 -0
  73. package/dist-esm/src/operations/index.js.map +1 -1
  74. package/dist-esm/src/operations/volumeSnapshots.d.ts +89 -0
  75. package/dist-esm/src/operations/volumeSnapshots.d.ts.map +1 -0
  76. package/dist-esm/src/operations/volumeSnapshots.js +395 -0
  77. package/dist-esm/src/operations/volumeSnapshots.js.map +1 -0
  78. package/dist-esm/src/operations/volumes.js +5 -1
  79. package/dist-esm/src/operations/volumes.js.map +1 -1
  80. package/dist-esm/src/operationsInterfaces/index.d.ts +1 -0
  81. package/dist-esm/src/operationsInterfaces/index.d.ts.map +1 -1
  82. package/dist-esm/src/operationsInterfaces/index.js +1 -0
  83. package/dist-esm/src/operationsInterfaces/index.js.map +1 -1
  84. package/dist-esm/src/operationsInterfaces/volumeSnapshots.d.ts +62 -0
  85. package/dist-esm/src/operationsInterfaces/volumeSnapshots.d.ts.map +1 -0
  86. package/dist-esm/src/operationsInterfaces/volumeSnapshots.js +9 -0
  87. package/dist-esm/src/operationsInterfaces/volumeSnapshots.js.map +1 -0
  88. package/package.json +12 -18
  89. package/review/arm-elasticsan.api.md +187 -6
  90. package/src/elasticSanManagement.ts +8 -4
  91. package/src/models/index.ts +316 -18
  92. package/src/models/mappers.ts +323 -19
  93. package/src/models/parameters.ts +44 -2
  94. package/src/operations/index.ts +1 -0
  95. package/src/operations/volumeSnapshots.ts +551 -0
  96. package/src/operations/volumes.ts +5 -1
  97. package/src/operationsInterfaces/index.ts +1 -0
  98. package/src/operationsInterfaces/volumeSnapshots.ts +121 -0
  99. package/types/arm-elasticsan.d.ts +375 -14
  100. package/types/tsdoc-metadata.json +1 -1
  101. package/rollup.config.js +0 -122
package/dist/index.js CHANGED
@@ -1,14 +1,11 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
3
  var tslib = require('tslib');
6
4
  var coreClient = require('@azure/core-client');
7
5
  var coreRestPipeline = require('@azure/core-rest-pipeline');
8
6
  var coreLro = require('@azure/core-lro');
9
7
 
10
- function _interopNamespace(e) {
11
- if (e && e.__esModule) return e;
8
+ function _interopNamespaceDefault(e) {
12
9
  var n = Object.create(null);
13
10
  if (e) {
14
11
  Object.keys(e).forEach(function (k) {
@@ -21,12 +18,12 @@ function _interopNamespace(e) {
21
18
  }
22
19
  });
23
20
  }
24
- n["default"] = e;
21
+ n.default = e;
25
22
  return Object.freeze(n);
26
23
  }
27
24
 
28
- var coreClient__namespace = /*#__PURE__*/_interopNamespace(coreClient);
29
- var coreRestPipeline__namespace = /*#__PURE__*/_interopNamespace(coreRestPipeline);
25
+ var coreClient__namespace = /*#__PURE__*/_interopNamespaceDefault(coreClient);
26
+ var coreRestPipeline__namespace = /*#__PURE__*/_interopNamespaceDefault(coreRestPipeline);
30
27
 
31
28
  /*
32
29
  * Copyright (c) Microsoft Corporation.
@@ -141,6 +138,24 @@ exports.KnownCreatedByType = void 0;
141
138
  /** Key */
142
139
  KnownCreatedByType["Key"] = "Key";
143
140
  })(exports.KnownCreatedByType || (exports.KnownCreatedByType = {}));
141
+ /** Known values of {@link PublicNetworkAccess} that the service accepts. */
142
+ exports.KnownPublicNetworkAccess = void 0;
143
+ (function (KnownPublicNetworkAccess) {
144
+ /** Enabled */
145
+ KnownPublicNetworkAccess["Enabled"] = "Enabled";
146
+ /** Disabled */
147
+ KnownPublicNetworkAccess["Disabled"] = "Disabled";
148
+ })(exports.KnownPublicNetworkAccess || (exports.KnownPublicNetworkAccess = {}));
149
+ /** Known values of {@link IdentityType} that the service accepts. */
150
+ exports.KnownIdentityType = void 0;
151
+ (function (KnownIdentityType) {
152
+ /** None */
153
+ KnownIdentityType["None"] = "None";
154
+ /** SystemAssigned */
155
+ KnownIdentityType["SystemAssigned"] = "SystemAssigned";
156
+ /** UserAssigned */
157
+ KnownIdentityType["UserAssigned"] = "UserAssigned";
158
+ })(exports.KnownIdentityType || (exports.KnownIdentityType = {}));
144
159
  /** Known values of {@link StorageTargetType} that the service accepts. */
145
160
  exports.KnownStorageTargetType = void 0;
146
161
  (function (KnownStorageTargetType) {
@@ -154,7 +169,29 @@ exports.KnownEncryptionType = void 0;
154
169
  (function (KnownEncryptionType) {
155
170
  /** Volume is encrypted at rest with Platform managed key. It is the default encryption type. */
156
171
  KnownEncryptionType["EncryptionAtRestWithPlatformKey"] = "EncryptionAtRestWithPlatformKey";
172
+ /** Volume is encrypted at rest with Customer managed key that can be changed and revoked by a customer. */
173
+ KnownEncryptionType["EncryptionAtRestWithCustomerManagedKey"] = "EncryptionAtRestWithCustomerManagedKey";
157
174
  })(exports.KnownEncryptionType || (exports.KnownEncryptionType = {}));
175
+ /** Known values of {@link Action} that the service accepts. */
176
+ exports.KnownAction = void 0;
177
+ (function (KnownAction) {
178
+ /** Allow */
179
+ KnownAction["Allow"] = "Allow";
180
+ })(exports.KnownAction || (exports.KnownAction = {}));
181
+ /** Known values of {@link VolumeCreateOption} that the service accepts. */
182
+ exports.KnownVolumeCreateOption = void 0;
183
+ (function (KnownVolumeCreateOption) {
184
+ /** None */
185
+ KnownVolumeCreateOption["None"] = "None";
186
+ /** VolumeSnapshot */
187
+ KnownVolumeCreateOption["VolumeSnapshot"] = "VolumeSnapshot";
188
+ /** DiskSnapshot */
189
+ KnownVolumeCreateOption["DiskSnapshot"] = "DiskSnapshot";
190
+ /** Disk */
191
+ KnownVolumeCreateOption["Disk"] = "Disk";
192
+ /** DiskRestorePoint */
193
+ KnownVolumeCreateOption["DiskRestorePoint"] = "DiskRestorePoint";
194
+ })(exports.KnownVolumeCreateOption || (exports.KnownVolumeCreateOption = {}));
158
195
  /** Known values of {@link OperationalStatus} that the service accepts. */
159
196
  exports.KnownOperationalStatus = void 0;
160
197
  (function (KnownOperationalStatus) {
@@ -175,6 +212,22 @@ exports.KnownOperationalStatus = void 0;
175
212
  /** StoppedDeallocated */
176
213
  KnownOperationalStatus["StoppedDeallocated"] = "Stopped (deallocated)";
177
214
  })(exports.KnownOperationalStatus || (exports.KnownOperationalStatus = {}));
215
+ /** Known values of {@link XMsDeleteSnapshots} that the service accepts. */
216
+ exports.KnownXMsDeleteSnapshots = void 0;
217
+ (function (KnownXMsDeleteSnapshots) {
218
+ /** True */
219
+ KnownXMsDeleteSnapshots["True"] = "true";
220
+ /** False */
221
+ KnownXMsDeleteSnapshots["False"] = "false";
222
+ })(exports.KnownXMsDeleteSnapshots || (exports.KnownXMsDeleteSnapshots = {}));
223
+ /** Known values of {@link XMsForceDelete} that the service accepts. */
224
+ exports.KnownXMsForceDelete = void 0;
225
+ (function (KnownXMsForceDelete) {
226
+ /** True */
227
+ KnownXMsForceDelete["True"] = "true";
228
+ /** False */
229
+ KnownXMsForceDelete["False"] = "false";
230
+ })(exports.KnownXMsForceDelete || (exports.KnownXMsForceDelete = {}));
178
231
 
179
232
  /*
180
233
  * Copyright (c) Microsoft Corporation.
@@ -718,6 +771,12 @@ const ElasticSanUpdate = {
718
771
  type: {
719
772
  name: "Number"
720
773
  }
774
+ },
775
+ publicNetworkAccess: {
776
+ serializedName: "properties.publicNetworkAccess",
777
+ type: {
778
+ name: "String"
779
+ }
721
780
  }
722
781
  }
723
782
  }
@@ -749,6 +808,149 @@ const VolumeGroupList = {
749
808
  }
750
809
  }
751
810
  };
811
+ const Identity = {
812
+ type: {
813
+ name: "Composite",
814
+ className: "Identity",
815
+ modelProperties: {
816
+ principalId: {
817
+ serializedName: "principalId",
818
+ readOnly: true,
819
+ type: {
820
+ name: "String"
821
+ }
822
+ },
823
+ tenantId: {
824
+ serializedName: "tenantId",
825
+ readOnly: true,
826
+ type: {
827
+ name: "String"
828
+ }
829
+ },
830
+ type: {
831
+ serializedName: "type",
832
+ required: true,
833
+ type: {
834
+ name: "String"
835
+ }
836
+ },
837
+ userAssignedIdentities: {
838
+ serializedName: "userAssignedIdentities",
839
+ type: {
840
+ name: "Dictionary",
841
+ value: {
842
+ type: { name: "Composite", className: "UserAssignedIdentity" }
843
+ }
844
+ }
845
+ }
846
+ }
847
+ }
848
+ };
849
+ const UserAssignedIdentity = {
850
+ type: {
851
+ name: "Composite",
852
+ className: "UserAssignedIdentity",
853
+ modelProperties: {
854
+ principalId: {
855
+ serializedName: "principalId",
856
+ readOnly: true,
857
+ type: {
858
+ name: "String"
859
+ }
860
+ },
861
+ clientId: {
862
+ serializedName: "clientId",
863
+ readOnly: true,
864
+ type: {
865
+ name: "String"
866
+ }
867
+ }
868
+ }
869
+ }
870
+ };
871
+ const EncryptionProperties = {
872
+ type: {
873
+ name: "Composite",
874
+ className: "EncryptionProperties",
875
+ modelProperties: {
876
+ keyVaultProperties: {
877
+ serializedName: "keyVaultProperties",
878
+ type: {
879
+ name: "Composite",
880
+ className: "KeyVaultProperties"
881
+ }
882
+ },
883
+ encryptionIdentity: {
884
+ serializedName: "identity",
885
+ type: {
886
+ name: "Composite",
887
+ className: "EncryptionIdentity"
888
+ }
889
+ }
890
+ }
891
+ }
892
+ };
893
+ const KeyVaultProperties = {
894
+ type: {
895
+ name: "Composite",
896
+ className: "KeyVaultProperties",
897
+ modelProperties: {
898
+ keyName: {
899
+ serializedName: "keyName",
900
+ type: {
901
+ name: "String"
902
+ }
903
+ },
904
+ keyVersion: {
905
+ serializedName: "keyVersion",
906
+ type: {
907
+ name: "String"
908
+ }
909
+ },
910
+ keyVaultUri: {
911
+ serializedName: "keyVaultUri",
912
+ type: {
913
+ name: "String"
914
+ }
915
+ },
916
+ currentVersionedKeyIdentifier: {
917
+ serializedName: "currentVersionedKeyIdentifier",
918
+ readOnly: true,
919
+ type: {
920
+ name: "String"
921
+ }
922
+ },
923
+ lastKeyRotationTimestamp: {
924
+ serializedName: "lastKeyRotationTimestamp",
925
+ readOnly: true,
926
+ type: {
927
+ name: "DateTime"
928
+ }
929
+ },
930
+ currentVersionedKeyExpirationTimestamp: {
931
+ serializedName: "currentVersionedKeyExpirationTimestamp",
932
+ readOnly: true,
933
+ type: {
934
+ name: "DateTime"
935
+ }
936
+ }
937
+ }
938
+ }
939
+ };
940
+ const EncryptionIdentity = {
941
+ type: {
942
+ name: "Composite",
943
+ className: "EncryptionIdentity",
944
+ modelProperties: {
945
+ encryptionUserAssignedIdentity: {
946
+ serializedName: "userAssignedIdentity",
947
+ type: {
948
+ name: "String"
949
+ }
950
+ }
951
+ }
952
+ }
953
+ };
752
954
  const NetworkRuleSet = {
753
955
  type: {
754
956
  name: "Composite",
@@ -783,25 +985,10 @@ const VirtualNetworkRule = {
783
985
  },
784
986
  action: {
785
987
  defaultValue: "Allow",
786
- isConstant: true,
787
988
  serializedName: "action",
788
989
  type: {
789
990
  name: "String"
790
991
  }
791
- },
792
- state: {
793
- serializedName: "state",
794
- readOnly: true,
795
- type: {
796
- name: "Enum",
797
- allowedValues: [
798
- "provisioning",
799
- "deprovisioning",
800
- "succeeded",
801
- "failed",
802
- "networkSourceDeleted"
803
- ]
804
- }
805
992
  }
806
993
  }
807
994
  }
@@ -811,6 +998,13 @@ const VolumeGroupUpdate = {
811
998
  name: "Composite",
812
999
  className: "VolumeGroupUpdate",
813
1000
  modelProperties: {
1001
+ identity: {
1002
+ serializedName: "identity",
1003
+ type: {
1004
+ name: "Composite",
1005
+ className: "Identity"
1006
+ }
1007
+ },
814
1008
  protocolType: {
815
1009
  serializedName: "properties.protocolType",
816
1010
  type: {
@@ -823,6 +1017,13 @@ const VolumeGroupUpdate = {
823
1017
  name: "String"
824
1018
  }
825
1019
  },
1020
+ encryptionProperties: {
1021
+ serializedName: "properties.encryptionProperties",
1022
+ type: {
1023
+ name: "Composite",
1024
+ className: "EncryptionProperties"
1025
+ }
1026
+ },
826
1027
  networkAcls: {
827
1028
  serializedName: "properties.networkAcls",
828
1029
  type: {
@@ -839,15 +1040,13 @@ const SourceCreationData = {
839
1040
  className: "SourceCreationData",
840
1041
  modelProperties: {
841
1042
  createSource: {
842
- defaultValue: "None",
843
- isConstant: true,
844
1043
  serializedName: "createSource",
845
1044
  type: {
846
1045
  name: "String"
847
1046
  }
848
1047
  },
849
- sourceUri: {
850
- serializedName: "sourceUri",
1048
+ sourceId: {
1049
+ serializedName: "sourceId",
851
1050
  type: {
852
1051
  name: "String"
853
1052
  }
@@ -897,6 +1096,20 @@ const IscsiTargetInfo = {
897
1096
  }
898
1097
  }
899
1098
  };
1099
+ const ManagedByInfo = {
1100
+ type: {
1101
+ name: "Composite",
1102
+ className: "ManagedByInfo",
1103
+ modelProperties: {
1104
+ resourceId: {
1105
+ serializedName: "resourceId",
1106
+ type: {
1107
+ name: "String"
1108
+ }
1109
+ }
1110
+ }
1111
+ }
1112
+ };
900
1113
  const VolumeUpdate = {
901
1114
  type: {
902
1115
  name: "Composite",
@@ -907,6 +1120,13 @@ const VolumeUpdate = {
907
1120
  type: {
908
1121
  name: "Number"
909
1122
  }
1123
+ },
1124
+ managedBy: {
1125
+ serializedName: "properties.managedBy",
1126
+ type: {
1127
+ name: "Composite",
1128
+ className: "ManagedByInfo"
1129
+ }
910
1130
  }
911
1131
  }
912
1132
  }
@@ -992,6 +1212,48 @@ const PrivateLinkResourceListResult = {
992
1212
  }
993
1213
  }
994
1214
  };
1215
+ const SnapshotList = {
1216
+ type: {
1217
+ name: "Composite",
1218
+ className: "SnapshotList",
1219
+ modelProperties: {
1220
+ value: {
1221
+ serializedName: "value",
1222
+ type: {
1223
+ name: "Sequence",
1224
+ element: {
1225
+ type: {
1226
+ name: "Composite",
1227
+ className: "Snapshot"
1228
+ }
1229
+ }
1230
+ }
1231
+ },
1232
+ nextLink: {
1233
+ serializedName: "nextLink",
1234
+ readOnly: true,
1235
+ type: {
1236
+ name: "String"
1237
+ }
1238
+ }
1239
+ }
1240
+ }
1241
+ };
1242
+ const SnapshotCreationData = {
1243
+ type: {
1244
+ name: "Composite",
1245
+ className: "SnapshotCreationData",
1246
+ modelProperties: {
1247
+ sourceId: {
1248
+ serializedName: "sourceId",
1249
+ required: true,
1250
+ type: {
1251
+ name: "String"
1252
+ }
1253
+ }
1254
+ }
1255
+ }
1256
+ };
995
1257
  const PrivateEndpointConnection = {
996
1258
  type: {
997
1259
  name: "Composite",
@@ -1167,6 +1429,11 @@ const ElasticSan = {
1167
1429
  }
1168
1430
  }
1169
1431
  }
1432
+ }, publicNetworkAccess: {
1433
+ serializedName: "properties.publicNetworkAccess",
1434
+ type: {
1435
+ name: "String"
1436
+ }
1170
1437
  } })
1171
1438
  }
1172
1439
  };
@@ -1174,7 +1441,13 @@ const VolumeGroup = {
1174
1441
  type: {
1175
1442
  name: "Composite",
1176
1443
  className: "VolumeGroup",
1177
- modelProperties: Object.assign(Object.assign({}, ProxyResource.type.modelProperties), { provisioningState: {
1444
+ modelProperties: Object.assign(Object.assign({}, ProxyResource.type.modelProperties), { identity: {
1445
+ serializedName: "identity",
1446
+ type: {
1447
+ name: "Composite",
1448
+ className: "Identity"
1449
+ }
1450
+ }, provisioningState: {
1178
1451
  serializedName: "properties.provisioningState",
1179
1452
  readOnly: true,
1180
1453
  type: {
@@ -1190,6 +1463,12 @@ const VolumeGroup = {
1190
1463
  type: {
1191
1464
  name: "String"
1192
1465
  }
1466
+ }, encryptionProperties: {
1467
+ serializedName: "properties.encryptionProperties",
1468
+ type: {
1469
+ name: "Composite",
1470
+ className: "EncryptionProperties"
1471
+ }
1193
1472
  }, networkAcls: {
1194
1473
  serializedName: "properties.networkAcls",
1195
1474
  type: {
@@ -1239,6 +1518,49 @@ const Volume = {
1239
1518
  name: "Composite",
1240
1519
  className: "IscsiTargetInfo"
1241
1520
  }
1521
+ }, managedBy: {
1522
+ serializedName: "properties.managedBy",
1523
+ type: {
1524
+ name: "Composite",
1525
+ className: "ManagedByInfo"
1526
+ }
1527
+ }, provisioningState: {
1528
+ serializedName: "properties.provisioningState",
1529
+ readOnly: true,
1530
+ type: {
1531
+ name: "String"
1532
+ }
1533
+ } })
1534
+ }
1535
+ };
1536
+ const Snapshot = {
1537
+ type: {
1538
+ name: "Composite",
1539
+ className: "Snapshot",
1540
+ modelProperties: Object.assign(Object.assign({}, ProxyResource.type.modelProperties), { creationData: {
1541
+ serializedName: "properties.creationData",
1542
+ type: {
1543
+ name: "Composite",
1544
+ className: "SnapshotCreationData"
1545
+ }
1546
+ }, provisioningState: {
1547
+ serializedName: "properties.provisioningState",
1548
+ readOnly: true,
1549
+ type: {
1550
+ name: "String"
1551
+ }
1552
+ }, sourceVolumeSizeGiB: {
1553
+ serializedName: "properties.sourceVolumeSizeGiB",
1554
+ readOnly: true,
1555
+ type: {
1556
+ name: "Number"
1557
+ }
1558
+ }, volumeName: {
1559
+ serializedName: "properties.volumeName",
1560
+ readOnly: true,
1561
+ type: {
1562
+ name: "String"
1563
+ }
1242
1564
  } })
1243
1565
  }
1244
1566
  };
@@ -1340,50 +1662,74 @@ const PrivateEndpointConnectionsDeleteHeaders = {
1340
1662
  }
1341
1663
  }
1342
1664
  };
1665
+ const VolumeSnapshotsDeleteHeaders = {
1666
+ type: {
1667
+ name: "Composite",
1668
+ className: "VolumeSnapshotsDeleteHeaders",
1669
+ modelProperties: {
1670
+ location: {
1671
+ serializedName: "location",
1672
+ type: {
1673
+ name: "String"
1674
+ }
1675
+ }
1676
+ }
1677
+ }
1678
+ };
1343
1679
 
1344
1680
  var Mappers = /*#__PURE__*/Object.freeze({
1345
1681
  __proto__: null,
1346
- OperationListResult: OperationListResult,
1682
+ ElasticSan: ElasticSan,
1683
+ ElasticSanList: ElasticSanList,
1684
+ ElasticSanUpdate: ElasticSanUpdate,
1685
+ ElasticSansDeleteHeaders: ElasticSansDeleteHeaders,
1686
+ ElasticSansUpdateHeaders: ElasticSansUpdateHeaders,
1687
+ EncryptionIdentity: EncryptionIdentity,
1688
+ EncryptionProperties: EncryptionProperties,
1689
+ ErrorAdditionalInfo: ErrorAdditionalInfo,
1690
+ ErrorDetail: ErrorDetail,
1691
+ ErrorResponse: ErrorResponse,
1692
+ Identity: Identity,
1693
+ IscsiTargetInfo: IscsiTargetInfo,
1694
+ KeyVaultProperties: KeyVaultProperties,
1695
+ ManagedByInfo: ManagedByInfo,
1696
+ NetworkRuleSet: NetworkRuleSet,
1347
1697
  Operation: Operation,
1348
1698
  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,
1699
+ OperationListResult: OperationListResult,
1358
1700
  PrivateEndpoint: PrivateEndpoint,
1701
+ PrivateEndpointConnection: PrivateEndpointConnection,
1702
+ PrivateEndpointConnectionListResult: PrivateEndpointConnectionListResult,
1703
+ PrivateEndpointConnectionsDeleteHeaders: PrivateEndpointConnectionsDeleteHeaders,
1704
+ PrivateLinkResource: PrivateLinkResource,
1705
+ PrivateLinkResourceListResult: PrivateLinkResourceListResult,
1359
1706
  PrivateLinkServiceConnectionState: PrivateLinkServiceConnectionState,
1707
+ ProxyResource: ProxyResource,
1360
1708
  Resource: Resource,
1709
+ SKUCapability: SKUCapability,
1710
+ Sku: Sku,
1711
+ SkuInformation: SkuInformation,
1712
+ SkuInformationList: SkuInformationList,
1713
+ SkuLocationInfo: SkuLocationInfo,
1714
+ Snapshot: Snapshot,
1715
+ SnapshotCreationData: SnapshotCreationData,
1716
+ SnapshotList: SnapshotList,
1717
+ SourceCreationData: SourceCreationData,
1361
1718
  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
1719
  TrackedResource: TrackedResource,
1375
- ProxyResource: ProxyResource,
1376
- PrivateLinkResource: PrivateLinkResource,
1377
- ElasticSan: ElasticSan,
1378
- VolumeGroup: VolumeGroup,
1720
+ UserAssignedIdentity: UserAssignedIdentity,
1721
+ VirtualNetworkRule: VirtualNetworkRule,
1379
1722
  Volume: Volume,
1380
- ElasticSansUpdateHeaders: ElasticSansUpdateHeaders,
1381
- ElasticSansDeleteHeaders: ElasticSansDeleteHeaders,
1382
- VolumeGroupsUpdateHeaders: VolumeGroupsUpdateHeaders,
1723
+ VolumeGroup: VolumeGroup,
1724
+ VolumeGroupList: VolumeGroupList,
1725
+ VolumeGroupUpdate: VolumeGroupUpdate,
1383
1726
  VolumeGroupsDeleteHeaders: VolumeGroupsDeleteHeaders,
1384
- VolumesUpdateHeaders: VolumesUpdateHeaders,
1727
+ VolumeGroupsUpdateHeaders: VolumeGroupsUpdateHeaders,
1728
+ VolumeList: VolumeList,
1729
+ VolumeSnapshotsDeleteHeaders: VolumeSnapshotsDeleteHeaders,
1730
+ VolumeUpdate: VolumeUpdate,
1385
1731
  VolumesDeleteHeaders: VolumesDeleteHeaders,
1386
- PrivateEndpointConnectionsDeleteHeaders: PrivateEndpointConnectionsDeleteHeaders
1732
+ VolumesUpdateHeaders: VolumesUpdateHeaders
1387
1733
  });
1388
1734
 
1389
1735
  /*
@@ -1418,7 +1764,7 @@ const $host = {
1418
1764
  const apiVersion = {
1419
1765
  parameterPath: "apiVersion",
1420
1766
  mapper: {
1421
- defaultValue: "2022-12-01-preview",
1767
+ defaultValue: "2023-01-01",
1422
1768
  isConstant: true,
1423
1769
  serializedName: "api-version",
1424
1770
  type: {
@@ -1553,6 +1899,24 @@ const parameters5 = {
1553
1899
  parameterPath: "parameters",
1554
1900
  mapper: VolumeUpdate
1555
1901
  };
1902
+ const xMsDeleteSnapshots = {
1903
+ parameterPath: ["options", "xMsDeleteSnapshots"],
1904
+ mapper: {
1905
+ serializedName: "x-ms-delete-snapshots",
1906
+ type: {
1907
+ name: "String"
1908
+ }
1909
+ }
1910
+ };
1911
+ const xMsForceDelete = {
1912
+ parameterPath: ["options", "xMsForceDelete"],
1913
+ mapper: {
1914
+ serializedName: "x-ms-force-delete",
1915
+ type: {
1916
+ name: "String"
1917
+ }
1918
+ }
1919
+ };
1556
1920
  const parameters6 = {
1557
1921
  parameterPath: "parameters",
1558
1922
  mapper: PrivateEndpointConnection
@@ -1567,6 +1931,25 @@ const privateEndpointConnectionName = {
1567
1931
  }
1568
1932
  }
1569
1933
  };
1934
+ const parameters7 = {
1935
+ parameterPath: "parameters",
1936
+ mapper: Snapshot
1937
+ };
1938
+ const snapshotName = {
1939
+ parameterPath: "snapshotName",
1940
+ mapper: {
1941
+ constraints: {
1942
+ Pattern: new RegExp("^[a-z0-9]+(?:[._-][a-z0-9]+)*$"),
1943
+ MaxLength: 80,
1944
+ MinLength: 1
1945
+ },
1946
+ serializedName: "snapshotName",
1947
+ required: true,
1948
+ type: {
1949
+ name: "String"
1950
+ }
1951
+ }
1952
+ };
1570
1953
 
1571
1954
  /*
1572
1955
  * Copyright (c) Microsoft Corporation.
@@ -1647,7 +2030,7 @@ class OperationsImpl {
1647
2030
  }
1648
2031
  }
1649
2032
  // Operation Specifications
1650
- const serializer$6 = coreClient__namespace.createSerializer(Mappers, /* isXml */ false);
2033
+ const serializer$7 = coreClient__namespace.createSerializer(Mappers, /* isXml */ false);
1651
2034
  const listOperationSpec$2 = {
1652
2035
  path: "/providers/Microsoft.ElasticSan/operations",
1653
2036
  httpMethod: "GET",
@@ -1662,7 +2045,7 @@ const listOperationSpec$2 = {
1662
2045
  queryParameters: [apiVersion],
1663
2046
  urlParameters: [$host],
1664
2047
  headerParameters: [accept],
1665
- serializer: serializer$6
2048
+ serializer: serializer$7
1666
2049
  };
1667
2050
 
1668
2051
  /*
@@ -1744,7 +2127,7 @@ class SkusImpl {
1744
2127
  }
1745
2128
  }
1746
2129
  // Operation Specifications
1747
- const serializer$5 = coreClient__namespace.createSerializer(Mappers, /* isXml */ false);
2130
+ const serializer$6 = coreClient__namespace.createSerializer(Mappers, /* isXml */ false);
1748
2131
  const listOperationSpec$1 = {
1749
2132
  path: "/subscriptions/{subscriptionId}/providers/Microsoft.ElasticSan/skus",
1750
2133
  httpMethod: "GET",
@@ -1759,7 +2142,7 @@ const listOperationSpec$1 = {
1759
2142
  queryParameters: [apiVersion, filter],
1760
2143
  urlParameters: [$host, subscriptionId],
1761
2144
  headerParameters: [accept],
1762
- serializer: serializer$5
2145
+ serializer: serializer$6
1763
2146
  };
1764
2147
 
1765
2148
  /*
@@ -1981,7 +2364,7 @@ class ElasticSansImpl {
1981
2364
  const lro = createLroSpec({
1982
2365
  sendOperationFn,
1983
2366
  args: { resourceGroupName, elasticSanName, parameters, options },
1984
- spec: createOperationSpec$3
2367
+ spec: createOperationSpec$4
1985
2368
  });
1986
2369
  const poller = yield coreLro.createHttpPoller(lro, {
1987
2370
  restoreFrom: options === null || options === void 0 ? void 0 : options.resumeFrom,
@@ -2096,7 +2479,7 @@ class ElasticSansImpl {
2096
2479
  const lro = createLroSpec({
2097
2480
  sendOperationFn,
2098
2481
  args: { resourceGroupName, elasticSanName, options },
2099
- spec: deleteOperationSpec$3
2482
+ spec: deleteOperationSpec$4
2100
2483
  });
2101
2484
  const poller = yield coreLro.createHttpPoller(lro, {
2102
2485
  restoreFrom: options === null || options === void 0 ? void 0 : options.resumeFrom,
@@ -2126,7 +2509,7 @@ class ElasticSansImpl {
2126
2509
  * @param options The options parameters.
2127
2510
  */
2128
2511
  get(resourceGroupName, elasticSanName, options) {
2129
- return this.client.sendOperationRequest({ resourceGroupName, elasticSanName, options }, getOperationSpec$3);
2512
+ return this.client.sendOperationRequest({ resourceGroupName, elasticSanName, options }, getOperationSpec$4);
2130
2513
  }
2131
2514
  /**
2132
2515
  * ListBySubscriptionNext
@@ -2147,7 +2530,7 @@ class ElasticSansImpl {
2147
2530
  }
2148
2531
  }
2149
2532
  // Operation Specifications
2150
- const serializer$4 = coreClient__namespace.createSerializer(Mappers, /* isXml */ false);
2533
+ const serializer$5 = coreClient__namespace.createSerializer(Mappers, /* isXml */ false);
2151
2534
  const listBySubscriptionOperationSpec = {
2152
2535
  path: "/subscriptions/{subscriptionId}/providers/Microsoft.ElasticSan/elasticSans",
2153
2536
  httpMethod: "GET",
@@ -2162,7 +2545,7 @@ const listBySubscriptionOperationSpec = {
2162
2545
  queryParameters: [apiVersion],
2163
2546
  urlParameters: [$host, subscriptionId],
2164
2547
  headerParameters: [accept],
2165
- serializer: serializer$4
2548
+ serializer: serializer$5
2166
2549
  };
2167
2550
  const listByResourceGroupOperationSpec = {
2168
2551
  path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans",
@@ -2182,9 +2565,9 @@ const listByResourceGroupOperationSpec = {
2182
2565
  resourceGroupName
2183
2566
  ],
2184
2567
  headerParameters: [accept],
2185
- serializer: serializer$4
2568
+ serializer: serializer$5
2186
2569
  };
2187
- const createOperationSpec$3 = {
2570
+ const createOperationSpec$4 = {
2188
2571
  path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}",
2189
2572
  httpMethod: "PUT",
2190
2573
  responses: {
@@ -2214,7 +2597,7 @@ const createOperationSpec$3 = {
2214
2597
  ],
2215
2598
  headerParameters: [accept, contentType],
2216
2599
  mediaType: "json",
2217
- serializer: serializer$4
2600
+ serializer: serializer$5
2218
2601
  };
2219
2602
  const updateOperationSpec$2 = {
2220
2603
  path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}",
@@ -2246,9 +2629,9 @@ const updateOperationSpec$2 = {
2246
2629
  ],
2247
2630
  headerParameters: [accept, contentType],
2248
2631
  mediaType: "json",
2249
- serializer: serializer$4
2632
+ serializer: serializer$5
2250
2633
  };
2251
- const deleteOperationSpec$3 = {
2634
+ const deleteOperationSpec$4 = {
2252
2635
  path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}",
2253
2636
  httpMethod: "DELETE",
2254
2637
  responses: {
@@ -2268,9 +2651,9 @@ const deleteOperationSpec$3 = {
2268
2651
  elasticSanName
2269
2652
  ],
2270
2653
  headerParameters: [accept],
2271
- serializer: serializer$4
2654
+ serializer: serializer$5
2272
2655
  };
2273
- const getOperationSpec$3 = {
2656
+ const getOperationSpec$4 = {
2274
2657
  path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}",
2275
2658
  httpMethod: "GET",
2276
2659
  responses: {
@@ -2289,7 +2672,7 @@ const getOperationSpec$3 = {
2289
2672
  elasticSanName
2290
2673
  ],
2291
2674
  headerParameters: [accept],
2292
- serializer: serializer$4
2675
+ serializer: serializer$5
2293
2676
  };
2294
2677
  const listBySubscriptionNextOperationSpec = {
2295
2678
  path: "{nextLink}",
@@ -2308,7 +2691,7 @@ const listBySubscriptionNextOperationSpec = {
2308
2691
  nextLink
2309
2692
  ],
2310
2693
  headerParameters: [accept],
2311
- serializer: serializer$4
2694
+ serializer: serializer$5
2312
2695
  };
2313
2696
  const listByResourceGroupNextOperationSpec = {
2314
2697
  path: "{nextLink}",
@@ -2328,7 +2711,7 @@ const listByResourceGroupNextOperationSpec = {
2328
2711
  nextLink
2329
2712
  ],
2330
2713
  headerParameters: [accept],
2331
- serializer: serializer$4
2714
+ serializer: serializer$5
2332
2715
  };
2333
2716
 
2334
2717
  /*
@@ -2466,7 +2849,7 @@ class VolumeGroupsImpl {
2466
2849
  parameters,
2467
2850
  options
2468
2851
  },
2469
- spec: createOperationSpec$2
2852
+ spec: createOperationSpec$3
2470
2853
  });
2471
2854
  const poller = yield coreLro.createHttpPoller(lro, {
2472
2855
  restoreFrom: options === null || options === void 0 ? void 0 : options.resumeFrom,
@@ -2591,7 +2974,7 @@ class VolumeGroupsImpl {
2591
2974
  const lro = createLroSpec({
2592
2975
  sendOperationFn,
2593
2976
  args: { resourceGroupName, elasticSanName, volumeGroupName, options },
2594
- spec: deleteOperationSpec$2
2977
+ spec: deleteOperationSpec$3
2595
2978
  });
2596
2979
  const poller = yield coreLro.createHttpPoller(lro, {
2597
2980
  restoreFrom: options === null || options === void 0 ? void 0 : options.resumeFrom,
@@ -2623,7 +3006,7 @@ class VolumeGroupsImpl {
2623
3006
  * @param options The options parameters.
2624
3007
  */
2625
3008
  get(resourceGroupName, elasticSanName, volumeGroupName, options) {
2626
- return this.client.sendOperationRequest({ resourceGroupName, elasticSanName, volumeGroupName, options }, getOperationSpec$2);
3009
+ return this.client.sendOperationRequest({ resourceGroupName, elasticSanName, volumeGroupName, options }, getOperationSpec$3);
2627
3010
  }
2628
3011
  /**
2629
3012
  * ListByElasticSanNext
@@ -2637,7 +3020,7 @@ class VolumeGroupsImpl {
2637
3020
  }
2638
3021
  }
2639
3022
  // Operation Specifications
2640
- const serializer$3 = coreClient__namespace.createSerializer(Mappers, /* isXml */ false);
3023
+ const serializer$4 = coreClient__namespace.createSerializer(Mappers, /* isXml */ false);
2641
3024
  const listByElasticSanOperationSpec$1 = {
2642
3025
  path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumeGroups",
2643
3026
  httpMethod: "GET",
@@ -2657,9 +3040,9 @@ const listByElasticSanOperationSpec$1 = {
2657
3040
  elasticSanName
2658
3041
  ],
2659
3042
  headerParameters: [accept],
2660
- serializer: serializer$3
3043
+ serializer: serializer$4
2661
3044
  };
2662
- const createOperationSpec$2 = {
3045
+ const createOperationSpec$3 = {
2663
3046
  path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}",
2664
3047
  httpMethod: "PUT",
2665
3048
  responses: {
@@ -2690,7 +3073,7 @@ const createOperationSpec$2 = {
2690
3073
  ],
2691
3074
  headerParameters: [accept, contentType],
2692
3075
  mediaType: "json",
2693
- serializer: serializer$3
3076
+ serializer: serializer$4
2694
3077
  };
2695
3078
  const updateOperationSpec$1 = {
2696
3079
  path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}",
@@ -2723,9 +3106,9 @@ const updateOperationSpec$1 = {
2723
3106
  ],
2724
3107
  headerParameters: [accept, contentType],
2725
3108
  mediaType: "json",
2726
- serializer: serializer$3
3109
+ serializer: serializer$4
2727
3110
  };
2728
- const deleteOperationSpec$2 = {
3111
+ const deleteOperationSpec$3 = {
2729
3112
  path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}",
2730
3113
  httpMethod: "DELETE",
2731
3114
  responses: {
@@ -2746,9 +3129,9 @@ const deleteOperationSpec$2 = {
2746
3129
  volumeGroupName
2747
3130
  ],
2748
3131
  headerParameters: [accept],
2749
- serializer: serializer$3
3132
+ serializer: serializer$4
2750
3133
  };
2751
- const getOperationSpec$2 = {
3134
+ const getOperationSpec$3 = {
2752
3135
  path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}",
2753
3136
  httpMethod: "GET",
2754
3137
  responses: {
@@ -2768,7 +3151,7 @@ const getOperationSpec$2 = {
2768
3151
  volumeGroupName
2769
3152
  ],
2770
3153
  headerParameters: [accept],
2771
- serializer: serializer$3
3154
+ serializer: serializer$4
2772
3155
  };
2773
3156
  const listByElasticSanNextOperationSpec = {
2774
3157
  path: "{nextLink}",
@@ -2789,7 +3172,7 @@ const listByElasticSanNextOperationSpec = {
2789
3172
  nextLink
2790
3173
  ],
2791
3174
  headerParameters: [accept],
2792
- serializer: serializer$3
3175
+ serializer: serializer$4
2793
3176
  };
2794
3177
 
2795
3178
  /*
@@ -2921,7 +3304,7 @@ class VolumesImpl {
2921
3304
  parameters,
2922
3305
  options
2923
3306
  },
2924
- spec: createOperationSpec$1
3307
+ spec: createOperationSpec$2
2925
3308
  });
2926
3309
  const poller = yield coreLro.createHttpPoller(lro, {
2927
3310
  restoreFrom: options === null || options === void 0 ? void 0 : options.resumeFrom,
@@ -3057,7 +3440,7 @@ class VolumesImpl {
3057
3440
  volumeName,
3058
3441
  options
3059
3442
  },
3060
- spec: deleteOperationSpec$1
3443
+ spec: deleteOperationSpec$2
3061
3444
  });
3062
3445
  const poller = yield coreLro.createHttpPoller(lro, {
3063
3446
  restoreFrom: options === null || options === void 0 ? void 0 : options.resumeFrom,
@@ -3097,7 +3480,7 @@ class VolumesImpl {
3097
3480
  volumeGroupName,
3098
3481
  volumeName,
3099
3482
  options
3100
- }, getOperationSpec$1);
3483
+ }, getOperationSpec$2);
3101
3484
  }
3102
3485
  /**
3103
3486
  * List Volumes in a VolumeGroup.
@@ -3107,7 +3490,7 @@ class VolumesImpl {
3107
3490
  * @param options The options parameters.
3108
3491
  */
3109
3492
  _listByVolumeGroup(resourceGroupName, elasticSanName, volumeGroupName, options) {
3110
- return this.client.sendOperationRequest({ resourceGroupName, elasticSanName, volumeGroupName, options }, listByVolumeGroupOperationSpec);
3493
+ return this.client.sendOperationRequest({ resourceGroupName, elasticSanName, volumeGroupName, options }, listByVolumeGroupOperationSpec$1);
3111
3494
  }
3112
3495
  /**
3113
3496
  * ListByVolumeGroupNext
@@ -3118,12 +3501,12 @@ class VolumesImpl {
3118
3501
  * @param options The options parameters.
3119
3502
  */
3120
3503
  _listByVolumeGroupNext(resourceGroupName, elasticSanName, volumeGroupName, nextLink, options) {
3121
- return this.client.sendOperationRequest({ resourceGroupName, elasticSanName, volumeGroupName, nextLink, options }, listByVolumeGroupNextOperationSpec);
3504
+ return this.client.sendOperationRequest({ resourceGroupName, elasticSanName, volumeGroupName, nextLink, options }, listByVolumeGroupNextOperationSpec$1);
3122
3505
  }
3123
3506
  }
3124
3507
  // Operation Specifications
3125
- const serializer$2 = coreClient__namespace.createSerializer(Mappers, /* isXml */ false);
3126
- const createOperationSpec$1 = {
3508
+ const serializer$3 = coreClient__namespace.createSerializer(Mappers, /* isXml */ false);
3509
+ const createOperationSpec$2 = {
3127
3510
  path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}/volumes/{volumeName}",
3128
3511
  httpMethod: "PUT",
3129
3512
  responses: {
@@ -3155,7 +3538,7 @@ const createOperationSpec$1 = {
3155
3538
  ],
3156
3539
  headerParameters: [accept, contentType],
3157
3540
  mediaType: "json",
3158
- serializer: serializer$2
3541
+ serializer: serializer$3
3159
3542
  };
3160
3543
  const updateOperationSpec = {
3161
3544
  path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}/volumes/{volumeName}",
@@ -3189,9 +3572,9 @@ const updateOperationSpec = {
3189
3572
  ],
3190
3573
  headerParameters: [accept, contentType],
3191
3574
  mediaType: "json",
3192
- serializer: serializer$2
3575
+ serializer: serializer$3
3193
3576
  };
3194
- const deleteOperationSpec$1 = {
3577
+ const deleteOperationSpec$2 = {
3195
3578
  path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}/volumes/{volumeName}",
3196
3579
  httpMethod: "DELETE",
3197
3580
  responses: {
@@ -3212,10 +3595,14 @@ const deleteOperationSpec$1 = {
3212
3595
  volumeGroupName,
3213
3596
  volumeName
3214
3597
  ],
3215
- headerParameters: [accept],
3216
- serializer: serializer$2
3598
+ headerParameters: [
3599
+ accept,
3600
+ xMsDeleteSnapshots,
3601
+ xMsForceDelete
3602
+ ],
3603
+ serializer: serializer$3
3217
3604
  };
3218
- const getOperationSpec$1 = {
3605
+ const getOperationSpec$2 = {
3219
3606
  path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}/volumes/{volumeName}",
3220
3607
  httpMethod: "GET",
3221
3608
  responses: {
@@ -3236,9 +3623,9 @@ const getOperationSpec$1 = {
3236
3623
  volumeName
3237
3624
  ],
3238
3625
  headerParameters: [accept],
3239
- serializer: serializer$2
3626
+ serializer: serializer$3
3240
3627
  };
3241
- const listByVolumeGroupOperationSpec = {
3628
+ const listByVolumeGroupOperationSpec$1 = {
3242
3629
  path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}/volumes",
3243
3630
  httpMethod: "GET",
3244
3631
  responses: {
@@ -3258,9 +3645,9 @@ const listByVolumeGroupOperationSpec = {
3258
3645
  volumeGroupName
3259
3646
  ],
3260
3647
  headerParameters: [accept],
3261
- serializer: serializer$2
3648
+ serializer: serializer$3
3262
3649
  };
3263
- const listByVolumeGroupNextOperationSpec = {
3650
+ const listByVolumeGroupNextOperationSpec$1 = {
3264
3651
  path: "{nextLink}",
3265
3652
  httpMethod: "GET",
3266
3653
  responses: {
@@ -3280,7 +3667,7 @@ const listByVolumeGroupNextOperationSpec = {
3280
3667
  volumeGroupName
3281
3668
  ],
3282
3669
  headerParameters: [accept],
3283
- serializer: serializer$2
3670
+ serializer: serializer$3
3284
3671
  };
3285
3672
 
3286
3673
  /*
@@ -3396,7 +3783,7 @@ class PrivateEndpointConnectionsImpl {
3396
3783
  parameters,
3397
3784
  options
3398
3785
  },
3399
- spec: createOperationSpec
3786
+ spec: createOperationSpec$1
3400
3787
  });
3401
3788
  const poller = yield coreLro.createHttpPoller(lro, {
3402
3789
  restoreFrom: options === null || options === void 0 ? void 0 : options.resumeFrom,
@@ -3434,7 +3821,7 @@ class PrivateEndpointConnectionsImpl {
3434
3821
  elasticSanName,
3435
3822
  privateEndpointConnectionName,
3436
3823
  options
3437
- }, getOperationSpec);
3824
+ }, getOperationSpec$1);
3438
3825
  }
3439
3826
  /**
3440
3827
  * Deletes the specified private endpoint connection associated with the Elastic San
@@ -3475,7 +3862,7 @@ class PrivateEndpointConnectionsImpl {
3475
3862
  privateEndpointConnectionName,
3476
3863
  options
3477
3864
  },
3478
- spec: deleteOperationSpec
3865
+ spec: deleteOperationSpec$1
3479
3866
  });
3480
3867
  const poller = yield coreLro.createHttpPoller(lro, {
3481
3868
  restoreFrom: options === null || options === void 0 ? void 0 : options.resumeFrom,
@@ -3510,8 +3897,8 @@ class PrivateEndpointConnectionsImpl {
3510
3897
  }
3511
3898
  }
3512
3899
  // Operation Specifications
3513
- const serializer$1 = coreClient__namespace.createSerializer(Mappers, /* isXml */ false);
3514
- const createOperationSpec = {
3900
+ const serializer$2 = coreClient__namespace.createSerializer(Mappers, /* isXml */ false);
3901
+ const createOperationSpec$1 = {
3515
3902
  path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/privateEndpointConnections/{privateEndpointConnectionName}",
3516
3903
  httpMethod: "PUT",
3517
3904
  responses: {
@@ -3542,9 +3929,9 @@ const createOperationSpec = {
3542
3929
  ],
3543
3930
  headerParameters: [accept, contentType],
3544
3931
  mediaType: "json",
3545
- serializer: serializer$1
3932
+ serializer: serializer$2
3546
3933
  };
3547
- const getOperationSpec = {
3934
+ const getOperationSpec$1 = {
3548
3935
  path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/privateEndpointConnections/{privateEndpointConnectionName}",
3549
3936
  httpMethod: "GET",
3550
3937
  responses: {
@@ -3564,9 +3951,9 @@ const getOperationSpec = {
3564
3951
  privateEndpointConnectionName
3565
3952
  ],
3566
3953
  headerParameters: [accept],
3567
- serializer: serializer$1
3954
+ serializer: serializer$2
3568
3955
  };
3569
- const deleteOperationSpec = {
3956
+ const deleteOperationSpec$1 = {
3570
3957
  path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/privateEndpointConnections/{privateEndpointConnectionName}",
3571
3958
  httpMethod: "DELETE",
3572
3959
  responses: {
@@ -3587,7 +3974,7 @@ const deleteOperationSpec = {
3587
3974
  privateEndpointConnectionName
3588
3975
  ],
3589
3976
  headerParameters: [accept],
3590
- serializer: serializer$1
3977
+ serializer: serializer$2
3591
3978
  };
3592
3979
  const listOperationSpec = {
3593
3980
  path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/privateEndpointConnections",
@@ -3608,7 +3995,7 @@ const listOperationSpec = {
3608
3995
  elasticSanName
3609
3996
  ],
3610
3997
  headerParameters: [accept],
3611
- serializer: serializer$1
3998
+ serializer: serializer$2
3612
3999
  };
3613
4000
 
3614
4001
  /*
@@ -3638,7 +4025,7 @@ class PrivateLinkResourcesImpl {
3638
4025
  }
3639
4026
  }
3640
4027
  // Operation Specifications
3641
- const serializer = coreClient__namespace.createSerializer(Mappers, /* isXml */ false);
4028
+ const serializer$1 = coreClient__namespace.createSerializer(Mappers, /* isXml */ false);
3642
4029
  const listByElasticSanOperationSpec = {
3643
4030
  path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/privateLinkResources",
3644
4031
  httpMethod: "GET",
@@ -3658,6 +4045,394 @@ const listByElasticSanOperationSpec = {
3658
4045
  elasticSanName
3659
4046
  ],
3660
4047
  headerParameters: [accept],
4048
+ serializer: serializer$1
4049
+ };
4050
+
4051
+ /*
4052
+ * Copyright (c) Microsoft Corporation.
4053
+ * Licensed under the MIT License.
4054
+ *
4055
+ * Code generated by Microsoft (R) AutoRest Code Generator.
4056
+ * Changes may cause incorrect behavior and will be lost if the code is regenerated.
4057
+ */
4058
+ /// <reference lib="esnext.asynciterable" />
4059
+ /** Class containing VolumeSnapshots operations. */
4060
+ class VolumeSnapshotsImpl {
4061
+ /**
4062
+ * Initialize a new instance of the class VolumeSnapshots class.
4063
+ * @param client Reference to the service client
4064
+ */
4065
+ constructor(client) {
4066
+ this.client = client;
4067
+ }
4068
+ /**
4069
+ * List Snapshots in a VolumeGroup or List Snapshots by Volume (name) in a VolumeGroup using filter
4070
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
4071
+ * @param elasticSanName The name of the ElasticSan.
4072
+ * @param volumeGroupName The name of the VolumeGroup.
4073
+ * @param options The options parameters.
4074
+ */
4075
+ listByVolumeGroup(resourceGroupName, elasticSanName, volumeGroupName, options) {
4076
+ const iter = this.listByVolumeGroupPagingAll(resourceGroupName, elasticSanName, volumeGroupName, options);
4077
+ return {
4078
+ next() {
4079
+ return iter.next();
4080
+ },
4081
+ [Symbol.asyncIterator]() {
4082
+ return this;
4083
+ },
4084
+ byPage: (settings) => {
4085
+ if (settings === null || settings === void 0 ? void 0 : settings.maxPageSize) {
4086
+ throw new Error("maxPageSize is not supported by this operation.");
4087
+ }
4088
+ return this.listByVolumeGroupPagingPage(resourceGroupName, elasticSanName, volumeGroupName, options, settings);
4089
+ }
4090
+ };
4091
+ }
4092
+ listByVolumeGroupPagingPage(resourceGroupName, elasticSanName, volumeGroupName, options, settings) {
4093
+ return tslib.__asyncGenerator(this, arguments, function* listByVolumeGroupPagingPage_1() {
4094
+ let result;
4095
+ let continuationToken = settings === null || settings === void 0 ? void 0 : settings.continuationToken;
4096
+ if (!continuationToken) {
4097
+ result = yield tslib.__await(this._listByVolumeGroup(resourceGroupName, elasticSanName, volumeGroupName, options));
4098
+ let page = result.value || [];
4099
+ continuationToken = result.nextLink;
4100
+ setContinuationToken(page, continuationToken);
4101
+ yield yield tslib.__await(page);
4102
+ }
4103
+ while (continuationToken) {
4104
+ result = yield tslib.__await(this._listByVolumeGroupNext(resourceGroupName, elasticSanName, volumeGroupName, continuationToken, options));
4105
+ continuationToken = result.nextLink;
4106
+ let page = result.value || [];
4107
+ setContinuationToken(page, continuationToken);
4108
+ yield yield tslib.__await(page);
4109
+ }
4110
+ });
4111
+ }
4112
+ listByVolumeGroupPagingAll(resourceGroupName, elasticSanName, volumeGroupName, options) {
4113
+ return tslib.__asyncGenerator(this, arguments, function* listByVolumeGroupPagingAll_1() {
4114
+ var _a, e_1, _b, _c;
4115
+ try {
4116
+ for (var _d = true, _e = tslib.__asyncValues(this.listByVolumeGroupPagingPage(resourceGroupName, elasticSanName, volumeGroupName, options)), _f; _f = yield tslib.__await(_e.next()), _a = _f.done, !_a;) {
4117
+ _c = _f.value;
4118
+ _d = false;
4119
+ try {
4120
+ const page = _c;
4121
+ yield tslib.__await(yield* tslib.__asyncDelegator(tslib.__asyncValues(page)));
4122
+ }
4123
+ finally {
4124
+ _d = true;
4125
+ }
4126
+ }
4127
+ }
4128
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
4129
+ finally {
4130
+ try {
4131
+ if (!_d && !_a && (_b = _e.return)) yield tslib.__await(_b.call(_e));
4132
+ }
4133
+ finally { if (e_1) throw e_1.error; }
4134
+ }
4135
+ });
4136
+ }
4137
+ /**
4138
+ * List Snapshots in a VolumeGroup or List Snapshots by Volume (name) in a VolumeGroup using filter
4139
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
4140
+ * @param elasticSanName The name of the ElasticSan.
4141
+ * @param volumeGroupName The name of the VolumeGroup.
4142
+ * @param options The options parameters.
4143
+ */
4144
+ _listByVolumeGroup(resourceGroupName, elasticSanName, volumeGroupName, options) {
4145
+ return this.client.sendOperationRequest({ resourceGroupName, elasticSanName, volumeGroupName, options }, listByVolumeGroupOperationSpec);
4146
+ }
4147
+ /**
4148
+ * Create a Volume Snapshot.
4149
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
4150
+ * @param elasticSanName The name of the ElasticSan.
4151
+ * @param volumeGroupName The name of the VolumeGroup.
4152
+ * @param snapshotName The name of the volume snapshot within the given volume group.
4153
+ * @param parameters Snapshot object.
4154
+ * @param options The options parameters.
4155
+ */
4156
+ beginCreate(resourceGroupName, elasticSanName, volumeGroupName, snapshotName, parameters, options) {
4157
+ return tslib.__awaiter(this, void 0, void 0, function* () {
4158
+ const directSendOperation = (args, spec) => tslib.__awaiter(this, void 0, void 0, function* () {
4159
+ return this.client.sendOperationRequest(args, spec);
4160
+ });
4161
+ const sendOperationFn = (args, spec) => tslib.__awaiter(this, void 0, void 0, function* () {
4162
+ var _a;
4163
+ let currentRawResponse = undefined;
4164
+ const providedCallback = (_a = args.options) === null || _a === void 0 ? void 0 : _a.onResponse;
4165
+ const callback = (rawResponse, flatResponse) => {
4166
+ currentRawResponse = rawResponse;
4167
+ providedCallback === null || providedCallback === void 0 ? void 0 : providedCallback(rawResponse, flatResponse);
4168
+ };
4169
+ const updatedArgs = Object.assign(Object.assign({}, args), { options: Object.assign(Object.assign({}, args.options), { onResponse: callback }) });
4170
+ const flatResponse = yield directSendOperation(updatedArgs, spec);
4171
+ return {
4172
+ flatResponse,
4173
+ rawResponse: {
4174
+ statusCode: currentRawResponse.status,
4175
+ body: currentRawResponse.parsedBody,
4176
+ headers: currentRawResponse.headers.toJSON()
4177
+ }
4178
+ };
4179
+ });
4180
+ const lro = createLroSpec({
4181
+ sendOperationFn,
4182
+ args: {
4183
+ resourceGroupName,
4184
+ elasticSanName,
4185
+ volumeGroupName,
4186
+ snapshotName,
4187
+ parameters,
4188
+ options
4189
+ },
4190
+ spec: createOperationSpec
4191
+ });
4192
+ const poller = yield coreLro.createHttpPoller(lro, {
4193
+ restoreFrom: options === null || options === void 0 ? void 0 : options.resumeFrom,
4194
+ intervalInMs: options === null || options === void 0 ? void 0 : options.updateIntervalInMs,
4195
+ resourceLocationConfig: "location"
4196
+ });
4197
+ yield poller.poll();
4198
+ return poller;
4199
+ });
4200
+ }
4201
+ /**
4202
+ * Create a Volume Snapshot.
4203
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
4204
+ * @param elasticSanName The name of the ElasticSan.
4205
+ * @param volumeGroupName The name of the VolumeGroup.
4206
+ * @param snapshotName The name of the volume snapshot within the given volume group.
4207
+ * @param parameters Snapshot object.
4208
+ * @param options The options parameters.
4209
+ */
4210
+ beginCreateAndWait(resourceGroupName, elasticSanName, volumeGroupName, snapshotName, parameters, options) {
4211
+ return tslib.__awaiter(this, void 0, void 0, function* () {
4212
+ const poller = yield this.beginCreate(resourceGroupName, elasticSanName, volumeGroupName, snapshotName, parameters, options);
4213
+ return poller.pollUntilDone();
4214
+ });
4215
+ }
4216
+ /**
4217
+ * Delete a Volume Snapshot.
4218
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
4219
+ * @param elasticSanName The name of the ElasticSan.
4220
+ * @param volumeGroupName The name of the VolumeGroup.
4221
+ * @param snapshotName The name of the volume snapshot within the given volume group.
4222
+ * @param options The options parameters.
4223
+ */
4224
+ beginDelete(resourceGroupName, elasticSanName, volumeGroupName, snapshotName, options) {
4225
+ return tslib.__awaiter(this, void 0, void 0, function* () {
4226
+ const directSendOperation = (args, spec) => tslib.__awaiter(this, void 0, void 0, function* () {
4227
+ return this.client.sendOperationRequest(args, spec);
4228
+ });
4229
+ const sendOperationFn = (args, spec) => tslib.__awaiter(this, void 0, void 0, function* () {
4230
+ var _a;
4231
+ let currentRawResponse = undefined;
4232
+ const providedCallback = (_a = args.options) === null || _a === void 0 ? void 0 : _a.onResponse;
4233
+ const callback = (rawResponse, flatResponse) => {
4234
+ currentRawResponse = rawResponse;
4235
+ providedCallback === null || providedCallback === void 0 ? void 0 : providedCallback(rawResponse, flatResponse);
4236
+ };
4237
+ const updatedArgs = Object.assign(Object.assign({}, args), { options: Object.assign(Object.assign({}, args.options), { onResponse: callback }) });
4238
+ const flatResponse = yield directSendOperation(updatedArgs, spec);
4239
+ return {
4240
+ flatResponse,
4241
+ rawResponse: {
4242
+ statusCode: currentRawResponse.status,
4243
+ body: currentRawResponse.parsedBody,
4244
+ headers: currentRawResponse.headers.toJSON()
4245
+ }
4246
+ };
4247
+ });
4248
+ const lro = createLroSpec({
4249
+ sendOperationFn,
4250
+ args: {
4251
+ resourceGroupName,
4252
+ elasticSanName,
4253
+ volumeGroupName,
4254
+ snapshotName,
4255
+ options
4256
+ },
4257
+ spec: deleteOperationSpec
4258
+ });
4259
+ const poller = yield coreLro.createHttpPoller(lro, {
4260
+ restoreFrom: options === null || options === void 0 ? void 0 : options.resumeFrom,
4261
+ intervalInMs: options === null || options === void 0 ? void 0 : options.updateIntervalInMs,
4262
+ resourceLocationConfig: "location"
4263
+ });
4264
+ yield poller.poll();
4265
+ return poller;
4266
+ });
4267
+ }
4268
+ /**
4269
+ * Delete a Volume Snapshot.
4270
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
4271
+ * @param elasticSanName The name of the ElasticSan.
4272
+ * @param volumeGroupName The name of the VolumeGroup.
4273
+ * @param snapshotName The name of the volume snapshot within the given volume group.
4274
+ * @param options The options parameters.
4275
+ */
4276
+ beginDeleteAndWait(resourceGroupName, elasticSanName, volumeGroupName, snapshotName, options) {
4277
+ return tslib.__awaiter(this, void 0, void 0, function* () {
4278
+ const poller = yield this.beginDelete(resourceGroupName, elasticSanName, volumeGroupName, snapshotName, options);
4279
+ return poller.pollUntilDone();
4280
+ });
4281
+ }
4282
+ /**
4283
+ * Get 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 options The options parameters.
4289
+ */
4290
+ get(resourceGroupName, elasticSanName, volumeGroupName, snapshotName, options) {
4291
+ return this.client.sendOperationRequest({
4292
+ resourceGroupName,
4293
+ elasticSanName,
4294
+ volumeGroupName,
4295
+ snapshotName,
4296
+ options
4297
+ }, getOperationSpec);
4298
+ }
4299
+ /**
4300
+ * ListByVolumeGroupNext
4301
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
4302
+ * @param elasticSanName The name of the ElasticSan.
4303
+ * @param volumeGroupName The name of the VolumeGroup.
4304
+ * @param nextLink The nextLink from the previous successful call to the ListByVolumeGroup method.
4305
+ * @param options The options parameters.
4306
+ */
4307
+ _listByVolumeGroupNext(resourceGroupName, elasticSanName, volumeGroupName, nextLink, options) {
4308
+ return this.client.sendOperationRequest({ resourceGroupName, elasticSanName, volumeGroupName, nextLink, options }, listByVolumeGroupNextOperationSpec);
4309
+ }
4310
+ }
4311
+ // Operation Specifications
4312
+ const serializer = coreClient__namespace.createSerializer(Mappers, /* isXml */ false);
4313
+ const listByVolumeGroupOperationSpec = {
4314
+ path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}/snapshots",
4315
+ httpMethod: "GET",
4316
+ responses: {
4317
+ 200: {
4318
+ bodyMapper: SnapshotList
4319
+ },
4320
+ default: {
4321
+ bodyMapper: ErrorResponse
4322
+ }
4323
+ },
4324
+ queryParameters: [apiVersion, filter],
4325
+ urlParameters: [
4326
+ $host,
4327
+ subscriptionId,
4328
+ resourceGroupName,
4329
+ elasticSanName,
4330
+ volumeGroupName
4331
+ ],
4332
+ headerParameters: [accept],
4333
+ serializer
4334
+ };
4335
+ const createOperationSpec = {
4336
+ path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}/snapshots/{snapshotName}",
4337
+ httpMethod: "PUT",
4338
+ responses: {
4339
+ 200: {
4340
+ bodyMapper: Snapshot
4341
+ },
4342
+ 201: {
4343
+ bodyMapper: Snapshot
4344
+ },
4345
+ 202: {
4346
+ bodyMapper: Snapshot
4347
+ },
4348
+ 204: {
4349
+ bodyMapper: Snapshot
4350
+ },
4351
+ default: {
4352
+ bodyMapper: ErrorResponse
4353
+ }
4354
+ },
4355
+ requestBody: parameters7,
4356
+ queryParameters: [apiVersion],
4357
+ urlParameters: [
4358
+ $host,
4359
+ subscriptionId,
4360
+ resourceGroupName,
4361
+ elasticSanName,
4362
+ volumeGroupName,
4363
+ snapshotName
4364
+ ],
4365
+ headerParameters: [accept, contentType],
4366
+ mediaType: "json",
4367
+ serializer
4368
+ };
4369
+ const deleteOperationSpec = {
4370
+ path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}/snapshots/{snapshotName}",
4371
+ httpMethod: "DELETE",
4372
+ responses: {
4373
+ 200: {},
4374
+ 201: {},
4375
+ 202: {},
4376
+ 204: {},
4377
+ default: {
4378
+ bodyMapper: ErrorResponse
4379
+ }
4380
+ },
4381
+ queryParameters: [apiVersion],
4382
+ urlParameters: [
4383
+ $host,
4384
+ subscriptionId,
4385
+ resourceGroupName,
4386
+ elasticSanName,
4387
+ volumeGroupName,
4388
+ snapshotName
4389
+ ],
4390
+ headerParameters: [accept],
4391
+ serializer
4392
+ };
4393
+ const getOperationSpec = {
4394
+ path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}/snapshots/{snapshotName}",
4395
+ httpMethod: "GET",
4396
+ responses: {
4397
+ 200: {
4398
+ bodyMapper: Snapshot
4399
+ },
4400
+ default: {
4401
+ bodyMapper: ErrorResponse
4402
+ }
4403
+ },
4404
+ queryParameters: [apiVersion],
4405
+ urlParameters: [
4406
+ $host,
4407
+ subscriptionId,
4408
+ resourceGroupName,
4409
+ elasticSanName,
4410
+ volumeGroupName,
4411
+ snapshotName
4412
+ ],
4413
+ headerParameters: [accept],
4414
+ serializer
4415
+ };
4416
+ const listByVolumeGroupNextOperationSpec = {
4417
+ path: "{nextLink}",
4418
+ httpMethod: "GET",
4419
+ responses: {
4420
+ 200: {
4421
+ bodyMapper: SnapshotList
4422
+ },
4423
+ default: {
4424
+ bodyMapper: ErrorResponse
4425
+ }
4426
+ },
4427
+ urlParameters: [
4428
+ $host,
4429
+ subscriptionId,
4430
+ resourceGroupName,
4431
+ elasticSanName,
4432
+ nextLink,
4433
+ volumeGroupName
4434
+ ],
4435
+ headerParameters: [accept],
3661
4436
  serializer
3662
4437
  };
3663
4438
 
@@ -3691,7 +4466,7 @@ class ElasticSanManagement extends coreClient__namespace.ServiceClient {
3691
4466
  requestContentType: "application/json; charset=utf-8",
3692
4467
  credential: credentials
3693
4468
  };
3694
- const packageDetails = `azsdk-js-arm-elasticsan/1.0.0-beta.2`;
4469
+ const packageDetails = `azsdk-js-arm-elasticsan/1.0.0-beta.3`;
3695
4470
  const userAgentPrefix = options.userAgentOptions && options.userAgentOptions.userAgentPrefix
3696
4471
  ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}`
3697
4472
  : `${packageDetails}`;
@@ -3724,7 +4499,7 @@ class ElasticSanManagement extends coreClient__namespace.ServiceClient {
3724
4499
  this.subscriptionId = subscriptionId;
3725
4500
  // Assigning values to Constant parameters
3726
4501
  this.$host = options.$host || "https://management.azure.com";
3727
- this.apiVersion = options.apiVersion || "2022-12-01-preview";
4502
+ this.apiVersion = options.apiVersion || "2023-01-01";
3728
4503
  this.operations = new OperationsImpl(this);
3729
4504
  this.skus = new SkusImpl(this);
3730
4505
  this.elasticSans = new ElasticSansImpl(this);
@@ -3732,6 +4507,7 @@ class ElasticSanManagement extends coreClient__namespace.ServiceClient {
3732
4507
  this.volumes = new VolumesImpl(this);
3733
4508
  this.privateEndpointConnections = new PrivateEndpointConnectionsImpl(this);
3734
4509
  this.privateLinkResources = new PrivateLinkResourcesImpl(this);
4510
+ this.volumeSnapshots = new VolumeSnapshotsImpl(this);
3735
4511
  this.addCustomApiVersionPolicy(options.apiVersion);
3736
4512
  }
3737
4513
  /** A function that adds a policy that sets the api-version (or equivalent) to reflect the library version. */