1 package eventgrid
2
3
4
5
6
7
8
9 import (
10 "context"
11 "github.com/Azure/go-autorest/autorest"
12 "github.com/Azure/go-autorest/autorest/azure"
13 "github.com/Azure/go-autorest/tracing"
14 "net/http"
15 )
16
17
18 type EventChannelsClient struct {
19 BaseClient
20 }
21
22
23 func NewEventChannelsClient(subscriptionID string) EventChannelsClient {
24 return NewEventChannelsClientWithBaseURI(DefaultBaseURI, subscriptionID)
25 }
26
27
28
29 func NewEventChannelsClientWithBaseURI(baseURI string, subscriptionID string) EventChannelsClient {
30 return EventChannelsClient{NewWithBaseURI(baseURI, subscriptionID)}
31 }
32
33
34
35
36
37
38
39 func (client EventChannelsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, partnerNamespaceName string, eventChannelName string, eventChannelInfo EventChannel) (result EventChannel, err error) {
40 if tracing.IsEnabled() {
41 ctx = tracing.StartSpan(ctx, fqdn+"/EventChannelsClient.CreateOrUpdate")
42 defer func() {
43 sc := -1
44 if result.Response.Response != nil {
45 sc = result.Response.Response.StatusCode
46 }
47 tracing.EndSpan(ctx, sc, err)
48 }()
49 }
50 req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, partnerNamespaceName, eventChannelName, eventChannelInfo)
51 if err != nil {
52 err = autorest.NewErrorWithError(err, "eventgrid.EventChannelsClient", "CreateOrUpdate", nil, "Failure preparing request")
53 return
54 }
55
56 resp, err := client.CreateOrUpdateSender(req)
57 if err != nil {
58 result.Response = autorest.Response{Response: resp}
59 err = autorest.NewErrorWithError(err, "eventgrid.EventChannelsClient", "CreateOrUpdate", resp, "Failure sending request")
60 return
61 }
62
63 result, err = client.CreateOrUpdateResponder(resp)
64 if err != nil {
65 err = autorest.NewErrorWithError(err, "eventgrid.EventChannelsClient", "CreateOrUpdate", resp, "Failure responding to request")
66 return
67 }
68
69 return
70 }
71
72
73 func (client EventChannelsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, partnerNamespaceName string, eventChannelName string, eventChannelInfo EventChannel) (*http.Request, error) {
74 pathParameters := map[string]interface{}{
75 "eventChannelName": autorest.Encode("path", eventChannelName),
76 "partnerNamespaceName": autorest.Encode("path", partnerNamespaceName),
77 "resourceGroupName": autorest.Encode("path", resourceGroupName),
78 "subscriptionId": autorest.Encode("path", client.SubscriptionID),
79 }
80
81 const APIVersion = "2021-10-15-preview"
82 queryParameters := map[string]interface{}{
83 "api-version": APIVersion,
84 }
85
86 eventChannelInfo.SystemData = nil
87 preparer := autorest.CreatePreparer(
88 autorest.AsContentType("application/json; charset=utf-8"),
89 autorest.AsPut(),
90 autorest.WithBaseURL(client.BaseURI),
91 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/partnerNamespaces/{partnerNamespaceName}/eventChannels/{eventChannelName}", pathParameters),
92 autorest.WithJSON(eventChannelInfo),
93 autorest.WithQueryParameters(queryParameters))
94 return preparer.Prepare((&http.Request{}).WithContext(ctx))
95 }
96
97
98
99 func (client EventChannelsClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) {
100 return client.Send(req, azure.DoRetryWithRegistration(client.Client))
101 }
102
103
104
105 func (client EventChannelsClient) CreateOrUpdateResponder(resp *http.Response) (result EventChannel, err error) {
106 err = autorest.Respond(
107 resp,
108 azure.WithErrorUnlessStatusCode(http.StatusOK),
109 autorest.ByUnmarshallingJSON(&result),
110 autorest.ByClosing())
111 result.Response = autorest.Response{Response: resp}
112 return
113 }
114
115
116
117
118
119
120 func (client EventChannelsClient) Delete(ctx context.Context, resourceGroupName string, partnerNamespaceName string, eventChannelName string) (result EventChannelsDeleteFuture, err error) {
121 if tracing.IsEnabled() {
122 ctx = tracing.StartSpan(ctx, fqdn+"/EventChannelsClient.Delete")
123 defer func() {
124 sc := -1
125 if result.FutureAPI != nil && result.FutureAPI.Response() != nil {
126 sc = result.FutureAPI.Response().StatusCode
127 }
128 tracing.EndSpan(ctx, sc, err)
129 }()
130 }
131 req, err := client.DeletePreparer(ctx, resourceGroupName, partnerNamespaceName, eventChannelName)
132 if err != nil {
133 err = autorest.NewErrorWithError(err, "eventgrid.EventChannelsClient", "Delete", nil, "Failure preparing request")
134 return
135 }
136
137 result, err = client.DeleteSender(req)
138 if err != nil {
139 err = autorest.NewErrorWithError(err, "eventgrid.EventChannelsClient", "Delete", result.Response(), "Failure sending request")
140 return
141 }
142
143 return
144 }
145
146
147 func (client EventChannelsClient) DeletePreparer(ctx context.Context, resourceGroupName string, partnerNamespaceName string, eventChannelName string) (*http.Request, error) {
148 pathParameters := map[string]interface{}{
149 "eventChannelName": autorest.Encode("path", eventChannelName),
150 "partnerNamespaceName": autorest.Encode("path", partnerNamespaceName),
151 "resourceGroupName": autorest.Encode("path", resourceGroupName),
152 "subscriptionId": autorest.Encode("path", client.SubscriptionID),
153 }
154
155 const APIVersion = "2021-10-15-preview"
156 queryParameters := map[string]interface{}{
157 "api-version": APIVersion,
158 }
159
160 preparer := autorest.CreatePreparer(
161 autorest.AsDelete(),
162 autorest.WithBaseURL(client.BaseURI),
163 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/partnerNamespaces/{partnerNamespaceName}/eventChannels/{eventChannelName}", pathParameters),
164 autorest.WithQueryParameters(queryParameters))
165 return preparer.Prepare((&http.Request{}).WithContext(ctx))
166 }
167
168
169
170 func (client EventChannelsClient) DeleteSender(req *http.Request) (future EventChannelsDeleteFuture, err error) {
171 var resp *http.Response
172 future.FutureAPI = &azure.Future{}
173 resp, err = client.Send(req, azure.DoRetryWithRegistration(client.Client))
174 if err != nil {
175 return
176 }
177 var azf azure.Future
178 azf, err = azure.NewFutureFromResponse(resp)
179 future.FutureAPI = &azf
180 future.Result = future.result
181 return
182 }
183
184
185
186 func (client EventChannelsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) {
187 err = autorest.Respond(
188 resp,
189 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent),
190 autorest.ByClosing())
191 result.Response = resp
192 return
193 }
194
195
196
197
198
199
200 func (client EventChannelsClient) Get(ctx context.Context, resourceGroupName string, partnerNamespaceName string, eventChannelName string) (result EventChannel, err error) {
201 if tracing.IsEnabled() {
202 ctx = tracing.StartSpan(ctx, fqdn+"/EventChannelsClient.Get")
203 defer func() {
204 sc := -1
205 if result.Response.Response != nil {
206 sc = result.Response.Response.StatusCode
207 }
208 tracing.EndSpan(ctx, sc, err)
209 }()
210 }
211 req, err := client.GetPreparer(ctx, resourceGroupName, partnerNamespaceName, eventChannelName)
212 if err != nil {
213 err = autorest.NewErrorWithError(err, "eventgrid.EventChannelsClient", "Get", nil, "Failure preparing request")
214 return
215 }
216
217 resp, err := client.GetSender(req)
218 if err != nil {
219 result.Response = autorest.Response{Response: resp}
220 err = autorest.NewErrorWithError(err, "eventgrid.EventChannelsClient", "Get", resp, "Failure sending request")
221 return
222 }
223
224 result, err = client.GetResponder(resp)
225 if err != nil {
226 err = autorest.NewErrorWithError(err, "eventgrid.EventChannelsClient", "Get", resp, "Failure responding to request")
227 return
228 }
229
230 return
231 }
232
233
234 func (client EventChannelsClient) GetPreparer(ctx context.Context, resourceGroupName string, partnerNamespaceName string, eventChannelName string) (*http.Request, error) {
235 pathParameters := map[string]interface{}{
236 "eventChannelName": autorest.Encode("path", eventChannelName),
237 "partnerNamespaceName": autorest.Encode("path", partnerNamespaceName),
238 "resourceGroupName": autorest.Encode("path", resourceGroupName),
239 "subscriptionId": autorest.Encode("path", client.SubscriptionID),
240 }
241
242 const APIVersion = "2021-10-15-preview"
243 queryParameters := map[string]interface{}{
244 "api-version": APIVersion,
245 }
246
247 preparer := autorest.CreatePreparer(
248 autorest.AsGet(),
249 autorest.WithBaseURL(client.BaseURI),
250 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/partnerNamespaces/{partnerNamespaceName}/eventChannels/{eventChannelName}", pathParameters),
251 autorest.WithQueryParameters(queryParameters))
252 return preparer.Prepare((&http.Request{}).WithContext(ctx))
253 }
254
255
256
257 func (client EventChannelsClient) GetSender(req *http.Request) (*http.Response, error) {
258 return client.Send(req, azure.DoRetryWithRegistration(client.Client))
259 }
260
261
262
263 func (client EventChannelsClient) GetResponder(resp *http.Response) (result EventChannel, err error) {
264 err = autorest.Respond(
265 resp,
266 azure.WithErrorUnlessStatusCode(http.StatusOK),
267 autorest.ByUnmarshallingJSON(&result),
268 autorest.ByClosing())
269 result.Response = autorest.Response{Response: resp}
270 return
271 }
272
273
274
275
276
277
278
279
280
281
282
283
284
285 func (client EventChannelsClient) ListByPartnerNamespace(ctx context.Context, resourceGroupName string, partnerNamespaceName string, filter string, top *int32) (result EventChannelsListResultPage, err error) {
286 if tracing.IsEnabled() {
287 ctx = tracing.StartSpan(ctx, fqdn+"/EventChannelsClient.ListByPartnerNamespace")
288 defer func() {
289 sc := -1
290 if result.eclr.Response.Response != nil {
291 sc = result.eclr.Response.Response.StatusCode
292 }
293 tracing.EndSpan(ctx, sc, err)
294 }()
295 }
296 result.fn = client.listByPartnerNamespaceNextResults
297 req, err := client.ListByPartnerNamespacePreparer(ctx, resourceGroupName, partnerNamespaceName, filter, top)
298 if err != nil {
299 err = autorest.NewErrorWithError(err, "eventgrid.EventChannelsClient", "ListByPartnerNamespace", nil, "Failure preparing request")
300 return
301 }
302
303 resp, err := client.ListByPartnerNamespaceSender(req)
304 if err != nil {
305 result.eclr.Response = autorest.Response{Response: resp}
306 err = autorest.NewErrorWithError(err, "eventgrid.EventChannelsClient", "ListByPartnerNamespace", resp, "Failure sending request")
307 return
308 }
309
310 result.eclr, err = client.ListByPartnerNamespaceResponder(resp)
311 if err != nil {
312 err = autorest.NewErrorWithError(err, "eventgrid.EventChannelsClient", "ListByPartnerNamespace", resp, "Failure responding to request")
313 return
314 }
315 if result.eclr.hasNextLink() && result.eclr.IsEmpty() {
316 err = result.NextWithContext(ctx)
317 return
318 }
319
320 return
321 }
322
323
324 func (client EventChannelsClient) ListByPartnerNamespacePreparer(ctx context.Context, resourceGroupName string, partnerNamespaceName string, filter string, top *int32) (*http.Request, error) {
325 pathParameters := map[string]interface{}{
326 "partnerNamespaceName": autorest.Encode("path", partnerNamespaceName),
327 "resourceGroupName": autorest.Encode("path", resourceGroupName),
328 "subscriptionId": autorest.Encode("path", client.SubscriptionID),
329 }
330
331 const APIVersion = "2021-10-15-preview"
332 queryParameters := map[string]interface{}{
333 "api-version": APIVersion,
334 }
335 if len(filter) > 0 {
336 queryParameters["$filter"] = autorest.Encode("query", filter)
337 }
338 if top != nil {
339 queryParameters["$top"] = autorest.Encode("query", *top)
340 }
341
342 preparer := autorest.CreatePreparer(
343 autorest.AsGet(),
344 autorest.WithBaseURL(client.BaseURI),
345 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/partnerNamespaces/{partnerNamespaceName}/eventChannels", pathParameters),
346 autorest.WithQueryParameters(queryParameters))
347 return preparer.Prepare((&http.Request{}).WithContext(ctx))
348 }
349
350
351
352 func (client EventChannelsClient) ListByPartnerNamespaceSender(req *http.Request) (*http.Response, error) {
353 return client.Send(req, azure.DoRetryWithRegistration(client.Client))
354 }
355
356
357
358 func (client EventChannelsClient) ListByPartnerNamespaceResponder(resp *http.Response) (result EventChannelsListResult, err error) {
359 err = autorest.Respond(
360 resp,
361 azure.WithErrorUnlessStatusCode(http.StatusOK),
362 autorest.ByUnmarshallingJSON(&result),
363 autorest.ByClosing())
364 result.Response = autorest.Response{Response: resp}
365 return
366 }
367
368
369 func (client EventChannelsClient) listByPartnerNamespaceNextResults(ctx context.Context, lastResults EventChannelsListResult) (result EventChannelsListResult, err error) {
370 req, err := lastResults.eventChannelsListResultPreparer(ctx)
371 if err != nil {
372 return result, autorest.NewErrorWithError(err, "eventgrid.EventChannelsClient", "listByPartnerNamespaceNextResults", nil, "Failure preparing next results request")
373 }
374 if req == nil {
375 return
376 }
377 resp, err := client.ListByPartnerNamespaceSender(req)
378 if err != nil {
379 result.Response = autorest.Response{Response: resp}
380 return result, autorest.NewErrorWithError(err, "eventgrid.EventChannelsClient", "listByPartnerNamespaceNextResults", resp, "Failure sending next results request")
381 }
382 result, err = client.ListByPartnerNamespaceResponder(resp)
383 if err != nil {
384 err = autorest.NewErrorWithError(err, "eventgrid.EventChannelsClient", "listByPartnerNamespaceNextResults", resp, "Failure responding to next results request")
385 }
386 return
387 }
388
389
390 func (client EventChannelsClient) ListByPartnerNamespaceComplete(ctx context.Context, resourceGroupName string, partnerNamespaceName string, filter string, top *int32) (result EventChannelsListResultIterator, err error) {
391 if tracing.IsEnabled() {
392 ctx = tracing.StartSpan(ctx, fqdn+"/EventChannelsClient.ListByPartnerNamespace")
393 defer func() {
394 sc := -1
395 if result.Response().Response.Response != nil {
396 sc = result.page.Response().Response.Response.StatusCode
397 }
398 tracing.EndSpan(ctx, sc, err)
399 }()
400 }
401 result.page, err = client.ListByPartnerNamespace(ctx, resourceGroupName, partnerNamespaceName, filter, top)
402 return
403 }
404
View as plain text