@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,656 @@
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 { SystemTopics } 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
+ SystemTopic,
19
+ SystemTopicsListBySubscriptionNextOptionalParams,
20
+ SystemTopicsListBySubscriptionOptionalParams,
21
+ SystemTopicsListByResourceGroupNextOptionalParams,
22
+ SystemTopicsListByResourceGroupOptionalParams,
23
+ SystemTopicsGetOptionalParams,
24
+ SystemTopicsGetResponse,
25
+ SystemTopicsCreateOrUpdateOptionalParams,
26
+ SystemTopicsCreateOrUpdateResponse,
27
+ SystemTopicsDeleteOptionalParams,
28
+ SystemTopicUpdateParameters,
29
+ SystemTopicsUpdateOptionalParams,
30
+ SystemTopicsUpdateResponse,
31
+ SystemTopicsListBySubscriptionResponse,
32
+ SystemTopicsListByResourceGroupResponse,
33
+ SystemTopicsListBySubscriptionNextResponse,
34
+ SystemTopicsListByResourceGroupNextResponse
35
+ } from "../models";
36
+
37
+ /// <reference lib="esnext.asynciterable" />
38
+ /** Class containing SystemTopics operations. */
39
+ export class SystemTopicsImpl implements SystemTopics {
40
+ private readonly client: EventGridManagementClientContext;
41
+
42
+ /**
43
+ * Initialize a new instance of the class SystemTopics class.
44
+ * @param client Reference to the service client
45
+ */
46
+ constructor(client: EventGridManagementClientContext) {
47
+ this.client = client;
48
+ }
49
+
50
+ /**
51
+ * List all the system topics under an Azure subscription.
52
+ * @param options The options parameters.
53
+ */
54
+ public listBySubscription(
55
+ options?: SystemTopicsListBySubscriptionOptionalParams
56
+ ): PagedAsyncIterableIterator<SystemTopic> {
57
+ const iter = this.listBySubscriptionPagingAll(options);
58
+ return {
59
+ next() {
60
+ return iter.next();
61
+ },
62
+ [Symbol.asyncIterator]() {
63
+ return this;
64
+ },
65
+ byPage: () => {
66
+ return this.listBySubscriptionPagingPage(options);
67
+ }
68
+ };
69
+ }
70
+
71
+ private async *listBySubscriptionPagingPage(
72
+ options?: SystemTopicsListBySubscriptionOptionalParams
73
+ ): AsyncIterableIterator<SystemTopic[]> {
74
+ let result = await this._listBySubscription(options);
75
+ yield result.value || [];
76
+ let continuationToken = result.nextLink;
77
+ while (continuationToken) {
78
+ result = await this._listBySubscriptionNext(continuationToken, options);
79
+ continuationToken = result.nextLink;
80
+ yield result.value || [];
81
+ }
82
+ }
83
+
84
+ private async *listBySubscriptionPagingAll(
85
+ options?: SystemTopicsListBySubscriptionOptionalParams
86
+ ): AsyncIterableIterator<SystemTopic> {
87
+ for await (const page of this.listBySubscriptionPagingPage(options)) {
88
+ yield* page;
89
+ }
90
+ }
91
+
92
+ /**
93
+ * List all the system topics under a resource group.
94
+ * @param resourceGroupName The name of the resource group within the user's subscription.
95
+ * @param options The options parameters.
96
+ */
97
+ public listByResourceGroup(
98
+ resourceGroupName: string,
99
+ options?: SystemTopicsListByResourceGroupOptionalParams
100
+ ): PagedAsyncIterableIterator<SystemTopic> {
101
+ const iter = this.listByResourceGroupPagingAll(resourceGroupName, options);
102
+ return {
103
+ next() {
104
+ return iter.next();
105
+ },
106
+ [Symbol.asyncIterator]() {
107
+ return this;
108
+ },
109
+ byPage: () => {
110
+ return this.listByResourceGroupPagingPage(resourceGroupName, options);
111
+ }
112
+ };
113
+ }
114
+
115
+ private async *listByResourceGroupPagingPage(
116
+ resourceGroupName: string,
117
+ options?: SystemTopicsListByResourceGroupOptionalParams
118
+ ): AsyncIterableIterator<SystemTopic[]> {
119
+ let result = await this._listByResourceGroup(resourceGroupName, options);
120
+ yield result.value || [];
121
+ let continuationToken = result.nextLink;
122
+ while (continuationToken) {
123
+ result = await this._listByResourceGroupNext(
124
+ resourceGroupName,
125
+ continuationToken,
126
+ options
127
+ );
128
+ continuationToken = result.nextLink;
129
+ yield result.value || [];
130
+ }
131
+ }
132
+
133
+ private async *listByResourceGroupPagingAll(
134
+ resourceGroupName: string,
135
+ options?: SystemTopicsListByResourceGroupOptionalParams
136
+ ): AsyncIterableIterator<SystemTopic> {
137
+ for await (const page of this.listByResourceGroupPagingPage(
138
+ resourceGroupName,
139
+ options
140
+ )) {
141
+ yield* page;
142
+ }
143
+ }
144
+
145
+ /**
146
+ * Get properties of a system topic.
147
+ * @param resourceGroupName The name of the resource group within the user's subscription.
148
+ * @param systemTopicName Name of the system topic.
149
+ * @param options The options parameters.
150
+ */
151
+ get(
152
+ resourceGroupName: string,
153
+ systemTopicName: string,
154
+ options?: SystemTopicsGetOptionalParams
155
+ ): Promise<SystemTopicsGetResponse> {
156
+ return this.client.sendOperationRequest(
157
+ { resourceGroupName, systemTopicName, options },
158
+ getOperationSpec
159
+ );
160
+ }
161
+
162
+ /**
163
+ * Asynchronously creates a new system topic with the specified parameters.
164
+ * @param resourceGroupName The name of the resource group within the user's subscription.
165
+ * @param systemTopicName Name of the system topic.
166
+ * @param systemTopicInfo System Topic information.
167
+ * @param options The options parameters.
168
+ */
169
+ async beginCreateOrUpdate(
170
+ resourceGroupName: string,
171
+ systemTopicName: string,
172
+ systemTopicInfo: SystemTopic,
173
+ options?: SystemTopicsCreateOrUpdateOptionalParams
174
+ ): Promise<
175
+ PollerLike<
176
+ PollOperationState<SystemTopicsCreateOrUpdateResponse>,
177
+ SystemTopicsCreateOrUpdateResponse
178
+ >
179
+ > {
180
+ const directSendOperation = async (
181
+ args: coreClient.OperationArguments,
182
+ spec: coreClient.OperationSpec
183
+ ): Promise<SystemTopicsCreateOrUpdateResponse> => {
184
+ return this.client.sendOperationRequest(args, spec);
185
+ };
186
+ const sendOperation = async (
187
+ args: coreClient.OperationArguments,
188
+ spec: coreClient.OperationSpec
189
+ ) => {
190
+ let currentRawResponse:
191
+ | coreClient.FullOperationResponse
192
+ | undefined = undefined;
193
+ const providedCallback = args.options?.onResponse;
194
+ const callback: coreClient.RawResponseCallback = (
195
+ rawResponse: coreClient.FullOperationResponse,
196
+ flatResponse: unknown
197
+ ) => {
198
+ currentRawResponse = rawResponse;
199
+ providedCallback?.(rawResponse, flatResponse);
200
+ };
201
+ const updatedArgs = {
202
+ ...args,
203
+ options: {
204
+ ...args.options,
205
+ onResponse: callback
206
+ }
207
+ };
208
+ const flatResponse = await directSendOperation(updatedArgs, spec);
209
+ return {
210
+ flatResponse,
211
+ rawResponse: {
212
+ statusCode: currentRawResponse!.status,
213
+ body: currentRawResponse!.parsedBody,
214
+ headers: currentRawResponse!.headers.toJSON()
215
+ }
216
+ };
217
+ };
218
+
219
+ const lro = new LroImpl(
220
+ sendOperation,
221
+ { resourceGroupName, systemTopicName, systemTopicInfo, options },
222
+ createOrUpdateOperationSpec
223
+ );
224
+ return new LroEngine(lro, {
225
+ resumeFrom: options?.resumeFrom,
226
+ intervalInMs: options?.updateIntervalInMs
227
+ });
228
+ }
229
+
230
+ /**
231
+ * Asynchronously creates a new system topic with the specified parameters.
232
+ * @param resourceGroupName The name of the resource group within the user's subscription.
233
+ * @param systemTopicName Name of the system topic.
234
+ * @param systemTopicInfo System Topic information.
235
+ * @param options The options parameters.
236
+ */
237
+ async beginCreateOrUpdateAndWait(
238
+ resourceGroupName: string,
239
+ systemTopicName: string,
240
+ systemTopicInfo: SystemTopic,
241
+ options?: SystemTopicsCreateOrUpdateOptionalParams
242
+ ): Promise<SystemTopicsCreateOrUpdateResponse> {
243
+ const poller = await this.beginCreateOrUpdate(
244
+ resourceGroupName,
245
+ systemTopicName,
246
+ systemTopicInfo,
247
+ options
248
+ );
249
+ return poller.pollUntilDone();
250
+ }
251
+
252
+ /**
253
+ * Delete existing system topic.
254
+ * @param resourceGroupName The name of the resource group within the user's subscription.
255
+ * @param systemTopicName Name of the system topic.
256
+ * @param options The options parameters.
257
+ */
258
+ async beginDelete(
259
+ resourceGroupName: string,
260
+ systemTopicName: string,
261
+ options?: SystemTopicsDeleteOptionalParams
262
+ ): Promise<PollerLike<PollOperationState<void>, void>> {
263
+ const directSendOperation = async (
264
+ args: coreClient.OperationArguments,
265
+ spec: coreClient.OperationSpec
266
+ ): Promise<void> => {
267
+ return this.client.sendOperationRequest(args, spec);
268
+ };
269
+ const sendOperation = async (
270
+ args: coreClient.OperationArguments,
271
+ spec: coreClient.OperationSpec
272
+ ) => {
273
+ let currentRawResponse:
274
+ | coreClient.FullOperationResponse
275
+ | undefined = undefined;
276
+ const providedCallback = args.options?.onResponse;
277
+ const callback: coreClient.RawResponseCallback = (
278
+ rawResponse: coreClient.FullOperationResponse,
279
+ flatResponse: unknown
280
+ ) => {
281
+ currentRawResponse = rawResponse;
282
+ providedCallback?.(rawResponse, flatResponse);
283
+ };
284
+ const updatedArgs = {
285
+ ...args,
286
+ options: {
287
+ ...args.options,
288
+ onResponse: callback
289
+ }
290
+ };
291
+ const flatResponse = await directSendOperation(updatedArgs, spec);
292
+ return {
293
+ flatResponse,
294
+ rawResponse: {
295
+ statusCode: currentRawResponse!.status,
296
+ body: currentRawResponse!.parsedBody,
297
+ headers: currentRawResponse!.headers.toJSON()
298
+ }
299
+ };
300
+ };
301
+
302
+ const lro = new LroImpl(
303
+ sendOperation,
304
+ { resourceGroupName, systemTopicName, options },
305
+ deleteOperationSpec
306
+ );
307
+ return new LroEngine(lro, {
308
+ resumeFrom: options?.resumeFrom,
309
+ intervalInMs: options?.updateIntervalInMs
310
+ });
311
+ }
312
+
313
+ /**
314
+ * Delete existing system topic.
315
+ * @param resourceGroupName The name of the resource group within the user's subscription.
316
+ * @param systemTopicName Name of the system topic.
317
+ * @param options The options parameters.
318
+ */
319
+ async beginDeleteAndWait(
320
+ resourceGroupName: string,
321
+ systemTopicName: string,
322
+ options?: SystemTopicsDeleteOptionalParams
323
+ ): Promise<void> {
324
+ const poller = await this.beginDelete(
325
+ resourceGroupName,
326
+ systemTopicName,
327
+ options
328
+ );
329
+ return poller.pollUntilDone();
330
+ }
331
+
332
+ /**
333
+ * Asynchronously updates a system topic with the specified parameters.
334
+ * @param resourceGroupName The name of the resource group within the user's subscription.
335
+ * @param systemTopicName Name of the system topic.
336
+ * @param systemTopicUpdateParameters SystemTopic update information.
337
+ * @param options The options parameters.
338
+ */
339
+ async beginUpdate(
340
+ resourceGroupName: string,
341
+ systemTopicName: string,
342
+ systemTopicUpdateParameters: SystemTopicUpdateParameters,
343
+ options?: SystemTopicsUpdateOptionalParams
344
+ ): Promise<
345
+ PollerLike<
346
+ PollOperationState<SystemTopicsUpdateResponse>,
347
+ SystemTopicsUpdateResponse
348
+ >
349
+ > {
350
+ const directSendOperation = async (
351
+ args: coreClient.OperationArguments,
352
+ spec: coreClient.OperationSpec
353
+ ): Promise<SystemTopicsUpdateResponse> => {
354
+ return this.client.sendOperationRequest(args, spec);
355
+ };
356
+ const sendOperation = async (
357
+ args: coreClient.OperationArguments,
358
+ spec: coreClient.OperationSpec
359
+ ) => {
360
+ let currentRawResponse:
361
+ | coreClient.FullOperationResponse
362
+ | undefined = undefined;
363
+ const providedCallback = args.options?.onResponse;
364
+ const callback: coreClient.RawResponseCallback = (
365
+ rawResponse: coreClient.FullOperationResponse,
366
+ flatResponse: unknown
367
+ ) => {
368
+ currentRawResponse = rawResponse;
369
+ providedCallback?.(rawResponse, flatResponse);
370
+ };
371
+ const updatedArgs = {
372
+ ...args,
373
+ options: {
374
+ ...args.options,
375
+ onResponse: callback
376
+ }
377
+ };
378
+ const flatResponse = await directSendOperation(updatedArgs, spec);
379
+ return {
380
+ flatResponse,
381
+ rawResponse: {
382
+ statusCode: currentRawResponse!.status,
383
+ body: currentRawResponse!.parsedBody,
384
+ headers: currentRawResponse!.headers.toJSON()
385
+ }
386
+ };
387
+ };
388
+
389
+ const lro = new LroImpl(
390
+ sendOperation,
391
+ {
392
+ resourceGroupName,
393
+ systemTopicName,
394
+ systemTopicUpdateParameters,
395
+ options
396
+ },
397
+ updateOperationSpec
398
+ );
399
+ return new LroEngine(lro, {
400
+ resumeFrom: options?.resumeFrom,
401
+ intervalInMs: options?.updateIntervalInMs
402
+ });
403
+ }
404
+
405
+ /**
406
+ * Asynchronously updates a system topic with the specified parameters.
407
+ * @param resourceGroupName The name of the resource group within the user's subscription.
408
+ * @param systemTopicName Name of the system topic.
409
+ * @param systemTopicUpdateParameters SystemTopic update information.
410
+ * @param options The options parameters.
411
+ */
412
+ async beginUpdateAndWait(
413
+ resourceGroupName: string,
414
+ systemTopicName: string,
415
+ systemTopicUpdateParameters: SystemTopicUpdateParameters,
416
+ options?: SystemTopicsUpdateOptionalParams
417
+ ): Promise<SystemTopicsUpdateResponse> {
418
+ const poller = await this.beginUpdate(
419
+ resourceGroupName,
420
+ systemTopicName,
421
+ systemTopicUpdateParameters,
422
+ options
423
+ );
424
+ return poller.pollUntilDone();
425
+ }
426
+
427
+ /**
428
+ * List all the system topics under an Azure subscription.
429
+ * @param options The options parameters.
430
+ */
431
+ private _listBySubscription(
432
+ options?: SystemTopicsListBySubscriptionOptionalParams
433
+ ): Promise<SystemTopicsListBySubscriptionResponse> {
434
+ return this.client.sendOperationRequest(
435
+ { options },
436
+ listBySubscriptionOperationSpec
437
+ );
438
+ }
439
+
440
+ /**
441
+ * List all the system topics under a resource group.
442
+ * @param resourceGroupName The name of the resource group within the user's subscription.
443
+ * @param options The options parameters.
444
+ */
445
+ private _listByResourceGroup(
446
+ resourceGroupName: string,
447
+ options?: SystemTopicsListByResourceGroupOptionalParams
448
+ ): Promise<SystemTopicsListByResourceGroupResponse> {
449
+ return this.client.sendOperationRequest(
450
+ { resourceGroupName, options },
451
+ listByResourceGroupOperationSpec
452
+ );
453
+ }
454
+
455
+ /**
456
+ * ListBySubscriptionNext
457
+ * @param nextLink The nextLink from the previous successful call to the ListBySubscription method.
458
+ * @param options The options parameters.
459
+ */
460
+ private _listBySubscriptionNext(
461
+ nextLink: string,
462
+ options?: SystemTopicsListBySubscriptionNextOptionalParams
463
+ ): Promise<SystemTopicsListBySubscriptionNextResponse> {
464
+ return this.client.sendOperationRequest(
465
+ { nextLink, options },
466
+ listBySubscriptionNextOperationSpec
467
+ );
468
+ }
469
+
470
+ /**
471
+ * ListByResourceGroupNext
472
+ * @param resourceGroupName The name of the resource group within the user's subscription.
473
+ * @param nextLink The nextLink from the previous successful call to the ListByResourceGroup method.
474
+ * @param options The options parameters.
475
+ */
476
+ private _listByResourceGroupNext(
477
+ resourceGroupName: string,
478
+ nextLink: string,
479
+ options?: SystemTopicsListByResourceGroupNextOptionalParams
480
+ ): Promise<SystemTopicsListByResourceGroupNextResponse> {
481
+ return this.client.sendOperationRequest(
482
+ { resourceGroupName, nextLink, options },
483
+ listByResourceGroupNextOperationSpec
484
+ );
485
+ }
486
+ }
487
+ // Operation Specifications
488
+ const serializer = coreClient.createSerializer(Mappers, /* isXml */ false);
489
+
490
+ const getOperationSpec: coreClient.OperationSpec = {
491
+ path:
492
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/systemTopics/{systemTopicName}",
493
+ httpMethod: "GET",
494
+ responses: {
495
+ 200: {
496
+ bodyMapper: Mappers.SystemTopic
497
+ },
498
+ default: {}
499
+ },
500
+ queryParameters: [Parameters.apiVersion],
501
+ urlParameters: [
502
+ Parameters.$host,
503
+ Parameters.subscriptionId,
504
+ Parameters.resourceGroupName,
505
+ Parameters.systemTopicName
506
+ ],
507
+ headerParameters: [Parameters.accept],
508
+ serializer
509
+ };
510
+ const createOrUpdateOperationSpec: coreClient.OperationSpec = {
511
+ path:
512
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/systemTopics/{systemTopicName}",
513
+ httpMethod: "PUT",
514
+ responses: {
515
+ 200: {
516
+ bodyMapper: Mappers.SystemTopic
517
+ },
518
+ 201: {
519
+ bodyMapper: Mappers.SystemTopic
520
+ },
521
+ 202: {
522
+ bodyMapper: Mappers.SystemTopic
523
+ },
524
+ 204: {
525
+ bodyMapper: Mappers.SystemTopic
526
+ },
527
+ default: {}
528
+ },
529
+ requestBody: Parameters.systemTopicInfo,
530
+ queryParameters: [Parameters.apiVersion],
531
+ urlParameters: [
532
+ Parameters.$host,
533
+ Parameters.subscriptionId,
534
+ Parameters.resourceGroupName,
535
+ Parameters.systemTopicName
536
+ ],
537
+ headerParameters: [Parameters.accept, Parameters.contentType],
538
+ mediaType: "json",
539
+ serializer
540
+ };
541
+ const deleteOperationSpec: coreClient.OperationSpec = {
542
+ path:
543
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/systemTopics/{systemTopicName}",
544
+ httpMethod: "DELETE",
545
+ responses: { 200: {}, 201: {}, 202: {}, 204: {}, default: {} },
546
+ queryParameters: [Parameters.apiVersion],
547
+ urlParameters: [
548
+ Parameters.$host,
549
+ Parameters.subscriptionId,
550
+ Parameters.resourceGroupName,
551
+ Parameters.systemTopicName
552
+ ],
553
+ serializer
554
+ };
555
+ const updateOperationSpec: coreClient.OperationSpec = {
556
+ path:
557
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/systemTopics/{systemTopicName}",
558
+ httpMethod: "PATCH",
559
+ responses: {
560
+ 200: {
561
+ bodyMapper: Mappers.SystemTopic
562
+ },
563
+ 201: {
564
+ bodyMapper: Mappers.SystemTopic
565
+ },
566
+ 202: {
567
+ bodyMapper: Mappers.SystemTopic
568
+ },
569
+ 204: {
570
+ bodyMapper: Mappers.SystemTopic
571
+ },
572
+ default: {}
573
+ },
574
+ requestBody: Parameters.systemTopicUpdateParameters,
575
+ queryParameters: [Parameters.apiVersion],
576
+ urlParameters: [
577
+ Parameters.$host,
578
+ Parameters.subscriptionId,
579
+ Parameters.resourceGroupName,
580
+ Parameters.systemTopicName
581
+ ],
582
+ headerParameters: [Parameters.accept, Parameters.contentType],
583
+ mediaType: "json",
584
+ serializer
585
+ };
586
+ const listBySubscriptionOperationSpec: coreClient.OperationSpec = {
587
+ path:
588
+ "/subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/systemTopics",
589
+ httpMethod: "GET",
590
+ responses: {
591
+ 200: {
592
+ bodyMapper: Mappers.SystemTopicsListResult
593
+ },
594
+ default: {}
595
+ },
596
+ queryParameters: [Parameters.apiVersion, Parameters.filter, Parameters.top],
597
+ urlParameters: [Parameters.$host, Parameters.subscriptionId],
598
+ headerParameters: [Parameters.accept],
599
+ serializer
600
+ };
601
+ const listByResourceGroupOperationSpec: coreClient.OperationSpec = {
602
+ path:
603
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/systemTopics",
604
+ httpMethod: "GET",
605
+ responses: {
606
+ 200: {
607
+ bodyMapper: Mappers.SystemTopicsListResult
608
+ },
609
+ default: {}
610
+ },
611
+ queryParameters: [Parameters.apiVersion, Parameters.filter, Parameters.top],
612
+ urlParameters: [
613
+ Parameters.$host,
614
+ Parameters.subscriptionId,
615
+ Parameters.resourceGroupName
616
+ ],
617
+ headerParameters: [Parameters.accept],
618
+ serializer
619
+ };
620
+ const listBySubscriptionNextOperationSpec: coreClient.OperationSpec = {
621
+ path: "{nextLink}",
622
+ httpMethod: "GET",
623
+ responses: {
624
+ 200: {
625
+ bodyMapper: Mappers.SystemTopicsListResult
626
+ },
627
+ default: {}
628
+ },
629
+ queryParameters: [Parameters.apiVersion, Parameters.filter, Parameters.top],
630
+ urlParameters: [
631
+ Parameters.$host,
632
+ Parameters.subscriptionId,
633
+ Parameters.nextLink
634
+ ],
635
+ headerParameters: [Parameters.accept],
636
+ serializer
637
+ };
638
+ const listByResourceGroupNextOperationSpec: coreClient.OperationSpec = {
639
+ path: "{nextLink}",
640
+ httpMethod: "GET",
641
+ responses: {
642
+ 200: {
643
+ bodyMapper: Mappers.SystemTopicsListResult
644
+ },
645
+ default: {}
646
+ },
647
+ queryParameters: [Parameters.apiVersion, Parameters.filter, Parameters.top],
648
+ urlParameters: [
649
+ Parameters.$host,
650
+ Parameters.subscriptionId,
651
+ Parameters.resourceGroupName,
652
+ Parameters.nextLink
653
+ ],
654
+ headerParameters: [Parameters.accept],
655
+ serializer
656
+ };