@azure/arm-eventgrid 30.0.0-alpha.20210929.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 (222) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/LICENSE +21 -0
  3. package/README.md +94 -0
  4. package/dist/index.js +10620 -0
  5. package/dist/index.js.map +1 -0
  6. package/dist/index.min.js +1 -0
  7. package/dist/index.min.js.map +1 -0
  8. package/dist-esm/src/eventGridManagementClient.d.ts +31 -0
  9. package/dist-esm/src/eventGridManagementClient.d.ts.map +1 -0
  10. package/dist-esm/src/eventGridManagementClient.js +38 -0
  11. package/dist-esm/src/eventGridManagementClient.js.map +1 -0
  12. package/dist-esm/src/eventGridManagementClientContext.d.ts +17 -0
  13. package/dist-esm/src/eventGridManagementClientContext.d.ts.map +1 -0
  14. package/dist-esm/src/eventGridManagementClientContext.js +50 -0
  15. package/dist-esm/src/eventGridManagementClientContext.js.map +1 -0
  16. package/dist-esm/src/index.d.ts +6 -0
  17. package/dist-esm/src/index.d.ts.map +1 -0
  18. package/dist-esm/src/index.js +13 -0
  19. package/dist-esm/src/index.js.map +1 -0
  20. package/dist-esm/src/lroImpl.d.ts +16 -0
  21. package/dist-esm/src/lroImpl.d.ts.map +1 -0
  22. package/dist-esm/src/lroImpl.js +29 -0
  23. package/dist-esm/src/lroImpl.js.map +1 -0
  24. package/dist-esm/src/models/index.d.ts +2765 -0
  25. package/dist-esm/src/models/index.d.ts.map +1 -0
  26. package/dist-esm/src/models/index.js +289 -0
  27. package/dist-esm/src/models/index.js.map +1 -0
  28. package/dist-esm/src/models/mappers.d.ts +139 -0
  29. package/dist-esm/src/models/mappers.d.ts.map +1 -0
  30. package/dist-esm/src/models/mappers.js +2979 -0
  31. package/dist-esm/src/models/mappers.js.map +1 -0
  32. package/dist-esm/src/models/parameters.d.ts +53 -0
  33. package/dist-esm/src/models/parameters.d.ts.map +1 -0
  34. package/dist-esm/src/models/parameters.js +415 -0
  35. package/dist-esm/src/models/parameters.js.map +1 -0
  36. package/dist-esm/src/operations/domainTopics.d.ts +79 -0
  37. package/dist-esm/src/operations/domainTopics.d.ts.map +1 -0
  38. package/dist-esm/src/operations/domainTopics.js +310 -0
  39. package/dist-esm/src/operations/domainTopics.js.map +1 -0
  40. package/dist-esm/src/operations/domains.d.ts +122 -0
  41. package/dist-esm/src/operations/domains.d.ts.map +1 -0
  42. package/dist-esm/src/operations/domains.js +522 -0
  43. package/dist-esm/src/operations/domains.js.map +1 -0
  44. package/dist-esm/src/operations/eventChannels.d.ts +72 -0
  45. package/dist-esm/src/operations/eventChannels.d.ts.map +1 -0
  46. package/dist-esm/src/operations/eventChannels.js +269 -0
  47. package/dist-esm/src/operations/eventChannels.js.map +1 -0
  48. package/dist-esm/src/operations/eventSubscriptions.d.ts +404 -0
  49. package/dist-esm/src/operations/eventSubscriptions.d.ts.map +1 -0
  50. package/dist-esm/src/operations/eventSubscriptions.js +1504 -0
  51. package/dist-esm/src/operations/eventSubscriptions.js.map +1 -0
  52. package/dist-esm/src/operations/extensionTopics.d.ts +24 -0
  53. package/dist-esm/src/operations/extensionTopics.d.ts.map +1 -0
  54. package/dist-esm/src/operations/extensionTopics.js +50 -0
  55. package/dist-esm/src/operations/extensionTopics.js.map +1 -0
  56. package/dist-esm/src/operations/index.d.ts +17 -0
  57. package/dist-esm/src/operations/index.d.ts.map +1 -0
  58. package/dist-esm/src/operations/index.js +24 -0
  59. package/dist-esm/src/operations/index.js.map +1 -0
  60. package/dist-esm/src/operations/operations.d.ts +26 -0
  61. package/dist-esm/src/operations/operations.d.ts.map +1 -0
  62. package/dist-esm/src/operations/operations.js +88 -0
  63. package/dist-esm/src/operations/operations.js.map +1 -0
  64. package/dist-esm/src/operations/partnerNamespaces.d.ts +122 -0
  65. package/dist-esm/src/operations/partnerNamespaces.d.ts.map +1 -0
  66. package/dist-esm/src/operations/partnerNamespaces.js +537 -0
  67. package/dist-esm/src/operations/partnerNamespaces.js.map +1 -0
  68. package/dist-esm/src/operations/partnerRegistrations.d.ts +83 -0
  69. package/dist-esm/src/operations/partnerRegistrations.d.ts.map +1 -0
  70. package/dist-esm/src/operations/partnerRegistrations.js +349 -0
  71. package/dist-esm/src/operations/partnerRegistrations.js.map +1 -0
  72. package/dist-esm/src/operations/partnerTopicEventSubscriptions.d.ts +128 -0
  73. package/dist-esm/src/operations/partnerTopicEventSubscriptions.d.ts.map +1 -0
  74. package/dist-esm/src/operations/partnerTopicEventSubscriptions.js +483 -0
  75. package/dist-esm/src/operations/partnerTopicEventSubscriptions.js.map +1 -0
  76. package/dist-esm/src/operations/partnerTopics.d.ts +97 -0
  77. package/dist-esm/src/operations/partnerTopics.d.ts.map +1 -0
  78. package/dist-esm/src/operations/partnerTopics.js +408 -0
  79. package/dist-esm/src/operations/partnerTopics.js.map +1 -0
  80. package/dist-esm/src/operations/privateEndpointConnections.d.ts +105 -0
  81. package/dist-esm/src/operations/privateEndpointConnections.d.ts.map +1 -0
  82. package/dist-esm/src/operations/privateEndpointConnections.js +362 -0
  83. package/dist-esm/src/operations/privateEndpointConnections.js.map +1 -0
  84. package/dist-esm/src/operations/privateLinkResources.d.ts +58 -0
  85. package/dist-esm/src/operations/privateLinkResources.d.ts.map +1 -0
  86. package/dist-esm/src/operations/privateLinkResources.js +184 -0
  87. package/dist-esm/src/operations/privateLinkResources.js.map +1 -0
  88. package/dist-esm/src/operations/systemTopicEventSubscriptions.d.ts +128 -0
  89. package/dist-esm/src/operations/systemTopicEventSubscriptions.d.ts.map +1 -0
  90. package/dist-esm/src/operations/systemTopicEventSubscriptions.js +483 -0
  91. package/dist-esm/src/operations/systemTopicEventSubscriptions.js.map +1 -0
  92. package/dist-esm/src/operations/systemTopics.d.ts +107 -0
  93. package/dist-esm/src/operations/systemTopics.d.ts.map +1 -0
  94. package/dist-esm/src/operations/systemTopics.js +482 -0
  95. package/dist-esm/src/operations/systemTopics.js.map +1 -0
  96. package/dist-esm/src/operations/topicTypes.d.ts +46 -0
  97. package/dist-esm/src/operations/topicTypes.d.ts.map +1 -0
  98. package/dist-esm/src/operations/topicTypes.js +175 -0
  99. package/dist-esm/src/operations/topicTypes.js.map +1 -0
  100. package/dist-esm/src/operations/topics.d.ts +150 -0
  101. package/dist-esm/src/operations/topics.d.ts.map +1 -0
  102. package/dist-esm/src/operations/topics.js +656 -0
  103. package/dist-esm/src/operations/topics.js.map +1 -0
  104. package/dist-esm/src/operationsInterfaces/domainTopics.d.ts +54 -0
  105. package/dist-esm/src/operationsInterfaces/domainTopics.d.ts.map +1 -0
  106. package/dist-esm/src/operationsInterfaces/domainTopics.js +9 -0
  107. package/dist-esm/src/operationsInterfaces/domainTopics.js.map +1 -0
  108. package/dist-esm/src/operationsInterfaces/domains.d.ts +86 -0
  109. package/dist-esm/src/operationsInterfaces/domains.d.ts.map +1 -0
  110. package/dist-esm/src/operationsInterfaces/domains.js +9 -0
  111. package/dist-esm/src/operationsInterfaces/domains.js.map +1 -0
  112. package/dist-esm/src/operationsInterfaces/eventChannels.d.ts +47 -0
  113. package/dist-esm/src/operationsInterfaces/eventChannels.d.ts.map +1 -0
  114. package/dist-esm/src/operationsInterfaces/eventChannels.js +9 -0
  115. package/dist-esm/src/operationsInterfaces/eventChannels.js.map +1 -0
  116. package/dist-esm/src/operationsInterfaces/eventSubscriptions.d.ts +217 -0
  117. package/dist-esm/src/operationsInterfaces/eventSubscriptions.d.ts.map +1 -0
  118. package/dist-esm/src/operationsInterfaces/eventSubscriptions.js +9 -0
  119. package/dist-esm/src/operationsInterfaces/eventSubscriptions.js.map +1 -0
  120. package/dist-esm/src/operationsInterfaces/extensionTopics.d.ts +16 -0
  121. package/dist-esm/src/operationsInterfaces/extensionTopics.d.ts.map +1 -0
  122. package/dist-esm/src/operationsInterfaces/extensionTopics.js +9 -0
  123. package/dist-esm/src/operationsInterfaces/extensionTopics.js.map +1 -0
  124. package/dist-esm/src/operationsInterfaces/index.d.ts +17 -0
  125. package/dist-esm/src/operationsInterfaces/index.d.ts.map +1 -0
  126. package/dist-esm/src/operationsInterfaces/index.js +24 -0
  127. package/dist-esm/src/operationsInterfaces/index.js.map +1 -0
  128. package/dist-esm/src/operationsInterfaces/operations.d.ts +11 -0
  129. package/dist-esm/src/operationsInterfaces/operations.d.ts.map +1 -0
  130. package/dist-esm/src/operationsInterfaces/operations.js +9 -0
  131. package/dist-esm/src/operationsInterfaces/operations.js.map +1 -0
  132. package/dist-esm/src/operationsInterfaces/partnerNamespaces.d.ts +86 -0
  133. package/dist-esm/src/operationsInterfaces/partnerNamespaces.d.ts.map +1 -0
  134. package/dist-esm/src/operationsInterfaces/partnerNamespaces.js +9 -0
  135. package/dist-esm/src/operationsInterfaces/partnerNamespaces.js.map +1 -0
  136. package/dist-esm/src/operationsInterfaces/partnerRegistrations.d.ts +47 -0
  137. package/dist-esm/src/operationsInterfaces/partnerRegistrations.d.ts.map +1 -0
  138. package/dist-esm/src/operationsInterfaces/partnerRegistrations.js +9 -0
  139. package/dist-esm/src/operationsInterfaces/partnerRegistrations.js.map +1 -0
  140. package/dist-esm/src/operationsInterfaces/partnerTopicEventSubscriptions.d.ts +103 -0
  141. package/dist-esm/src/operationsInterfaces/partnerTopicEventSubscriptions.d.ts.map +1 -0
  142. package/dist-esm/src/operationsInterfaces/partnerTopicEventSubscriptions.js +9 -0
  143. package/dist-esm/src/operationsInterfaces/partnerTopicEventSubscriptions.js.map +1 -0
  144. package/dist-esm/src/operationsInterfaces/partnerTopics.d.ts +61 -0
  145. package/dist-esm/src/operationsInterfaces/partnerTopics.d.ts.map +1 -0
  146. package/dist-esm/src/operationsInterfaces/partnerTopics.js +9 -0
  147. package/dist-esm/src/operationsInterfaces/partnerTopics.js.map +1 -0
  148. package/dist-esm/src/operationsInterfaces/privateEndpointConnections.d.ts +74 -0
  149. package/dist-esm/src/operationsInterfaces/privateEndpointConnections.d.ts.map +1 -0
  150. package/dist-esm/src/operationsInterfaces/privateEndpointConnections.js +9 -0
  151. package/dist-esm/src/operationsInterfaces/privateEndpointConnections.js.map +1 -0
  152. package/dist-esm/src/operationsInterfaces/privateLinkResources.d.ts +27 -0
  153. package/dist-esm/src/operationsInterfaces/privateLinkResources.d.ts.map +1 -0
  154. package/dist-esm/src/operationsInterfaces/privateLinkResources.js +9 -0
  155. package/dist-esm/src/operationsInterfaces/privateLinkResources.js.map +1 -0
  156. package/dist-esm/src/operationsInterfaces/systemTopicEventSubscriptions.d.ts +103 -0
  157. package/dist-esm/src/operationsInterfaces/systemTopicEventSubscriptions.d.ts.map +1 -0
  158. package/dist-esm/src/operationsInterfaces/systemTopicEventSubscriptions.js +9 -0
  159. package/dist-esm/src/operationsInterfaces/systemTopicEventSubscriptions.js.map +1 -0
  160. package/dist-esm/src/operationsInterfaces/systemTopics.d.ts +71 -0
  161. package/dist-esm/src/operationsInterfaces/systemTopics.d.ts.map +1 -0
  162. package/dist-esm/src/operationsInterfaces/systemTopics.js +9 -0
  163. package/dist-esm/src/operationsInterfaces/systemTopics.js.map +1 -0
  164. package/dist-esm/src/operationsInterfaces/topicTypes.d.ts +23 -0
  165. package/dist-esm/src/operationsInterfaces/topicTypes.d.ts.map +1 -0
  166. package/dist-esm/src/operationsInterfaces/topicTypes.js +9 -0
  167. package/dist-esm/src/operationsInterfaces/topicTypes.js.map +1 -0
  168. package/dist-esm/src/operationsInterfaces/topics.d.ts +103 -0
  169. package/dist-esm/src/operationsInterfaces/topics.d.ts.map +1 -0
  170. package/dist-esm/src/operationsInterfaces/topics.js +9 -0
  171. package/dist-esm/src/operationsInterfaces/topics.js.map +1 -0
  172. package/dist-esm/test/eventgrid_examples.d.ts +2 -0
  173. package/dist-esm/test/eventgrid_examples.d.ts.map +1 -0
  174. package/dist-esm/test/eventgrid_examples.js +163 -0
  175. package/dist-esm/test/eventgrid_examples.js.map +1 -0
  176. package/package.json +102 -0
  177. package/review/arm-eventgrid.api.md +2518 -0
  178. package/rollup.config.js +188 -0
  179. package/src/eventGridManagementClient.ts +101 -0
  180. package/src/eventGridManagementClientContext.ts +71 -0
  181. package/src/index.ts +13 -0
  182. package/src/lroImpl.ts +34 -0
  183. package/src/models/index.ts +3297 -0
  184. package/src/models/mappers.ts +3334 -0
  185. package/src/models/parameters.ts +490 -0
  186. package/src/operations/domainTopics.ts +452 -0
  187. package/src/operations/domains.ts +713 -0
  188. package/src/operations/eventChannels.ts +382 -0
  189. package/src/operations/eventSubscriptions.ts +2077 -0
  190. package/src/operations/extensionTopics.ts +67 -0
  191. package/src/operations/index.ts +24 -0
  192. package/src/operations/operations.ts +96 -0
  193. package/src/operations/partnerNamespaces.ts +729 -0
  194. package/src/operations/partnerRegistrations.ts +440 -0
  195. package/src/operations/partnerTopicEventSubscriptions.ts +699 -0
  196. package/src/operations/partnerTopics.ts +532 -0
  197. package/src/operations/privateEndpointConnections.ts +529 -0
  198. package/src/operations/privateLinkResources.ts +259 -0
  199. package/src/operations/systemTopicEventSubscriptions.ts +699 -0
  200. package/src/operations/systemTopics.ts +656 -0
  201. package/src/operations/topicTypes.ts +202 -0
  202. package/src/operations/topics.ts +921 -0
  203. package/src/operationsInterfaces/domainTopics.ts +105 -0
  204. package/src/operationsInterfaces/domains.ts +162 -0
  205. package/src/operationsInterfaces/eventChannels.ts +89 -0
  206. package/src/operationsInterfaces/eventSubscriptions.ts +339 -0
  207. package/src/operationsInterfaces/extensionTopics.ts +30 -0
  208. package/src/operationsInterfaces/index.ts +24 -0
  209. package/src/operationsInterfaces/operations.ts +22 -0
  210. package/src/operationsInterfaces/partnerNamespaces.ts +162 -0
  211. package/src/operationsInterfaces/partnerRegistrations.ts +91 -0
  212. package/src/operationsInterfaces/partnerTopicEventSubscriptions.ts +190 -0
  213. package/src/operationsInterfaces/partnerTopics.ts +114 -0
  214. package/src/operationsInterfaces/privateEndpointConnections.ts +137 -0
  215. package/src/operationsInterfaces/privateLinkResources.ts +52 -0
  216. package/src/operationsInterfaces/systemTopicEventSubscriptions.ts +190 -0
  217. package/src/operationsInterfaces/systemTopics.ts +139 -0
  218. package/src/operationsInterfaces/topicTypes.ts +47 -0
  219. package/src/operationsInterfaces/topics.ts +197 -0
  220. package/tsconfig.json +19 -0
  221. package/types/arm-eventgrid.d.ts +4299 -0
  222. package/types/tsdoc-metadata.json +11 -0
@@ -0,0 +1,532 @@
1
+ /*
2
+ * Copyright (c) Microsoft Corporation.
3
+ * Licensed under the MIT License.
4
+ *
5
+ * Code generated by Microsoft (R) AutoRest Code Generator.
6
+ * Changes may cause incorrect behavior and will be lost if the code is regenerated.
7
+ */
8
+
9
+ import { PagedAsyncIterableIterator } from "@azure/core-paging";
10
+ import { PartnerTopics } from "../operationsInterfaces";
11
+ import * as coreClient from "@azure/core-client";
12
+ import * as Mappers from "../models/mappers";
13
+ import * as Parameters from "../models/parameters";
14
+ import { EventGridManagementClientContext } from "../eventGridManagementClientContext";
15
+ import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro";
16
+ import { LroImpl } from "../lroImpl";
17
+ import {
18
+ PartnerTopic,
19
+ PartnerTopicsListBySubscriptionNextOptionalParams,
20
+ PartnerTopicsListBySubscriptionOptionalParams,
21
+ PartnerTopicsListByResourceGroupNextOptionalParams,
22
+ PartnerTopicsListByResourceGroupOptionalParams,
23
+ PartnerTopicsGetOptionalParams,
24
+ PartnerTopicsGetResponse,
25
+ PartnerTopicsDeleteOptionalParams,
26
+ PartnerTopicUpdateParameters,
27
+ PartnerTopicsUpdateOptionalParams,
28
+ PartnerTopicsUpdateResponse,
29
+ PartnerTopicsListBySubscriptionResponse,
30
+ PartnerTopicsListByResourceGroupResponse,
31
+ PartnerTopicsActivateOptionalParams,
32
+ PartnerTopicsActivateResponse,
33
+ PartnerTopicsDeactivateOptionalParams,
34
+ PartnerTopicsDeactivateResponse,
35
+ PartnerTopicsListBySubscriptionNextResponse,
36
+ PartnerTopicsListByResourceGroupNextResponse
37
+ } from "../models";
38
+
39
+ /// <reference lib="esnext.asynciterable" />
40
+ /** Class containing PartnerTopics operations. */
41
+ export class PartnerTopicsImpl implements PartnerTopics {
42
+ private readonly client: EventGridManagementClientContext;
43
+
44
+ /**
45
+ * Initialize a new instance of the class PartnerTopics class.
46
+ * @param client Reference to the service client
47
+ */
48
+ constructor(client: EventGridManagementClientContext) {
49
+ this.client = client;
50
+ }
51
+
52
+ /**
53
+ * List all the partner topics under an Azure subscription.
54
+ * @param options The options parameters.
55
+ */
56
+ public listBySubscription(
57
+ options?: PartnerTopicsListBySubscriptionOptionalParams
58
+ ): PagedAsyncIterableIterator<PartnerTopic> {
59
+ const iter = this.listBySubscriptionPagingAll(options);
60
+ return {
61
+ next() {
62
+ return iter.next();
63
+ },
64
+ [Symbol.asyncIterator]() {
65
+ return this;
66
+ },
67
+ byPage: () => {
68
+ return this.listBySubscriptionPagingPage(options);
69
+ }
70
+ };
71
+ }
72
+
73
+ private async *listBySubscriptionPagingPage(
74
+ options?: PartnerTopicsListBySubscriptionOptionalParams
75
+ ): AsyncIterableIterator<PartnerTopic[]> {
76
+ let result = await this._listBySubscription(options);
77
+ yield result.value || [];
78
+ let continuationToken = result.nextLink;
79
+ while (continuationToken) {
80
+ result = await this._listBySubscriptionNext(continuationToken, options);
81
+ continuationToken = result.nextLink;
82
+ yield result.value || [];
83
+ }
84
+ }
85
+
86
+ private async *listBySubscriptionPagingAll(
87
+ options?: PartnerTopicsListBySubscriptionOptionalParams
88
+ ): AsyncIterableIterator<PartnerTopic> {
89
+ for await (const page of this.listBySubscriptionPagingPage(options)) {
90
+ yield* page;
91
+ }
92
+ }
93
+
94
+ /**
95
+ * List all the partner topics under a resource group.
96
+ * @param resourceGroupName The name of the resource group within the user's subscription.
97
+ * @param options The options parameters.
98
+ */
99
+ public listByResourceGroup(
100
+ resourceGroupName: string,
101
+ options?: PartnerTopicsListByResourceGroupOptionalParams
102
+ ): PagedAsyncIterableIterator<PartnerTopic> {
103
+ const iter = this.listByResourceGroupPagingAll(resourceGroupName, options);
104
+ return {
105
+ next() {
106
+ return iter.next();
107
+ },
108
+ [Symbol.asyncIterator]() {
109
+ return this;
110
+ },
111
+ byPage: () => {
112
+ return this.listByResourceGroupPagingPage(resourceGroupName, options);
113
+ }
114
+ };
115
+ }
116
+
117
+ private async *listByResourceGroupPagingPage(
118
+ resourceGroupName: string,
119
+ options?: PartnerTopicsListByResourceGroupOptionalParams
120
+ ): AsyncIterableIterator<PartnerTopic[]> {
121
+ let result = await this._listByResourceGroup(resourceGroupName, options);
122
+ yield result.value || [];
123
+ let continuationToken = result.nextLink;
124
+ while (continuationToken) {
125
+ result = await this._listByResourceGroupNext(
126
+ resourceGroupName,
127
+ continuationToken,
128
+ options
129
+ );
130
+ continuationToken = result.nextLink;
131
+ yield result.value || [];
132
+ }
133
+ }
134
+
135
+ private async *listByResourceGroupPagingAll(
136
+ resourceGroupName: string,
137
+ options?: PartnerTopicsListByResourceGroupOptionalParams
138
+ ): AsyncIterableIterator<PartnerTopic> {
139
+ for await (const page of this.listByResourceGroupPagingPage(
140
+ resourceGroupName,
141
+ options
142
+ )) {
143
+ yield* page;
144
+ }
145
+ }
146
+
147
+ /**
148
+ * Get properties of a partner topic.
149
+ * @param resourceGroupName The name of the resource group within the user's subscription.
150
+ * @param partnerTopicName Name of the partner topic.
151
+ * @param options The options parameters.
152
+ */
153
+ get(
154
+ resourceGroupName: string,
155
+ partnerTopicName: string,
156
+ options?: PartnerTopicsGetOptionalParams
157
+ ): Promise<PartnerTopicsGetResponse> {
158
+ return this.client.sendOperationRequest(
159
+ { resourceGroupName, partnerTopicName, options },
160
+ getOperationSpec
161
+ );
162
+ }
163
+
164
+ /**
165
+ * Delete existing partner topic.
166
+ * @param resourceGroupName The name of the resource group within the user's subscription.
167
+ * @param partnerTopicName Name of the partner topic.
168
+ * @param options The options parameters.
169
+ */
170
+ async beginDelete(
171
+ resourceGroupName: string,
172
+ partnerTopicName: string,
173
+ options?: PartnerTopicsDeleteOptionalParams
174
+ ): Promise<PollerLike<PollOperationState<void>, void>> {
175
+ const directSendOperation = async (
176
+ args: coreClient.OperationArguments,
177
+ spec: coreClient.OperationSpec
178
+ ): Promise<void> => {
179
+ return this.client.sendOperationRequest(args, spec);
180
+ };
181
+ const sendOperation = async (
182
+ args: coreClient.OperationArguments,
183
+ spec: coreClient.OperationSpec
184
+ ) => {
185
+ let currentRawResponse:
186
+ | coreClient.FullOperationResponse
187
+ | undefined = undefined;
188
+ const providedCallback = args.options?.onResponse;
189
+ const callback: coreClient.RawResponseCallback = (
190
+ rawResponse: coreClient.FullOperationResponse,
191
+ flatResponse: unknown
192
+ ) => {
193
+ currentRawResponse = rawResponse;
194
+ providedCallback?.(rawResponse, flatResponse);
195
+ };
196
+ const updatedArgs = {
197
+ ...args,
198
+ options: {
199
+ ...args.options,
200
+ onResponse: callback
201
+ }
202
+ };
203
+ const flatResponse = await directSendOperation(updatedArgs, spec);
204
+ return {
205
+ flatResponse,
206
+ rawResponse: {
207
+ statusCode: currentRawResponse!.status,
208
+ body: currentRawResponse!.parsedBody,
209
+ headers: currentRawResponse!.headers.toJSON()
210
+ }
211
+ };
212
+ };
213
+
214
+ const lro = new LroImpl(
215
+ sendOperation,
216
+ { resourceGroupName, partnerTopicName, options },
217
+ deleteOperationSpec
218
+ );
219
+ return new LroEngine(lro, {
220
+ resumeFrom: options?.resumeFrom,
221
+ intervalInMs: options?.updateIntervalInMs
222
+ });
223
+ }
224
+
225
+ /**
226
+ * Delete existing partner topic.
227
+ * @param resourceGroupName The name of the resource group within the user's subscription.
228
+ * @param partnerTopicName Name of the partner topic.
229
+ * @param options The options parameters.
230
+ */
231
+ async beginDeleteAndWait(
232
+ resourceGroupName: string,
233
+ partnerTopicName: string,
234
+ options?: PartnerTopicsDeleteOptionalParams
235
+ ): Promise<void> {
236
+ const poller = await this.beginDelete(
237
+ resourceGroupName,
238
+ partnerTopicName,
239
+ options
240
+ );
241
+ return poller.pollUntilDone();
242
+ }
243
+
244
+ /**
245
+ * Asynchronously updates a partner topic with the specified parameters.
246
+ * @param resourceGroupName The name of the resource group within the user's subscription.
247
+ * @param partnerTopicName Name of the partner topic.
248
+ * @param partnerTopicUpdateParameters PartnerTopic update information.
249
+ * @param options The options parameters.
250
+ */
251
+ update(
252
+ resourceGroupName: string,
253
+ partnerTopicName: string,
254
+ partnerTopicUpdateParameters: PartnerTopicUpdateParameters,
255
+ options?: PartnerTopicsUpdateOptionalParams
256
+ ): Promise<PartnerTopicsUpdateResponse> {
257
+ return this.client.sendOperationRequest(
258
+ {
259
+ resourceGroupName,
260
+ partnerTopicName,
261
+ partnerTopicUpdateParameters,
262
+ options
263
+ },
264
+ updateOperationSpec
265
+ );
266
+ }
267
+
268
+ /**
269
+ * List all the partner topics under an Azure subscription.
270
+ * @param options The options parameters.
271
+ */
272
+ private _listBySubscription(
273
+ options?: PartnerTopicsListBySubscriptionOptionalParams
274
+ ): Promise<PartnerTopicsListBySubscriptionResponse> {
275
+ return this.client.sendOperationRequest(
276
+ { options },
277
+ listBySubscriptionOperationSpec
278
+ );
279
+ }
280
+
281
+ /**
282
+ * List all the partner topics under a resource group.
283
+ * @param resourceGroupName The name of the resource group within the user's subscription.
284
+ * @param options The options parameters.
285
+ */
286
+ private _listByResourceGroup(
287
+ resourceGroupName: string,
288
+ options?: PartnerTopicsListByResourceGroupOptionalParams
289
+ ): Promise<PartnerTopicsListByResourceGroupResponse> {
290
+ return this.client.sendOperationRequest(
291
+ { resourceGroupName, options },
292
+ listByResourceGroupOperationSpec
293
+ );
294
+ }
295
+
296
+ /**
297
+ * Activate a newly created partner topic.
298
+ * @param resourceGroupName The name of the resource group within the user's subscription.
299
+ * @param partnerTopicName Name of the partner topic.
300
+ * @param options The options parameters.
301
+ */
302
+ activate(
303
+ resourceGroupName: string,
304
+ partnerTopicName: string,
305
+ options?: PartnerTopicsActivateOptionalParams
306
+ ): Promise<PartnerTopicsActivateResponse> {
307
+ return this.client.sendOperationRequest(
308
+ { resourceGroupName, partnerTopicName, options },
309
+ activateOperationSpec
310
+ );
311
+ }
312
+
313
+ /**
314
+ * Deactivate specific partner topic.
315
+ * @param resourceGroupName The name of the resource group within the user's subscription.
316
+ * @param partnerTopicName Name of the partner topic.
317
+ * @param options The options parameters.
318
+ */
319
+ deactivate(
320
+ resourceGroupName: string,
321
+ partnerTopicName: string,
322
+ options?: PartnerTopicsDeactivateOptionalParams
323
+ ): Promise<PartnerTopicsDeactivateResponse> {
324
+ return this.client.sendOperationRequest(
325
+ { resourceGroupName, partnerTopicName, options },
326
+ deactivateOperationSpec
327
+ );
328
+ }
329
+
330
+ /**
331
+ * ListBySubscriptionNext
332
+ * @param nextLink The nextLink from the previous successful call to the ListBySubscription method.
333
+ * @param options The options parameters.
334
+ */
335
+ private _listBySubscriptionNext(
336
+ nextLink: string,
337
+ options?: PartnerTopicsListBySubscriptionNextOptionalParams
338
+ ): Promise<PartnerTopicsListBySubscriptionNextResponse> {
339
+ return this.client.sendOperationRequest(
340
+ { nextLink, options },
341
+ listBySubscriptionNextOperationSpec
342
+ );
343
+ }
344
+
345
+ /**
346
+ * ListByResourceGroupNext
347
+ * @param resourceGroupName The name of the resource group within the user's subscription.
348
+ * @param nextLink The nextLink from the previous successful call to the ListByResourceGroup method.
349
+ * @param options The options parameters.
350
+ */
351
+ private _listByResourceGroupNext(
352
+ resourceGroupName: string,
353
+ nextLink: string,
354
+ options?: PartnerTopicsListByResourceGroupNextOptionalParams
355
+ ): Promise<PartnerTopicsListByResourceGroupNextResponse> {
356
+ return this.client.sendOperationRequest(
357
+ { resourceGroupName, nextLink, options },
358
+ listByResourceGroupNextOperationSpec
359
+ );
360
+ }
361
+ }
362
+ // Operation Specifications
363
+ const serializer = coreClient.createSerializer(Mappers, /* isXml */ false);
364
+
365
+ const getOperationSpec: coreClient.OperationSpec = {
366
+ path:
367
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/partnerTopics/{partnerTopicName}",
368
+ httpMethod: "GET",
369
+ responses: {
370
+ 200: {
371
+ bodyMapper: Mappers.PartnerTopic
372
+ },
373
+ default: {}
374
+ },
375
+ queryParameters: [Parameters.apiVersion],
376
+ urlParameters: [
377
+ Parameters.$host,
378
+ Parameters.subscriptionId,
379
+ Parameters.resourceGroupName,
380
+ Parameters.partnerTopicName
381
+ ],
382
+ headerParameters: [Parameters.accept],
383
+ serializer
384
+ };
385
+ const deleteOperationSpec: coreClient.OperationSpec = {
386
+ path:
387
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/partnerTopics/{partnerTopicName}",
388
+ httpMethod: "DELETE",
389
+ responses: { 200: {}, 201: {}, 202: {}, 204: {}, default: {} },
390
+ queryParameters: [Parameters.apiVersion],
391
+ urlParameters: [
392
+ Parameters.$host,
393
+ Parameters.subscriptionId,
394
+ Parameters.resourceGroupName,
395
+ Parameters.partnerTopicName
396
+ ],
397
+ serializer
398
+ };
399
+ const updateOperationSpec: coreClient.OperationSpec = {
400
+ path:
401
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/partnerTopics/{partnerTopicName}",
402
+ httpMethod: "PATCH",
403
+ responses: {
404
+ 200: {},
405
+ 201: {
406
+ bodyMapper: Mappers.PartnerTopic
407
+ },
408
+ default: {}
409
+ },
410
+ requestBody: Parameters.partnerTopicUpdateParameters,
411
+ queryParameters: [Parameters.apiVersion],
412
+ urlParameters: [
413
+ Parameters.$host,
414
+ Parameters.subscriptionId,
415
+ Parameters.resourceGroupName,
416
+ Parameters.partnerTopicName
417
+ ],
418
+ headerParameters: [Parameters.accept, Parameters.contentType],
419
+ mediaType: "json",
420
+ serializer
421
+ };
422
+ const listBySubscriptionOperationSpec: coreClient.OperationSpec = {
423
+ path:
424
+ "/subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/partnerTopics",
425
+ httpMethod: "GET",
426
+ responses: {
427
+ 200: {
428
+ bodyMapper: Mappers.PartnerTopicsListResult
429
+ },
430
+ default: {}
431
+ },
432
+ queryParameters: [Parameters.apiVersion, Parameters.filter, Parameters.top],
433
+ urlParameters: [Parameters.$host, Parameters.subscriptionId],
434
+ headerParameters: [Parameters.accept],
435
+ serializer
436
+ };
437
+ const listByResourceGroupOperationSpec: coreClient.OperationSpec = {
438
+ path:
439
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/partnerTopics",
440
+ httpMethod: "GET",
441
+ responses: {
442
+ 200: {
443
+ bodyMapper: Mappers.PartnerTopicsListResult
444
+ },
445
+ default: {}
446
+ },
447
+ queryParameters: [Parameters.apiVersion, Parameters.filter, Parameters.top],
448
+ urlParameters: [
449
+ Parameters.$host,
450
+ Parameters.subscriptionId,
451
+ Parameters.resourceGroupName
452
+ ],
453
+ headerParameters: [Parameters.accept],
454
+ serializer
455
+ };
456
+ const activateOperationSpec: coreClient.OperationSpec = {
457
+ path:
458
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/partnerTopics/{partnerTopicName}/activate",
459
+ httpMethod: "POST",
460
+ responses: {
461
+ 200: {
462
+ bodyMapper: Mappers.PartnerTopic
463
+ },
464
+ default: {}
465
+ },
466
+ queryParameters: [Parameters.apiVersion],
467
+ urlParameters: [
468
+ Parameters.$host,
469
+ Parameters.subscriptionId,
470
+ Parameters.resourceGroupName,
471
+ Parameters.partnerTopicName
472
+ ],
473
+ headerParameters: [Parameters.accept],
474
+ serializer
475
+ };
476
+ const deactivateOperationSpec: coreClient.OperationSpec = {
477
+ path:
478
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/partnerTopics/{partnerTopicName}/deactivate",
479
+ httpMethod: "POST",
480
+ responses: {
481
+ 200: {
482
+ bodyMapper: Mappers.PartnerTopic
483
+ },
484
+ default: {}
485
+ },
486
+ queryParameters: [Parameters.apiVersion],
487
+ urlParameters: [
488
+ Parameters.$host,
489
+ Parameters.subscriptionId,
490
+ Parameters.resourceGroupName,
491
+ Parameters.partnerTopicName
492
+ ],
493
+ headerParameters: [Parameters.accept],
494
+ serializer
495
+ };
496
+ const listBySubscriptionNextOperationSpec: coreClient.OperationSpec = {
497
+ path: "{nextLink}",
498
+ httpMethod: "GET",
499
+ responses: {
500
+ 200: {
501
+ bodyMapper: Mappers.PartnerTopicsListResult
502
+ },
503
+ default: {}
504
+ },
505
+ queryParameters: [Parameters.apiVersion, Parameters.filter, Parameters.top],
506
+ urlParameters: [
507
+ Parameters.$host,
508
+ Parameters.subscriptionId,
509
+ Parameters.nextLink
510
+ ],
511
+ headerParameters: [Parameters.accept],
512
+ serializer
513
+ };
514
+ const listByResourceGroupNextOperationSpec: coreClient.OperationSpec = {
515
+ path: "{nextLink}",
516
+ httpMethod: "GET",
517
+ responses: {
518
+ 200: {
519
+ bodyMapper: Mappers.PartnerTopicsListResult
520
+ },
521
+ default: {}
522
+ },
523
+ queryParameters: [Parameters.apiVersion, Parameters.filter, Parameters.top],
524
+ urlParameters: [
525
+ Parameters.$host,
526
+ Parameters.subscriptionId,
527
+ Parameters.resourceGroupName,
528
+ Parameters.nextLink
529
+ ],
530
+ headerParameters: [Parameters.accept],
531
+ serializer
532
+ };