@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,699 @@
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 { SystemTopicEventSubscriptions } 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
+ EventSubscription,
19
+ SystemTopicEventSubscriptionsListBySystemTopicNextOptionalParams,
20
+ SystemTopicEventSubscriptionsListBySystemTopicOptionalParams,
21
+ SystemTopicEventSubscriptionsGetOptionalParams,
22
+ SystemTopicEventSubscriptionsGetResponse,
23
+ SystemTopicEventSubscriptionsCreateOrUpdateOptionalParams,
24
+ SystemTopicEventSubscriptionsCreateOrUpdateResponse,
25
+ SystemTopicEventSubscriptionsDeleteOptionalParams,
26
+ EventSubscriptionUpdateParameters,
27
+ SystemTopicEventSubscriptionsUpdateOptionalParams,
28
+ SystemTopicEventSubscriptionsUpdateResponse,
29
+ SystemTopicEventSubscriptionsGetFullUrlOptionalParams,
30
+ SystemTopicEventSubscriptionsGetFullUrlResponse,
31
+ SystemTopicEventSubscriptionsListBySystemTopicResponse,
32
+ SystemTopicEventSubscriptionsGetDeliveryAttributesOptionalParams,
33
+ SystemTopicEventSubscriptionsGetDeliveryAttributesResponse,
34
+ SystemTopicEventSubscriptionsListBySystemTopicNextResponse
35
+ } from "../models";
36
+
37
+ /// <reference lib="esnext.asynciterable" />
38
+ /** Class containing SystemTopicEventSubscriptions operations. */
39
+ export class SystemTopicEventSubscriptionsImpl
40
+ implements SystemTopicEventSubscriptions {
41
+ private readonly client: EventGridManagementClientContext;
42
+
43
+ /**
44
+ * Initialize a new instance of the class SystemTopicEventSubscriptions class.
45
+ * @param client Reference to the service client
46
+ */
47
+ constructor(client: EventGridManagementClientContext) {
48
+ this.client = client;
49
+ }
50
+
51
+ /**
52
+ * List event subscriptions that belong to a specific system topic.
53
+ * @param resourceGroupName The name of the resource group within the user's subscription.
54
+ * @param systemTopicName Name of the system topic.
55
+ * @param options The options parameters.
56
+ */
57
+ public listBySystemTopic(
58
+ resourceGroupName: string,
59
+ systemTopicName: string,
60
+ options?: SystemTopicEventSubscriptionsListBySystemTopicOptionalParams
61
+ ): PagedAsyncIterableIterator<EventSubscription> {
62
+ const iter = this.listBySystemTopicPagingAll(
63
+ resourceGroupName,
64
+ systemTopicName,
65
+ options
66
+ );
67
+ return {
68
+ next() {
69
+ return iter.next();
70
+ },
71
+ [Symbol.asyncIterator]() {
72
+ return this;
73
+ },
74
+ byPage: () => {
75
+ return this.listBySystemTopicPagingPage(
76
+ resourceGroupName,
77
+ systemTopicName,
78
+ options
79
+ );
80
+ }
81
+ };
82
+ }
83
+
84
+ private async *listBySystemTopicPagingPage(
85
+ resourceGroupName: string,
86
+ systemTopicName: string,
87
+ options?: SystemTopicEventSubscriptionsListBySystemTopicOptionalParams
88
+ ): AsyncIterableIterator<EventSubscription[]> {
89
+ let result = await this._listBySystemTopic(
90
+ resourceGroupName,
91
+ systemTopicName,
92
+ options
93
+ );
94
+ yield result.value || [];
95
+ let continuationToken = result.nextLink;
96
+ while (continuationToken) {
97
+ result = await this._listBySystemTopicNext(
98
+ resourceGroupName,
99
+ systemTopicName,
100
+ continuationToken,
101
+ options
102
+ );
103
+ continuationToken = result.nextLink;
104
+ yield result.value || [];
105
+ }
106
+ }
107
+
108
+ private async *listBySystemTopicPagingAll(
109
+ resourceGroupName: string,
110
+ systemTopicName: string,
111
+ options?: SystemTopicEventSubscriptionsListBySystemTopicOptionalParams
112
+ ): AsyncIterableIterator<EventSubscription> {
113
+ for await (const page of this.listBySystemTopicPagingPage(
114
+ resourceGroupName,
115
+ systemTopicName,
116
+ options
117
+ )) {
118
+ yield* page;
119
+ }
120
+ }
121
+
122
+ /**
123
+ * Get an event subscription.
124
+ * @param resourceGroupName The name of the resource group within the user's subscription.
125
+ * @param systemTopicName Name of the system topic.
126
+ * @param eventSubscriptionName Name of the event subscription to be created. Event subscription names
127
+ * must be between 3 and 100 characters in length and use alphanumeric letters only.
128
+ * @param options The options parameters.
129
+ */
130
+ get(
131
+ resourceGroupName: string,
132
+ systemTopicName: string,
133
+ eventSubscriptionName: string,
134
+ options?: SystemTopicEventSubscriptionsGetOptionalParams
135
+ ): Promise<SystemTopicEventSubscriptionsGetResponse> {
136
+ return this.client.sendOperationRequest(
137
+ { resourceGroupName, systemTopicName, eventSubscriptionName, options },
138
+ getOperationSpec
139
+ );
140
+ }
141
+
142
+ /**
143
+ * Asynchronously creates or updates an event subscription with the specified parameters. Existing
144
+ * event subscriptions will be updated with this API.
145
+ * @param resourceGroupName The name of the resource group within the user's subscription.
146
+ * @param systemTopicName Name of the system topic.
147
+ * @param eventSubscriptionName Name of the event subscription to be created. Event subscription names
148
+ * must be between 3 and 100 characters in length and use alphanumeric letters only.
149
+ * @param eventSubscriptionInfo Event subscription properties containing the destination and filter
150
+ * information.
151
+ * @param options The options parameters.
152
+ */
153
+ async beginCreateOrUpdate(
154
+ resourceGroupName: string,
155
+ systemTopicName: string,
156
+ eventSubscriptionName: string,
157
+ eventSubscriptionInfo: EventSubscription,
158
+ options?: SystemTopicEventSubscriptionsCreateOrUpdateOptionalParams
159
+ ): Promise<
160
+ PollerLike<
161
+ PollOperationState<SystemTopicEventSubscriptionsCreateOrUpdateResponse>,
162
+ SystemTopicEventSubscriptionsCreateOrUpdateResponse
163
+ >
164
+ > {
165
+ const directSendOperation = async (
166
+ args: coreClient.OperationArguments,
167
+ spec: coreClient.OperationSpec
168
+ ): Promise<SystemTopicEventSubscriptionsCreateOrUpdateResponse> => {
169
+ return this.client.sendOperationRequest(args, spec);
170
+ };
171
+ const sendOperation = async (
172
+ args: coreClient.OperationArguments,
173
+ spec: coreClient.OperationSpec
174
+ ) => {
175
+ let currentRawResponse:
176
+ | coreClient.FullOperationResponse
177
+ | undefined = undefined;
178
+ const providedCallback = args.options?.onResponse;
179
+ const callback: coreClient.RawResponseCallback = (
180
+ rawResponse: coreClient.FullOperationResponse,
181
+ flatResponse: unknown
182
+ ) => {
183
+ currentRawResponse = rawResponse;
184
+ providedCallback?.(rawResponse, flatResponse);
185
+ };
186
+ const updatedArgs = {
187
+ ...args,
188
+ options: {
189
+ ...args.options,
190
+ onResponse: callback
191
+ }
192
+ };
193
+ const flatResponse = await directSendOperation(updatedArgs, spec);
194
+ return {
195
+ flatResponse,
196
+ rawResponse: {
197
+ statusCode: currentRawResponse!.status,
198
+ body: currentRawResponse!.parsedBody,
199
+ headers: currentRawResponse!.headers.toJSON()
200
+ }
201
+ };
202
+ };
203
+
204
+ const lro = new LroImpl(
205
+ sendOperation,
206
+ {
207
+ resourceGroupName,
208
+ systemTopicName,
209
+ eventSubscriptionName,
210
+ eventSubscriptionInfo,
211
+ options
212
+ },
213
+ createOrUpdateOperationSpec
214
+ );
215
+ return new LroEngine(lro, {
216
+ resumeFrom: options?.resumeFrom,
217
+ intervalInMs: options?.updateIntervalInMs
218
+ });
219
+ }
220
+
221
+ /**
222
+ * Asynchronously creates or updates an event subscription with the specified parameters. Existing
223
+ * event subscriptions will be updated with this API.
224
+ * @param resourceGroupName The name of the resource group within the user's subscription.
225
+ * @param systemTopicName Name of the system topic.
226
+ * @param eventSubscriptionName Name of the event subscription to be created. Event subscription names
227
+ * must be between 3 and 100 characters in length and use alphanumeric letters only.
228
+ * @param eventSubscriptionInfo Event subscription properties containing the destination and filter
229
+ * information.
230
+ * @param options The options parameters.
231
+ */
232
+ async beginCreateOrUpdateAndWait(
233
+ resourceGroupName: string,
234
+ systemTopicName: string,
235
+ eventSubscriptionName: string,
236
+ eventSubscriptionInfo: EventSubscription,
237
+ options?: SystemTopicEventSubscriptionsCreateOrUpdateOptionalParams
238
+ ): Promise<SystemTopicEventSubscriptionsCreateOrUpdateResponse> {
239
+ const poller = await this.beginCreateOrUpdate(
240
+ resourceGroupName,
241
+ systemTopicName,
242
+ eventSubscriptionName,
243
+ eventSubscriptionInfo,
244
+ options
245
+ );
246
+ return poller.pollUntilDone();
247
+ }
248
+
249
+ /**
250
+ * Delete an event subscription of a system topic.
251
+ * @param resourceGroupName The name of the resource group within the user's subscription.
252
+ * @param systemTopicName Name of the system topic.
253
+ * @param eventSubscriptionName Name of the event subscription to be created. Event subscription names
254
+ * must be between 3 and 100 characters in length and use alphanumeric letters only.
255
+ * @param options The options parameters.
256
+ */
257
+ async beginDelete(
258
+ resourceGroupName: string,
259
+ systemTopicName: string,
260
+ eventSubscriptionName: string,
261
+ options?: SystemTopicEventSubscriptionsDeleteOptionalParams
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, eventSubscriptionName, options },
305
+ deleteOperationSpec
306
+ );
307
+ return new LroEngine(lro, {
308
+ resumeFrom: options?.resumeFrom,
309
+ intervalInMs: options?.updateIntervalInMs
310
+ });
311
+ }
312
+
313
+ /**
314
+ * Delete an event subscription of a 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 eventSubscriptionName Name of the event subscription to be created. Event subscription names
318
+ * must be between 3 and 100 characters in length and use alphanumeric letters only.
319
+ * @param options The options parameters.
320
+ */
321
+ async beginDeleteAndWait(
322
+ resourceGroupName: string,
323
+ systemTopicName: string,
324
+ eventSubscriptionName: string,
325
+ options?: SystemTopicEventSubscriptionsDeleteOptionalParams
326
+ ): Promise<void> {
327
+ const poller = await this.beginDelete(
328
+ resourceGroupName,
329
+ systemTopicName,
330
+ eventSubscriptionName,
331
+ options
332
+ );
333
+ return poller.pollUntilDone();
334
+ }
335
+
336
+ /**
337
+ * Update event subscription of a system topic.
338
+ * @param resourceGroupName The name of the resource group within the user's subscription.
339
+ * @param systemTopicName Name of the system topic.
340
+ * @param eventSubscriptionName Name of the event subscription to be created. Event subscription names
341
+ * must be between 3 and 100 characters in length and use alphanumeric letters only.
342
+ * @param eventSubscriptionUpdateParameters Updated event subscription information.
343
+ * @param options The options parameters.
344
+ */
345
+ async beginUpdate(
346
+ resourceGroupName: string,
347
+ systemTopicName: string,
348
+ eventSubscriptionName: string,
349
+ eventSubscriptionUpdateParameters: EventSubscriptionUpdateParameters,
350
+ options?: SystemTopicEventSubscriptionsUpdateOptionalParams
351
+ ): Promise<
352
+ PollerLike<
353
+ PollOperationState<SystemTopicEventSubscriptionsUpdateResponse>,
354
+ SystemTopicEventSubscriptionsUpdateResponse
355
+ >
356
+ > {
357
+ const directSendOperation = async (
358
+ args: coreClient.OperationArguments,
359
+ spec: coreClient.OperationSpec
360
+ ): Promise<SystemTopicEventSubscriptionsUpdateResponse> => {
361
+ return this.client.sendOperationRequest(args, spec);
362
+ };
363
+ const sendOperation = async (
364
+ args: coreClient.OperationArguments,
365
+ spec: coreClient.OperationSpec
366
+ ) => {
367
+ let currentRawResponse:
368
+ | coreClient.FullOperationResponse
369
+ | undefined = undefined;
370
+ const providedCallback = args.options?.onResponse;
371
+ const callback: coreClient.RawResponseCallback = (
372
+ rawResponse: coreClient.FullOperationResponse,
373
+ flatResponse: unknown
374
+ ) => {
375
+ currentRawResponse = rawResponse;
376
+ providedCallback?.(rawResponse, flatResponse);
377
+ };
378
+ const updatedArgs = {
379
+ ...args,
380
+ options: {
381
+ ...args.options,
382
+ onResponse: callback
383
+ }
384
+ };
385
+ const flatResponse = await directSendOperation(updatedArgs, spec);
386
+ return {
387
+ flatResponse,
388
+ rawResponse: {
389
+ statusCode: currentRawResponse!.status,
390
+ body: currentRawResponse!.parsedBody,
391
+ headers: currentRawResponse!.headers.toJSON()
392
+ }
393
+ };
394
+ };
395
+
396
+ const lro = new LroImpl(
397
+ sendOperation,
398
+ {
399
+ resourceGroupName,
400
+ systemTopicName,
401
+ eventSubscriptionName,
402
+ eventSubscriptionUpdateParameters,
403
+ options
404
+ },
405
+ updateOperationSpec
406
+ );
407
+ return new LroEngine(lro, {
408
+ resumeFrom: options?.resumeFrom,
409
+ intervalInMs: options?.updateIntervalInMs
410
+ });
411
+ }
412
+
413
+ /**
414
+ * Update event subscription of a system topic.
415
+ * @param resourceGroupName The name of the resource group within the user's subscription.
416
+ * @param systemTopicName Name of the system topic.
417
+ * @param eventSubscriptionName Name of the event subscription to be created. Event subscription names
418
+ * must be between 3 and 100 characters in length and use alphanumeric letters only.
419
+ * @param eventSubscriptionUpdateParameters Updated event subscription information.
420
+ * @param options The options parameters.
421
+ */
422
+ async beginUpdateAndWait(
423
+ resourceGroupName: string,
424
+ systemTopicName: string,
425
+ eventSubscriptionName: string,
426
+ eventSubscriptionUpdateParameters: EventSubscriptionUpdateParameters,
427
+ options?: SystemTopicEventSubscriptionsUpdateOptionalParams
428
+ ): Promise<SystemTopicEventSubscriptionsUpdateResponse> {
429
+ const poller = await this.beginUpdate(
430
+ resourceGroupName,
431
+ systemTopicName,
432
+ eventSubscriptionName,
433
+ eventSubscriptionUpdateParameters,
434
+ options
435
+ );
436
+ return poller.pollUntilDone();
437
+ }
438
+
439
+ /**
440
+ * Get the full endpoint URL for an event subscription of a system topic.
441
+ * @param resourceGroupName The name of the resource group within the user's subscription.
442
+ * @param systemTopicName Name of the system topic.
443
+ * @param eventSubscriptionName Name of the event subscription to be created. Event subscription names
444
+ * must be between 3 and 100 characters in length and use alphanumeric letters only.
445
+ * @param options The options parameters.
446
+ */
447
+ getFullUrl(
448
+ resourceGroupName: string,
449
+ systemTopicName: string,
450
+ eventSubscriptionName: string,
451
+ options?: SystemTopicEventSubscriptionsGetFullUrlOptionalParams
452
+ ): Promise<SystemTopicEventSubscriptionsGetFullUrlResponse> {
453
+ return this.client.sendOperationRequest(
454
+ { resourceGroupName, systemTopicName, eventSubscriptionName, options },
455
+ getFullUrlOperationSpec
456
+ );
457
+ }
458
+
459
+ /**
460
+ * List event subscriptions that belong to a specific system topic.
461
+ * @param resourceGroupName The name of the resource group within the user's subscription.
462
+ * @param systemTopicName Name of the system topic.
463
+ * @param options The options parameters.
464
+ */
465
+ private _listBySystemTopic(
466
+ resourceGroupName: string,
467
+ systemTopicName: string,
468
+ options?: SystemTopicEventSubscriptionsListBySystemTopicOptionalParams
469
+ ): Promise<SystemTopicEventSubscriptionsListBySystemTopicResponse> {
470
+ return this.client.sendOperationRequest(
471
+ { resourceGroupName, systemTopicName, options },
472
+ listBySystemTopicOperationSpec
473
+ );
474
+ }
475
+
476
+ /**
477
+ * Get all delivery attributes for an event subscription.
478
+ * @param resourceGroupName The name of the resource group within the user's subscription.
479
+ * @param systemTopicName Name of the system topic.
480
+ * @param eventSubscriptionName Name of the event subscription to be created. Event subscription names
481
+ * must be between 3 and 100 characters in length and use alphanumeric letters only.
482
+ * @param options The options parameters.
483
+ */
484
+ getDeliveryAttributes(
485
+ resourceGroupName: string,
486
+ systemTopicName: string,
487
+ eventSubscriptionName: string,
488
+ options?: SystemTopicEventSubscriptionsGetDeliveryAttributesOptionalParams
489
+ ): Promise<SystemTopicEventSubscriptionsGetDeliveryAttributesResponse> {
490
+ return this.client.sendOperationRequest(
491
+ { resourceGroupName, systemTopicName, eventSubscriptionName, options },
492
+ getDeliveryAttributesOperationSpec
493
+ );
494
+ }
495
+
496
+ /**
497
+ * ListBySystemTopicNext
498
+ * @param resourceGroupName The name of the resource group within the user's subscription.
499
+ * @param systemTopicName Name of the system topic.
500
+ * @param nextLink The nextLink from the previous successful call to the ListBySystemTopic method.
501
+ * @param options The options parameters.
502
+ */
503
+ private _listBySystemTopicNext(
504
+ resourceGroupName: string,
505
+ systemTopicName: string,
506
+ nextLink: string,
507
+ options?: SystemTopicEventSubscriptionsListBySystemTopicNextOptionalParams
508
+ ): Promise<SystemTopicEventSubscriptionsListBySystemTopicNextResponse> {
509
+ return this.client.sendOperationRequest(
510
+ { resourceGroupName, systemTopicName, nextLink, options },
511
+ listBySystemTopicNextOperationSpec
512
+ );
513
+ }
514
+ }
515
+ // Operation Specifications
516
+ const serializer = coreClient.createSerializer(Mappers, /* isXml */ false);
517
+
518
+ const getOperationSpec: coreClient.OperationSpec = {
519
+ path:
520
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/systemTopics/{systemTopicName}/eventSubscriptions/{eventSubscriptionName}",
521
+ httpMethod: "GET",
522
+ responses: {
523
+ 200: {
524
+ bodyMapper: Mappers.EventSubscription
525
+ },
526
+ default: {}
527
+ },
528
+ queryParameters: [Parameters.apiVersion],
529
+ urlParameters: [
530
+ Parameters.$host,
531
+ Parameters.subscriptionId,
532
+ Parameters.resourceGroupName,
533
+ Parameters.eventSubscriptionName,
534
+ Parameters.systemTopicName
535
+ ],
536
+ headerParameters: [Parameters.accept],
537
+ serializer
538
+ };
539
+ const createOrUpdateOperationSpec: coreClient.OperationSpec = {
540
+ path:
541
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/systemTopics/{systemTopicName}/eventSubscriptions/{eventSubscriptionName}",
542
+ httpMethod: "PUT",
543
+ responses: {
544
+ 200: {
545
+ bodyMapper: Mappers.EventSubscription
546
+ },
547
+ 201: {
548
+ bodyMapper: Mappers.EventSubscription
549
+ },
550
+ 202: {
551
+ bodyMapper: Mappers.EventSubscription
552
+ },
553
+ 204: {
554
+ bodyMapper: Mappers.EventSubscription
555
+ },
556
+ default: {}
557
+ },
558
+ requestBody: Parameters.eventSubscriptionInfo,
559
+ queryParameters: [Parameters.apiVersion],
560
+ urlParameters: [
561
+ Parameters.$host,
562
+ Parameters.subscriptionId,
563
+ Parameters.resourceGroupName,
564
+ Parameters.eventSubscriptionName,
565
+ Parameters.systemTopicName
566
+ ],
567
+ headerParameters: [Parameters.accept, Parameters.contentType],
568
+ mediaType: "json",
569
+ serializer
570
+ };
571
+ const deleteOperationSpec: coreClient.OperationSpec = {
572
+ path:
573
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/systemTopics/{systemTopicName}/eventSubscriptions/{eventSubscriptionName}",
574
+ httpMethod: "DELETE",
575
+ responses: { 200: {}, 201: {}, 202: {}, 204: {}, default: {} },
576
+ queryParameters: [Parameters.apiVersion],
577
+ urlParameters: [
578
+ Parameters.$host,
579
+ Parameters.subscriptionId,
580
+ Parameters.resourceGroupName,
581
+ Parameters.eventSubscriptionName,
582
+ Parameters.systemTopicName
583
+ ],
584
+ serializer
585
+ };
586
+ const updateOperationSpec: coreClient.OperationSpec = {
587
+ path:
588
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/systemTopics/{systemTopicName}/eventSubscriptions/{eventSubscriptionName}",
589
+ httpMethod: "PATCH",
590
+ responses: {
591
+ 200: {
592
+ bodyMapper: Mappers.EventSubscription
593
+ },
594
+ 201: {
595
+ bodyMapper: Mappers.EventSubscription
596
+ },
597
+ 202: {
598
+ bodyMapper: Mappers.EventSubscription
599
+ },
600
+ 204: {
601
+ bodyMapper: Mappers.EventSubscription
602
+ },
603
+ default: {}
604
+ },
605
+ requestBody: Parameters.eventSubscriptionUpdateParameters,
606
+ queryParameters: [Parameters.apiVersion],
607
+ urlParameters: [
608
+ Parameters.$host,
609
+ Parameters.subscriptionId,
610
+ Parameters.resourceGroupName,
611
+ Parameters.eventSubscriptionName,
612
+ Parameters.systemTopicName
613
+ ],
614
+ headerParameters: [Parameters.accept, Parameters.contentType],
615
+ mediaType: "json",
616
+ serializer
617
+ };
618
+ const getFullUrlOperationSpec: coreClient.OperationSpec = {
619
+ path:
620
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/systemTopics/{systemTopicName}/eventSubscriptions/{eventSubscriptionName}/getFullUrl",
621
+ httpMethod: "POST",
622
+ responses: {
623
+ 200: {
624
+ bodyMapper: Mappers.EventSubscriptionFullUrl
625
+ },
626
+ default: {}
627
+ },
628
+ queryParameters: [Parameters.apiVersion],
629
+ urlParameters: [
630
+ Parameters.$host,
631
+ Parameters.subscriptionId,
632
+ Parameters.resourceGroupName,
633
+ Parameters.eventSubscriptionName,
634
+ Parameters.systemTopicName
635
+ ],
636
+ headerParameters: [Parameters.accept],
637
+ serializer
638
+ };
639
+ const listBySystemTopicOperationSpec: coreClient.OperationSpec = {
640
+ path:
641
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/systemTopics/{systemTopicName}/eventSubscriptions",
642
+ httpMethod: "GET",
643
+ responses: {
644
+ 200: {
645
+ bodyMapper: Mappers.EventSubscriptionsListResult
646
+ },
647
+ default: {}
648
+ },
649
+ queryParameters: [Parameters.apiVersion, Parameters.filter, Parameters.top],
650
+ urlParameters: [
651
+ Parameters.$host,
652
+ Parameters.subscriptionId,
653
+ Parameters.resourceGroupName,
654
+ Parameters.systemTopicName
655
+ ],
656
+ headerParameters: [Parameters.accept],
657
+ serializer
658
+ };
659
+ const getDeliveryAttributesOperationSpec: coreClient.OperationSpec = {
660
+ path:
661
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/systemTopics/{systemTopicName}/eventSubscriptions/{eventSubscriptionName}/getDeliveryAttributes",
662
+ httpMethod: "POST",
663
+ responses: {
664
+ 200: {
665
+ bodyMapper: Mappers.DeliveryAttributeListResult
666
+ },
667
+ default: {}
668
+ },
669
+ queryParameters: [Parameters.apiVersion],
670
+ urlParameters: [
671
+ Parameters.$host,
672
+ Parameters.subscriptionId,
673
+ Parameters.resourceGroupName,
674
+ Parameters.eventSubscriptionName,
675
+ Parameters.systemTopicName
676
+ ],
677
+ headerParameters: [Parameters.accept],
678
+ serializer
679
+ };
680
+ const listBySystemTopicNextOperationSpec: coreClient.OperationSpec = {
681
+ path: "{nextLink}",
682
+ httpMethod: "GET",
683
+ responses: {
684
+ 200: {
685
+ bodyMapper: Mappers.EventSubscriptionsListResult
686
+ },
687
+ default: {}
688
+ },
689
+ queryParameters: [Parameters.apiVersion, Parameters.filter, Parameters.top],
690
+ urlParameters: [
691
+ Parameters.$host,
692
+ Parameters.subscriptionId,
693
+ Parameters.resourceGroupName,
694
+ Parameters.nextLink,
695
+ Parameters.systemTopicName
696
+ ],
697
+ headerParameters: [Parameters.accept],
698
+ serializer
699
+ };