azure_mgmt_service_bus 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.txt +21 -0
  3. data/lib/azure_mgmt_service_bus.rb +5 -0
  4. data/lib/generated/azure_mgmt_service_bus.rb +57 -0
  5. data/lib/generated/azure_mgmt_service_bus/models/access_rights.rb +17 -0
  6. data/lib/generated/azure_mgmt_service_bus/models/entity_availability_status.rb +19 -0
  7. data/lib/generated/azure_mgmt_service_bus/models/entity_status.rb +23 -0
  8. data/lib/generated/azure_mgmt_service_bus/models/message_count_details.rb +86 -0
  9. data/lib/generated/azure_mgmt_service_bus/models/namespace_create_or_update_parameters.rb +147 -0
  10. data/lib/generated/azure_mgmt_service_bus/models/namespace_list_result.rb +95 -0
  11. data/lib/generated/azure_mgmt_service_bus/models/namespace_resource.rb +165 -0
  12. data/lib/generated/azure_mgmt_service_bus/models/namespace_state.rb +27 -0
  13. data/lib/generated/azure_mgmt_service_bus/models/policykey.rb +16 -0
  14. data/lib/generated/azure_mgmt_service_bus/models/queue_create_or_update_parameters.rb +301 -0
  15. data/lib/generated/azure_mgmt_service_bus/models/queue_list_result.rb +94 -0
  16. data/lib/generated/azure_mgmt_service_bus/models/queue_resource.rb +326 -0
  17. data/lib/generated/azure_mgmt_service_bus/models/regenerate_keys_parameters.rb +46 -0
  18. data/lib/generated/azure_mgmt_service_bus/models/resource_list_keys.rb +88 -0
  19. data/lib/generated/azure_mgmt_service_bus/models/shared_access_authorization_rule_create_or_update_parameters.rb +74 -0
  20. data/lib/generated/azure_mgmt_service_bus/models/shared_access_authorization_rule_list_result.rb +97 -0
  21. data/lib/generated/azure_mgmt_service_bus/models/shared_access_authorization_rule_resource.rb +97 -0
  22. data/lib/generated/azure_mgmt_service_bus/models/sku.rb +66 -0
  23. data/lib/generated/azure_mgmt_service_bus/models/sku_name.rb +17 -0
  24. data/lib/generated/azure_mgmt_service_bus/models/sku_tier.rb +17 -0
  25. data/lib/generated/azure_mgmt_service_bus/models/subscription_create_or_update_parameters.rb +232 -0
  26. data/lib/generated/azure_mgmt_service_bus/models/subscription_list_result.rb +95 -0
  27. data/lib/generated/azure_mgmt_service_bus/models/subscription_resource.rb +257 -0
  28. data/lib/generated/azure_mgmt_service_bus/models/topic_create_or_update_parameters.rb +288 -0
  29. data/lib/generated/azure_mgmt_service_bus/models/topic_list_result.rb +94 -0
  30. data/lib/generated/azure_mgmt_service_bus/models/topic_resource.rb +313 -0
  31. data/lib/generated/azure_mgmt_service_bus/module_definition.rb +8 -0
  32. data/lib/generated/azure_mgmt_service_bus/namespaces.rb +1494 -0
  33. data/lib/generated/azure_mgmt_service_bus/queues.rb +1236 -0
  34. data/lib/generated/azure_mgmt_service_bus/service_bus_management_client.rb +144 -0
  35. data/lib/generated/azure_mgmt_service_bus/subscriptions.rb +533 -0
  36. data/lib/generated/azure_mgmt_service_bus/topics.rb +1236 -0
  37. data/lib/generated/azure_mgmt_service_bus/version.rb +8 -0
  38. metadata +150 -0
@@ -0,0 +1,1236 @@
1
+ # encoding: utf-8
2
+ # Code generated by Microsoft (R) AutoRest Code Generator 1.0.0.0
3
+ # Changes may cause incorrect behavior and will be lost if the code is
4
+ # regenerated.
5
+
6
+ module Azure::ARM::ServiceBus
7
+ #
8
+ # Azure Service Bus client
9
+ #
10
+ class Topics
11
+ include Azure::ARM::ServiceBus::Models
12
+ include MsRestAzure
13
+
14
+ #
15
+ # Creates and initializes a new instance of the Topics class.
16
+ # @param client service class for accessing basic functionality.
17
+ #
18
+ def initialize(client)
19
+ @client = client
20
+ end
21
+
22
+ # @return [ServiceBusManagementClient] reference to the ServiceBusManagementClient
23
+ attr_reader :client
24
+
25
+ #
26
+ # Gets all the topics in a namespace.
27
+ #
28
+ # @param resource_group_name [String] The name of the resource group.
29
+ # @param namespace_name [String] The namespace name.
30
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
31
+ # will be added to the HTTP request.
32
+ #
33
+ # @return [Array<TopicResource>] operation results.
34
+ #
35
+ def list_all(resource_group_name, namespace_name, custom_headers = nil)
36
+ first_page = list_all_as_lazy(resource_group_name, namespace_name, custom_headers)
37
+ first_page.get_all_items
38
+ end
39
+
40
+ #
41
+ # Gets all the topics in a namespace.
42
+ #
43
+ # @param resource_group_name [String] The name of the resource group.
44
+ # @param namespace_name [String] The namespace name.
45
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
46
+ # will be added to the HTTP request.
47
+ #
48
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
49
+ #
50
+ def list_all_with_http_info(resource_group_name, namespace_name, custom_headers = nil)
51
+ list_all_async(resource_group_name, namespace_name, custom_headers).value!
52
+ end
53
+
54
+ #
55
+ # Gets all the topics in a namespace.
56
+ #
57
+ # @param resource_group_name [String] The name of the resource group.
58
+ # @param namespace_name [String] The namespace name.
59
+ # @param [Hash{String => String}] A hash of custom headers that will be added
60
+ # to the HTTP request.
61
+ #
62
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
63
+ #
64
+ def list_all_async(resource_group_name, namespace_name, custom_headers = nil)
65
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
66
+ fail ArgumentError, 'namespace_name is nil' if namespace_name.nil?
67
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
68
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
69
+
70
+
71
+ request_headers = {}
72
+
73
+ # Set Headers
74
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
75
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
76
+ path_template = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics'
77
+
78
+ request_url = @base_url || @client.base_url
79
+
80
+ options = {
81
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
82
+ path_params: {'resourceGroupName' => resource_group_name,'namespaceName' => namespace_name,'subscriptionId' => @client.subscription_id},
83
+ query_params: {'api-version' => @client.api_version},
84
+ headers: request_headers.merge(custom_headers || {}),
85
+ base_url: request_url
86
+ }
87
+ promise = @client.make_request_async(:get, path_template, options)
88
+
89
+ promise = promise.then do |result|
90
+ http_response = result.response
91
+ status_code = http_response.status
92
+ response_content = http_response.body
93
+ unless status_code == 200
94
+ error_model = JSON.load(response_content)
95
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
96
+ end
97
+
98
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
99
+ # Deserialize Response
100
+ if status_code == 200
101
+ begin
102
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
103
+ result_mapper = TopicListResult.mapper()
104
+ result.body = @client.deserialize(result_mapper, parsed_response, 'result.body')
105
+ rescue Exception => e
106
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
107
+ end
108
+ end
109
+
110
+ result
111
+ end
112
+
113
+ promise.execute
114
+ end
115
+
116
+ #
117
+ # Creates a topic in the specified namespace.
118
+ #
119
+ # @param resource_group_name [String] The name of the resource group.
120
+ # @param namespace_name [String] The namespace name.
121
+ # @param topic_name [String] The topic name.
122
+ # @param parameters [TopicCreateOrUpdateParameters] Parameters supplied to
123
+ # create a topic resource.
124
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
125
+ # will be added to the HTTP request.
126
+ #
127
+ # @return [TopicResource] operation results.
128
+ #
129
+ def create_or_update(resource_group_name, namespace_name, topic_name, parameters, custom_headers = nil)
130
+ response = create_or_update_async(resource_group_name, namespace_name, topic_name, parameters, custom_headers).value!
131
+ response.body unless response.nil?
132
+ end
133
+
134
+ #
135
+ # Creates a topic in the specified namespace.
136
+ #
137
+ # @param resource_group_name [String] The name of the resource group.
138
+ # @param namespace_name [String] The namespace name.
139
+ # @param topic_name [String] The topic name.
140
+ # @param parameters [TopicCreateOrUpdateParameters] Parameters supplied to
141
+ # create a topic resource.
142
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
143
+ # will be added to the HTTP request.
144
+ #
145
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
146
+ #
147
+ def create_or_update_with_http_info(resource_group_name, namespace_name, topic_name, parameters, custom_headers = nil)
148
+ create_or_update_async(resource_group_name, namespace_name, topic_name, parameters, custom_headers).value!
149
+ end
150
+
151
+ #
152
+ # Creates a topic in the specified namespace.
153
+ #
154
+ # @param resource_group_name [String] The name of the resource group.
155
+ # @param namespace_name [String] The namespace name.
156
+ # @param topic_name [String] The topic name.
157
+ # @param parameters [TopicCreateOrUpdateParameters] Parameters supplied to
158
+ # create a topic resource.
159
+ # @param [Hash{String => String}] A hash of custom headers that will be added
160
+ # to the HTTP request.
161
+ #
162
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
163
+ #
164
+ def create_or_update_async(resource_group_name, namespace_name, topic_name, parameters, custom_headers = nil)
165
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
166
+ fail ArgumentError, 'namespace_name is nil' if namespace_name.nil?
167
+ fail ArgumentError, 'topic_name is nil' if topic_name.nil?
168
+ fail ArgumentError, 'parameters is nil' if parameters.nil?
169
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
170
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
171
+
172
+
173
+ request_headers = {}
174
+
175
+ # Set Headers
176
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
177
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
178
+
179
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
180
+
181
+ # Serialize Request
182
+ request_mapper = TopicCreateOrUpdateParameters.mapper()
183
+ request_content = @client.serialize(request_mapper, parameters, 'parameters')
184
+ request_content = request_content != nil ? JSON.generate(request_content, quirks_mode: true) : nil
185
+
186
+ path_template = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}'
187
+
188
+ request_url = @base_url || @client.base_url
189
+
190
+ options = {
191
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
192
+ path_params: {'resourceGroupName' => resource_group_name,'namespaceName' => namespace_name,'topicName' => topic_name,'subscriptionId' => @client.subscription_id},
193
+ query_params: {'api-version' => @client.api_version},
194
+ body: request_content,
195
+ headers: request_headers.merge(custom_headers || {}),
196
+ base_url: request_url
197
+ }
198
+ promise = @client.make_request_async(:put, path_template, options)
199
+
200
+ promise = promise.then do |result|
201
+ http_response = result.response
202
+ status_code = http_response.status
203
+ response_content = http_response.body
204
+ unless status_code == 200
205
+ error_model = JSON.load(response_content)
206
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
207
+ end
208
+
209
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
210
+ # Deserialize Response
211
+ if status_code == 200
212
+ begin
213
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
214
+ result_mapper = TopicResource.mapper()
215
+ result.body = @client.deserialize(result_mapper, parsed_response, 'result.body')
216
+ rescue Exception => e
217
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
218
+ end
219
+ end
220
+
221
+ result
222
+ end
223
+
224
+ promise.execute
225
+ end
226
+
227
+ #
228
+ # Deletes a topic from the specified namespace and resource group.
229
+ #
230
+ # @param resource_group_name [String] The name of the resource group.
231
+ # @param namespace_name [String] The namespace name.
232
+ # @param topic_name [String] The name of the topic to delete.
233
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
234
+ # will be added to the HTTP request.
235
+ #
236
+ #
237
+ def delete(resource_group_name, namespace_name, topic_name, custom_headers = nil)
238
+ response = delete_async(resource_group_name, namespace_name, topic_name, custom_headers).value!
239
+ nil
240
+ end
241
+
242
+ #
243
+ # Deletes a topic from the specified namespace and resource group.
244
+ #
245
+ # @param resource_group_name [String] The name of the resource group.
246
+ # @param namespace_name [String] The namespace name.
247
+ # @param topic_name [String] The name of the topic to delete.
248
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
249
+ # will be added to the HTTP request.
250
+ #
251
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
252
+ #
253
+ def delete_with_http_info(resource_group_name, namespace_name, topic_name, custom_headers = nil)
254
+ delete_async(resource_group_name, namespace_name, topic_name, custom_headers).value!
255
+ end
256
+
257
+ #
258
+ # Deletes a topic from the specified namespace and resource group.
259
+ #
260
+ # @param resource_group_name [String] The name of the resource group.
261
+ # @param namespace_name [String] The namespace name.
262
+ # @param topic_name [String] The name of the topic to delete.
263
+ # @param [Hash{String => String}] A hash of custom headers that will be added
264
+ # to the HTTP request.
265
+ #
266
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
267
+ #
268
+ def delete_async(resource_group_name, namespace_name, topic_name, custom_headers = nil)
269
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
270
+ fail ArgumentError, 'namespace_name is nil' if namespace_name.nil?
271
+ fail ArgumentError, 'topic_name is nil' if topic_name.nil?
272
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
273
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
274
+
275
+
276
+ request_headers = {}
277
+
278
+ # Set Headers
279
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
280
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
281
+ path_template = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}'
282
+
283
+ request_url = @base_url || @client.base_url
284
+
285
+ options = {
286
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
287
+ path_params: {'resourceGroupName' => resource_group_name,'namespaceName' => namespace_name,'topicName' => topic_name,'subscriptionId' => @client.subscription_id},
288
+ query_params: {'api-version' => @client.api_version},
289
+ headers: request_headers.merge(custom_headers || {}),
290
+ base_url: request_url
291
+ }
292
+ promise = @client.make_request_async(:delete, path_template, options)
293
+
294
+ promise = promise.then do |result|
295
+ http_response = result.response
296
+ status_code = http_response.status
297
+ response_content = http_response.body
298
+ unless status_code == 204 || status_code == 200
299
+ error_model = JSON.load(response_content)
300
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
301
+ end
302
+
303
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
304
+
305
+ result
306
+ end
307
+
308
+ promise.execute
309
+ end
310
+
311
+ #
312
+ # Returns a description for the specified topic.
313
+ #
314
+ # @param resource_group_name [String] The name of the resource group.
315
+ # @param namespace_name [String] The namespace name.
316
+ # @param topic_name [String] The topic name.
317
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
318
+ # will be added to the HTTP request.
319
+ #
320
+ # @return [TopicResource] operation results.
321
+ #
322
+ def get(resource_group_name, namespace_name, topic_name, custom_headers = nil)
323
+ response = get_async(resource_group_name, namespace_name, topic_name, custom_headers).value!
324
+ response.body unless response.nil?
325
+ end
326
+
327
+ #
328
+ # Returns a description for the specified topic.
329
+ #
330
+ # @param resource_group_name [String] The name of the resource group.
331
+ # @param namespace_name [String] The namespace name.
332
+ # @param topic_name [String] The topic name.
333
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
334
+ # will be added to the HTTP request.
335
+ #
336
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
337
+ #
338
+ def get_with_http_info(resource_group_name, namespace_name, topic_name, custom_headers = nil)
339
+ get_async(resource_group_name, namespace_name, topic_name, custom_headers).value!
340
+ end
341
+
342
+ #
343
+ # Returns a description for the specified topic.
344
+ #
345
+ # @param resource_group_name [String] The name of the resource group.
346
+ # @param namespace_name [String] The namespace name.
347
+ # @param topic_name [String] The topic name.
348
+ # @param [Hash{String => String}] A hash of custom headers that will be added
349
+ # to the HTTP request.
350
+ #
351
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
352
+ #
353
+ def get_async(resource_group_name, namespace_name, topic_name, custom_headers = nil)
354
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
355
+ fail ArgumentError, 'namespace_name is nil' if namespace_name.nil?
356
+ fail ArgumentError, 'topic_name is nil' if topic_name.nil?
357
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
358
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
359
+
360
+
361
+ request_headers = {}
362
+
363
+ # Set Headers
364
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
365
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
366
+ path_template = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}'
367
+
368
+ request_url = @base_url || @client.base_url
369
+
370
+ options = {
371
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
372
+ path_params: {'resourceGroupName' => resource_group_name,'namespaceName' => namespace_name,'topicName' => topic_name,'subscriptionId' => @client.subscription_id},
373
+ query_params: {'api-version' => @client.api_version},
374
+ headers: request_headers.merge(custom_headers || {}),
375
+ base_url: request_url
376
+ }
377
+ promise = @client.make_request_async(:get, path_template, options)
378
+
379
+ promise = promise.then do |result|
380
+ http_response = result.response
381
+ status_code = http_response.status
382
+ response_content = http_response.body
383
+ unless status_code == 200
384
+ error_model = JSON.load(response_content)
385
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
386
+ end
387
+
388
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
389
+ # Deserialize Response
390
+ if status_code == 200
391
+ begin
392
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
393
+ result_mapper = TopicResource.mapper()
394
+ result.body = @client.deserialize(result_mapper, parsed_response, 'result.body')
395
+ rescue Exception => e
396
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
397
+ end
398
+ end
399
+
400
+ result
401
+ end
402
+
403
+ promise.execute
404
+ end
405
+
406
+ #
407
+ # Gets authorization rules for a topic.
408
+ #
409
+ # @param resource_group_name [String] The name of the resource group.
410
+ # @param namespace_name [String] The namespace name.
411
+ # @param topic_name [String] The topic name.
412
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
413
+ # will be added to the HTTP request.
414
+ #
415
+ # @return [Array<SharedAccessAuthorizationRuleResource>] operation results.
416
+ #
417
+ def list_authorization_rules(resource_group_name, namespace_name, topic_name, custom_headers = nil)
418
+ first_page = list_authorization_rules_as_lazy(resource_group_name, namespace_name, topic_name, custom_headers)
419
+ first_page.get_all_items
420
+ end
421
+
422
+ #
423
+ # Gets authorization rules for a topic.
424
+ #
425
+ # @param resource_group_name [String] The name of the resource group.
426
+ # @param namespace_name [String] The namespace name.
427
+ # @param topic_name [String] The topic name.
428
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
429
+ # will be added to the HTTP request.
430
+ #
431
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
432
+ #
433
+ def list_authorization_rules_with_http_info(resource_group_name, namespace_name, topic_name, custom_headers = nil)
434
+ list_authorization_rules_async(resource_group_name, namespace_name, topic_name, custom_headers).value!
435
+ end
436
+
437
+ #
438
+ # Gets authorization rules for a topic.
439
+ #
440
+ # @param resource_group_name [String] The name of the resource group.
441
+ # @param namespace_name [String] The namespace name.
442
+ # @param topic_name [String] The topic name.
443
+ # @param [Hash{String => String}] A hash of custom headers that will be added
444
+ # to the HTTP request.
445
+ #
446
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
447
+ #
448
+ def list_authorization_rules_async(resource_group_name, namespace_name, topic_name, custom_headers = nil)
449
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
450
+ fail ArgumentError, 'namespace_name is nil' if namespace_name.nil?
451
+ fail ArgumentError, 'topic_name is nil' if topic_name.nil?
452
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
453
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
454
+
455
+
456
+ request_headers = {}
457
+
458
+ # Set Headers
459
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
460
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
461
+ path_template = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/authorizationRules'
462
+
463
+ request_url = @base_url || @client.base_url
464
+
465
+ options = {
466
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
467
+ path_params: {'resourceGroupName' => resource_group_name,'namespaceName' => namespace_name,'topicName' => topic_name,'subscriptionId' => @client.subscription_id},
468
+ query_params: {'api-version' => @client.api_version},
469
+ headers: request_headers.merge(custom_headers || {}),
470
+ base_url: request_url
471
+ }
472
+ promise = @client.make_request_async(:get, path_template, options)
473
+
474
+ promise = promise.then do |result|
475
+ http_response = result.response
476
+ status_code = http_response.status
477
+ response_content = http_response.body
478
+ unless status_code == 200
479
+ error_model = JSON.load(response_content)
480
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
481
+ end
482
+
483
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
484
+ # Deserialize Response
485
+ if status_code == 200
486
+ begin
487
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
488
+ result_mapper = SharedAccessAuthorizationRuleListResult.mapper()
489
+ result.body = @client.deserialize(result_mapper, parsed_response, 'result.body')
490
+ rescue Exception => e
491
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
492
+ end
493
+ end
494
+
495
+ result
496
+ end
497
+
498
+ promise.execute
499
+ end
500
+
501
+ #
502
+ # Creates an authorizatio rule for the specified topic.
503
+ #
504
+ # @param resource_group_name [String] The name of the resource group.
505
+ # @param namespace_name [String] The namespace name.
506
+ # @param topic_name [String] The topic name.
507
+ # @param authorization_rule_name [String] Authorization rule name.
508
+ # @param parameters [SharedAccessAuthorizationRuleCreateOrUpdateParameters] The
509
+ # shared access authorization rule.
510
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
511
+ # will be added to the HTTP request.
512
+ #
513
+ # @return [SharedAccessAuthorizationRuleResource] operation results.
514
+ #
515
+ def create_or_update_authorization_rule(resource_group_name, namespace_name, topic_name, authorization_rule_name, parameters, custom_headers = nil)
516
+ response = create_or_update_authorization_rule_async(resource_group_name, namespace_name, topic_name, authorization_rule_name, parameters, custom_headers).value!
517
+ response.body unless response.nil?
518
+ end
519
+
520
+ #
521
+ # Creates an authorizatio rule for the specified topic.
522
+ #
523
+ # @param resource_group_name [String] The name of the resource group.
524
+ # @param namespace_name [String] The namespace name.
525
+ # @param topic_name [String] The topic name.
526
+ # @param authorization_rule_name [String] Authorization rule name.
527
+ # @param parameters [SharedAccessAuthorizationRuleCreateOrUpdateParameters] The
528
+ # shared access authorization rule.
529
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
530
+ # will be added to the HTTP request.
531
+ #
532
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
533
+ #
534
+ def create_or_update_authorization_rule_with_http_info(resource_group_name, namespace_name, topic_name, authorization_rule_name, parameters, custom_headers = nil)
535
+ create_or_update_authorization_rule_async(resource_group_name, namespace_name, topic_name, authorization_rule_name, parameters, custom_headers).value!
536
+ end
537
+
538
+ #
539
+ # Creates an authorizatio rule for the specified topic.
540
+ #
541
+ # @param resource_group_name [String] The name of the resource group.
542
+ # @param namespace_name [String] The namespace name.
543
+ # @param topic_name [String] The topic name.
544
+ # @param authorization_rule_name [String] Authorization rule name.
545
+ # @param parameters [SharedAccessAuthorizationRuleCreateOrUpdateParameters] The
546
+ # shared access authorization rule.
547
+ # @param [Hash{String => String}] A hash of custom headers that will be added
548
+ # to the HTTP request.
549
+ #
550
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
551
+ #
552
+ def create_or_update_authorization_rule_async(resource_group_name, namespace_name, topic_name, authorization_rule_name, parameters, custom_headers = nil)
553
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
554
+ fail ArgumentError, 'namespace_name is nil' if namespace_name.nil?
555
+ fail ArgumentError, 'topic_name is nil' if topic_name.nil?
556
+ fail ArgumentError, 'authorization_rule_name is nil' if authorization_rule_name.nil?
557
+ fail ArgumentError, 'parameters is nil' if parameters.nil?
558
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
559
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
560
+
561
+
562
+ request_headers = {}
563
+
564
+ # Set Headers
565
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
566
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
567
+
568
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
569
+
570
+ # Serialize Request
571
+ request_mapper = SharedAccessAuthorizationRuleCreateOrUpdateParameters.mapper()
572
+ request_content = @client.serialize(request_mapper, parameters, 'parameters')
573
+ request_content = request_content != nil ? JSON.generate(request_content, quirks_mode: true) : nil
574
+
575
+ path_template = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/authorizationRules/{authorizationRuleName}'
576
+
577
+ request_url = @base_url || @client.base_url
578
+
579
+ options = {
580
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
581
+ path_params: {'resourceGroupName' => resource_group_name,'namespaceName' => namespace_name,'topicName' => topic_name,'authorizationRuleName' => authorization_rule_name,'subscriptionId' => @client.subscription_id},
582
+ query_params: {'api-version' => @client.api_version},
583
+ body: request_content,
584
+ headers: request_headers.merge(custom_headers || {}),
585
+ base_url: request_url
586
+ }
587
+ promise = @client.make_request_async(:put, path_template, options)
588
+
589
+ promise = promise.then do |result|
590
+ http_response = result.response
591
+ status_code = http_response.status
592
+ response_content = http_response.body
593
+ unless status_code == 200
594
+ error_model = JSON.load(response_content)
595
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
596
+ end
597
+
598
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
599
+ # Deserialize Response
600
+ if status_code == 200
601
+ begin
602
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
603
+ result_mapper = SharedAccessAuthorizationRuleResource.mapper()
604
+ result.body = @client.deserialize(result_mapper, parsed_response, 'result.body')
605
+ rescue Exception => e
606
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
607
+ end
608
+ end
609
+
610
+ result
611
+ end
612
+
613
+ promise.execute
614
+ end
615
+
616
+ #
617
+ # Returns the specified authorization rule.
618
+ #
619
+ # @param resource_group_name [String] The name of the resource group.
620
+ # @param namespace_name [String] The namespace name.
621
+ # @param topic_name [String] The topic name.
622
+ # @param authorization_rule_name [String] Authorization rule name.
623
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
624
+ # will be added to the HTTP request.
625
+ #
626
+ # @return [SharedAccessAuthorizationRuleResource] operation results.
627
+ #
628
+ def get_authorization_rule(resource_group_name, namespace_name, topic_name, authorization_rule_name, custom_headers = nil)
629
+ response = get_authorization_rule_async(resource_group_name, namespace_name, topic_name, authorization_rule_name, custom_headers).value!
630
+ response.body unless response.nil?
631
+ end
632
+
633
+ #
634
+ # Returns the specified authorization rule.
635
+ #
636
+ # @param resource_group_name [String] The name of the resource group.
637
+ # @param namespace_name [String] The namespace name.
638
+ # @param topic_name [String] The topic name.
639
+ # @param authorization_rule_name [String] Authorization rule name.
640
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
641
+ # will be added to the HTTP request.
642
+ #
643
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
644
+ #
645
+ def get_authorization_rule_with_http_info(resource_group_name, namespace_name, topic_name, authorization_rule_name, custom_headers = nil)
646
+ get_authorization_rule_async(resource_group_name, namespace_name, topic_name, authorization_rule_name, custom_headers).value!
647
+ end
648
+
649
+ #
650
+ # Returns the specified authorization rule.
651
+ #
652
+ # @param resource_group_name [String] The name of the resource group.
653
+ # @param namespace_name [String] The namespace name.
654
+ # @param topic_name [String] The topic name.
655
+ # @param authorization_rule_name [String] Authorization rule name.
656
+ # @param [Hash{String => String}] A hash of custom headers that will be added
657
+ # to the HTTP request.
658
+ #
659
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
660
+ #
661
+ def get_authorization_rule_async(resource_group_name, namespace_name, topic_name, authorization_rule_name, custom_headers = nil)
662
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
663
+ fail ArgumentError, 'namespace_name is nil' if namespace_name.nil?
664
+ fail ArgumentError, 'topic_name is nil' if topic_name.nil?
665
+ fail ArgumentError, 'authorization_rule_name is nil' if authorization_rule_name.nil?
666
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
667
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
668
+
669
+
670
+ request_headers = {}
671
+
672
+ # Set Headers
673
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
674
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
675
+ path_template = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/authorizationRules/{authorizationRuleName}'
676
+
677
+ request_url = @base_url || @client.base_url
678
+
679
+ options = {
680
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
681
+ path_params: {'resourceGroupName' => resource_group_name,'namespaceName' => namespace_name,'topicName' => topic_name,'authorizationRuleName' => authorization_rule_name,'subscriptionId' => @client.subscription_id},
682
+ query_params: {'api-version' => @client.api_version},
683
+ headers: request_headers.merge(custom_headers || {}),
684
+ base_url: request_url
685
+ }
686
+ promise = @client.make_request_async(:get, path_template, options)
687
+
688
+ promise = promise.then do |result|
689
+ http_response = result.response
690
+ status_code = http_response.status
691
+ response_content = http_response.body
692
+ unless status_code == 200
693
+ error_model = JSON.load(response_content)
694
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
695
+ end
696
+
697
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
698
+ # Deserialize Response
699
+ if status_code == 200
700
+ begin
701
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
702
+ result_mapper = SharedAccessAuthorizationRuleResource.mapper()
703
+ result.body = @client.deserialize(result_mapper, parsed_response, 'result.body')
704
+ rescue Exception => e
705
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
706
+ end
707
+ end
708
+
709
+ result
710
+ end
711
+
712
+ promise.execute
713
+ end
714
+
715
+ #
716
+ # Deletes a topic authorization rule.
717
+ #
718
+ # @param resource_group_name [String] The name of the resource group.
719
+ # @param namespace_name [String] The namespace name.
720
+ # @param topic_name [String] The topic name.
721
+ # @param authorization_rule_name [String] Authorization rule name.
722
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
723
+ # will be added to the HTTP request.
724
+ #
725
+ #
726
+ def delete_authorization_rule(resource_group_name, namespace_name, topic_name, authorization_rule_name, custom_headers = nil)
727
+ response = delete_authorization_rule_async(resource_group_name, namespace_name, topic_name, authorization_rule_name, custom_headers).value!
728
+ nil
729
+ end
730
+
731
+ #
732
+ # Deletes a topic authorization rule.
733
+ #
734
+ # @param resource_group_name [String] The name of the resource group.
735
+ # @param namespace_name [String] The namespace name.
736
+ # @param topic_name [String] The topic name.
737
+ # @param authorization_rule_name [String] Authorization rule name.
738
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
739
+ # will be added to the HTTP request.
740
+ #
741
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
742
+ #
743
+ def delete_authorization_rule_with_http_info(resource_group_name, namespace_name, topic_name, authorization_rule_name, custom_headers = nil)
744
+ delete_authorization_rule_async(resource_group_name, namespace_name, topic_name, authorization_rule_name, custom_headers).value!
745
+ end
746
+
747
+ #
748
+ # Deletes a topic authorization rule.
749
+ #
750
+ # @param resource_group_name [String] The name of the resource group.
751
+ # @param namespace_name [String] The namespace name.
752
+ # @param topic_name [String] The topic name.
753
+ # @param authorization_rule_name [String] Authorization rule name.
754
+ # @param [Hash{String => String}] A hash of custom headers that will be added
755
+ # to the HTTP request.
756
+ #
757
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
758
+ #
759
+ def delete_authorization_rule_async(resource_group_name, namespace_name, topic_name, authorization_rule_name, custom_headers = nil)
760
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
761
+ fail ArgumentError, 'namespace_name is nil' if namespace_name.nil?
762
+ fail ArgumentError, 'topic_name is nil' if topic_name.nil?
763
+ fail ArgumentError, 'authorization_rule_name is nil' if authorization_rule_name.nil?
764
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
765
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
766
+
767
+
768
+ request_headers = {}
769
+
770
+ # Set Headers
771
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
772
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
773
+ path_template = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/authorizationRules/{authorizationRuleName}'
774
+
775
+ request_url = @base_url || @client.base_url
776
+
777
+ options = {
778
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
779
+ path_params: {'resourceGroupName' => resource_group_name,'namespaceName' => namespace_name,'topicName' => topic_name,'authorizationRuleName' => authorization_rule_name,'subscriptionId' => @client.subscription_id},
780
+ query_params: {'api-version' => @client.api_version},
781
+ headers: request_headers.merge(custom_headers || {}),
782
+ base_url: request_url
783
+ }
784
+ promise = @client.make_request_async(:delete, path_template, options)
785
+
786
+ promise = promise.then do |result|
787
+ http_response = result.response
788
+ status_code = http_response.status
789
+ response_content = http_response.body
790
+ unless status_code == 204 || status_code == 200
791
+ error_model = JSON.load(response_content)
792
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
793
+ end
794
+
795
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
796
+
797
+ result
798
+ end
799
+
800
+ promise.execute
801
+ end
802
+
803
+ #
804
+ # Gets the primary and secondary connection strings for the topic.
805
+ #
806
+ # @param resource_group_name [String] The name of the resource group.
807
+ # @param namespace_name [String] The namespace name.
808
+ # @param topic_name [String] The topic name.
809
+ # @param authorization_rule_name [String] The authorization rule name.
810
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
811
+ # will be added to the HTTP request.
812
+ #
813
+ # @return [ResourceListKeys] operation results.
814
+ #
815
+ def list_keys(resource_group_name, namespace_name, topic_name, authorization_rule_name, custom_headers = nil)
816
+ response = list_keys_async(resource_group_name, namespace_name, topic_name, authorization_rule_name, custom_headers).value!
817
+ response.body unless response.nil?
818
+ end
819
+
820
+ #
821
+ # Gets the primary and secondary connection strings for the topic.
822
+ #
823
+ # @param resource_group_name [String] The name of the resource group.
824
+ # @param namespace_name [String] The namespace name.
825
+ # @param topic_name [String] The topic name.
826
+ # @param authorization_rule_name [String] The authorization rule name.
827
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
828
+ # will be added to the HTTP request.
829
+ #
830
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
831
+ #
832
+ def list_keys_with_http_info(resource_group_name, namespace_name, topic_name, authorization_rule_name, custom_headers = nil)
833
+ list_keys_async(resource_group_name, namespace_name, topic_name, authorization_rule_name, custom_headers).value!
834
+ end
835
+
836
+ #
837
+ # Gets the primary and secondary connection strings for the topic.
838
+ #
839
+ # @param resource_group_name [String] The name of the resource group.
840
+ # @param namespace_name [String] The namespace name.
841
+ # @param topic_name [String] The topic name.
842
+ # @param authorization_rule_name [String] The authorization rule name.
843
+ # @param [Hash{String => String}] A hash of custom headers that will be added
844
+ # to the HTTP request.
845
+ #
846
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
847
+ #
848
+ def list_keys_async(resource_group_name, namespace_name, topic_name, authorization_rule_name, custom_headers = nil)
849
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
850
+ fail ArgumentError, 'namespace_name is nil' if namespace_name.nil?
851
+ fail ArgumentError, 'topic_name is nil' if topic_name.nil?
852
+ fail ArgumentError, 'authorization_rule_name is nil' if authorization_rule_name.nil?
853
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
854
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
855
+
856
+
857
+ request_headers = {}
858
+
859
+ # Set Headers
860
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
861
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
862
+ path_template = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/authorizationRules/{authorizationRuleName}/ListKeys'
863
+
864
+ request_url = @base_url || @client.base_url
865
+
866
+ options = {
867
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
868
+ path_params: {'resourceGroupName' => resource_group_name,'namespaceName' => namespace_name,'topicName' => topic_name,'authorizationRuleName' => authorization_rule_name,'subscriptionId' => @client.subscription_id},
869
+ query_params: {'api-version' => @client.api_version},
870
+ headers: request_headers.merge(custom_headers || {}),
871
+ base_url: request_url
872
+ }
873
+ promise = @client.make_request_async(:post, path_template, options)
874
+
875
+ promise = promise.then do |result|
876
+ http_response = result.response
877
+ status_code = http_response.status
878
+ response_content = http_response.body
879
+ unless status_code == 200
880
+ error_model = JSON.load(response_content)
881
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
882
+ end
883
+
884
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
885
+ # Deserialize Response
886
+ if status_code == 200
887
+ begin
888
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
889
+ result_mapper = ResourceListKeys.mapper()
890
+ result.body = @client.deserialize(result_mapper, parsed_response, 'result.body')
891
+ rescue Exception => e
892
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
893
+ end
894
+ end
895
+
896
+ result
897
+ end
898
+
899
+ promise.execute
900
+ end
901
+
902
+ #
903
+ # Regenerates primary or secondary connection strings for the topic.
904
+ #
905
+ # @param resource_group_name [String] The name of the resource group.
906
+ # @param namespace_name [String] The namespace name.
907
+ # @param topic_name [String] The topic name.
908
+ # @param authorization_rule_name [String] The authorization rule name.
909
+ # @param parameters [RegenerateKeysParameters] Parameters supplied to
910
+ # regenerate the authorization rule.
911
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
912
+ # will be added to the HTTP request.
913
+ #
914
+ # @return [ResourceListKeys] operation results.
915
+ #
916
+ def regenerate_keys(resource_group_name, namespace_name, topic_name, authorization_rule_name, parameters, custom_headers = nil)
917
+ response = regenerate_keys_async(resource_group_name, namespace_name, topic_name, authorization_rule_name, parameters, custom_headers).value!
918
+ response.body unless response.nil?
919
+ end
920
+
921
+ #
922
+ # Regenerates primary or secondary connection strings for the topic.
923
+ #
924
+ # @param resource_group_name [String] The name of the resource group.
925
+ # @param namespace_name [String] The namespace name.
926
+ # @param topic_name [String] The topic name.
927
+ # @param authorization_rule_name [String] The authorization rule name.
928
+ # @param parameters [RegenerateKeysParameters] Parameters supplied to
929
+ # regenerate the authorization rule.
930
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
931
+ # will be added to the HTTP request.
932
+ #
933
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
934
+ #
935
+ def regenerate_keys_with_http_info(resource_group_name, namespace_name, topic_name, authorization_rule_name, parameters, custom_headers = nil)
936
+ regenerate_keys_async(resource_group_name, namespace_name, topic_name, authorization_rule_name, parameters, custom_headers).value!
937
+ end
938
+
939
+ #
940
+ # Regenerates primary or secondary connection strings for the topic.
941
+ #
942
+ # @param resource_group_name [String] The name of the resource group.
943
+ # @param namespace_name [String] The namespace name.
944
+ # @param topic_name [String] The topic name.
945
+ # @param authorization_rule_name [String] The authorization rule name.
946
+ # @param parameters [RegenerateKeysParameters] Parameters supplied to
947
+ # regenerate the authorization rule.
948
+ # @param [Hash{String => String}] A hash of custom headers that will be added
949
+ # to the HTTP request.
950
+ #
951
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
952
+ #
953
+ def regenerate_keys_async(resource_group_name, namespace_name, topic_name, authorization_rule_name, parameters, custom_headers = nil)
954
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
955
+ fail ArgumentError, 'namespace_name is nil' if namespace_name.nil?
956
+ fail ArgumentError, 'topic_name is nil' if topic_name.nil?
957
+ fail ArgumentError, 'authorization_rule_name is nil' if authorization_rule_name.nil?
958
+ fail ArgumentError, 'parameters is nil' if parameters.nil?
959
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
960
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
961
+
962
+
963
+ request_headers = {}
964
+
965
+ # Set Headers
966
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
967
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
968
+
969
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
970
+
971
+ # Serialize Request
972
+ request_mapper = RegenerateKeysParameters.mapper()
973
+ request_content = @client.serialize(request_mapper, parameters, 'parameters')
974
+ request_content = request_content != nil ? JSON.generate(request_content, quirks_mode: true) : nil
975
+
976
+ path_template = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/authorizationRules/{authorizationRuleName}/regenerateKeys'
977
+
978
+ request_url = @base_url || @client.base_url
979
+
980
+ options = {
981
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
982
+ path_params: {'resourceGroupName' => resource_group_name,'namespaceName' => namespace_name,'topicName' => topic_name,'authorizationRuleName' => authorization_rule_name,'subscriptionId' => @client.subscription_id},
983
+ query_params: {'api-version' => @client.api_version},
984
+ body: request_content,
985
+ headers: request_headers.merge(custom_headers || {}),
986
+ base_url: request_url
987
+ }
988
+ promise = @client.make_request_async(:post, path_template, options)
989
+
990
+ promise = promise.then do |result|
991
+ http_response = result.response
992
+ status_code = http_response.status
993
+ response_content = http_response.body
994
+ unless status_code == 200
995
+ error_model = JSON.load(response_content)
996
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
997
+ end
998
+
999
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
1000
+ # Deserialize Response
1001
+ if status_code == 200
1002
+ begin
1003
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
1004
+ result_mapper = ResourceListKeys.mapper()
1005
+ result.body = @client.deserialize(result_mapper, parsed_response, 'result.body')
1006
+ rescue Exception => e
1007
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
1008
+ end
1009
+ end
1010
+
1011
+ result
1012
+ end
1013
+
1014
+ promise.execute
1015
+ end
1016
+
1017
+ #
1018
+ # Gets all the topics in a namespace.
1019
+ #
1020
+ # @param next_page_link [String] The NextLink from the previous successful call
1021
+ # to List operation.
1022
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
1023
+ # will be added to the HTTP request.
1024
+ #
1025
+ # @return [TopicListResult] operation results.
1026
+ #
1027
+ def list_all_next(next_page_link, custom_headers = nil)
1028
+ response = list_all_next_async(next_page_link, custom_headers).value!
1029
+ response.body unless response.nil?
1030
+ end
1031
+
1032
+ #
1033
+ # Gets all the topics in a namespace.
1034
+ #
1035
+ # @param next_page_link [String] The NextLink from the previous successful call
1036
+ # to List operation.
1037
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
1038
+ # will be added to the HTTP request.
1039
+ #
1040
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
1041
+ #
1042
+ def list_all_next_with_http_info(next_page_link, custom_headers = nil)
1043
+ list_all_next_async(next_page_link, custom_headers).value!
1044
+ end
1045
+
1046
+ #
1047
+ # Gets all the topics in a namespace.
1048
+ #
1049
+ # @param next_page_link [String] The NextLink from the previous successful call
1050
+ # to List operation.
1051
+ # @param [Hash{String => String}] A hash of custom headers that will be added
1052
+ # to the HTTP request.
1053
+ #
1054
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
1055
+ #
1056
+ def list_all_next_async(next_page_link, custom_headers = nil)
1057
+ fail ArgumentError, 'next_page_link is nil' if next_page_link.nil?
1058
+
1059
+
1060
+ request_headers = {}
1061
+
1062
+ # Set Headers
1063
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
1064
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
1065
+ path_template = '{nextLink}'
1066
+
1067
+ request_url = @base_url || @client.base_url
1068
+
1069
+ options = {
1070
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
1071
+ skip_encoding_path_params: {'nextLink' => next_page_link},
1072
+ headers: request_headers.merge(custom_headers || {}),
1073
+ base_url: request_url
1074
+ }
1075
+ promise = @client.make_request_async(:get, path_template, options)
1076
+
1077
+ promise = promise.then do |result|
1078
+ http_response = result.response
1079
+ status_code = http_response.status
1080
+ response_content = http_response.body
1081
+ unless status_code == 200
1082
+ error_model = JSON.load(response_content)
1083
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
1084
+ end
1085
+
1086
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
1087
+ # Deserialize Response
1088
+ if status_code == 200
1089
+ begin
1090
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
1091
+ result_mapper = TopicListResult.mapper()
1092
+ result.body = @client.deserialize(result_mapper, parsed_response, 'result.body')
1093
+ rescue Exception => e
1094
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
1095
+ end
1096
+ end
1097
+
1098
+ result
1099
+ end
1100
+
1101
+ promise.execute
1102
+ end
1103
+
1104
+ #
1105
+ # Gets authorization rules for a topic.
1106
+ #
1107
+ # @param next_page_link [String] The NextLink from the previous successful call
1108
+ # to List operation.
1109
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
1110
+ # will be added to the HTTP request.
1111
+ #
1112
+ # @return [SharedAccessAuthorizationRuleListResult] operation results.
1113
+ #
1114
+ def list_authorization_rules_next(next_page_link, custom_headers = nil)
1115
+ response = list_authorization_rules_next_async(next_page_link, custom_headers).value!
1116
+ response.body unless response.nil?
1117
+ end
1118
+
1119
+ #
1120
+ # Gets authorization rules for a topic.
1121
+ #
1122
+ # @param next_page_link [String] The NextLink from the previous successful call
1123
+ # to List operation.
1124
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
1125
+ # will be added to the HTTP request.
1126
+ #
1127
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
1128
+ #
1129
+ def list_authorization_rules_next_with_http_info(next_page_link, custom_headers = nil)
1130
+ list_authorization_rules_next_async(next_page_link, custom_headers).value!
1131
+ end
1132
+
1133
+ #
1134
+ # Gets authorization rules for a topic.
1135
+ #
1136
+ # @param next_page_link [String] The NextLink from the previous successful call
1137
+ # to List operation.
1138
+ # @param [Hash{String => String}] A hash of custom headers that will be added
1139
+ # to the HTTP request.
1140
+ #
1141
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
1142
+ #
1143
+ def list_authorization_rules_next_async(next_page_link, custom_headers = nil)
1144
+ fail ArgumentError, 'next_page_link is nil' if next_page_link.nil?
1145
+
1146
+
1147
+ request_headers = {}
1148
+
1149
+ # Set Headers
1150
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
1151
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
1152
+ path_template = '{nextLink}'
1153
+
1154
+ request_url = @base_url || @client.base_url
1155
+
1156
+ options = {
1157
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
1158
+ skip_encoding_path_params: {'nextLink' => next_page_link},
1159
+ headers: request_headers.merge(custom_headers || {}),
1160
+ base_url: request_url
1161
+ }
1162
+ promise = @client.make_request_async(:get, path_template, options)
1163
+
1164
+ promise = promise.then do |result|
1165
+ http_response = result.response
1166
+ status_code = http_response.status
1167
+ response_content = http_response.body
1168
+ unless status_code == 200
1169
+ error_model = JSON.load(response_content)
1170
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
1171
+ end
1172
+
1173
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
1174
+ # Deserialize Response
1175
+ if status_code == 200
1176
+ begin
1177
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
1178
+ result_mapper = SharedAccessAuthorizationRuleListResult.mapper()
1179
+ result.body = @client.deserialize(result_mapper, parsed_response, 'result.body')
1180
+ rescue Exception => e
1181
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
1182
+ end
1183
+ end
1184
+
1185
+ result
1186
+ end
1187
+
1188
+ promise.execute
1189
+ end
1190
+
1191
+ #
1192
+ # Gets all the topics in a namespace.
1193
+ #
1194
+ # @param resource_group_name [String] The name of the resource group.
1195
+ # @param namespace_name [String] The namespace name.
1196
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
1197
+ # will be added to the HTTP request.
1198
+ #
1199
+ # @return [TopicListResult] which provide lazy access to pages of the response.
1200
+ #
1201
+ def list_all_as_lazy(resource_group_name, namespace_name, custom_headers = nil)
1202
+ response = list_all_async(resource_group_name, namespace_name, custom_headers).value!
1203
+ unless response.nil?
1204
+ page = response.body
1205
+ page.next_method = Proc.new do |next_page_link|
1206
+ list_all_next_async(next_page_link, custom_headers)
1207
+ end
1208
+ page
1209
+ end
1210
+ end
1211
+
1212
+ #
1213
+ # Gets authorization rules for a topic.
1214
+ #
1215
+ # @param resource_group_name [String] The name of the resource group.
1216
+ # @param namespace_name [String] The namespace name.
1217
+ # @param topic_name [String] The topic name.
1218
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
1219
+ # will be added to the HTTP request.
1220
+ #
1221
+ # @return [SharedAccessAuthorizationRuleListResult] which provide lazy access
1222
+ # to pages of the response.
1223
+ #
1224
+ def list_authorization_rules_as_lazy(resource_group_name, namespace_name, topic_name, custom_headers = nil)
1225
+ response = list_authorization_rules_async(resource_group_name, namespace_name, topic_name, custom_headers).value!
1226
+ unless response.nil?
1227
+ page = response.body
1228
+ page.next_method = Proc.new do |next_page_link|
1229
+ list_authorization_rules_next_async(next_page_link, custom_headers)
1230
+ end
1231
+ page
1232
+ end
1233
+ end
1234
+
1235
+ end
1236
+ end