@azure/arm-elasticsan 1.0.0-alpha.20231017.1 → 1.0.0-alpha.20231023.1

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 (117) hide show
  1. package/CHANGELOG.md +6 -2
  2. package/README.md +1 -1
  3. package/dist/index.js +880 -141
  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 +8 -18
  12. package/dist-esm/samples-dev/elasticSansListByResourceGroupSample.js.map +1 -1
  13. package/dist-esm/samples-dev/elasticSansListBySubscriptionSample.js +8 -18
  14. package/dist-esm/samples-dev/elasticSansListBySubscriptionSample.js.map +1 -1
  15. package/dist-esm/samples-dev/elasticSansUpdateSample.js +6 -5
  16. package/dist-esm/samples-dev/elasticSansUpdateSample.js.map +1 -1
  17. package/dist-esm/samples-dev/operationsListSample.js +8 -18
  18. package/dist-esm/samples-dev/operationsListSample.js.map +1 -1
  19. package/dist-esm/samples-dev/privateEndpointConnectionsCreateSample.js +6 -10
  20. package/dist-esm/samples-dev/privateEndpointConnectionsCreateSample.js.map +1 -1
  21. package/dist-esm/samples-dev/privateEndpointConnectionsDeleteSample.js +2 -2
  22. package/dist-esm/samples-dev/privateEndpointConnectionsGetSample.js +2 -2
  23. package/dist-esm/samples-dev/privateEndpointConnectionsListSample.js +8 -18
  24. package/dist-esm/samples-dev/privateEndpointConnectionsListSample.js.map +1 -1
  25. package/dist-esm/samples-dev/privateLinkResourcesListByElasticSanSample.js +2 -2
  26. package/dist-esm/samples-dev/skusListSample.js +9 -19
  27. package/dist-esm/samples-dev/skusListSample.js.map +1 -1
  28. package/dist-esm/samples-dev/volumeGroupsCreateSample.js +12 -3
  29. package/dist-esm/samples-dev/volumeGroupsCreateSample.js.map +1 -1
  30. package/dist-esm/samples-dev/volumeGroupsDeleteSample.js +2 -2
  31. package/dist-esm/samples-dev/volumeGroupsGetSample.js +2 -2
  32. package/dist-esm/samples-dev/volumeGroupsListByElasticSanSample.js +8 -18
  33. package/dist-esm/samples-dev/volumeGroupsListByElasticSanSample.js.map +1 -1
  34. package/dist-esm/samples-dev/volumeGroupsUpdateSample.js +11 -2
  35. package/dist-esm/samples-dev/volumeGroupsUpdateSample.js.map +1 -1
  36. package/dist-esm/samples-dev/volumeSnapshotsCreateSample.d.ts +2 -0
  37. package/dist-esm/samples-dev/volumeSnapshotsCreateSample.d.ts.map +1 -0
  38. package/dist-esm/samples-dev/volumeSnapshotsCreateSample.js +70 -0
  39. package/dist-esm/samples-dev/volumeSnapshotsCreateSample.js.map +1 -0
  40. package/dist-esm/samples-dev/volumeSnapshotsDeleteSample.d.ts +2 -0
  41. package/dist-esm/samples-dev/volumeSnapshotsDeleteSample.d.ts.map +1 -0
  42. package/dist-esm/samples-dev/volumeSnapshotsDeleteSample.js +60 -0
  43. package/dist-esm/samples-dev/volumeSnapshotsDeleteSample.js.map +1 -0
  44. package/dist-esm/samples-dev/volumeSnapshotsGetSample.d.ts +2 -0
  45. package/dist-esm/samples-dev/volumeSnapshotsGetSample.d.ts.map +1 -0
  46. package/dist-esm/samples-dev/volumeSnapshotsGetSample.js +60 -0
  47. package/dist-esm/samples-dev/volumeSnapshotsGetSample.js.map +1 -0
  48. package/dist-esm/samples-dev/volumeSnapshotsListByVolumeGroupSample.d.ts +2 -0
  49. package/dist-esm/samples-dev/volumeSnapshotsListByVolumeGroupSample.d.ts.map +1 -0
  50. package/dist-esm/samples-dev/volumeSnapshotsListByVolumeGroupSample.js +92 -0
  51. package/dist-esm/samples-dev/volumeSnapshotsListByVolumeGroupSample.js.map +1 -0
  52. package/dist-esm/samples-dev/volumesCreateSample.js +6 -5
  53. package/dist-esm/samples-dev/volumesCreateSample.js.map +1 -1
  54. package/dist-esm/samples-dev/volumesDeleteSample.js +9 -3
  55. package/dist-esm/samples-dev/volumesDeleteSample.js.map +1 -1
  56. package/dist-esm/samples-dev/volumesGetSample.js +2 -2
  57. package/dist-esm/samples-dev/volumesListByVolumeGroupSample.js +8 -18
  58. package/dist-esm/samples-dev/volumesListByVolumeGroupSample.js.map +1 -1
  59. package/dist-esm/samples-dev/volumesUpdateSample.js +2 -2
  60. package/dist-esm/src/elasticSanManagement.d.ts +2 -1
  61. package/dist-esm/src/elasticSanManagement.d.ts.map +1 -1
  62. package/dist-esm/src/elasticSanManagement.js +4 -3
  63. package/dist-esm/src/elasticSanManagement.js.map +1 -1
  64. package/dist-esm/src/models/index.d.ts +284 -13
  65. package/dist-esm/src/models/index.d.ts.map +1 -1
  66. package/dist-esm/src/models/index.js +56 -0
  67. package/dist-esm/src/models/index.js.map +1 -1
  68. package/dist-esm/src/models/mappers.d.ts +10 -0
  69. package/dist-esm/src/models/mappers.d.ts.map +1 -1
  70. package/dist-esm/src/models/mappers.js +303 -20
  71. package/dist-esm/src/models/mappers.js.map +1 -1
  72. package/dist-esm/src/models/parameters.d.ts +4 -0
  73. package/dist-esm/src/models/parameters.d.ts.map +1 -1
  74. package/dist-esm/src/models/parameters.js +39 -2
  75. package/dist-esm/src/models/parameters.js.map +1 -1
  76. package/dist-esm/src/operations/elasticSans.js +6 -16
  77. package/dist-esm/src/operations/elasticSans.js.map +1 -1
  78. package/dist-esm/src/operations/index.d.ts +1 -0
  79. package/dist-esm/src/operations/index.d.ts.map +1 -1
  80. package/dist-esm/src/operations/index.js +1 -0
  81. package/dist-esm/src/operations/index.js.map +1 -1
  82. package/dist-esm/src/operations/operations.js +3 -8
  83. package/dist-esm/src/operations/operations.js.map +1 -1
  84. package/dist-esm/src/operations/privateEndpointConnections.js +3 -8
  85. package/dist-esm/src/operations/privateEndpointConnections.js.map +1 -1
  86. package/dist-esm/src/operations/skus.js +3 -8
  87. package/dist-esm/src/operations/skus.js.map +1 -1
  88. package/dist-esm/src/operations/volumeGroups.js +3 -8
  89. package/dist-esm/src/operations/volumeGroups.js.map +1 -1
  90. package/dist-esm/src/operations/volumeSnapshots.d.ts +89 -0
  91. package/dist-esm/src/operations/volumeSnapshots.d.ts.map +1 -0
  92. package/dist-esm/src/operations/volumeSnapshots.js +390 -0
  93. package/dist-esm/src/operations/volumeSnapshots.js.map +1 -0
  94. package/dist-esm/src/operations/volumes.js +8 -9
  95. package/dist-esm/src/operations/volumes.js.map +1 -1
  96. package/dist-esm/src/operationsInterfaces/index.d.ts +1 -0
  97. package/dist-esm/src/operationsInterfaces/index.d.ts.map +1 -1
  98. package/dist-esm/src/operationsInterfaces/index.js +1 -0
  99. package/dist-esm/src/operationsInterfaces/index.js.map +1 -1
  100. package/dist-esm/src/operationsInterfaces/volumeSnapshots.d.ts +62 -0
  101. package/dist-esm/src/operationsInterfaces/volumeSnapshots.d.ts.map +1 -0
  102. package/dist-esm/src/operationsInterfaces/volumeSnapshots.js +9 -0
  103. package/dist-esm/src/operationsInterfaces/volumeSnapshots.js.map +1 -0
  104. package/dist-esm/test/elasticsan_examples.spec.js +3 -8
  105. package/dist-esm/test/elasticsan_examples.spec.js.map +1 -1
  106. package/package.json +8 -8
  107. package/review/arm-elasticsan.api.md +187 -6
  108. package/src/elasticSanManagement.ts +8 -4
  109. package/src/models/index.ts +316 -18
  110. package/src/models/mappers.ts +323 -19
  111. package/src/models/parameters.ts +44 -2
  112. package/src/operations/index.ts +1 -0
  113. package/src/operations/volumeSnapshots.ts +551 -0
  114. package/src/operations/volumes.ts +5 -1
  115. package/src/operationsInterfaces/index.ts +1 -0
  116. package/src/operationsInterfaces/volumeSnapshots.ts +121 -0
  117. package/types/arm-elasticsan.d.ts +375 -14
package/dist/index.js CHANGED
@@ -138,6 +138,24 @@ exports.KnownCreatedByType = void 0;
138
138
  /** Key */
139
139
  KnownCreatedByType["Key"] = "Key";
140
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 = {}));
141
159
  /** Known values of {@link StorageTargetType} that the service accepts. */
142
160
  exports.KnownStorageTargetType = void 0;
143
161
  (function (KnownStorageTargetType) {
@@ -151,7 +169,29 @@ exports.KnownEncryptionType = void 0;
151
169
  (function (KnownEncryptionType) {
152
170
  /** Volume is encrypted at rest with Platform managed key. It is the default encryption type. */
153
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";
154
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 = {}));
155
195
  /** Known values of {@link OperationalStatus} that the service accepts. */
156
196
  exports.KnownOperationalStatus = void 0;
157
197
  (function (KnownOperationalStatus) {
@@ -172,6 +212,22 @@ exports.KnownOperationalStatus = void 0;
172
212
  /** StoppedDeallocated */
173
213
  KnownOperationalStatus["StoppedDeallocated"] = "Stopped (deallocated)";
174
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 = {}));
175
231
 
176
232
  /*
177
233
  * Copyright (c) Microsoft Corporation.
@@ -715,6 +771,12 @@ const ElasticSanUpdate = {
715
771
  type: {
716
772
  name: "Number"
717
773
  }
774
+ },
775
+ publicNetworkAccess: {
776
+ serializedName: "properties.publicNetworkAccess",
777
+ type: {
778
+ name: "String"
779
+ }
718
780
  }
719
781
  }
720
782
  }
@@ -746,6 +808,149 @@ const VolumeGroupList = {
746
808
  }
747
809
  }
748
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
+ };
749
954
  const NetworkRuleSet = {
750
955
  type: {
751
956
  name: "Composite",
@@ -780,25 +985,10 @@ const VirtualNetworkRule = {
780
985
  },
781
986
  action: {
782
987
  defaultValue: "Allow",
783
- isConstant: true,
784
988
  serializedName: "action",
785
989
  type: {
786
990
  name: "String"
787
991
  }
788
- },
789
- state: {
790
- serializedName: "state",
791
- readOnly: true,
792
- type: {
793
- name: "Enum",
794
- allowedValues: [
795
- "provisioning",
796
- "deprovisioning",
797
- "succeeded",
798
- "failed",
799
- "networkSourceDeleted"
800
- ]
801
- }
802
992
  }
803
993
  }
804
994
  }
@@ -808,6 +998,13 @@ const VolumeGroupUpdate = {
808
998
  name: "Composite",
809
999
  className: "VolumeGroupUpdate",
810
1000
  modelProperties: {
1001
+ identity: {
1002
+ serializedName: "identity",
1003
+ type: {
1004
+ name: "Composite",
1005
+ className: "Identity"
1006
+ }
1007
+ },
811
1008
  protocolType: {
812
1009
  serializedName: "properties.protocolType",
813
1010
  type: {
@@ -820,6 +1017,13 @@ const VolumeGroupUpdate = {
820
1017
  name: "String"
821
1018
  }
822
1019
  },
1020
+ encryptionProperties: {
1021
+ serializedName: "properties.encryptionProperties",
1022
+ type: {
1023
+ name: "Composite",
1024
+ className: "EncryptionProperties"
1025
+ }
1026
+ },
823
1027
  networkAcls: {
824
1028
  serializedName: "properties.networkAcls",
825
1029
  type: {
@@ -836,15 +1040,13 @@ const SourceCreationData = {
836
1040
  className: "SourceCreationData",
837
1041
  modelProperties: {
838
1042
  createSource: {
839
- defaultValue: "None",
840
- isConstant: true,
841
1043
  serializedName: "createSource",
842
1044
  type: {
843
1045
  name: "String"
844
1046
  }
845
1047
  },
846
- sourceUri: {
847
- serializedName: "sourceUri",
1048
+ sourceId: {
1049
+ serializedName: "sourceId",
848
1050
  type: {
849
1051
  name: "String"
850
1052
  }
@@ -894,6 +1096,20 @@ const IscsiTargetInfo = {
894
1096
  }
895
1097
  }
896
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
+ };
897
1113
  const VolumeUpdate = {
898
1114
  type: {
899
1115
  name: "Composite",
@@ -904,6 +1120,13 @@ const VolumeUpdate = {
904
1120
  type: {
905
1121
  name: "Number"
906
1122
  }
1123
+ },
1124
+ managedBy: {
1125
+ serializedName: "properties.managedBy",
1126
+ type: {
1127
+ name: "Composite",
1128
+ className: "ManagedByInfo"
1129
+ }
907
1130
  }
908
1131
  }
909
1132
  }
@@ -989,6 +1212,48 @@ const PrivateLinkResourceListResult = {
989
1212
  }
990
1213
  }
991
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
+ };
992
1257
  const PrivateEndpointConnection = {
993
1258
  type: {
994
1259
  name: "Composite",
@@ -1164,6 +1429,11 @@ const ElasticSan = {
1164
1429
  }
1165
1430
  }
1166
1431
  }
1432
+ }, publicNetworkAccess: {
1433
+ serializedName: "properties.publicNetworkAccess",
1434
+ type: {
1435
+ name: "String"
1436
+ }
1167
1437
  } })
1168
1438
  }
1169
1439
  };
@@ -1171,7 +1441,13 @@ const VolumeGroup = {
1171
1441
  type: {
1172
1442
  name: "Composite",
1173
1443
  className: "VolumeGroup",
1174
- 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: {
1175
1451
  serializedName: "properties.provisioningState",
1176
1452
  readOnly: true,
1177
1453
  type: {
@@ -1187,6 +1463,12 @@ const VolumeGroup = {
1187
1463
  type: {
1188
1464
  name: "String"
1189
1465
  }
1466
+ }, encryptionProperties: {
1467
+ serializedName: "properties.encryptionProperties",
1468
+ type: {
1469
+ name: "Composite",
1470
+ className: "EncryptionProperties"
1471
+ }
1190
1472
  }, networkAcls: {
1191
1473
  serializedName: "properties.networkAcls",
1192
1474
  type: {
@@ -1236,6 +1518,49 @@ const Volume = {
1236
1518
  name: "Composite",
1237
1519
  className: "IscsiTargetInfo"
1238
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
+ }
1239
1564
  } })
1240
1565
  }
1241
1566
  };
@@ -1337,6 +1662,20 @@ const PrivateEndpointConnectionsDeleteHeaders = {
1337
1662
  }
1338
1663
  }
1339
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
+ };
1340
1679
 
1341
1680
  var Mappers = /*#__PURE__*/Object.freeze({
1342
1681
  __proto__: null,
@@ -1345,10 +1684,15 @@ var Mappers = /*#__PURE__*/Object.freeze({
1345
1684
  ElasticSanUpdate: ElasticSanUpdate,
1346
1685
  ElasticSansDeleteHeaders: ElasticSansDeleteHeaders,
1347
1686
  ElasticSansUpdateHeaders: ElasticSansUpdateHeaders,
1687
+ EncryptionIdentity: EncryptionIdentity,
1688
+ EncryptionProperties: EncryptionProperties,
1348
1689
  ErrorAdditionalInfo: ErrorAdditionalInfo,
1349
1690
  ErrorDetail: ErrorDetail,
1350
1691
  ErrorResponse: ErrorResponse,
1692
+ Identity: Identity,
1351
1693
  IscsiTargetInfo: IscsiTargetInfo,
1694
+ KeyVaultProperties: KeyVaultProperties,
1695
+ ManagedByInfo: ManagedByInfo,
1352
1696
  NetworkRuleSet: NetworkRuleSet,
1353
1697
  Operation: Operation,
1354
1698
  OperationDisplay: OperationDisplay,
@@ -1367,9 +1711,13 @@ var Mappers = /*#__PURE__*/Object.freeze({
1367
1711
  SkuInformation: SkuInformation,
1368
1712
  SkuInformationList: SkuInformationList,
1369
1713
  SkuLocationInfo: SkuLocationInfo,
1714
+ Snapshot: Snapshot,
1715
+ SnapshotCreationData: SnapshotCreationData,
1716
+ SnapshotList: SnapshotList,
1370
1717
  SourceCreationData: SourceCreationData,
1371
1718
  SystemData: SystemData,
1372
1719
  TrackedResource: TrackedResource,
1720
+ UserAssignedIdentity: UserAssignedIdentity,
1373
1721
  VirtualNetworkRule: VirtualNetworkRule,
1374
1722
  Volume: Volume,
1375
1723
  VolumeGroup: VolumeGroup,
@@ -1378,6 +1726,7 @@ var Mappers = /*#__PURE__*/Object.freeze({
1378
1726
  VolumeGroupsDeleteHeaders: VolumeGroupsDeleteHeaders,
1379
1727
  VolumeGroupsUpdateHeaders: VolumeGroupsUpdateHeaders,
1380
1728
  VolumeList: VolumeList,
1729
+ VolumeSnapshotsDeleteHeaders: VolumeSnapshotsDeleteHeaders,
1381
1730
  VolumeUpdate: VolumeUpdate,
1382
1731
  VolumesDeleteHeaders: VolumesDeleteHeaders,
1383
1732
  VolumesUpdateHeaders: VolumesUpdateHeaders
@@ -1415,7 +1764,7 @@ const $host = {
1415
1764
  const apiVersion = {
1416
1765
  parameterPath: "apiVersion",
1417
1766
  mapper: {
1418
- defaultValue: "2022-12-01-preview",
1767
+ defaultValue: "2023-01-01",
1419
1768
  isConstant: true,
1420
1769
  serializedName: "api-version",
1421
1770
  type: {
@@ -1550,6 +1899,24 @@ const parameters5 = {
1550
1899
  parameterPath: "parameters",
1551
1900
  mapper: VolumeUpdate
1552
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
+ };
1553
1920
  const parameters6 = {
1554
1921
  parameterPath: "parameters",
1555
1922
  mapper: PrivateEndpointConnection
@@ -1564,6 +1931,25 @@ const privateEndpointConnectionName = {
1564
1931
  }
1565
1932
  }
1566
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
+ };
1567
1953
 
1568
1954
  /*
1569
1955
  * Copyright (c) Microsoft Corporation.
@@ -1614,16 +2000,11 @@ class OperationsImpl {
1614
2000
  return tslib.__asyncGenerator(this, arguments, function* listPagingAll_1() {
1615
2001
  var _a, e_1, _b, _c;
1616
2002
  try {
1617
- for (var _d = true, _e = tslib.__asyncValues(this.listPagingPage(options)), _f; _f = yield tslib.__await(_e.next()), _a = _f.done, !_a;) {
2003
+ for (var _d = true, _e = tslib.__asyncValues(this.listPagingPage(options)), _f; _f = yield tslib.__await(_e.next()), _a = _f.done, !_a; _d = true) {
1618
2004
  _c = _f.value;
1619
2005
  _d = false;
1620
- try {
1621
- const page = _c;
1622
- yield tslib.__await(yield* tslib.__asyncDelegator(tslib.__asyncValues(page)));
1623
- }
1624
- finally {
1625
- _d = true;
1626
- }
2006
+ const page = _c;
2007
+ yield tslib.__await(yield* tslib.__asyncDelegator(tslib.__asyncValues(page)));
1627
2008
  }
1628
2009
  }
1629
2010
  catch (e_1_1) { e_1 = { error: e_1_1 }; }
@@ -1644,7 +2025,7 @@ class OperationsImpl {
1644
2025
  }
1645
2026
  }
1646
2027
  // Operation Specifications
1647
- const serializer$6 = coreClient__namespace.createSerializer(Mappers, /* isXml */ false);
2028
+ const serializer$7 = coreClient__namespace.createSerializer(Mappers, /* isXml */ false);
1648
2029
  const listOperationSpec$2 = {
1649
2030
  path: "/providers/Microsoft.ElasticSan/operations",
1650
2031
  httpMethod: "GET",
@@ -1659,7 +2040,7 @@ const listOperationSpec$2 = {
1659
2040
  queryParameters: [apiVersion],
1660
2041
  urlParameters: [$host],
1661
2042
  headerParameters: [accept],
1662
- serializer: serializer$6
2043
+ serializer: serializer$7
1663
2044
  };
1664
2045
 
1665
2046
  /*
@@ -1711,16 +2092,11 @@ class SkusImpl {
1711
2092
  return tslib.__asyncGenerator(this, arguments, function* listPagingAll_1() {
1712
2093
  var _a, e_1, _b, _c;
1713
2094
  try {
1714
- for (var _d = true, _e = tslib.__asyncValues(this.listPagingPage(options)), _f; _f = yield tslib.__await(_e.next()), _a = _f.done, !_a;) {
2095
+ for (var _d = true, _e = tslib.__asyncValues(this.listPagingPage(options)), _f; _f = yield tslib.__await(_e.next()), _a = _f.done, !_a; _d = true) {
1715
2096
  _c = _f.value;
1716
2097
  _d = false;
1717
- try {
1718
- const page = _c;
1719
- yield tslib.__await(yield* tslib.__asyncDelegator(tslib.__asyncValues(page)));
1720
- }
1721
- finally {
1722
- _d = true;
1723
- }
2098
+ const page = _c;
2099
+ yield tslib.__await(yield* tslib.__asyncDelegator(tslib.__asyncValues(page)));
1724
2100
  }
1725
2101
  }
1726
2102
  catch (e_1_1) { e_1 = { error: e_1_1 }; }
@@ -1741,7 +2117,7 @@ class SkusImpl {
1741
2117
  }
1742
2118
  }
1743
2119
  // Operation Specifications
1744
- const serializer$5 = coreClient__namespace.createSerializer(Mappers, /* isXml */ false);
2120
+ const serializer$6 = coreClient__namespace.createSerializer(Mappers, /* isXml */ false);
1745
2121
  const listOperationSpec$1 = {
1746
2122
  path: "/subscriptions/{subscriptionId}/providers/Microsoft.ElasticSan/skus",
1747
2123
  httpMethod: "GET",
@@ -1756,7 +2132,7 @@ const listOperationSpec$1 = {
1756
2132
  queryParameters: [apiVersion, filter],
1757
2133
  urlParameters: [$host, subscriptionId],
1758
2134
  headerParameters: [accept],
1759
- serializer: serializer$5
2135
+ serializer: serializer$6
1760
2136
  };
1761
2137
 
1762
2138
  /*
@@ -1841,16 +2217,11 @@ class ElasticSansImpl {
1841
2217
  return tslib.__asyncGenerator(this, arguments, function* listBySubscriptionPagingAll_1() {
1842
2218
  var _a, e_1, _b, _c;
1843
2219
  try {
1844
- for (var _d = true, _e = tslib.__asyncValues(this.listBySubscriptionPagingPage(options)), _f; _f = yield tslib.__await(_e.next()), _a = _f.done, !_a;) {
2220
+ for (var _d = true, _e = tslib.__asyncValues(this.listBySubscriptionPagingPage(options)), _f; _f = yield tslib.__await(_e.next()), _a = _f.done, !_a; _d = true) {
1845
2221
  _c = _f.value;
1846
2222
  _d = false;
1847
- try {
1848
- const page = _c;
1849
- yield tslib.__await(yield* tslib.__asyncDelegator(tslib.__asyncValues(page)));
1850
- }
1851
- finally {
1852
- _d = true;
1853
- }
2223
+ const page = _c;
2224
+ yield tslib.__await(yield* tslib.__asyncDelegator(tslib.__asyncValues(page)));
1854
2225
  }
1855
2226
  }
1856
2227
  catch (e_1_1) { e_1 = { error: e_1_1 }; }
@@ -1908,16 +2279,11 @@ class ElasticSansImpl {
1908
2279
  return tslib.__asyncGenerator(this, arguments, function* listByResourceGroupPagingAll_1() {
1909
2280
  var _a, e_2, _b, _c;
1910
2281
  try {
1911
- for (var _d = true, _e = tslib.__asyncValues(this.listByResourceGroupPagingPage(resourceGroupName, options)), _f; _f = yield tslib.__await(_e.next()), _a = _f.done, !_a;) {
2282
+ for (var _d = true, _e = tslib.__asyncValues(this.listByResourceGroupPagingPage(resourceGroupName, options)), _f; _f = yield tslib.__await(_e.next()), _a = _f.done, !_a; _d = true) {
1912
2283
  _c = _f.value;
1913
2284
  _d = false;
1914
- try {
1915
- const page = _c;
1916
- yield tslib.__await(yield* tslib.__asyncDelegator(tslib.__asyncValues(page)));
1917
- }
1918
- finally {
1919
- _d = true;
1920
- }
2285
+ const page = _c;
2286
+ yield tslib.__await(yield* tslib.__asyncDelegator(tslib.__asyncValues(page)));
1921
2287
  }
1922
2288
  }
1923
2289
  catch (e_2_1) { e_2 = { error: e_2_1 }; }
@@ -1978,7 +2344,7 @@ class ElasticSansImpl {
1978
2344
  const lro = createLroSpec({
1979
2345
  sendOperationFn,
1980
2346
  args: { resourceGroupName, elasticSanName, parameters, options },
1981
- spec: createOperationSpec$3
2347
+ spec: createOperationSpec$4
1982
2348
  });
1983
2349
  const poller = yield coreLro.createHttpPoller(lro, {
1984
2350
  restoreFrom: options === null || options === void 0 ? void 0 : options.resumeFrom,
@@ -2093,7 +2459,7 @@ class ElasticSansImpl {
2093
2459
  const lro = createLroSpec({
2094
2460
  sendOperationFn,
2095
2461
  args: { resourceGroupName, elasticSanName, options },
2096
- spec: deleteOperationSpec$3
2462
+ spec: deleteOperationSpec$4
2097
2463
  });
2098
2464
  const poller = yield coreLro.createHttpPoller(lro, {
2099
2465
  restoreFrom: options === null || options === void 0 ? void 0 : options.resumeFrom,
@@ -2123,7 +2489,7 @@ class ElasticSansImpl {
2123
2489
  * @param options The options parameters.
2124
2490
  */
2125
2491
  get(resourceGroupName, elasticSanName, options) {
2126
- return this.client.sendOperationRequest({ resourceGroupName, elasticSanName, options }, getOperationSpec$3);
2492
+ return this.client.sendOperationRequest({ resourceGroupName, elasticSanName, options }, getOperationSpec$4);
2127
2493
  }
2128
2494
  /**
2129
2495
  * ListBySubscriptionNext
@@ -2144,7 +2510,7 @@ class ElasticSansImpl {
2144
2510
  }
2145
2511
  }
2146
2512
  // Operation Specifications
2147
- const serializer$4 = coreClient__namespace.createSerializer(Mappers, /* isXml */ false);
2513
+ const serializer$5 = coreClient__namespace.createSerializer(Mappers, /* isXml */ false);
2148
2514
  const listBySubscriptionOperationSpec = {
2149
2515
  path: "/subscriptions/{subscriptionId}/providers/Microsoft.ElasticSan/elasticSans",
2150
2516
  httpMethod: "GET",
@@ -2159,7 +2525,7 @@ const listBySubscriptionOperationSpec = {
2159
2525
  queryParameters: [apiVersion],
2160
2526
  urlParameters: [$host, subscriptionId],
2161
2527
  headerParameters: [accept],
2162
- serializer: serializer$4
2528
+ serializer: serializer$5
2163
2529
  };
2164
2530
  const listByResourceGroupOperationSpec = {
2165
2531
  path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans",
@@ -2179,9 +2545,9 @@ const listByResourceGroupOperationSpec = {
2179
2545
  resourceGroupName
2180
2546
  ],
2181
2547
  headerParameters: [accept],
2182
- serializer: serializer$4
2548
+ serializer: serializer$5
2183
2549
  };
2184
- const createOperationSpec$3 = {
2550
+ const createOperationSpec$4 = {
2185
2551
  path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}",
2186
2552
  httpMethod: "PUT",
2187
2553
  responses: {
@@ -2211,7 +2577,7 @@ const createOperationSpec$3 = {
2211
2577
  ],
2212
2578
  headerParameters: [accept, contentType],
2213
2579
  mediaType: "json",
2214
- serializer: serializer$4
2580
+ serializer: serializer$5
2215
2581
  };
2216
2582
  const updateOperationSpec$2 = {
2217
2583
  path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}",
@@ -2243,9 +2609,9 @@ const updateOperationSpec$2 = {
2243
2609
  ],
2244
2610
  headerParameters: [accept, contentType],
2245
2611
  mediaType: "json",
2246
- serializer: serializer$4
2612
+ serializer: serializer$5
2247
2613
  };
2248
- const deleteOperationSpec$3 = {
2614
+ const deleteOperationSpec$4 = {
2249
2615
  path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}",
2250
2616
  httpMethod: "DELETE",
2251
2617
  responses: {
@@ -2265,9 +2631,9 @@ const deleteOperationSpec$3 = {
2265
2631
  elasticSanName
2266
2632
  ],
2267
2633
  headerParameters: [accept],
2268
- serializer: serializer$4
2634
+ serializer: serializer$5
2269
2635
  };
2270
- const getOperationSpec$3 = {
2636
+ const getOperationSpec$4 = {
2271
2637
  path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}",
2272
2638
  httpMethod: "GET",
2273
2639
  responses: {
@@ -2286,7 +2652,7 @@ const getOperationSpec$3 = {
2286
2652
  elasticSanName
2287
2653
  ],
2288
2654
  headerParameters: [accept],
2289
- serializer: serializer$4
2655
+ serializer: serializer$5
2290
2656
  };
2291
2657
  const listBySubscriptionNextOperationSpec = {
2292
2658
  path: "{nextLink}",
@@ -2305,7 +2671,7 @@ const listBySubscriptionNextOperationSpec = {
2305
2671
  nextLink
2306
2672
  ],
2307
2673
  headerParameters: [accept],
2308
- serializer: serializer$4
2674
+ serializer: serializer$5
2309
2675
  };
2310
2676
  const listByResourceGroupNextOperationSpec = {
2311
2677
  path: "{nextLink}",
@@ -2325,7 +2691,7 @@ const listByResourceGroupNextOperationSpec = {
2325
2691
  nextLink
2326
2692
  ],
2327
2693
  headerParameters: [accept],
2328
- serializer: serializer$4
2694
+ serializer: serializer$5
2329
2695
  };
2330
2696
 
2331
2697
  /*
@@ -2392,16 +2758,11 @@ class VolumeGroupsImpl {
2392
2758
  return tslib.__asyncGenerator(this, arguments, function* listByElasticSanPagingAll_1() {
2393
2759
  var _a, e_1, _b, _c;
2394
2760
  try {
2395
- for (var _d = true, _e = tslib.__asyncValues(this.listByElasticSanPagingPage(resourceGroupName, elasticSanName, options)), _f; _f = yield tslib.__await(_e.next()), _a = _f.done, !_a;) {
2761
+ 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) {
2396
2762
  _c = _f.value;
2397
2763
  _d = false;
2398
- try {
2399
- const page = _c;
2400
- yield tslib.__await(yield* tslib.__asyncDelegator(tslib.__asyncValues(page)));
2401
- }
2402
- finally {
2403
- _d = true;
2404
- }
2764
+ const page = _c;
2765
+ yield tslib.__await(yield* tslib.__asyncDelegator(tslib.__asyncValues(page)));
2405
2766
  }
2406
2767
  }
2407
2768
  catch (e_1_1) { e_1 = { error: e_1_1 }; }
@@ -2463,7 +2824,7 @@ class VolumeGroupsImpl {
2463
2824
  parameters,
2464
2825
  options
2465
2826
  },
2466
- spec: createOperationSpec$2
2827
+ spec: createOperationSpec$3
2467
2828
  });
2468
2829
  const poller = yield coreLro.createHttpPoller(lro, {
2469
2830
  restoreFrom: options === null || options === void 0 ? void 0 : options.resumeFrom,
@@ -2588,7 +2949,7 @@ class VolumeGroupsImpl {
2588
2949
  const lro = createLroSpec({
2589
2950
  sendOperationFn,
2590
2951
  args: { resourceGroupName, elasticSanName, volumeGroupName, options },
2591
- spec: deleteOperationSpec$2
2952
+ spec: deleteOperationSpec$3
2592
2953
  });
2593
2954
  const poller = yield coreLro.createHttpPoller(lro, {
2594
2955
  restoreFrom: options === null || options === void 0 ? void 0 : options.resumeFrom,
@@ -2620,7 +2981,7 @@ class VolumeGroupsImpl {
2620
2981
  * @param options The options parameters.
2621
2982
  */
2622
2983
  get(resourceGroupName, elasticSanName, volumeGroupName, options) {
2623
- return this.client.sendOperationRequest({ resourceGroupName, elasticSanName, volumeGroupName, options }, getOperationSpec$2);
2984
+ return this.client.sendOperationRequest({ resourceGroupName, elasticSanName, volumeGroupName, options }, getOperationSpec$3);
2624
2985
  }
2625
2986
  /**
2626
2987
  * ListByElasticSanNext
@@ -2634,7 +2995,7 @@ class VolumeGroupsImpl {
2634
2995
  }
2635
2996
  }
2636
2997
  // Operation Specifications
2637
- const serializer$3 = coreClient__namespace.createSerializer(Mappers, /* isXml */ false);
2998
+ const serializer$4 = coreClient__namespace.createSerializer(Mappers, /* isXml */ false);
2638
2999
  const listByElasticSanOperationSpec$1 = {
2639
3000
  path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumeGroups",
2640
3001
  httpMethod: "GET",
@@ -2654,9 +3015,9 @@ const listByElasticSanOperationSpec$1 = {
2654
3015
  elasticSanName
2655
3016
  ],
2656
3017
  headerParameters: [accept],
2657
- serializer: serializer$3
3018
+ serializer: serializer$4
2658
3019
  };
2659
- const createOperationSpec$2 = {
3020
+ const createOperationSpec$3 = {
2660
3021
  path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}",
2661
3022
  httpMethod: "PUT",
2662
3023
  responses: {
@@ -2687,7 +3048,7 @@ const createOperationSpec$2 = {
2687
3048
  ],
2688
3049
  headerParameters: [accept, contentType],
2689
3050
  mediaType: "json",
2690
- serializer: serializer$3
3051
+ serializer: serializer$4
2691
3052
  };
2692
3053
  const updateOperationSpec$1 = {
2693
3054
  path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}",
@@ -2720,9 +3081,9 @@ const updateOperationSpec$1 = {
2720
3081
  ],
2721
3082
  headerParameters: [accept, contentType],
2722
3083
  mediaType: "json",
2723
- serializer: serializer$3
3084
+ serializer: serializer$4
2724
3085
  };
2725
- const deleteOperationSpec$2 = {
3086
+ const deleteOperationSpec$3 = {
2726
3087
  path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}",
2727
3088
  httpMethod: "DELETE",
2728
3089
  responses: {
@@ -2743,9 +3104,9 @@ const deleteOperationSpec$2 = {
2743
3104
  volumeGroupName
2744
3105
  ],
2745
3106
  headerParameters: [accept],
2746
- serializer: serializer$3
3107
+ serializer: serializer$4
2747
3108
  };
2748
- const getOperationSpec$2 = {
3109
+ const getOperationSpec$3 = {
2749
3110
  path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}",
2750
3111
  httpMethod: "GET",
2751
3112
  responses: {
@@ -2765,7 +3126,7 @@ const getOperationSpec$2 = {
2765
3126
  volumeGroupName
2766
3127
  ],
2767
3128
  headerParameters: [accept],
2768
- serializer: serializer$3
3129
+ serializer: serializer$4
2769
3130
  };
2770
3131
  const listByElasticSanNextOperationSpec = {
2771
3132
  path: "{nextLink}",
@@ -2786,7 +3147,7 @@ const listByElasticSanNextOperationSpec = {
2786
3147
  nextLink
2787
3148
  ],
2788
3149
  headerParameters: [accept],
2789
- serializer: serializer$3
3150
+ serializer: serializer$4
2790
3151
  };
2791
3152
 
2792
3153
  /*
@@ -2854,16 +3215,11 @@ class VolumesImpl {
2854
3215
  return tslib.__asyncGenerator(this, arguments, function* listByVolumeGroupPagingAll_1() {
2855
3216
  var _a, e_1, _b, _c;
2856
3217
  try {
2857
- for (var _d = true, _e = tslib.__asyncValues(this.listByVolumeGroupPagingPage(resourceGroupName, elasticSanName, volumeGroupName, options)), _f; _f = yield tslib.__await(_e.next()), _a = _f.done, !_a;) {
3218
+ 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) {
2858
3219
  _c = _f.value;
2859
3220
  _d = false;
2860
- try {
2861
- const page = _c;
2862
- yield tslib.__await(yield* tslib.__asyncDelegator(tslib.__asyncValues(page)));
2863
- }
2864
- finally {
2865
- _d = true;
2866
- }
3221
+ const page = _c;
3222
+ yield tslib.__await(yield* tslib.__asyncDelegator(tslib.__asyncValues(page)));
2867
3223
  }
2868
3224
  }
2869
3225
  catch (e_1_1) { e_1 = { error: e_1_1 }; }
@@ -2918,7 +3274,7 @@ class VolumesImpl {
2918
3274
  parameters,
2919
3275
  options
2920
3276
  },
2921
- spec: createOperationSpec$1
3277
+ spec: createOperationSpec$2
2922
3278
  });
2923
3279
  const poller = yield coreLro.createHttpPoller(lro, {
2924
3280
  restoreFrom: options === null || options === void 0 ? void 0 : options.resumeFrom,
@@ -3054,7 +3410,7 @@ class VolumesImpl {
3054
3410
  volumeName,
3055
3411
  options
3056
3412
  },
3057
- spec: deleteOperationSpec$1
3413
+ spec: deleteOperationSpec$2
3058
3414
  });
3059
3415
  const poller = yield coreLro.createHttpPoller(lro, {
3060
3416
  restoreFrom: options === null || options === void 0 ? void 0 : options.resumeFrom,
@@ -3094,7 +3450,7 @@ class VolumesImpl {
3094
3450
  volumeGroupName,
3095
3451
  volumeName,
3096
3452
  options
3097
- }, getOperationSpec$1);
3453
+ }, getOperationSpec$2);
3098
3454
  }
3099
3455
  /**
3100
3456
  * List Volumes in a VolumeGroup.
@@ -3104,7 +3460,7 @@ class VolumesImpl {
3104
3460
  * @param options The options parameters.
3105
3461
  */
3106
3462
  _listByVolumeGroup(resourceGroupName, elasticSanName, volumeGroupName, options) {
3107
- return this.client.sendOperationRequest({ resourceGroupName, elasticSanName, volumeGroupName, options }, listByVolumeGroupOperationSpec);
3463
+ return this.client.sendOperationRequest({ resourceGroupName, elasticSanName, volumeGroupName, options }, listByVolumeGroupOperationSpec$1);
3108
3464
  }
3109
3465
  /**
3110
3466
  * ListByVolumeGroupNext
@@ -3115,12 +3471,12 @@ class VolumesImpl {
3115
3471
  * @param options The options parameters.
3116
3472
  */
3117
3473
  _listByVolumeGroupNext(resourceGroupName, elasticSanName, volumeGroupName, nextLink, options) {
3118
- return this.client.sendOperationRequest({ resourceGroupName, elasticSanName, volumeGroupName, nextLink, options }, listByVolumeGroupNextOperationSpec);
3474
+ return this.client.sendOperationRequest({ resourceGroupName, elasticSanName, volumeGroupName, nextLink, options }, listByVolumeGroupNextOperationSpec$1);
3119
3475
  }
3120
3476
  }
3121
3477
  // Operation Specifications
3122
- const serializer$2 = coreClient__namespace.createSerializer(Mappers, /* isXml */ false);
3123
- const createOperationSpec$1 = {
3478
+ const serializer$3 = coreClient__namespace.createSerializer(Mappers, /* isXml */ false);
3479
+ const createOperationSpec$2 = {
3124
3480
  path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}/volumes/{volumeName}",
3125
3481
  httpMethod: "PUT",
3126
3482
  responses: {
@@ -3152,7 +3508,7 @@ const createOperationSpec$1 = {
3152
3508
  ],
3153
3509
  headerParameters: [accept, contentType],
3154
3510
  mediaType: "json",
3155
- serializer: serializer$2
3511
+ serializer: serializer$3
3156
3512
  };
3157
3513
  const updateOperationSpec = {
3158
3514
  path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}/volumes/{volumeName}",
@@ -3186,9 +3542,9 @@ const updateOperationSpec = {
3186
3542
  ],
3187
3543
  headerParameters: [accept, contentType],
3188
3544
  mediaType: "json",
3189
- serializer: serializer$2
3545
+ serializer: serializer$3
3190
3546
  };
3191
- const deleteOperationSpec$1 = {
3547
+ const deleteOperationSpec$2 = {
3192
3548
  path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}/volumes/{volumeName}",
3193
3549
  httpMethod: "DELETE",
3194
3550
  responses: {
@@ -3209,10 +3565,14 @@ const deleteOperationSpec$1 = {
3209
3565
  volumeGroupName,
3210
3566
  volumeName
3211
3567
  ],
3212
- headerParameters: [accept],
3213
- serializer: serializer$2
3568
+ headerParameters: [
3569
+ accept,
3570
+ xMsDeleteSnapshots,
3571
+ xMsForceDelete
3572
+ ],
3573
+ serializer: serializer$3
3214
3574
  };
3215
- const getOperationSpec$1 = {
3575
+ const getOperationSpec$2 = {
3216
3576
  path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}/volumes/{volumeName}",
3217
3577
  httpMethod: "GET",
3218
3578
  responses: {
@@ -3233,9 +3593,9 @@ const getOperationSpec$1 = {
3233
3593
  volumeName
3234
3594
  ],
3235
3595
  headerParameters: [accept],
3236
- serializer: serializer$2
3596
+ serializer: serializer$3
3237
3597
  };
3238
- const listByVolumeGroupOperationSpec = {
3598
+ const listByVolumeGroupOperationSpec$1 = {
3239
3599
  path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}/volumes",
3240
3600
  httpMethod: "GET",
3241
3601
  responses: {
@@ -3255,9 +3615,9 @@ const listByVolumeGroupOperationSpec = {
3255
3615
  volumeGroupName
3256
3616
  ],
3257
3617
  headerParameters: [accept],
3258
- serializer: serializer$2
3618
+ serializer: serializer$3
3259
3619
  };
3260
- const listByVolumeGroupNextOperationSpec = {
3620
+ const listByVolumeGroupNextOperationSpec$1 = {
3261
3621
  path: "{nextLink}",
3262
3622
  httpMethod: "GET",
3263
3623
  responses: {
@@ -3277,7 +3637,7 @@ const listByVolumeGroupNextOperationSpec = {
3277
3637
  volumeGroupName
3278
3638
  ],
3279
3639
  headerParameters: [accept],
3280
- serializer: serializer$2
3640
+ serializer: serializer$3
3281
3641
  };
3282
3642
 
3283
3643
  /*
@@ -3331,16 +3691,11 @@ class PrivateEndpointConnectionsImpl {
3331
3691
  return tslib.__asyncGenerator(this, arguments, function* listPagingAll_1() {
3332
3692
  var _a, e_1, _b, _c;
3333
3693
  try {
3334
- for (var _d = true, _e = tslib.__asyncValues(this.listPagingPage(resourceGroupName, elasticSanName, options)), _f; _f = yield tslib.__await(_e.next()), _a = _f.done, !_a;) {
3694
+ 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) {
3335
3695
  _c = _f.value;
3336
3696
  _d = false;
3337
- try {
3338
- const page = _c;
3339
- yield tslib.__await(yield* tslib.__asyncDelegator(tslib.__asyncValues(page)));
3340
- }
3341
- finally {
3342
- _d = true;
3343
- }
3697
+ const page = _c;
3698
+ yield tslib.__await(yield* tslib.__asyncDelegator(tslib.__asyncValues(page)));
3344
3699
  }
3345
3700
  }
3346
3701
  catch (e_1_1) { e_1 = { error: e_1_1 }; }
@@ -3393,7 +3748,7 @@ class PrivateEndpointConnectionsImpl {
3393
3748
  parameters,
3394
3749
  options
3395
3750
  },
3396
- spec: createOperationSpec
3751
+ spec: createOperationSpec$1
3397
3752
  });
3398
3753
  const poller = yield coreLro.createHttpPoller(lro, {
3399
3754
  restoreFrom: options === null || options === void 0 ? void 0 : options.resumeFrom,
@@ -3431,7 +3786,7 @@ class PrivateEndpointConnectionsImpl {
3431
3786
  elasticSanName,
3432
3787
  privateEndpointConnectionName,
3433
3788
  options
3434
- }, getOperationSpec);
3789
+ }, getOperationSpec$1);
3435
3790
  }
3436
3791
  /**
3437
3792
  * Deletes the specified private endpoint connection associated with the Elastic San
@@ -3472,7 +3827,7 @@ class PrivateEndpointConnectionsImpl {
3472
3827
  privateEndpointConnectionName,
3473
3828
  options
3474
3829
  },
3475
- spec: deleteOperationSpec
3830
+ spec: deleteOperationSpec$1
3476
3831
  });
3477
3832
  const poller = yield coreLro.createHttpPoller(lro, {
3478
3833
  restoreFrom: options === null || options === void 0 ? void 0 : options.resumeFrom,
@@ -3507,8 +3862,8 @@ class PrivateEndpointConnectionsImpl {
3507
3862
  }
3508
3863
  }
3509
3864
  // Operation Specifications
3510
- const serializer$1 = coreClient__namespace.createSerializer(Mappers, /* isXml */ false);
3511
- const createOperationSpec = {
3865
+ const serializer$2 = coreClient__namespace.createSerializer(Mappers, /* isXml */ false);
3866
+ const createOperationSpec$1 = {
3512
3867
  path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/privateEndpointConnections/{privateEndpointConnectionName}",
3513
3868
  httpMethod: "PUT",
3514
3869
  responses: {
@@ -3539,9 +3894,9 @@ const createOperationSpec = {
3539
3894
  ],
3540
3895
  headerParameters: [accept, contentType],
3541
3896
  mediaType: "json",
3542
- serializer: serializer$1
3897
+ serializer: serializer$2
3543
3898
  };
3544
- const getOperationSpec = {
3899
+ const getOperationSpec$1 = {
3545
3900
  path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/privateEndpointConnections/{privateEndpointConnectionName}",
3546
3901
  httpMethod: "GET",
3547
3902
  responses: {
@@ -3561,9 +3916,9 @@ const getOperationSpec = {
3561
3916
  privateEndpointConnectionName
3562
3917
  ],
3563
3918
  headerParameters: [accept],
3564
- serializer: serializer$1
3919
+ serializer: serializer$2
3565
3920
  };
3566
- const deleteOperationSpec = {
3921
+ const deleteOperationSpec$1 = {
3567
3922
  path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/privateEndpointConnections/{privateEndpointConnectionName}",
3568
3923
  httpMethod: "DELETE",
3569
3924
  responses: {
@@ -3584,7 +3939,7 @@ const deleteOperationSpec = {
3584
3939
  privateEndpointConnectionName
3585
3940
  ],
3586
3941
  headerParameters: [accept],
3587
- serializer: serializer$1
3942
+ serializer: serializer$2
3588
3943
  };
3589
3944
  const listOperationSpec = {
3590
3945
  path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/privateEndpointConnections",
@@ -3605,7 +3960,7 @@ const listOperationSpec = {
3605
3960
  elasticSanName
3606
3961
  ],
3607
3962
  headerParameters: [accept],
3608
- serializer: serializer$1
3963
+ serializer: serializer$2
3609
3964
  };
3610
3965
 
3611
3966
  /*
@@ -3635,7 +3990,7 @@ class PrivateLinkResourcesImpl {
3635
3990
  }
3636
3991
  }
3637
3992
  // Operation Specifications
3638
- const serializer = coreClient__namespace.createSerializer(Mappers, /* isXml */ false);
3993
+ const serializer$1 = coreClient__namespace.createSerializer(Mappers, /* isXml */ false);
3639
3994
  const listByElasticSanOperationSpec = {
3640
3995
  path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/privateLinkResources",
3641
3996
  httpMethod: "GET",
@@ -3655,6 +4010,389 @@ const listByElasticSanOperationSpec = {
3655
4010
  elasticSanName
3656
4011
  ],
3657
4012
  headerParameters: [accept],
4013
+ serializer: serializer$1
4014
+ };
4015
+
4016
+ /*
4017
+ * Copyright (c) Microsoft Corporation.
4018
+ * Licensed under the MIT License.
4019
+ *
4020
+ * Code generated by Microsoft (R) AutoRest Code Generator.
4021
+ * Changes may cause incorrect behavior and will be lost if the code is regenerated.
4022
+ */
4023
+ /// <reference lib="esnext.asynciterable" />
4024
+ /** Class containing VolumeSnapshots operations. */
4025
+ class VolumeSnapshotsImpl {
4026
+ /**
4027
+ * Initialize a new instance of the class VolumeSnapshots class.
4028
+ * @param client Reference to the service client
4029
+ */
4030
+ constructor(client) {
4031
+ this.client = client;
4032
+ }
4033
+ /**
4034
+ * List Snapshots in a VolumeGroup or List Snapshots by Volume (name) in a VolumeGroup using filter
4035
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
4036
+ * @param elasticSanName The name of the ElasticSan.
4037
+ * @param volumeGroupName The name of the VolumeGroup.
4038
+ * @param options The options parameters.
4039
+ */
4040
+ listByVolumeGroup(resourceGroupName, elasticSanName, volumeGroupName, options) {
4041
+ const iter = this.listByVolumeGroupPagingAll(resourceGroupName, elasticSanName, volumeGroupName, options);
4042
+ return {
4043
+ next() {
4044
+ return iter.next();
4045
+ },
4046
+ [Symbol.asyncIterator]() {
4047
+ return this;
4048
+ },
4049
+ byPage: (settings) => {
4050
+ if (settings === null || settings === void 0 ? void 0 : settings.maxPageSize) {
4051
+ throw new Error("maxPageSize is not supported by this operation.");
4052
+ }
4053
+ return this.listByVolumeGroupPagingPage(resourceGroupName, elasticSanName, volumeGroupName, options, settings);
4054
+ }
4055
+ };
4056
+ }
4057
+ listByVolumeGroupPagingPage(resourceGroupName, elasticSanName, volumeGroupName, options, settings) {
4058
+ return tslib.__asyncGenerator(this, arguments, function* listByVolumeGroupPagingPage_1() {
4059
+ let result;
4060
+ let continuationToken = settings === null || settings === void 0 ? void 0 : settings.continuationToken;
4061
+ if (!continuationToken) {
4062
+ result = yield tslib.__await(this._listByVolumeGroup(resourceGroupName, elasticSanName, volumeGroupName, options));
4063
+ let page = result.value || [];
4064
+ continuationToken = result.nextLink;
4065
+ setContinuationToken(page, continuationToken);
4066
+ yield yield tslib.__await(page);
4067
+ }
4068
+ while (continuationToken) {
4069
+ result = yield tslib.__await(this._listByVolumeGroupNext(resourceGroupName, elasticSanName, volumeGroupName, continuationToken, options));
4070
+ continuationToken = result.nextLink;
4071
+ let page = result.value || [];
4072
+ setContinuationToken(page, continuationToken);
4073
+ yield yield tslib.__await(page);
4074
+ }
4075
+ });
4076
+ }
4077
+ listByVolumeGroupPagingAll(resourceGroupName, elasticSanName, volumeGroupName, options) {
4078
+ return tslib.__asyncGenerator(this, arguments, function* listByVolumeGroupPagingAll_1() {
4079
+ var _a, e_1, _b, _c;
4080
+ try {
4081
+ 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) {
4082
+ _c = _f.value;
4083
+ _d = false;
4084
+ const page = _c;
4085
+ yield tslib.__await(yield* tslib.__asyncDelegator(tslib.__asyncValues(page)));
4086
+ }
4087
+ }
4088
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
4089
+ finally {
4090
+ try {
4091
+ if (!_d && !_a && (_b = _e.return)) yield tslib.__await(_b.call(_e));
4092
+ }
4093
+ finally { if (e_1) throw e_1.error; }
4094
+ }
4095
+ });
4096
+ }
4097
+ /**
4098
+ * List Snapshots in a VolumeGroup or List Snapshots by Volume (name) in a VolumeGroup using filter
4099
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
4100
+ * @param elasticSanName The name of the ElasticSan.
4101
+ * @param volumeGroupName The name of the VolumeGroup.
4102
+ * @param options The options parameters.
4103
+ */
4104
+ _listByVolumeGroup(resourceGroupName, elasticSanName, volumeGroupName, options) {
4105
+ return this.client.sendOperationRequest({ resourceGroupName, elasticSanName, volumeGroupName, options }, listByVolumeGroupOperationSpec);
4106
+ }
4107
+ /**
4108
+ * Create a Volume Snapshot.
4109
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
4110
+ * @param elasticSanName The name of the ElasticSan.
4111
+ * @param volumeGroupName The name of the VolumeGroup.
4112
+ * @param snapshotName The name of the volume snapshot within the given volume group.
4113
+ * @param parameters Snapshot object.
4114
+ * @param options The options parameters.
4115
+ */
4116
+ beginCreate(resourceGroupName, elasticSanName, volumeGroupName, snapshotName, parameters, options) {
4117
+ return tslib.__awaiter(this, void 0, void 0, function* () {
4118
+ const directSendOperation = (args, spec) => tslib.__awaiter(this, void 0, void 0, function* () {
4119
+ return this.client.sendOperationRequest(args, spec);
4120
+ });
4121
+ const sendOperationFn = (args, spec) => tslib.__awaiter(this, void 0, void 0, function* () {
4122
+ var _a;
4123
+ let currentRawResponse = undefined;
4124
+ const providedCallback = (_a = args.options) === null || _a === void 0 ? void 0 : _a.onResponse;
4125
+ const callback = (rawResponse, flatResponse) => {
4126
+ currentRawResponse = rawResponse;
4127
+ providedCallback === null || providedCallback === void 0 ? void 0 : providedCallback(rawResponse, flatResponse);
4128
+ };
4129
+ const updatedArgs = Object.assign(Object.assign({}, args), { options: Object.assign(Object.assign({}, args.options), { onResponse: callback }) });
4130
+ const flatResponse = yield directSendOperation(updatedArgs, spec);
4131
+ return {
4132
+ flatResponse,
4133
+ rawResponse: {
4134
+ statusCode: currentRawResponse.status,
4135
+ body: currentRawResponse.parsedBody,
4136
+ headers: currentRawResponse.headers.toJSON()
4137
+ }
4138
+ };
4139
+ });
4140
+ const lro = createLroSpec({
4141
+ sendOperationFn,
4142
+ args: {
4143
+ resourceGroupName,
4144
+ elasticSanName,
4145
+ volumeGroupName,
4146
+ snapshotName,
4147
+ parameters,
4148
+ options
4149
+ },
4150
+ spec: createOperationSpec
4151
+ });
4152
+ const poller = yield coreLro.createHttpPoller(lro, {
4153
+ restoreFrom: options === null || options === void 0 ? void 0 : options.resumeFrom,
4154
+ intervalInMs: options === null || options === void 0 ? void 0 : options.updateIntervalInMs,
4155
+ resourceLocationConfig: "location"
4156
+ });
4157
+ yield poller.poll();
4158
+ return poller;
4159
+ });
4160
+ }
4161
+ /**
4162
+ * Create a Volume Snapshot.
4163
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
4164
+ * @param elasticSanName The name of the ElasticSan.
4165
+ * @param volumeGroupName The name of the VolumeGroup.
4166
+ * @param snapshotName The name of the volume snapshot within the given volume group.
4167
+ * @param parameters Snapshot object.
4168
+ * @param options The options parameters.
4169
+ */
4170
+ beginCreateAndWait(resourceGroupName, elasticSanName, volumeGroupName, snapshotName, parameters, options) {
4171
+ return tslib.__awaiter(this, void 0, void 0, function* () {
4172
+ const poller = yield this.beginCreate(resourceGroupName, elasticSanName, volumeGroupName, snapshotName, parameters, options);
4173
+ return poller.pollUntilDone();
4174
+ });
4175
+ }
4176
+ /**
4177
+ * Delete a Volume Snapshot.
4178
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
4179
+ * @param elasticSanName The name of the ElasticSan.
4180
+ * @param volumeGroupName The name of the VolumeGroup.
4181
+ * @param snapshotName The name of the volume snapshot within the given volume group.
4182
+ * @param options The options parameters.
4183
+ */
4184
+ beginDelete(resourceGroupName, elasticSanName, volumeGroupName, snapshotName, options) {
4185
+ return tslib.__awaiter(this, void 0, void 0, function* () {
4186
+ const directSendOperation = (args, spec) => tslib.__awaiter(this, void 0, void 0, function* () {
4187
+ return this.client.sendOperationRequest(args, spec);
4188
+ });
4189
+ const sendOperationFn = (args, spec) => tslib.__awaiter(this, void 0, void 0, function* () {
4190
+ var _a;
4191
+ let currentRawResponse = undefined;
4192
+ const providedCallback = (_a = args.options) === null || _a === void 0 ? void 0 : _a.onResponse;
4193
+ const callback = (rawResponse, flatResponse) => {
4194
+ currentRawResponse = rawResponse;
4195
+ providedCallback === null || providedCallback === void 0 ? void 0 : providedCallback(rawResponse, flatResponse);
4196
+ };
4197
+ const updatedArgs = Object.assign(Object.assign({}, args), { options: Object.assign(Object.assign({}, args.options), { onResponse: callback }) });
4198
+ const flatResponse = yield directSendOperation(updatedArgs, spec);
4199
+ return {
4200
+ flatResponse,
4201
+ rawResponse: {
4202
+ statusCode: currentRawResponse.status,
4203
+ body: currentRawResponse.parsedBody,
4204
+ headers: currentRawResponse.headers.toJSON()
4205
+ }
4206
+ };
4207
+ });
4208
+ const lro = createLroSpec({
4209
+ sendOperationFn,
4210
+ args: {
4211
+ resourceGroupName,
4212
+ elasticSanName,
4213
+ volumeGroupName,
4214
+ snapshotName,
4215
+ options
4216
+ },
4217
+ spec: deleteOperationSpec
4218
+ });
4219
+ const poller = yield coreLro.createHttpPoller(lro, {
4220
+ restoreFrom: options === null || options === void 0 ? void 0 : options.resumeFrom,
4221
+ intervalInMs: options === null || options === void 0 ? void 0 : options.updateIntervalInMs,
4222
+ resourceLocationConfig: "location"
4223
+ });
4224
+ yield poller.poll();
4225
+ return poller;
4226
+ });
4227
+ }
4228
+ /**
4229
+ * Delete a Volume Snapshot.
4230
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
4231
+ * @param elasticSanName The name of the ElasticSan.
4232
+ * @param volumeGroupName The name of the VolumeGroup.
4233
+ * @param snapshotName The name of the volume snapshot within the given volume group.
4234
+ * @param options The options parameters.
4235
+ */
4236
+ beginDeleteAndWait(resourceGroupName, elasticSanName, volumeGroupName, snapshotName, options) {
4237
+ return tslib.__awaiter(this, void 0, void 0, function* () {
4238
+ const poller = yield this.beginDelete(resourceGroupName, elasticSanName, volumeGroupName, snapshotName, options);
4239
+ return poller.pollUntilDone();
4240
+ });
4241
+ }
4242
+ /**
4243
+ * Get a Volume Snapshot.
4244
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
4245
+ * @param elasticSanName The name of the ElasticSan.
4246
+ * @param volumeGroupName The name of the VolumeGroup.
4247
+ * @param snapshotName The name of the volume snapshot within the given volume group.
4248
+ * @param options The options parameters.
4249
+ */
4250
+ get(resourceGroupName, elasticSanName, volumeGroupName, snapshotName, options) {
4251
+ return this.client.sendOperationRequest({
4252
+ resourceGroupName,
4253
+ elasticSanName,
4254
+ volumeGroupName,
4255
+ snapshotName,
4256
+ options
4257
+ }, getOperationSpec);
4258
+ }
4259
+ /**
4260
+ * ListByVolumeGroupNext
4261
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
4262
+ * @param elasticSanName The name of the ElasticSan.
4263
+ * @param volumeGroupName The name of the VolumeGroup.
4264
+ * @param nextLink The nextLink from the previous successful call to the ListByVolumeGroup method.
4265
+ * @param options The options parameters.
4266
+ */
4267
+ _listByVolumeGroupNext(resourceGroupName, elasticSanName, volumeGroupName, nextLink, options) {
4268
+ return this.client.sendOperationRequest({ resourceGroupName, elasticSanName, volumeGroupName, nextLink, options }, listByVolumeGroupNextOperationSpec);
4269
+ }
4270
+ }
4271
+ // Operation Specifications
4272
+ const serializer = coreClient__namespace.createSerializer(Mappers, /* isXml */ false);
4273
+ const listByVolumeGroupOperationSpec = {
4274
+ path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}/snapshots",
4275
+ httpMethod: "GET",
4276
+ responses: {
4277
+ 200: {
4278
+ bodyMapper: SnapshotList
4279
+ },
4280
+ default: {
4281
+ bodyMapper: ErrorResponse
4282
+ }
4283
+ },
4284
+ queryParameters: [apiVersion, filter],
4285
+ urlParameters: [
4286
+ $host,
4287
+ subscriptionId,
4288
+ resourceGroupName,
4289
+ elasticSanName,
4290
+ volumeGroupName
4291
+ ],
4292
+ headerParameters: [accept],
4293
+ serializer
4294
+ };
4295
+ const createOperationSpec = {
4296
+ path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}/snapshots/{snapshotName}",
4297
+ httpMethod: "PUT",
4298
+ responses: {
4299
+ 200: {
4300
+ bodyMapper: Snapshot
4301
+ },
4302
+ 201: {
4303
+ bodyMapper: Snapshot
4304
+ },
4305
+ 202: {
4306
+ bodyMapper: Snapshot
4307
+ },
4308
+ 204: {
4309
+ bodyMapper: Snapshot
4310
+ },
4311
+ default: {
4312
+ bodyMapper: ErrorResponse
4313
+ }
4314
+ },
4315
+ requestBody: parameters7,
4316
+ queryParameters: [apiVersion],
4317
+ urlParameters: [
4318
+ $host,
4319
+ subscriptionId,
4320
+ resourceGroupName,
4321
+ elasticSanName,
4322
+ volumeGroupName,
4323
+ snapshotName
4324
+ ],
4325
+ headerParameters: [accept, contentType],
4326
+ mediaType: "json",
4327
+ serializer
4328
+ };
4329
+ const deleteOperationSpec = {
4330
+ path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}/snapshots/{snapshotName}",
4331
+ httpMethod: "DELETE",
4332
+ responses: {
4333
+ 200: {},
4334
+ 201: {},
4335
+ 202: {},
4336
+ 204: {},
4337
+ default: {
4338
+ bodyMapper: ErrorResponse
4339
+ }
4340
+ },
4341
+ queryParameters: [apiVersion],
4342
+ urlParameters: [
4343
+ $host,
4344
+ subscriptionId,
4345
+ resourceGroupName,
4346
+ elasticSanName,
4347
+ volumeGroupName,
4348
+ snapshotName
4349
+ ],
4350
+ headerParameters: [accept],
4351
+ serializer
4352
+ };
4353
+ const getOperationSpec = {
4354
+ path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ElasticSan/elasticSans/{elasticSanName}/volumegroups/{volumeGroupName}/snapshots/{snapshotName}",
4355
+ httpMethod: "GET",
4356
+ responses: {
4357
+ 200: {
4358
+ bodyMapper: Snapshot
4359
+ },
4360
+ default: {
4361
+ bodyMapper: ErrorResponse
4362
+ }
4363
+ },
4364
+ queryParameters: [apiVersion],
4365
+ urlParameters: [
4366
+ $host,
4367
+ subscriptionId,
4368
+ resourceGroupName,
4369
+ elasticSanName,
4370
+ volumeGroupName,
4371
+ snapshotName
4372
+ ],
4373
+ headerParameters: [accept],
4374
+ serializer
4375
+ };
4376
+ const listByVolumeGroupNextOperationSpec = {
4377
+ path: "{nextLink}",
4378
+ httpMethod: "GET",
4379
+ responses: {
4380
+ 200: {
4381
+ bodyMapper: SnapshotList
4382
+ },
4383
+ default: {
4384
+ bodyMapper: ErrorResponse
4385
+ }
4386
+ },
4387
+ urlParameters: [
4388
+ $host,
4389
+ subscriptionId,
4390
+ resourceGroupName,
4391
+ elasticSanName,
4392
+ nextLink,
4393
+ volumeGroupName
4394
+ ],
4395
+ headerParameters: [accept],
3658
4396
  serializer
3659
4397
  };
3660
4398
 
@@ -3688,7 +4426,7 @@ class ElasticSanManagement extends coreClient__namespace.ServiceClient {
3688
4426
  requestContentType: "application/json; charset=utf-8",
3689
4427
  credential: credentials
3690
4428
  };
3691
- const packageDetails = `azsdk-js-arm-elasticsan/1.0.0-beta.3`;
4429
+ const packageDetails = `azsdk-js-arm-elasticsan/1.0.0-beta.4`;
3692
4430
  const userAgentPrefix = options.userAgentOptions && options.userAgentOptions.userAgentPrefix
3693
4431
  ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}`
3694
4432
  : `${packageDetails}`;
@@ -3721,7 +4459,7 @@ class ElasticSanManagement extends coreClient__namespace.ServiceClient {
3721
4459
  this.subscriptionId = subscriptionId;
3722
4460
  // Assigning values to Constant parameters
3723
4461
  this.$host = options.$host || "https://management.azure.com";
3724
- this.apiVersion = options.apiVersion || "2022-12-01-preview";
4462
+ this.apiVersion = options.apiVersion || "2023-01-01";
3725
4463
  this.operations = new OperationsImpl(this);
3726
4464
  this.skus = new SkusImpl(this);
3727
4465
  this.elasticSans = new ElasticSansImpl(this);
@@ -3729,6 +4467,7 @@ class ElasticSanManagement extends coreClient__namespace.ServiceClient {
3729
4467
  this.volumes = new VolumesImpl(this);
3730
4468
  this.privateEndpointConnections = new PrivateEndpointConnectionsImpl(this);
3731
4469
  this.privateLinkResources = new PrivateLinkResourcesImpl(this);
4470
+ this.volumeSnapshots = new VolumeSnapshotsImpl(this);
3732
4471
  this.addCustomApiVersionPolicy(options.apiVersion);
3733
4472
  }
3734
4473
  /** A function that adds a policy that sets the api-version (or equivalent) to reflect the library version. */