@azure/arm-communication 4.0.0-beta.3 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (147) hide show
  1. package/CHANGELOG.md +14 -3
  2. package/README.md +1 -1
  3. package/dist/index.js +561 -256
  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/communicationServicesCheckNameAvailabilitySample.js +6 -4
  8. package/dist-esm/samples-dev/communicationServicesCheckNameAvailabilitySample.js.map +1 -1
  9. package/dist-esm/samples-dev/communicationServicesCreateOrUpdateSample.js +3 -2
  10. package/dist-esm/samples-dev/communicationServicesCreateOrUpdateSample.js.map +1 -1
  11. package/dist-esm/samples-dev/communicationServicesDeleteSample.js +3 -2
  12. package/dist-esm/samples-dev/communicationServicesDeleteSample.js.map +1 -1
  13. package/dist-esm/samples-dev/communicationServicesGetSample.js +3 -2
  14. package/dist-esm/samples-dev/communicationServicesGetSample.js.map +1 -1
  15. package/dist-esm/samples-dev/communicationServicesLinkNotificationHubSample.js +4 -3
  16. package/dist-esm/samples-dev/communicationServicesLinkNotificationHubSample.js.map +1 -1
  17. package/dist-esm/samples-dev/communicationServicesListByResourceGroupSample.js +3 -2
  18. package/dist-esm/samples-dev/communicationServicesListByResourceGroupSample.js.map +1 -1
  19. package/dist-esm/samples-dev/communicationServicesListBySubscriptionSample.js +3 -2
  20. package/dist-esm/samples-dev/communicationServicesListBySubscriptionSample.js.map +1 -1
  21. package/dist-esm/samples-dev/communicationServicesListKeysSample.js +3 -2
  22. package/dist-esm/samples-dev/communicationServicesListKeysSample.js.map +1 -1
  23. package/dist-esm/samples-dev/communicationServicesRegenerateKeySample.js +4 -3
  24. package/dist-esm/samples-dev/communicationServicesRegenerateKeySample.js.map +1 -1
  25. package/dist-esm/samples-dev/communicationServicesUpdateSample.js +4 -3
  26. package/dist-esm/samples-dev/communicationServicesUpdateSample.js.map +1 -1
  27. package/dist-esm/samples-dev/domainsCancelVerificationSample.js +3 -2
  28. package/dist-esm/samples-dev/domainsCancelVerificationSample.js.map +1 -1
  29. package/dist-esm/samples-dev/domainsCreateOrUpdateSample.js +3 -2
  30. package/dist-esm/samples-dev/domainsCreateOrUpdateSample.js.map +1 -1
  31. package/dist-esm/samples-dev/domainsDeleteSample.js +3 -2
  32. package/dist-esm/samples-dev/domainsDeleteSample.js.map +1 -1
  33. package/dist-esm/samples-dev/domainsGetSample.js +3 -2
  34. package/dist-esm/samples-dev/domainsGetSample.js.map +1 -1
  35. package/dist-esm/samples-dev/domainsInitiateVerificationSample.js +3 -2
  36. package/dist-esm/samples-dev/domainsInitiateVerificationSample.js.map +1 -1
  37. package/dist-esm/samples-dev/domainsListByEmailServiceResourceSample.js +3 -2
  38. package/dist-esm/samples-dev/domainsListByEmailServiceResourceSample.js.map +1 -1
  39. package/dist-esm/samples-dev/domainsUpdateSample.js +4 -4
  40. package/dist-esm/samples-dev/domainsUpdateSample.js.map +1 -1
  41. package/dist-esm/samples-dev/emailServicesCreateOrUpdateSample.js +3 -2
  42. package/dist-esm/samples-dev/emailServicesCreateOrUpdateSample.js.map +1 -1
  43. package/dist-esm/samples-dev/emailServicesDeleteSample.js +3 -2
  44. package/dist-esm/samples-dev/emailServicesDeleteSample.js.map +1 -1
  45. package/dist-esm/samples-dev/emailServicesGetSample.js +3 -2
  46. package/dist-esm/samples-dev/emailServicesGetSample.js.map +1 -1
  47. package/dist-esm/samples-dev/emailServicesListByResourceGroupSample.js +3 -2
  48. package/dist-esm/samples-dev/emailServicesListByResourceGroupSample.js.map +1 -1
  49. package/dist-esm/samples-dev/emailServicesListBySubscriptionSample.js +3 -2
  50. package/dist-esm/samples-dev/emailServicesListBySubscriptionSample.js.map +1 -1
  51. package/dist-esm/samples-dev/emailServicesListVerifiedExchangeOnlineDomainsSample.js +3 -2
  52. package/dist-esm/samples-dev/emailServicesListVerifiedExchangeOnlineDomainsSample.js.map +1 -1
  53. package/dist-esm/samples-dev/emailServicesUpdateSample.js +3 -2
  54. package/dist-esm/samples-dev/emailServicesUpdateSample.js.map +1 -1
  55. package/dist-esm/samples-dev/operationsListSample.js +1 -1
  56. package/dist-esm/samples-dev/senderUsernamesCreateOrUpdateSample.d.ts +2 -0
  57. package/dist-esm/samples-dev/senderUsernamesCreateOrUpdateSample.d.ts.map +1 -0
  58. package/dist-esm/samples-dev/senderUsernamesCreateOrUpdateSample.js +45 -0
  59. package/dist-esm/samples-dev/senderUsernamesCreateOrUpdateSample.js.map +1 -0
  60. package/dist-esm/samples-dev/senderUsernamesDeleteSample.d.ts +2 -0
  61. package/dist-esm/samples-dev/senderUsernamesDeleteSample.d.ts.map +1 -0
  62. package/dist-esm/samples-dev/senderUsernamesDeleteSample.js +41 -0
  63. package/dist-esm/samples-dev/senderUsernamesDeleteSample.js.map +1 -0
  64. package/dist-esm/samples-dev/senderUsernamesGetSample.d.ts +2 -0
  65. package/dist-esm/samples-dev/senderUsernamesGetSample.d.ts.map +1 -0
  66. package/dist-esm/samples-dev/senderUsernamesGetSample.js +41 -0
  67. package/dist-esm/samples-dev/senderUsernamesGetSample.js.map +1 -0
  68. package/dist-esm/samples-dev/senderUsernamesListByDomainsSample.d.ts +2 -0
  69. package/dist-esm/samples-dev/senderUsernamesListByDomainsSample.d.ts.map +1 -0
  70. package/dist-esm/samples-dev/senderUsernamesListByDomainsSample.js +54 -0
  71. package/dist-esm/samples-dev/senderUsernamesListByDomainsSample.js.map +1 -0
  72. package/dist-esm/src/communicationServiceManagementClient.d.ts +3 -2
  73. package/dist-esm/src/communicationServiceManagementClient.d.ts.map +1 -1
  74. package/dist-esm/src/communicationServiceManagementClient.js +5 -4
  75. package/dist-esm/src/communicationServiceManagementClient.js.map +1 -1
  76. package/dist-esm/src/lroImpl.d.ts +6 -11
  77. package/dist-esm/src/lroImpl.d.ts.map +1 -1
  78. package/dist-esm/src/lroImpl.js +12 -20
  79. package/dist-esm/src/lroImpl.js.map +1 -1
  80. package/dist-esm/src/models/index.d.ts +87 -21
  81. package/dist-esm/src/models/index.d.ts.map +1 -1
  82. package/dist-esm/src/models/index.js +22 -0
  83. package/dist-esm/src/models/index.js.map +1 -1
  84. package/dist-esm/src/models/mappers.d.ts +3 -1
  85. package/dist-esm/src/models/mappers.d.ts.map +1 -1
  86. package/dist-esm/src/models/mappers.js +56 -20
  87. package/dist-esm/src/models/mappers.js.map +1 -1
  88. package/dist-esm/src/models/parameters.d.ts +2 -0
  89. package/dist-esm/src/models/parameters.d.ts.map +1 -1
  90. package/dist-esm/src/models/parameters.js +22 -7
  91. package/dist-esm/src/models/parameters.js.map +1 -1
  92. package/dist-esm/src/operations/communicationServices.d.ts +5 -22
  93. package/dist-esm/src/operations/communicationServices.d.ts.map +1 -1
  94. package/dist-esm/src/operations/communicationServices.js +29 -123
  95. package/dist-esm/src/operations/communicationServices.js.map +1 -1
  96. package/dist-esm/src/operations/domains.d.ts +6 -6
  97. package/dist-esm/src/operations/domains.d.ts.map +1 -1
  98. package/dist-esm/src/operations/domains.js +71 -27
  99. package/dist-esm/src/operations/domains.js.map +1 -1
  100. package/dist-esm/src/operations/emailServices.d.ts +4 -4
  101. package/dist-esm/src/operations/emailServices.d.ts.map +1 -1
  102. package/dist-esm/src/operations/emailServices.js +29 -17
  103. package/dist-esm/src/operations/emailServices.js.map +1 -1
  104. package/dist-esm/src/operations/index.d.ts +1 -0
  105. package/dist-esm/src/operations/index.d.ts.map +1 -1
  106. package/dist-esm/src/operations/index.js +1 -0
  107. package/dist-esm/src/operations/index.js.map +1 -1
  108. package/dist-esm/src/operations/senderUsernames.d.ts +70 -0
  109. package/dist-esm/src/operations/senderUsernames.d.ts.map +1 -0
  110. package/dist-esm/src/operations/senderUsernames.js +280 -0
  111. package/dist-esm/src/operations/senderUsernames.js.map +1 -0
  112. package/dist-esm/src/operationsInterfaces/communicationServices.d.ts +5 -22
  113. package/dist-esm/src/operationsInterfaces/communicationServices.d.ts.map +1 -1
  114. package/dist-esm/src/operationsInterfaces/domains.d.ts +6 -6
  115. package/dist-esm/src/operationsInterfaces/domains.d.ts.map +1 -1
  116. package/dist-esm/src/operationsInterfaces/emailServices.d.ts +4 -4
  117. package/dist-esm/src/operationsInterfaces/emailServices.d.ts.map +1 -1
  118. package/dist-esm/src/operationsInterfaces/index.d.ts +1 -0
  119. package/dist-esm/src/operationsInterfaces/index.d.ts.map +1 -1
  120. package/dist-esm/src/operationsInterfaces/index.js +1 -0
  121. package/dist-esm/src/operationsInterfaces/index.js.map +1 -1
  122. package/dist-esm/src/operationsInterfaces/senderUsernames.d.ts +43 -0
  123. package/dist-esm/src/operationsInterfaces/senderUsernames.d.ts.map +1 -0
  124. package/dist-esm/src/operationsInterfaces/senderUsernames.js +9 -0
  125. package/dist-esm/src/operationsInterfaces/senderUsernames.js.map +1 -0
  126. package/dist-esm/test/communication_examples.d.ts.map +1 -1
  127. package/dist-esm/test/communication_examples.js +3 -1
  128. package/dist-esm/test/communication_examples.js.map +1 -1
  129. package/package.json +9 -9
  130. package/review/arm-communication.api.md +90 -31
  131. package/src/communicationServiceManagementClient.ts +9 -5
  132. package/src/lroImpl.ts +31 -23
  133. package/src/models/index.ts +101 -21
  134. package/src/models/mappers.ts +62 -18
  135. package/src/models/parameters.ts +25 -7
  136. package/src/operations/communicationServices.ts +41 -196
  137. package/src/operations/domains.ts +98 -55
  138. package/src/operations/emailServices.ts +44 -34
  139. package/src/operations/index.ts +1 -0
  140. package/src/operations/senderUsernames.ts +383 -0
  141. package/src/operationsInterfaces/communicationServices.ts +6 -43
  142. package/src/operationsInterfaces/domains.ts +12 -9
  143. package/src/operationsInterfaces/emailServices.ts +6 -6
  144. package/src/operationsInterfaces/index.ts +1 -0
  145. package/src/operationsInterfaces/senderUsernames.ts +84 -0
  146. package/types/arm-communication.d.ts +159 -55
  147. package/types/tsdoc-metadata.json +1 -1
package/dist/index.js CHANGED
@@ -217,6 +217,28 @@ exports.KnownEmailServicesProvisioningState = void 0;
217
217
  /** Moving */
218
218
  KnownEmailServicesProvisioningState["Moving"] = "Moving";
219
219
  })(exports.KnownEmailServicesProvisioningState || (exports.KnownEmailServicesProvisioningState = {}));
220
+ /** Known values of {@link ProvisioningState} that the service accepts. */
221
+ exports.KnownProvisioningState = void 0;
222
+ (function (KnownProvisioningState) {
223
+ /** Unknown */
224
+ KnownProvisioningState["Unknown"] = "Unknown";
225
+ /** Succeeded */
226
+ KnownProvisioningState["Succeeded"] = "Succeeded";
227
+ /** Failed */
228
+ KnownProvisioningState["Failed"] = "Failed";
229
+ /** Canceled */
230
+ KnownProvisioningState["Canceled"] = "Canceled";
231
+ /** Running */
232
+ KnownProvisioningState["Running"] = "Running";
233
+ /** Creating */
234
+ KnownProvisioningState["Creating"] = "Creating";
235
+ /** Updating */
236
+ KnownProvisioningState["Updating"] = "Updating";
237
+ /** Deleting */
238
+ KnownProvisioningState["Deleting"] = "Deleting";
239
+ /** Moving */
240
+ KnownProvisioningState["Moving"] = "Moving";
241
+ })(exports.KnownProvisioningState || (exports.KnownProvisioningState = {}));
220
242
 
221
243
  /*
222
244
  * Copyright (c) Microsoft Corporation.
@@ -886,6 +908,32 @@ const EmailServiceResourceList = {
886
908
  }
887
909
  }
888
910
  };
911
+ const SenderUsernameResourceCollection = {
912
+ type: {
913
+ name: "Composite",
914
+ className: "SenderUsernameResourceCollection",
915
+ modelProperties: {
916
+ value: {
917
+ serializedName: "value",
918
+ type: {
919
+ name: "Sequence",
920
+ element: {
921
+ type: {
922
+ name: "Composite",
923
+ className: "SenderUsernameResource"
924
+ }
925
+ }
926
+ }
927
+ },
928
+ nextLink: {
929
+ serializedName: "nextLink",
930
+ type: {
931
+ name: "String"
932
+ }
933
+ }
934
+ }
935
+ }
936
+ };
889
937
  const NameAvailabilityParameters = {
890
938
  type: {
891
939
  name: "Composite",
@@ -912,6 +960,13 @@ const TrackedResource = {
912
960
  } })
913
961
  }
914
962
  };
963
+ const ProxyResource = {
964
+ type: {
965
+ name: "Composite",
966
+ className: "ProxyResource",
967
+ modelProperties: Object.assign({}, Resource.type.modelProperties)
968
+ }
969
+ };
915
970
  const CommunicationServiceResourceUpdate = {
916
971
  type: {
917
972
  name: "Composite",
@@ -933,13 +988,7 @@ const UpdateDomainRequestParameters = {
933
988
  type: {
934
989
  name: "Composite",
935
990
  className: "UpdateDomainRequestParameters",
936
- modelProperties: Object.assign(Object.assign({}, TaggedResource.type.modelProperties), { validSenderUsernames: {
937
- serializedName: "properties.validSenderUsernames",
938
- type: {
939
- name: "Dictionary",
940
- value: { type: { name: "String" } }
941
- }
942
- }, userEngagementTracking: {
991
+ modelProperties: Object.assign(Object.assign({}, TaggedResource.type.modelProperties), { userEngagementTracking: {
943
992
  serializedName: "properties.userEngagementTracking",
944
993
  type: {
945
994
  name: "String"
@@ -1051,12 +1100,6 @@ const DomainResource = {
1051
1100
  name: "Composite",
1052
1101
  className: "DomainPropertiesVerificationRecords"
1053
1102
  }
1054
- }, validSenderUsernames: {
1055
- serializedName: "properties.validSenderUsernames",
1056
- type: {
1057
- name: "Dictionary",
1058
- value: { type: { name: "String" } }
1059
- }
1060
1103
  }, userEngagementTracking: {
1061
1104
  serializedName: "properties.userEngagementTracking",
1062
1105
  type: {
@@ -1083,18 +1126,33 @@ const EmailServiceResource = {
1083
1126
  } })
1084
1127
  }
1085
1128
  };
1086
- const CommunicationServicesUpdateHeaders = {
1129
+ const SenderUsernameResource = {
1087
1130
  type: {
1088
1131
  name: "Composite",
1089
- className: "CommunicationServicesUpdateHeaders",
1090
- modelProperties: {
1091
- azureAsyncOperation: {
1092
- serializedName: "azure-asyncoperation",
1132
+ className: "SenderUsernameResource",
1133
+ modelProperties: Object.assign(Object.assign({}, ProxyResource.type.modelProperties), { dataLocation: {
1134
+ serializedName: "properties.dataLocation",
1135
+ readOnly: true,
1093
1136
  type: {
1094
1137
  name: "String"
1095
1138
  }
1096
- }
1097
- }
1139
+ }, username: {
1140
+ serializedName: "properties.username",
1141
+ type: {
1142
+ name: "String"
1143
+ }
1144
+ }, displayName: {
1145
+ serializedName: "properties.displayName",
1146
+ type: {
1147
+ name: "String"
1148
+ }
1149
+ }, provisioningState: {
1150
+ serializedName: "properties.provisioningState",
1151
+ readOnly: true,
1152
+ type: {
1153
+ name: "String"
1154
+ }
1155
+ } })
1098
1156
  }
1099
1157
  };
1100
1158
  const CommunicationServicesCreateOrUpdateHeaders = {
@@ -1263,15 +1321,17 @@ var Mappers = /*#__PURE__*/Object.freeze({
1263
1321
  DomainResourceList: DomainResourceList,
1264
1322
  VerificationParameter: VerificationParameter,
1265
1323
  EmailServiceResourceList: EmailServiceResourceList,
1324
+ SenderUsernameResourceCollection: SenderUsernameResourceCollection,
1266
1325
  NameAvailabilityParameters: NameAvailabilityParameters,
1267
1326
  TrackedResource: TrackedResource,
1327
+ ProxyResource: ProxyResource,
1268
1328
  CommunicationServiceResourceUpdate: CommunicationServiceResourceUpdate,
1269
1329
  UpdateDomainRequestParameters: UpdateDomainRequestParameters,
1270
1330
  EmailServiceResourceUpdate: EmailServiceResourceUpdate,
1271
1331
  CommunicationServiceResource: CommunicationServiceResource,
1272
1332
  DomainResource: DomainResource,
1273
1333
  EmailServiceResource: EmailServiceResource,
1274
- CommunicationServicesUpdateHeaders: CommunicationServicesUpdateHeaders,
1334
+ SenderUsernameResource: SenderUsernameResource,
1275
1335
  CommunicationServicesCreateOrUpdateHeaders: CommunicationServicesCreateOrUpdateHeaders,
1276
1336
  CommunicationServicesDeleteHeaders: CommunicationServicesDeleteHeaders,
1277
1337
  DomainsCreateOrUpdateHeaders: DomainsCreateOrUpdateHeaders,
@@ -1316,7 +1376,7 @@ const $host = {
1316
1376
  const apiVersion = {
1317
1377
  parameterPath: "apiVersion",
1318
1378
  mapper: {
1319
- defaultValue: "2022-07-01-preview",
1379
+ defaultValue: "2023-03-31",
1320
1380
  isConstant: true,
1321
1381
  serializedName: "api-version",
1322
1382
  type: {
@@ -1353,13 +1413,10 @@ const nameAvailabilityParameters = {
1353
1413
  const subscriptionId = {
1354
1414
  parameterPath: "subscriptionId",
1355
1415
  mapper: {
1356
- constraints: {
1357
- MinLength: 1
1358
- },
1359
1416
  serializedName: "subscriptionId",
1360
1417
  required: true,
1361
1418
  type: {
1362
- name: "String"
1419
+ name: "Uuid"
1363
1420
  }
1364
1421
  }
1365
1422
  };
@@ -1385,7 +1442,7 @@ const communicationServiceName = {
1385
1442
  parameterPath: "communicationServiceName",
1386
1443
  mapper: {
1387
1444
  constraints: {
1388
- Pattern: new RegExp("^[-\\w]+$"),
1445
+ Pattern: new RegExp("^[a-zA-Z0-9-]+$"),
1389
1446
  MaxLength: 63,
1390
1447
  MinLength: 1
1391
1448
  },
@@ -1457,6 +1514,24 @@ const parameters7 = {
1457
1514
  parameterPath: "parameters",
1458
1515
  mapper: EmailServiceResourceUpdate
1459
1516
  };
1517
+ const senderUsername = {
1518
+ parameterPath: "senderUsername",
1519
+ mapper: {
1520
+ constraints: {
1521
+ MaxLength: 253,
1522
+ MinLength: 1
1523
+ },
1524
+ serializedName: "senderUsername",
1525
+ required: true,
1526
+ type: {
1527
+ name: "String"
1528
+ }
1529
+ }
1530
+ };
1531
+ const parameters8 = {
1532
+ parameterPath: "parameters",
1533
+ mapper: SenderUsernameResource
1534
+ };
1460
1535
 
1461
1536
  /*
1462
1537
  * Copyright (c) Microsoft Corporation.
@@ -1551,7 +1626,7 @@ class OperationsImpl {
1551
1626
  }
1552
1627
  }
1553
1628
  // Operation Specifications
1554
- const serializer$3 = coreClient__namespace.createSerializer(Mappers, /* isXml */ false);
1629
+ const serializer$4 = coreClient__namespace.createSerializer(Mappers, /* isXml */ false);
1555
1630
  const listOperationSpec = {
1556
1631
  path: "/providers/Microsoft.Communication/operations",
1557
1632
  httpMethod: "GET",
@@ -1566,7 +1641,7 @@ const listOperationSpec = {
1566
1641
  queryParameters: [apiVersion],
1567
1642
  urlParameters: [$host],
1568
1643
  headerParameters: [accept],
1569
- serializer: serializer$3
1644
+ serializer: serializer$4
1570
1645
  };
1571
1646
  const listNextOperationSpec = {
1572
1647
  path: "{nextLink}",
@@ -1581,7 +1656,7 @@ const listNextOperationSpec = {
1581
1656
  },
1582
1657
  urlParameters: [$host, nextLink],
1583
1658
  headerParameters: [accept],
1584
- serializer: serializer$3
1659
+ serializer: serializer$4
1585
1660
  };
1586
1661
 
1587
1662
  /*
@@ -1591,25 +1666,17 @@ const listNextOperationSpec = {
1591
1666
  * Code generated by Microsoft (R) AutoRest Code Generator.
1592
1667
  * Changes may cause incorrect behavior and will be lost if the code is regenerated.
1593
1668
  */
1594
- class LroImpl {
1595
- constructor(sendOperationFn, args, spec, requestPath = spec.path, requestMethod = spec.httpMethod) {
1596
- this.sendOperationFn = sendOperationFn;
1597
- this.args = args;
1598
- this.spec = spec;
1599
- this.requestPath = requestPath;
1600
- this.requestMethod = requestMethod;
1601
- }
1602
- sendInitialRequest() {
1603
- return tslib.__awaiter(this, void 0, void 0, function* () {
1604
- return this.sendOperationFn(this.args, this.spec);
1605
- });
1606
- }
1607
- sendPollRequest(path) {
1608
- return tslib.__awaiter(this, void 0, void 0, function* () {
1609
- const _a = this.spec, restSpec = tslib.__rest(_a, ["requestBody"]);
1610
- return this.sendOperationFn(this.args, Object.assign(Object.assign({}, restSpec), { path, httpMethod: "GET" }));
1611
- });
1612
- }
1669
+ function createLroSpec(inputs) {
1670
+ const { args, spec, sendOperationFn } = inputs;
1671
+ return {
1672
+ requestMethod: spec.httpMethod,
1673
+ requestPath: spec.path,
1674
+ sendInitialRequest: () => sendOperationFn(args, spec),
1675
+ sendPollRequest: (path, options) => {
1676
+ const restSpec = tslib.__rest(spec, ["requestBody"]);
1677
+ return sendOperationFn(args, Object.assign(Object.assign({}, restSpec), { httpMethod: "GET", path, abortSignal: options === null || options === void 0 ? void 0 : options.abortSignal }));
1678
+ }
1679
+ };
1613
1680
  }
1614
1681
 
1615
1682
  /*
@@ -1787,52 +1854,8 @@ class CommunicationServicesImpl {
1787
1854
  * @param parameters Parameters for the update operation
1788
1855
  * @param options The options parameters.
1789
1856
  */
1790
- beginUpdate(resourceGroupName, communicationServiceName, parameters, options) {
1791
- return tslib.__awaiter(this, void 0, void 0, function* () {
1792
- const directSendOperation = (args, spec) => tslib.__awaiter(this, void 0, void 0, function* () {
1793
- return this.client.sendOperationRequest(args, spec);
1794
- });
1795
- const sendOperation = (args, spec) => tslib.__awaiter(this, void 0, void 0, function* () {
1796
- var _a;
1797
- let currentRawResponse = undefined;
1798
- const providedCallback = (_a = args.options) === null || _a === void 0 ? void 0 : _a.onResponse;
1799
- const callback = (rawResponse, flatResponse) => {
1800
- currentRawResponse = rawResponse;
1801
- providedCallback === null || providedCallback === void 0 ? void 0 : providedCallback(rawResponse, flatResponse);
1802
- };
1803
- const updatedArgs = Object.assign(Object.assign({}, args), { options: Object.assign(Object.assign({}, args.options), { onResponse: callback }) });
1804
- const flatResponse = yield directSendOperation(updatedArgs, spec);
1805
- return {
1806
- flatResponse,
1807
- rawResponse: {
1808
- statusCode: currentRawResponse.status,
1809
- body: currentRawResponse.parsedBody,
1810
- headers: currentRawResponse.headers.toJSON()
1811
- }
1812
- };
1813
- });
1814
- const lro = new LroImpl(sendOperation, { resourceGroupName, communicationServiceName, parameters, options }, updateOperationSpec$2);
1815
- const poller = new coreLro.LroEngine(lro, {
1816
- resumeFrom: options === null || options === void 0 ? void 0 : options.resumeFrom,
1817
- intervalInMs: options === null || options === void 0 ? void 0 : options.updateIntervalInMs,
1818
- lroResourceLocationConfig: "azure-async-operation"
1819
- });
1820
- yield poller.poll();
1821
- return poller;
1822
- });
1823
- }
1824
- /**
1825
- * Operation to update an existing CommunicationService.
1826
- * @param resourceGroupName The name of the resource group. The name is case insensitive.
1827
- * @param communicationServiceName The name of the CommunicationService resource.
1828
- * @param parameters Parameters for the update operation
1829
- * @param options The options parameters.
1830
- */
1831
- beginUpdateAndWait(resourceGroupName, communicationServiceName, parameters, options) {
1832
- return tslib.__awaiter(this, void 0, void 0, function* () {
1833
- const poller = yield this.beginUpdate(resourceGroupName, communicationServiceName, parameters, options);
1834
- return poller.pollUntilDone();
1835
- });
1857
+ update(resourceGroupName, communicationServiceName, parameters, options) {
1858
+ return this.client.sendOperationRequest({ resourceGroupName, communicationServiceName, parameters, options }, updateOperationSpec$2);
1836
1859
  }
1837
1860
  /**
1838
1861
  * Get the CommunicationService and its properties.
@@ -1841,7 +1864,7 @@ class CommunicationServicesImpl {
1841
1864
  * @param options The options parameters.
1842
1865
  */
1843
1866
  get(resourceGroupName, communicationServiceName, options) {
1844
- return this.client.sendOperationRequest({ resourceGroupName, communicationServiceName, options }, getOperationSpec$2);
1867
+ return this.client.sendOperationRequest({ resourceGroupName, communicationServiceName, options }, getOperationSpec$3);
1845
1868
  }
1846
1869
  /**
1847
1870
  * Create a new CommunicationService or update an existing CommunicationService.
@@ -1855,7 +1878,7 @@ class CommunicationServicesImpl {
1855
1878
  const directSendOperation = (args, spec) => tslib.__awaiter(this, void 0, void 0, function* () {
1856
1879
  return this.client.sendOperationRequest(args, spec);
1857
1880
  });
1858
- const sendOperation = (args, spec) => tslib.__awaiter(this, void 0, void 0, function* () {
1881
+ const sendOperationFn = (args, spec) => tslib.__awaiter(this, void 0, void 0, function* () {
1859
1882
  var _a;
1860
1883
  let currentRawResponse = undefined;
1861
1884
  const providedCallback = (_a = args.options) === null || _a === void 0 ? void 0 : _a.onResponse;
@@ -1874,11 +1897,20 @@ class CommunicationServicesImpl {
1874
1897
  }
1875
1898
  };
1876
1899
  });
1877
- const lro = new LroImpl(sendOperation, { resourceGroupName, communicationServiceName, parameters, options }, createOrUpdateOperationSpec$2);
1878
- const poller = new coreLro.LroEngine(lro, {
1879
- resumeFrom: options === null || options === void 0 ? void 0 : options.resumeFrom,
1900
+ const lro = createLroSpec({
1901
+ sendOperationFn,
1902
+ args: {
1903
+ resourceGroupName,
1904
+ communicationServiceName,
1905
+ parameters,
1906
+ options
1907
+ },
1908
+ spec: createOrUpdateOperationSpec$3
1909
+ });
1910
+ const poller = yield coreLro.createHttpPoller(lro, {
1911
+ restoreFrom: options === null || options === void 0 ? void 0 : options.resumeFrom,
1880
1912
  intervalInMs: options === null || options === void 0 ? void 0 : options.updateIntervalInMs,
1881
- lroResourceLocationConfig: "azure-async-operation"
1913
+ resourceLocationConfig: "azure-async-operation"
1882
1914
  });
1883
1915
  yield poller.poll();
1884
1916
  return poller;
@@ -1908,7 +1940,7 @@ class CommunicationServicesImpl {
1908
1940
  const directSendOperation = (args, spec) => tslib.__awaiter(this, void 0, void 0, function* () {
1909
1941
  return this.client.sendOperationRequest(args, spec);
1910
1942
  });
1911
- const sendOperation = (args, spec) => tslib.__awaiter(this, void 0, void 0, function* () {
1943
+ const sendOperationFn = (args, spec) => tslib.__awaiter(this, void 0, void 0, function* () {
1912
1944
  var _a;
1913
1945
  let currentRawResponse = undefined;
1914
1946
  const providedCallback = (_a = args.options) === null || _a === void 0 ? void 0 : _a.onResponse;
@@ -1927,11 +1959,15 @@ class CommunicationServicesImpl {
1927
1959
  }
1928
1960
  };
1929
1961
  });
1930
- const lro = new LroImpl(sendOperation, { resourceGroupName, communicationServiceName, options }, deleteOperationSpec$2);
1931
- const poller = new coreLro.LroEngine(lro, {
1932
- resumeFrom: options === null || options === void 0 ? void 0 : options.resumeFrom,
1962
+ const lro = createLroSpec({
1963
+ sendOperationFn,
1964
+ args: { resourceGroupName, communicationServiceName, options },
1965
+ spec: deleteOperationSpec$3
1966
+ });
1967
+ const poller = yield coreLro.createHttpPoller(lro, {
1968
+ restoreFrom: options === null || options === void 0 ? void 0 : options.resumeFrom,
1933
1969
  intervalInMs: options === null || options === void 0 ? void 0 : options.updateIntervalInMs,
1934
- lroResourceLocationConfig: "location"
1970
+ resourceLocationConfig: "location"
1935
1971
  });
1936
1972
  yield poller.poll();
1937
1973
  return poller;
@@ -1966,53 +2002,8 @@ class CommunicationServicesImpl {
1966
2002
  * @param parameters Parameter that describes the Regenerate Key Operation.
1967
2003
  * @param options The options parameters.
1968
2004
  */
1969
- beginRegenerateKey(resourceGroupName, communicationServiceName, parameters, options) {
1970
- return tslib.__awaiter(this, void 0, void 0, function* () {
1971
- const directSendOperation = (args, spec) => tslib.__awaiter(this, void 0, void 0, function* () {
1972
- return this.client.sendOperationRequest(args, spec);
1973
- });
1974
- const sendOperation = (args, spec) => tslib.__awaiter(this, void 0, void 0, function* () {
1975
- var _a;
1976
- let currentRawResponse = undefined;
1977
- const providedCallback = (_a = args.options) === null || _a === void 0 ? void 0 : _a.onResponse;
1978
- const callback = (rawResponse, flatResponse) => {
1979
- currentRawResponse = rawResponse;
1980
- providedCallback === null || providedCallback === void 0 ? void 0 : providedCallback(rawResponse, flatResponse);
1981
- };
1982
- const updatedArgs = Object.assign(Object.assign({}, args), { options: Object.assign(Object.assign({}, args.options), { onResponse: callback }) });
1983
- const flatResponse = yield directSendOperation(updatedArgs, spec);
1984
- return {
1985
- flatResponse,
1986
- rawResponse: {
1987
- statusCode: currentRawResponse.status,
1988
- body: currentRawResponse.parsedBody,
1989
- headers: currentRawResponse.headers.toJSON()
1990
- }
1991
- };
1992
- });
1993
- const lro = new LroImpl(sendOperation, { resourceGroupName, communicationServiceName, parameters, options }, regenerateKeyOperationSpec);
1994
- const poller = new coreLro.LroEngine(lro, {
1995
- resumeFrom: options === null || options === void 0 ? void 0 : options.resumeFrom,
1996
- intervalInMs: options === null || options === void 0 ? void 0 : options.updateIntervalInMs,
1997
- lroResourceLocationConfig: "azure-async-operation"
1998
- });
1999
- yield poller.poll();
2000
- return poller;
2001
- });
2002
- }
2003
- /**
2004
- * Regenerate CommunicationService access key. PrimaryKey and SecondaryKey cannot be regenerated at the
2005
- * same time.
2006
- * @param resourceGroupName The name of the resource group. The name is case insensitive.
2007
- * @param communicationServiceName The name of the CommunicationService resource.
2008
- * @param parameters Parameter that describes the Regenerate Key Operation.
2009
- * @param options The options parameters.
2010
- */
2011
- beginRegenerateKeyAndWait(resourceGroupName, communicationServiceName, parameters, options) {
2012
- return tslib.__awaiter(this, void 0, void 0, function* () {
2013
- const poller = yield this.beginRegenerateKey(resourceGroupName, communicationServiceName, parameters, options);
2014
- return poller.pollUntilDone();
2015
- });
2005
+ regenerateKey(resourceGroupName, communicationServiceName, parameters, options) {
2006
+ return this.client.sendOperationRequest({ resourceGroupName, communicationServiceName, parameters, options }, regenerateKeyOperationSpec);
2016
2007
  }
2017
2008
  /**
2018
2009
  * ListBySubscriptionNext
@@ -2033,7 +2024,7 @@ class CommunicationServicesImpl {
2033
2024
  }
2034
2025
  }
2035
2026
  // Operation Specifications
2036
- const serializer$2 = coreClient__namespace.createSerializer(Mappers, /* isXml */ false);
2027
+ const serializer$3 = coreClient__namespace.createSerializer(Mappers, /* isXml */ false);
2037
2028
  const checkNameAvailabilityOperationSpec = {
2038
2029
  path: "/subscriptions/{subscriptionId}/providers/Microsoft.Communication/checkNameAvailability",
2039
2030
  httpMethod: "POST",
@@ -2050,7 +2041,7 @@ const checkNameAvailabilityOperationSpec = {
2050
2041
  urlParameters: [$host, subscriptionId],
2051
2042
  headerParameters: [accept, contentType],
2052
2043
  mediaType: "json",
2053
- serializer: serializer$2
2044
+ serializer: serializer$3
2054
2045
  };
2055
2046
  const linkNotificationHubOperationSpec = {
2056
2047
  path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Communication/communicationServices/{communicationServiceName}/linkNotificationHub",
@@ -2073,7 +2064,7 @@ const linkNotificationHubOperationSpec = {
2073
2064
  ],
2074
2065
  headerParameters: [accept, contentType],
2075
2066
  mediaType: "json",
2076
- serializer: serializer$2
2067
+ serializer: serializer$3
2077
2068
  };
2078
2069
  const listBySubscriptionOperationSpec$1 = {
2079
2070
  path: "/subscriptions/{subscriptionId}/providers/Microsoft.Communication/communicationServices",
@@ -2089,7 +2080,7 @@ const listBySubscriptionOperationSpec$1 = {
2089
2080
  queryParameters: [apiVersion],
2090
2081
  urlParameters: [$host, subscriptionId],
2091
2082
  headerParameters: [accept],
2092
- serializer: serializer$2
2083
+ serializer: serializer$3
2093
2084
  };
2094
2085
  const listByResourceGroupOperationSpec$1 = {
2095
2086
  path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Communication/communicationServices",
@@ -2109,7 +2100,7 @@ const listByResourceGroupOperationSpec$1 = {
2109
2100
  resourceGroupName
2110
2101
  ],
2111
2102
  headerParameters: [accept],
2112
- serializer: serializer$2
2103
+ serializer: serializer$3
2113
2104
  };
2114
2105
  const updateOperationSpec$2 = {
2115
2106
  path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Communication/communicationServices/{communicationServiceName}",
@@ -2118,15 +2109,6 @@ const updateOperationSpec$2 = {
2118
2109
  200: {
2119
2110
  bodyMapper: CommunicationServiceResource
2120
2111
  },
2121
- 201: {
2122
- bodyMapper: CommunicationServiceResource
2123
- },
2124
- 202: {
2125
- bodyMapper: CommunicationServiceResource
2126
- },
2127
- 204: {
2128
- bodyMapper: CommunicationServiceResource
2129
- },
2130
2112
  default: {
2131
2113
  bodyMapper: ErrorResponse
2132
2114
  }
@@ -2141,9 +2123,9 @@ const updateOperationSpec$2 = {
2141
2123
  ],
2142
2124
  headerParameters: [accept, contentType],
2143
2125
  mediaType: "json",
2144
- serializer: serializer$2
2126
+ serializer: serializer$3
2145
2127
  };
2146
- const getOperationSpec$2 = {
2128
+ const getOperationSpec$3 = {
2147
2129
  path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Communication/communicationServices/{communicationServiceName}",
2148
2130
  httpMethod: "GET",
2149
2131
  responses: {
@@ -2162,9 +2144,9 @@ const getOperationSpec$2 = {
2162
2144
  communicationServiceName
2163
2145
  ],
2164
2146
  headerParameters: [accept],
2165
- serializer: serializer$2
2147
+ serializer: serializer$3
2166
2148
  };
2167
- const createOrUpdateOperationSpec$2 = {
2149
+ const createOrUpdateOperationSpec$3 = {
2168
2150
  path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Communication/communicationServices/{communicationServiceName}",
2169
2151
  httpMethod: "PUT",
2170
2152
  responses: {
@@ -2194,9 +2176,9 @@ const createOrUpdateOperationSpec$2 = {
2194
2176
  ],
2195
2177
  headerParameters: [accept, contentType],
2196
2178
  mediaType: "json",
2197
- serializer: serializer$2
2179
+ serializer: serializer$3
2198
2180
  };
2199
- const deleteOperationSpec$2 = {
2181
+ const deleteOperationSpec$3 = {
2200
2182
  path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Communication/communicationServices/{communicationServiceName}",
2201
2183
  httpMethod: "DELETE",
2202
2184
  responses: {
@@ -2216,7 +2198,7 @@ const deleteOperationSpec$2 = {
2216
2198
  communicationServiceName
2217
2199
  ],
2218
2200
  headerParameters: [accept],
2219
- serializer: serializer$2
2201
+ serializer: serializer$3
2220
2202
  };
2221
2203
  const listKeysOperationSpec = {
2222
2204
  path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Communication/communicationServices/{communicationServiceName}/listKeys",
@@ -2237,7 +2219,7 @@ const listKeysOperationSpec = {
2237
2219
  communicationServiceName
2238
2220
  ],
2239
2221
  headerParameters: [accept],
2240
- serializer: serializer$2
2222
+ serializer: serializer$3
2241
2223
  };
2242
2224
  const regenerateKeyOperationSpec = {
2243
2225
  path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Communication/communicationServices/{communicationServiceName}/regenerateKey",
@@ -2246,15 +2228,6 @@ const regenerateKeyOperationSpec = {
2246
2228
  200: {
2247
2229
  bodyMapper: CommunicationServiceKeys
2248
2230
  },
2249
- 201: {
2250
- bodyMapper: CommunicationServiceKeys
2251
- },
2252
- 202: {
2253
- bodyMapper: CommunicationServiceKeys
2254
- },
2255
- 204: {
2256
- bodyMapper: CommunicationServiceKeys
2257
- },
2258
2231
  default: {
2259
2232
  bodyMapper: ErrorResponse
2260
2233
  }
@@ -2269,7 +2242,7 @@ const regenerateKeyOperationSpec = {
2269
2242
  ],
2270
2243
  headerParameters: [accept, contentType],
2271
2244
  mediaType: "json",
2272
- serializer: serializer$2
2245
+ serializer: serializer$3
2273
2246
  };
2274
2247
  const listBySubscriptionNextOperationSpec$1 = {
2275
2248
  path: "{nextLink}",
@@ -2288,7 +2261,7 @@ const listBySubscriptionNextOperationSpec$1 = {
2288
2261
  subscriptionId
2289
2262
  ],
2290
2263
  headerParameters: [accept],
2291
- serializer: serializer$2
2264
+ serializer: serializer$3
2292
2265
  };
2293
2266
  const listByResourceGroupNextOperationSpec$1 = {
2294
2267
  path: "{nextLink}",
@@ -2308,7 +2281,7 @@ const listByResourceGroupNextOperationSpec$1 = {
2308
2281
  resourceGroupName
2309
2282
  ],
2310
2283
  headerParameters: [accept],
2311
- serializer: serializer$2
2284
+ serializer: serializer$3
2312
2285
  };
2313
2286
 
2314
2287
  /*
@@ -2397,7 +2370,7 @@ class DomainsImpl {
2397
2370
  * @param options The options parameters.
2398
2371
  */
2399
2372
  get(resourceGroupName, emailServiceName, domainName, options) {
2400
- return this.client.sendOperationRequest({ resourceGroupName, emailServiceName, domainName, options }, getOperationSpec$1);
2373
+ return this.client.sendOperationRequest({ resourceGroupName, emailServiceName, domainName, options }, getOperationSpec$2);
2401
2374
  }
2402
2375
  /**
2403
2376
  * Add a new Domains resource under the parent EmailService resource or update an existing Domains
@@ -2413,7 +2386,7 @@ class DomainsImpl {
2413
2386
  const directSendOperation = (args, spec) => tslib.__awaiter(this, void 0, void 0, function* () {
2414
2387
  return this.client.sendOperationRequest(args, spec);
2415
2388
  });
2416
- const sendOperation = (args, spec) => tslib.__awaiter(this, void 0, void 0, function* () {
2389
+ const sendOperationFn = (args, spec) => tslib.__awaiter(this, void 0, void 0, function* () {
2417
2390
  var _a;
2418
2391
  let currentRawResponse = undefined;
2419
2392
  const providedCallback = (_a = args.options) === null || _a === void 0 ? void 0 : _a.onResponse;
@@ -2432,11 +2405,21 @@ class DomainsImpl {
2432
2405
  }
2433
2406
  };
2434
2407
  });
2435
- const lro = new LroImpl(sendOperation, { resourceGroupName, emailServiceName, domainName, parameters, options }, createOrUpdateOperationSpec$1);
2436
- const poller = new coreLro.LroEngine(lro, {
2437
- resumeFrom: options === null || options === void 0 ? void 0 : options.resumeFrom,
2408
+ const lro = createLroSpec({
2409
+ sendOperationFn,
2410
+ args: {
2411
+ resourceGroupName,
2412
+ emailServiceName,
2413
+ domainName,
2414
+ parameters,
2415
+ options
2416
+ },
2417
+ spec: createOrUpdateOperationSpec$2
2418
+ });
2419
+ const poller = yield coreLro.createHttpPoller(lro, {
2420
+ restoreFrom: options === null || options === void 0 ? void 0 : options.resumeFrom,
2438
2421
  intervalInMs: options === null || options === void 0 ? void 0 : options.updateIntervalInMs,
2439
- lroResourceLocationConfig: "azure-async-operation"
2422
+ resourceLocationConfig: "azure-async-operation"
2440
2423
  });
2441
2424
  yield poller.poll();
2442
2425
  return poller;
@@ -2469,7 +2452,7 @@ class DomainsImpl {
2469
2452
  const directSendOperation = (args, spec) => tslib.__awaiter(this, void 0, void 0, function* () {
2470
2453
  return this.client.sendOperationRequest(args, spec);
2471
2454
  });
2472
- const sendOperation = (args, spec) => tslib.__awaiter(this, void 0, void 0, function* () {
2455
+ const sendOperationFn = (args, spec) => tslib.__awaiter(this, void 0, void 0, function* () {
2473
2456
  var _a;
2474
2457
  let currentRawResponse = undefined;
2475
2458
  const providedCallback = (_a = args.options) === null || _a === void 0 ? void 0 : _a.onResponse;
@@ -2488,11 +2471,15 @@ class DomainsImpl {
2488
2471
  }
2489
2472
  };
2490
2473
  });
2491
- const lro = new LroImpl(sendOperation, { resourceGroupName, emailServiceName, domainName, options }, deleteOperationSpec$1);
2492
- const poller = new coreLro.LroEngine(lro, {
2493
- resumeFrom: options === null || options === void 0 ? void 0 : options.resumeFrom,
2474
+ const lro = createLroSpec({
2475
+ sendOperationFn,
2476
+ args: { resourceGroupName, emailServiceName, domainName, options },
2477
+ spec: deleteOperationSpec$2
2478
+ });
2479
+ const poller = yield coreLro.createHttpPoller(lro, {
2480
+ restoreFrom: options === null || options === void 0 ? void 0 : options.resumeFrom,
2494
2481
  intervalInMs: options === null || options === void 0 ? void 0 : options.updateIntervalInMs,
2495
- lroResourceLocationConfig: "location"
2482
+ resourceLocationConfig: "location"
2496
2483
  });
2497
2484
  yield poller.poll();
2498
2485
  return poller;
@@ -2524,7 +2511,7 @@ class DomainsImpl {
2524
2511
  const directSendOperation = (args, spec) => tslib.__awaiter(this, void 0, void 0, function* () {
2525
2512
  return this.client.sendOperationRequest(args, spec);
2526
2513
  });
2527
- const sendOperation = (args, spec) => tslib.__awaiter(this, void 0, void 0, function* () {
2514
+ const sendOperationFn = (args, spec) => tslib.__awaiter(this, void 0, void 0, function* () {
2528
2515
  var _a;
2529
2516
  let currentRawResponse = undefined;
2530
2517
  const providedCallback = (_a = args.options) === null || _a === void 0 ? void 0 : _a.onResponse;
@@ -2543,11 +2530,21 @@ class DomainsImpl {
2543
2530
  }
2544
2531
  };
2545
2532
  });
2546
- const lro = new LroImpl(sendOperation, { resourceGroupName, emailServiceName, domainName, parameters, options }, updateOperationSpec$1);
2547
- const poller = new coreLro.LroEngine(lro, {
2548
- resumeFrom: options === null || options === void 0 ? void 0 : options.resumeFrom,
2533
+ const lro = createLroSpec({
2534
+ sendOperationFn,
2535
+ args: {
2536
+ resourceGroupName,
2537
+ emailServiceName,
2538
+ domainName,
2539
+ parameters,
2540
+ options
2541
+ },
2542
+ spec: updateOperationSpec$1
2543
+ });
2544
+ const poller = yield coreLro.createHttpPoller(lro, {
2545
+ restoreFrom: options === null || options === void 0 ? void 0 : options.resumeFrom,
2549
2546
  intervalInMs: options === null || options === void 0 ? void 0 : options.updateIntervalInMs,
2550
- lroResourceLocationConfig: "azure-async-operation"
2547
+ resourceLocationConfig: "azure-async-operation"
2551
2548
  });
2552
2549
  yield poller.poll();
2553
2550
  return poller;
@@ -2589,7 +2586,7 @@ class DomainsImpl {
2589
2586
  const directSendOperation = (args, spec) => tslib.__awaiter(this, void 0, void 0, function* () {
2590
2587
  return this.client.sendOperationRequest(args, spec);
2591
2588
  });
2592
- const sendOperation = (args, spec) => tslib.__awaiter(this, void 0, void 0, function* () {
2589
+ const sendOperationFn = (args, spec) => tslib.__awaiter(this, void 0, void 0, function* () {
2593
2590
  var _a;
2594
2591
  let currentRawResponse = undefined;
2595
2592
  const providedCallback = (_a = args.options) === null || _a === void 0 ? void 0 : _a.onResponse;
@@ -2608,11 +2605,21 @@ class DomainsImpl {
2608
2605
  }
2609
2606
  };
2610
2607
  });
2611
- const lro = new LroImpl(sendOperation, { resourceGroupName, emailServiceName, domainName, parameters, options }, initiateVerificationOperationSpec);
2612
- const poller = new coreLro.LroEngine(lro, {
2613
- resumeFrom: options === null || options === void 0 ? void 0 : options.resumeFrom,
2608
+ const lro = createLroSpec({
2609
+ sendOperationFn,
2610
+ args: {
2611
+ resourceGroupName,
2612
+ emailServiceName,
2613
+ domainName,
2614
+ parameters,
2615
+ options
2616
+ },
2617
+ spec: initiateVerificationOperationSpec
2618
+ });
2619
+ const poller = yield coreLro.createHttpPoller(lro, {
2620
+ restoreFrom: options === null || options === void 0 ? void 0 : options.resumeFrom,
2614
2621
  intervalInMs: options === null || options === void 0 ? void 0 : options.updateIntervalInMs,
2615
- lroResourceLocationConfig: "location"
2622
+ resourceLocationConfig: "location"
2616
2623
  });
2617
2624
  yield poller.poll();
2618
2625
  return poller;
@@ -2645,7 +2652,7 @@ class DomainsImpl {
2645
2652
  const directSendOperation = (args, spec) => tslib.__awaiter(this, void 0, void 0, function* () {
2646
2653
  return this.client.sendOperationRequest(args, spec);
2647
2654
  });
2648
- const sendOperation = (args, spec) => tslib.__awaiter(this, void 0, void 0, function* () {
2655
+ const sendOperationFn = (args, spec) => tslib.__awaiter(this, void 0, void 0, function* () {
2649
2656
  var _a;
2650
2657
  let currentRawResponse = undefined;
2651
2658
  const providedCallback = (_a = args.options) === null || _a === void 0 ? void 0 : _a.onResponse;
@@ -2664,11 +2671,21 @@ class DomainsImpl {
2664
2671
  }
2665
2672
  };
2666
2673
  });
2667
- const lro = new LroImpl(sendOperation, { resourceGroupName, emailServiceName, domainName, parameters, options }, cancelVerificationOperationSpec);
2668
- const poller = new coreLro.LroEngine(lro, {
2669
- resumeFrom: options === null || options === void 0 ? void 0 : options.resumeFrom,
2674
+ const lro = createLroSpec({
2675
+ sendOperationFn,
2676
+ args: {
2677
+ resourceGroupName,
2678
+ emailServiceName,
2679
+ domainName,
2680
+ parameters,
2681
+ options
2682
+ },
2683
+ spec: cancelVerificationOperationSpec
2684
+ });
2685
+ const poller = yield coreLro.createHttpPoller(lro, {
2686
+ restoreFrom: options === null || options === void 0 ? void 0 : options.resumeFrom,
2670
2687
  intervalInMs: options === null || options === void 0 ? void 0 : options.updateIntervalInMs,
2671
- lroResourceLocationConfig: "location"
2688
+ resourceLocationConfig: "location"
2672
2689
  });
2673
2690
  yield poller.poll();
2674
2691
  return poller;
@@ -2701,8 +2718,8 @@ class DomainsImpl {
2701
2718
  }
2702
2719
  }
2703
2720
  // Operation Specifications
2704
- const serializer$1 = coreClient__namespace.createSerializer(Mappers, /* isXml */ false);
2705
- const getOperationSpec$1 = {
2721
+ const serializer$2 = coreClient__namespace.createSerializer(Mappers, /* isXml */ false);
2722
+ const getOperationSpec$2 = {
2706
2723
  path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Communication/emailServices/{emailServiceName}/domains/{domainName}",
2707
2724
  httpMethod: "GET",
2708
2725
  responses: {
@@ -2722,9 +2739,9 @@ const getOperationSpec$1 = {
2722
2739
  domainName
2723
2740
  ],
2724
2741
  headerParameters: [accept],
2725
- serializer: serializer$1
2742
+ serializer: serializer$2
2726
2743
  };
2727
- const createOrUpdateOperationSpec$1 = {
2744
+ const createOrUpdateOperationSpec$2 = {
2728
2745
  path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Communication/emailServices/{emailServiceName}/domains/{domainName}",
2729
2746
  httpMethod: "PUT",
2730
2747
  responses: {
@@ -2755,9 +2772,9 @@ const createOrUpdateOperationSpec$1 = {
2755
2772
  ],
2756
2773
  headerParameters: [accept, contentType],
2757
2774
  mediaType: "json",
2758
- serializer: serializer$1
2775
+ serializer: serializer$2
2759
2776
  };
2760
- const deleteOperationSpec$1 = {
2777
+ const deleteOperationSpec$2 = {
2761
2778
  path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Communication/emailServices/{emailServiceName}/domains/{domainName}",
2762
2779
  httpMethod: "DELETE",
2763
2780
  responses: {
@@ -2778,7 +2795,7 @@ const deleteOperationSpec$1 = {
2778
2795
  domainName
2779
2796
  ],
2780
2797
  headerParameters: [accept],
2781
- serializer: serializer$1
2798
+ serializer: serializer$2
2782
2799
  };
2783
2800
  const updateOperationSpec$1 = {
2784
2801
  path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Communication/emailServices/{emailServiceName}/domains/{domainName}",
@@ -2811,7 +2828,7 @@ const updateOperationSpec$1 = {
2811
2828
  ],
2812
2829
  headerParameters: [accept, contentType],
2813
2830
  mediaType: "json",
2814
- serializer: serializer$1
2831
+ serializer: serializer$2
2815
2832
  };
2816
2833
  const listByEmailServiceResourceOperationSpec = {
2817
2834
  path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Communication/emailServices/{emailServiceName}/domains",
@@ -2832,7 +2849,7 @@ const listByEmailServiceResourceOperationSpec = {
2832
2849
  emailServiceName
2833
2850
  ],
2834
2851
  headerParameters: [accept],
2835
- serializer: serializer$1
2852
+ serializer: serializer$2
2836
2853
  };
2837
2854
  const initiateVerificationOperationSpec = {
2838
2855
  path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Communication/emailServices/{emailServiceName}/domains/{domainName}/initiateVerification",
@@ -2865,7 +2882,7 @@ const initiateVerificationOperationSpec = {
2865
2882
  ],
2866
2883
  headerParameters: [accept, contentType],
2867
2884
  mediaType: "json",
2868
- serializer: serializer$1
2885
+ serializer: serializer$2
2869
2886
  };
2870
2887
  const cancelVerificationOperationSpec = {
2871
2888
  path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Communication/emailServices/{emailServiceName}/domains/{domainName}/cancelVerification",
@@ -2898,7 +2915,7 @@ const cancelVerificationOperationSpec = {
2898
2915
  ],
2899
2916
  headerParameters: [accept, contentType],
2900
2917
  mediaType: "json",
2901
- serializer: serializer$1
2918
+ serializer: serializer$2
2902
2919
  };
2903
2920
  const listByEmailServiceResourceNextOperationSpec = {
2904
2921
  path: "{nextLink}",
@@ -2919,7 +2936,7 @@ const listByEmailServiceResourceNextOperationSpec = {
2919
2936
  emailServiceName
2920
2937
  ],
2921
2938
  headerParameters: [accept],
2922
- serializer: serializer$1
2939
+ serializer: serializer$2
2923
2940
  };
2924
2941
 
2925
2942
  /*
@@ -3065,7 +3082,7 @@ class EmailServicesImpl {
3065
3082
  * @param options The options parameters.
3066
3083
  */
3067
3084
  get(resourceGroupName, emailServiceName, options) {
3068
- return this.client.sendOperationRequest({ resourceGroupName, emailServiceName, options }, getOperationSpec);
3085
+ return this.client.sendOperationRequest({ resourceGroupName, emailServiceName, options }, getOperationSpec$1);
3069
3086
  }
3070
3087
  /**
3071
3088
  * Create a new EmailService or update an existing EmailService.
@@ -3079,7 +3096,7 @@ class EmailServicesImpl {
3079
3096
  const directSendOperation = (args, spec) => tslib.__awaiter(this, void 0, void 0, function* () {
3080
3097
  return this.client.sendOperationRequest(args, spec);
3081
3098
  });
3082
- const sendOperation = (args, spec) => tslib.__awaiter(this, void 0, void 0, function* () {
3099
+ const sendOperationFn = (args, spec) => tslib.__awaiter(this, void 0, void 0, function* () {
3083
3100
  var _a;
3084
3101
  let currentRawResponse = undefined;
3085
3102
  const providedCallback = (_a = args.options) === null || _a === void 0 ? void 0 : _a.onResponse;
@@ -3098,11 +3115,15 @@ class EmailServicesImpl {
3098
3115
  }
3099
3116
  };
3100
3117
  });
3101
- const lro = new LroImpl(sendOperation, { resourceGroupName, emailServiceName, parameters, options }, createOrUpdateOperationSpec);
3102
- const poller = new coreLro.LroEngine(lro, {
3103
- resumeFrom: options === null || options === void 0 ? void 0 : options.resumeFrom,
3118
+ const lro = createLroSpec({
3119
+ sendOperationFn,
3120
+ args: { resourceGroupName, emailServiceName, parameters, options },
3121
+ spec: createOrUpdateOperationSpec$1
3122
+ });
3123
+ const poller = yield coreLro.createHttpPoller(lro, {
3124
+ restoreFrom: options === null || options === void 0 ? void 0 : options.resumeFrom,
3104
3125
  intervalInMs: options === null || options === void 0 ? void 0 : options.updateIntervalInMs,
3105
- lroResourceLocationConfig: "azure-async-operation"
3126
+ resourceLocationConfig: "azure-async-operation"
3106
3127
  });
3107
3128
  yield poller.poll();
3108
3129
  return poller;
@@ -3132,7 +3153,7 @@ class EmailServicesImpl {
3132
3153
  const directSendOperation = (args, spec) => tslib.__awaiter(this, void 0, void 0, function* () {
3133
3154
  return this.client.sendOperationRequest(args, spec);
3134
3155
  });
3135
- const sendOperation = (args, spec) => tslib.__awaiter(this, void 0, void 0, function* () {
3156
+ const sendOperationFn = (args, spec) => tslib.__awaiter(this, void 0, void 0, function* () {
3136
3157
  var _a;
3137
3158
  let currentRawResponse = undefined;
3138
3159
  const providedCallback = (_a = args.options) === null || _a === void 0 ? void 0 : _a.onResponse;
@@ -3151,11 +3172,15 @@ class EmailServicesImpl {
3151
3172
  }
3152
3173
  };
3153
3174
  });
3154
- const lro = new LroImpl(sendOperation, { resourceGroupName, emailServiceName, options }, deleteOperationSpec);
3155
- const poller = new coreLro.LroEngine(lro, {
3156
- resumeFrom: options === null || options === void 0 ? void 0 : options.resumeFrom,
3175
+ const lro = createLroSpec({
3176
+ sendOperationFn,
3177
+ args: { resourceGroupName, emailServiceName, options },
3178
+ spec: deleteOperationSpec$1
3179
+ });
3180
+ const poller = yield coreLro.createHttpPoller(lro, {
3181
+ restoreFrom: options === null || options === void 0 ? void 0 : options.resumeFrom,
3157
3182
  intervalInMs: options === null || options === void 0 ? void 0 : options.updateIntervalInMs,
3158
- lroResourceLocationConfig: "location"
3183
+ resourceLocationConfig: "location"
3159
3184
  });
3160
3185
  yield poller.poll();
3161
3186
  return poller;
@@ -3185,7 +3210,7 @@ class EmailServicesImpl {
3185
3210
  const directSendOperation = (args, spec) => tslib.__awaiter(this, void 0, void 0, function* () {
3186
3211
  return this.client.sendOperationRequest(args, spec);
3187
3212
  });
3188
- const sendOperation = (args, spec) => tslib.__awaiter(this, void 0, void 0, function* () {
3213
+ const sendOperationFn = (args, spec) => tslib.__awaiter(this, void 0, void 0, function* () {
3189
3214
  var _a;
3190
3215
  let currentRawResponse = undefined;
3191
3216
  const providedCallback = (_a = args.options) === null || _a === void 0 ? void 0 : _a.onResponse;
@@ -3204,11 +3229,15 @@ class EmailServicesImpl {
3204
3229
  }
3205
3230
  };
3206
3231
  });
3207
- const lro = new LroImpl(sendOperation, { resourceGroupName, emailServiceName, parameters, options }, updateOperationSpec);
3208
- const poller = new coreLro.LroEngine(lro, {
3209
- resumeFrom: options === null || options === void 0 ? void 0 : options.resumeFrom,
3232
+ const lro = createLroSpec({
3233
+ sendOperationFn,
3234
+ args: { resourceGroupName, emailServiceName, parameters, options },
3235
+ spec: updateOperationSpec
3236
+ });
3237
+ const poller = yield coreLro.createHttpPoller(lro, {
3238
+ restoreFrom: options === null || options === void 0 ? void 0 : options.resumeFrom,
3210
3239
  intervalInMs: options === null || options === void 0 ? void 0 : options.updateIntervalInMs,
3211
- lroResourceLocationConfig: "azure-async-operation"
3240
+ resourceLocationConfig: "azure-async-operation"
3212
3241
  });
3213
3242
  yield poller.poll();
3214
3243
  return poller;
@@ -3268,8 +3297,8 @@ class EmailServicesImpl {
3268
3297
  }
3269
3298
  }
3270
3299
  // Operation Specifications
3271
- const serializer = coreClient__namespace.createSerializer(Mappers, /* isXml */ false);
3272
- const getOperationSpec = {
3300
+ const serializer$1 = coreClient__namespace.createSerializer(Mappers, /* isXml */ false);
3301
+ const getOperationSpec$1 = {
3273
3302
  path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Communication/emailServices/{emailServiceName}",
3274
3303
  httpMethod: "GET",
3275
3304
  responses: {
@@ -3288,9 +3317,9 @@ const getOperationSpec = {
3288
3317
  emailServiceName
3289
3318
  ],
3290
3319
  headerParameters: [accept],
3291
- serializer
3320
+ serializer: serializer$1
3292
3321
  };
3293
- const createOrUpdateOperationSpec = {
3322
+ const createOrUpdateOperationSpec$1 = {
3294
3323
  path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Communication/emailServices/{emailServiceName}",
3295
3324
  httpMethod: "PUT",
3296
3325
  responses: {
@@ -3320,9 +3349,9 @@ const createOrUpdateOperationSpec = {
3320
3349
  ],
3321
3350
  headerParameters: [accept, contentType],
3322
3351
  mediaType: "json",
3323
- serializer
3352
+ serializer: serializer$1
3324
3353
  };
3325
- const deleteOperationSpec = {
3354
+ const deleteOperationSpec$1 = {
3326
3355
  path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Communication/emailServices/{emailServiceName}",
3327
3356
  httpMethod: "DELETE",
3328
3357
  responses: {
@@ -3342,7 +3371,7 @@ const deleteOperationSpec = {
3342
3371
  emailServiceName
3343
3372
  ],
3344
3373
  headerParameters: [accept],
3345
- serializer
3374
+ serializer: serializer$1
3346
3375
  };
3347
3376
  const updateOperationSpec = {
3348
3377
  path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Communication/emailServices/{emailServiceName}",
@@ -3374,7 +3403,7 @@ const updateOperationSpec = {
3374
3403
  ],
3375
3404
  headerParameters: [accept, contentType],
3376
3405
  mediaType: "json",
3377
- serializer
3406
+ serializer: serializer$1
3378
3407
  };
3379
3408
  const listBySubscriptionOperationSpec = {
3380
3409
  path: "/subscriptions/{subscriptionId}/providers/Microsoft.Communication/emailServices",
@@ -3390,7 +3419,7 @@ const listBySubscriptionOperationSpec = {
3390
3419
  queryParameters: [apiVersion],
3391
3420
  urlParameters: [$host, subscriptionId],
3392
3421
  headerParameters: [accept],
3393
- serializer
3422
+ serializer: serializer$1
3394
3423
  };
3395
3424
  const listByResourceGroupOperationSpec = {
3396
3425
  path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Communication/emailServices",
@@ -3410,7 +3439,7 @@ const listByResourceGroupOperationSpec = {
3410
3439
  resourceGroupName
3411
3440
  ],
3412
3441
  headerParameters: [accept],
3413
- serializer
3442
+ serializer: serializer$1
3414
3443
  };
3415
3444
  const listVerifiedExchangeOnlineDomainsOperationSpec = {
3416
3445
  path: "/subscriptions/{subscriptionId}/providers/Microsoft.Communication/listVerifiedExchangeOnlineDomains",
@@ -3428,7 +3457,7 @@ const listVerifiedExchangeOnlineDomainsOperationSpec = {
3428
3457
  queryParameters: [apiVersion],
3429
3458
  urlParameters: [$host, subscriptionId],
3430
3459
  headerParameters: [accept],
3431
- serializer
3460
+ serializer: serializer$1
3432
3461
  };
3433
3462
  const listBySubscriptionNextOperationSpec = {
3434
3463
  path: "{nextLink}",
@@ -3447,7 +3476,7 @@ const listBySubscriptionNextOperationSpec = {
3447
3476
  subscriptionId
3448
3477
  ],
3449
3478
  headerParameters: [accept],
3450
- serializer
3479
+ serializer: serializer$1
3451
3480
  };
3452
3481
  const listByResourceGroupNextOperationSpec = {
3453
3482
  path: "{nextLink}",
@@ -3467,6 +3496,281 @@ const listByResourceGroupNextOperationSpec = {
3467
3496
  resourceGroupName
3468
3497
  ],
3469
3498
  headerParameters: [accept],
3499
+ serializer: serializer$1
3500
+ };
3501
+
3502
+ /*
3503
+ * Copyright (c) Microsoft Corporation.
3504
+ * Licensed under the MIT License.
3505
+ *
3506
+ * Code generated by Microsoft (R) AutoRest Code Generator.
3507
+ * Changes may cause incorrect behavior and will be lost if the code is regenerated.
3508
+ */
3509
+ /// <reference lib="esnext.asynciterable" />
3510
+ /** Class containing SenderUsernames operations. */
3511
+ class SenderUsernamesImpl {
3512
+ /**
3513
+ * Initialize a new instance of the class SenderUsernames class.
3514
+ * @param client Reference to the service client
3515
+ */
3516
+ constructor(client) {
3517
+ this.client = client;
3518
+ }
3519
+ /**
3520
+ * List all valid sender usernames for a domains resource.
3521
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
3522
+ * @param emailServiceName The name of the EmailService resource.
3523
+ * @param domainName The name of the Domains resource.
3524
+ * @param options The options parameters.
3525
+ */
3526
+ listByDomains(resourceGroupName, emailServiceName, domainName, options) {
3527
+ const iter = this.listByDomainsPagingAll(resourceGroupName, emailServiceName, domainName, options);
3528
+ return {
3529
+ next() {
3530
+ return iter.next();
3531
+ },
3532
+ [Symbol.asyncIterator]() {
3533
+ return this;
3534
+ },
3535
+ byPage: (settings) => {
3536
+ if (settings === null || settings === void 0 ? void 0 : settings.maxPageSize) {
3537
+ throw new Error("maxPageSize is not supported by this operation.");
3538
+ }
3539
+ return this.listByDomainsPagingPage(resourceGroupName, emailServiceName, domainName, options, settings);
3540
+ }
3541
+ };
3542
+ }
3543
+ listByDomainsPagingPage(resourceGroupName, emailServiceName, domainName, options, settings) {
3544
+ return tslib.__asyncGenerator(this, arguments, function* listByDomainsPagingPage_1() {
3545
+ let result;
3546
+ let continuationToken = settings === null || settings === void 0 ? void 0 : settings.continuationToken;
3547
+ if (!continuationToken) {
3548
+ result = yield tslib.__await(this._listByDomains(resourceGroupName, emailServiceName, domainName, options));
3549
+ let page = result.value || [];
3550
+ continuationToken = result.nextLink;
3551
+ setContinuationToken(page, continuationToken);
3552
+ yield yield tslib.__await(page);
3553
+ }
3554
+ while (continuationToken) {
3555
+ result = yield tslib.__await(this._listByDomainsNext(resourceGroupName, emailServiceName, domainName, continuationToken, options));
3556
+ continuationToken = result.nextLink;
3557
+ let page = result.value || [];
3558
+ setContinuationToken(page, continuationToken);
3559
+ yield yield tslib.__await(page);
3560
+ }
3561
+ });
3562
+ }
3563
+ listByDomainsPagingAll(resourceGroupName, emailServiceName, domainName, options) {
3564
+ return tslib.__asyncGenerator(this, arguments, function* listByDomainsPagingAll_1() {
3565
+ var e_1, _a;
3566
+ try {
3567
+ for (var _b = tslib.__asyncValues(this.listByDomainsPagingPage(resourceGroupName, emailServiceName, domainName, options)), _c; _c = yield tslib.__await(_b.next()), !_c.done;) {
3568
+ const page = _c.value;
3569
+ yield tslib.__await(yield* tslib.__asyncDelegator(tslib.__asyncValues(page)));
3570
+ }
3571
+ }
3572
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
3573
+ finally {
3574
+ try {
3575
+ if (_c && !_c.done && (_a = _b.return)) yield tslib.__await(_a.call(_b));
3576
+ }
3577
+ finally { if (e_1) throw e_1.error; }
3578
+ }
3579
+ });
3580
+ }
3581
+ /**
3582
+ * List all valid sender usernames for a domains resource.
3583
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
3584
+ * @param emailServiceName The name of the EmailService resource.
3585
+ * @param domainName The name of the Domains resource.
3586
+ * @param options The options parameters.
3587
+ */
3588
+ _listByDomains(resourceGroupName, emailServiceName, domainName, options) {
3589
+ return this.client.sendOperationRequest({ resourceGroupName, emailServiceName, domainName, options }, listByDomainsOperationSpec);
3590
+ }
3591
+ /**
3592
+ * Get a valid sender username for a domains resource.
3593
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
3594
+ * @param emailServiceName The name of the EmailService resource.
3595
+ * @param domainName The name of the Domains resource.
3596
+ * @param senderUsername The valid sender Username.
3597
+ * @param options The options parameters.
3598
+ */
3599
+ get(resourceGroupName, emailServiceName, domainName, senderUsername, options) {
3600
+ return this.client.sendOperationRequest({
3601
+ resourceGroupName,
3602
+ emailServiceName,
3603
+ domainName,
3604
+ senderUsername,
3605
+ options
3606
+ }, getOperationSpec);
3607
+ }
3608
+ /**
3609
+ * Add a new SenderUsername resource under the parent Domains resource or update an existing
3610
+ * SenderUsername resource.
3611
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
3612
+ * @param emailServiceName The name of the EmailService resource.
3613
+ * @param domainName The name of the Domains resource.
3614
+ * @param senderUsername The valid sender Username.
3615
+ * @param parameters Parameters for the create or update operation
3616
+ * @param options The options parameters.
3617
+ */
3618
+ createOrUpdate(resourceGroupName, emailServiceName, domainName, senderUsername, parameters, options) {
3619
+ return this.client.sendOperationRequest({
3620
+ resourceGroupName,
3621
+ emailServiceName,
3622
+ domainName,
3623
+ senderUsername,
3624
+ parameters,
3625
+ options
3626
+ }, createOrUpdateOperationSpec);
3627
+ }
3628
+ /**
3629
+ * Operation to delete a SenderUsernames resource.
3630
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
3631
+ * @param emailServiceName The name of the EmailService resource.
3632
+ * @param domainName The name of the Domains resource.
3633
+ * @param senderUsername The valid sender Username.
3634
+ * @param options The options parameters.
3635
+ */
3636
+ delete(resourceGroupName, emailServiceName, domainName, senderUsername, options) {
3637
+ return this.client.sendOperationRequest({
3638
+ resourceGroupName,
3639
+ emailServiceName,
3640
+ domainName,
3641
+ senderUsername,
3642
+ options
3643
+ }, deleteOperationSpec);
3644
+ }
3645
+ /**
3646
+ * ListByDomainsNext
3647
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
3648
+ * @param emailServiceName The name of the EmailService resource.
3649
+ * @param domainName The name of the Domains resource.
3650
+ * @param nextLink The nextLink from the previous successful call to the ListByDomains method.
3651
+ * @param options The options parameters.
3652
+ */
3653
+ _listByDomainsNext(resourceGroupName, emailServiceName, domainName, nextLink, options) {
3654
+ return this.client.sendOperationRequest({ resourceGroupName, emailServiceName, domainName, nextLink, options }, listByDomainsNextOperationSpec);
3655
+ }
3656
+ }
3657
+ // Operation Specifications
3658
+ const serializer = coreClient__namespace.createSerializer(Mappers, /* isXml */ false);
3659
+ const listByDomainsOperationSpec = {
3660
+ path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Communication/emailServices/{emailServiceName}/domains/{domainName}/senderUsernames",
3661
+ httpMethod: "GET",
3662
+ responses: {
3663
+ 200: {
3664
+ bodyMapper: SenderUsernameResourceCollection
3665
+ },
3666
+ default: {
3667
+ bodyMapper: ErrorResponse
3668
+ }
3669
+ },
3670
+ queryParameters: [apiVersion],
3671
+ urlParameters: [
3672
+ $host,
3673
+ subscriptionId,
3674
+ resourceGroupName,
3675
+ emailServiceName,
3676
+ domainName
3677
+ ],
3678
+ headerParameters: [accept],
3679
+ serializer
3680
+ };
3681
+ const getOperationSpec = {
3682
+ path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Communication/emailServices/{emailServiceName}/domains/{domainName}/senderUsernames/{senderUsername}",
3683
+ httpMethod: "GET",
3684
+ responses: {
3685
+ 200: {
3686
+ bodyMapper: SenderUsernameResource
3687
+ },
3688
+ default: {
3689
+ bodyMapper: ErrorResponse
3690
+ }
3691
+ },
3692
+ queryParameters: [apiVersion],
3693
+ urlParameters: [
3694
+ $host,
3695
+ subscriptionId,
3696
+ resourceGroupName,
3697
+ emailServiceName,
3698
+ domainName,
3699
+ senderUsername
3700
+ ],
3701
+ headerParameters: [accept],
3702
+ serializer
3703
+ };
3704
+ const createOrUpdateOperationSpec = {
3705
+ path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Communication/emailServices/{emailServiceName}/domains/{domainName}/senderUsernames/{senderUsername}",
3706
+ httpMethod: "PUT",
3707
+ responses: {
3708
+ 200: {
3709
+ bodyMapper: SenderUsernameResource
3710
+ },
3711
+ 201: {
3712
+ bodyMapper: SenderUsernameResource
3713
+ },
3714
+ default: {
3715
+ bodyMapper: ErrorResponse
3716
+ }
3717
+ },
3718
+ requestBody: parameters8,
3719
+ queryParameters: [apiVersion],
3720
+ urlParameters: [
3721
+ $host,
3722
+ subscriptionId,
3723
+ resourceGroupName,
3724
+ emailServiceName,
3725
+ domainName,
3726
+ senderUsername
3727
+ ],
3728
+ headerParameters: [accept, contentType],
3729
+ mediaType: "json",
3730
+ serializer
3731
+ };
3732
+ const deleteOperationSpec = {
3733
+ path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Communication/emailServices/{emailServiceName}/domains/{domainName}/senderUsernames/{senderUsername}",
3734
+ httpMethod: "DELETE",
3735
+ responses: {
3736
+ 200: {},
3737
+ 204: {},
3738
+ default: {
3739
+ bodyMapper: ErrorResponse
3740
+ }
3741
+ },
3742
+ queryParameters: [apiVersion],
3743
+ urlParameters: [
3744
+ $host,
3745
+ subscriptionId,
3746
+ resourceGroupName,
3747
+ emailServiceName,
3748
+ domainName,
3749
+ senderUsername
3750
+ ],
3751
+ headerParameters: [accept],
3752
+ serializer
3753
+ };
3754
+ const listByDomainsNextOperationSpec = {
3755
+ path: "{nextLink}",
3756
+ httpMethod: "GET",
3757
+ responses: {
3758
+ 200: {
3759
+ bodyMapper: SenderUsernameResourceCollection
3760
+ },
3761
+ default: {
3762
+ bodyMapper: ErrorResponse
3763
+ }
3764
+ },
3765
+ urlParameters: [
3766
+ $host,
3767
+ nextLink,
3768
+ subscriptionId,
3769
+ resourceGroupName,
3770
+ emailServiceName,
3771
+ domainName
3772
+ ],
3773
+ headerParameters: [accept],
3470
3774
  serializer
3471
3775
  };
3472
3776
 
@@ -3481,7 +3785,7 @@ class CommunicationServiceManagementClient extends coreClient__namespace.Service
3481
3785
  /**
3482
3786
  * Initializes a new instance of the CommunicationServiceManagementClient class.
3483
3787
  * @param credentials Subscription credentials which uniquely identify client subscription.
3484
- * @param subscriptionId The ID of the target subscription.
3788
+ * @param subscriptionId The ID of the target subscription. The value must be an UUID.
3485
3789
  * @param options The parameter options
3486
3790
  */
3487
3791
  constructor(credentials, subscriptionId, options) {
@@ -3500,7 +3804,7 @@ class CommunicationServiceManagementClient extends coreClient__namespace.Service
3500
3804
  requestContentType: "application/json; charset=utf-8",
3501
3805
  credential: credentials
3502
3806
  };
3503
- const packageDetails = `azsdk-js-arm-communication/4.0.0-beta.3`;
3807
+ const packageDetails = `azsdk-js-arm-communication/4.0.0`;
3504
3808
  const userAgentPrefix = options.userAgentOptions && options.userAgentOptions.userAgentPrefix
3505
3809
  ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}`
3506
3810
  : `${packageDetails}`;
@@ -3533,11 +3837,12 @@ class CommunicationServiceManagementClient extends coreClient__namespace.Service
3533
3837
  this.subscriptionId = subscriptionId;
3534
3838
  // Assigning values to Constant parameters
3535
3839
  this.$host = options.$host || "https://management.azure.com";
3536
- this.apiVersion = options.apiVersion || "2022-07-01-preview";
3840
+ this.apiVersion = options.apiVersion || "2023-03-31";
3537
3841
  this.operations = new OperationsImpl(this);
3538
3842
  this.communicationServices = new CommunicationServicesImpl(this);
3539
3843
  this.domains = new DomainsImpl(this);
3540
3844
  this.emailServices = new EmailServicesImpl(this);
3845
+ this.senderUsernames = new SenderUsernamesImpl(this);
3541
3846
  this.addCustomApiVersionPolicy(options.apiVersion);
3542
3847
  }
3543
3848
  /** A function that adds a policy that sets the api-version (or equivalent) to reflect the library version. */