azure_mgmt_links 0.14.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.
@@ -0,0 +1,8 @@
1
+ # encoding: utf-8
2
+ # Code generated by Microsoft (R) AutoRest Code Generator.
3
+ # Changes may cause incorrect behavior and will be lost if the code is
4
+ # regenerated.
5
+
6
+ module Azure end
7
+ module Azure::ARM end
8
+ module Azure::ARM::Links end
@@ -0,0 +1,753 @@
1
+ # encoding: utf-8
2
+ # Code generated by Microsoft (R) AutoRest Code Generator.
3
+ # Changes may cause incorrect behavior and will be lost if the code is
4
+ # regenerated.
5
+
6
+ module Azure::ARM::Links
7
+ #
8
+ # Azure resources can be linked together to form logical relationships. You
9
+ # can establish links between resources belonging to different resource
10
+ # groups. However, all the linked resources must belong to the same
11
+ # subscription. Each resource can be linked to 50 other resources. If any of
12
+ # the linked resources are deleted or moved, the link owner must clean up the
13
+ # remaining link.
14
+ #
15
+ class ResourceLinks
16
+ include MsRestAzure
17
+
18
+ #
19
+ # Creates and initializes a new instance of the ResourceLinks class.
20
+ # @param client service class for accessing basic functionality.
21
+ #
22
+ def initialize(client)
23
+ @client = client
24
+ end
25
+
26
+ # @return [ManagementLinkClient] reference to the ManagementLinkClient
27
+ attr_reader :client
28
+
29
+ #
30
+ # Deletes a resource link with the specified ID.
31
+ #
32
+ # @param link_id [String] The fully qualified ID of the resource link. Use the
33
+ # format,
34
+ # /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/{provider-namespace}/{resource-type}/{resource-name}/Microsoft.Resources/links/{link-name}.
35
+ # For example,
36
+ # /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myGroup/Microsoft.Web/sites/mySite/Microsoft.Resources/links/myLink
37
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
38
+ # will be added to the HTTP request.
39
+ #
40
+ #
41
+ def delete(link_id, custom_headers = nil)
42
+ response = delete_async(link_id, custom_headers).value!
43
+ nil
44
+ end
45
+
46
+ #
47
+ # Deletes a resource link with the specified ID.
48
+ #
49
+ # @param link_id [String] The fully qualified ID of the resource link. Use the
50
+ # format,
51
+ # /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/{provider-namespace}/{resource-type}/{resource-name}/Microsoft.Resources/links/{link-name}.
52
+ # For example,
53
+ # /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myGroup/Microsoft.Web/sites/mySite/Microsoft.Resources/links/myLink
54
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
55
+ # will be added to the HTTP request.
56
+ #
57
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
58
+ #
59
+ def delete_with_http_info(link_id, custom_headers = nil)
60
+ delete_async(link_id, custom_headers).value!
61
+ end
62
+
63
+ #
64
+ # Deletes a resource link with the specified ID.
65
+ #
66
+ # @param link_id [String] The fully qualified ID of the resource link. Use the
67
+ # format,
68
+ # /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/{provider-namespace}/{resource-type}/{resource-name}/Microsoft.Resources/links/{link-name}.
69
+ # For example,
70
+ # /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myGroup/Microsoft.Web/sites/mySite/Microsoft.Resources/links/myLink
71
+ # @param [Hash{String => String}] A hash of custom headers that will be added
72
+ # to the HTTP request.
73
+ #
74
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
75
+ #
76
+ def delete_async(link_id, custom_headers = nil)
77
+ fail ArgumentError, 'link_id is nil' if link_id.nil?
78
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
79
+
80
+
81
+ request_headers = {}
82
+
83
+ # Set Headers
84
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
85
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
86
+ path_template = '{linkId}'
87
+
88
+ request_url = @base_url || @client.base_url
89
+
90
+ options = {
91
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
92
+ skip_encoding_path_params: {'linkId' => link_id},
93
+ query_params: {'api-version' => @client.api_version},
94
+ headers: request_headers.merge(custom_headers || {}),
95
+ base_url: request_url
96
+ }
97
+ promise = @client.make_request_async(:delete, path_template, options)
98
+
99
+ promise = promise.then do |result|
100
+ http_response = result.response
101
+ status_code = http_response.status
102
+ response_content = http_response.body
103
+ unless status_code == 200 || status_code == 204
104
+ error_model = JSON.load(response_content)
105
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
106
+ end
107
+
108
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
109
+
110
+ result
111
+ end
112
+
113
+ promise.execute
114
+ end
115
+
116
+ #
117
+ # Creates or updates a resource link between the specified resources.
118
+ #
119
+ # @param link_id [String] The fully qualified ID of the resource link. Use the
120
+ # format,
121
+ # /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/{provider-namespace}/{resource-type}/{resource-name}/Microsoft.Resources/links/{link-name}.
122
+ # For example,
123
+ # /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myGroup/Microsoft.Web/sites/mySite/Microsoft.Resources/links/myLink
124
+ # @param parameters [ResourceLink] Parameters for creating or updating a
125
+ # resource link.
126
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
127
+ # will be added to the HTTP request.
128
+ #
129
+ # @return [ResourceLink] operation results.
130
+ #
131
+ def create_or_update(link_id, parameters, custom_headers = nil)
132
+ response = create_or_update_async(link_id, parameters, custom_headers).value!
133
+ response.body unless response.nil?
134
+ end
135
+
136
+ #
137
+ # Creates or updates a resource link between the specified resources.
138
+ #
139
+ # @param link_id [String] The fully qualified ID of the resource link. Use the
140
+ # format,
141
+ # /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/{provider-namespace}/{resource-type}/{resource-name}/Microsoft.Resources/links/{link-name}.
142
+ # For example,
143
+ # /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myGroup/Microsoft.Web/sites/mySite/Microsoft.Resources/links/myLink
144
+ # @param parameters [ResourceLink] Parameters for creating or updating a
145
+ # resource link.
146
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
147
+ # will be added to the HTTP request.
148
+ #
149
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
150
+ #
151
+ def create_or_update_with_http_info(link_id, parameters, custom_headers = nil)
152
+ create_or_update_async(link_id, parameters, custom_headers).value!
153
+ end
154
+
155
+ #
156
+ # Creates or updates a resource link between the specified resources.
157
+ #
158
+ # @param link_id [String] The fully qualified ID of the resource link. Use the
159
+ # format,
160
+ # /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/{provider-namespace}/{resource-type}/{resource-name}/Microsoft.Resources/links/{link-name}.
161
+ # For example,
162
+ # /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myGroup/Microsoft.Web/sites/mySite/Microsoft.Resources/links/myLink
163
+ # @param parameters [ResourceLink] Parameters for creating or updating a
164
+ # resource link.
165
+ # @param [Hash{String => String}] A hash of custom headers that will be added
166
+ # to the HTTP request.
167
+ #
168
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
169
+ #
170
+ def create_or_update_async(link_id, parameters, custom_headers = nil)
171
+ fail ArgumentError, 'link_id is nil' if link_id.nil?
172
+ fail ArgumentError, 'parameters is nil' if parameters.nil?
173
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
174
+
175
+
176
+ request_headers = {}
177
+
178
+ # Set Headers
179
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
180
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
181
+
182
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
183
+
184
+ # Serialize Request
185
+ request_mapper = Azure::ARM::Links::Models::ResourceLink.mapper()
186
+ request_content = @client.serialize(request_mapper, parameters)
187
+ request_content = request_content != nil ? JSON.generate(request_content, quirks_mode: true) : nil
188
+
189
+ path_template = '{linkId}'
190
+
191
+ request_url = @base_url || @client.base_url
192
+
193
+ options = {
194
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
195
+ skip_encoding_path_params: {'linkId' => link_id},
196
+ query_params: {'api-version' => @client.api_version},
197
+ body: request_content,
198
+ headers: request_headers.merge(custom_headers || {}),
199
+ base_url: request_url
200
+ }
201
+ promise = @client.make_request_async(:put, path_template, options)
202
+
203
+ promise = promise.then do |result|
204
+ http_response = result.response
205
+ status_code = http_response.status
206
+ response_content = http_response.body
207
+ unless status_code == 201 || status_code == 200
208
+ error_model = JSON.load(response_content)
209
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
210
+ end
211
+
212
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
213
+ # Deserialize Response
214
+ if status_code == 201
215
+ begin
216
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
217
+ result_mapper = Azure::ARM::Links::Models::ResourceLink.mapper()
218
+ result.body = @client.deserialize(result_mapper, parsed_response)
219
+ rescue Exception => e
220
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
221
+ end
222
+ end
223
+ # Deserialize Response
224
+ if status_code == 200
225
+ begin
226
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
227
+ result_mapper = Azure::ARM::Links::Models::ResourceLink.mapper()
228
+ result.body = @client.deserialize(result_mapper, parsed_response)
229
+ rescue Exception => e
230
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
231
+ end
232
+ end
233
+
234
+ result
235
+ end
236
+
237
+ promise.execute
238
+ end
239
+
240
+ #
241
+ # Gets a resource link with the specified ID.
242
+ #
243
+ # @param link_id [String] The fully qualified Id of the resource link. For
244
+ # example,
245
+ # /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myGroup/Microsoft.Web/sites/mySite/Microsoft.Resources/links/myLink
246
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
247
+ # will be added to the HTTP request.
248
+ #
249
+ # @return [ResourceLink] operation results.
250
+ #
251
+ def get(link_id, custom_headers = nil)
252
+ response = get_async(link_id, custom_headers).value!
253
+ response.body unless response.nil?
254
+ end
255
+
256
+ #
257
+ # Gets a resource link with the specified ID.
258
+ #
259
+ # @param link_id [String] The fully qualified Id of the resource link. For
260
+ # example,
261
+ # /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myGroup/Microsoft.Web/sites/mySite/Microsoft.Resources/links/myLink
262
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
263
+ # will be added to the HTTP request.
264
+ #
265
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
266
+ #
267
+ def get_with_http_info(link_id, custom_headers = nil)
268
+ get_async(link_id, custom_headers).value!
269
+ end
270
+
271
+ #
272
+ # Gets a resource link with the specified ID.
273
+ #
274
+ # @param link_id [String] The fully qualified Id of the resource link. For
275
+ # example,
276
+ # /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myGroup/Microsoft.Web/sites/mySite/Microsoft.Resources/links/myLink
277
+ # @param [Hash{String => String}] A hash of custom headers that will be added
278
+ # to the HTTP request.
279
+ #
280
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
281
+ #
282
+ def get_async(link_id, custom_headers = nil)
283
+ fail ArgumentError, 'link_id is nil' if link_id.nil?
284
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
285
+
286
+
287
+ request_headers = {}
288
+
289
+ # Set Headers
290
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
291
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
292
+ path_template = '{linkId}'
293
+
294
+ request_url = @base_url || @client.base_url
295
+
296
+ options = {
297
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
298
+ skip_encoding_path_params: {'linkId' => link_id},
299
+ query_params: {'api-version' => @client.api_version},
300
+ headers: request_headers.merge(custom_headers || {}),
301
+ base_url: request_url
302
+ }
303
+ promise = @client.make_request_async(:get, path_template, options)
304
+
305
+ promise = promise.then do |result|
306
+ http_response = result.response
307
+ status_code = http_response.status
308
+ response_content = http_response.body
309
+ unless status_code == 200
310
+ error_model = JSON.load(response_content)
311
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
312
+ end
313
+
314
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
315
+ # Deserialize Response
316
+ if status_code == 200
317
+ begin
318
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
319
+ result_mapper = Azure::ARM::Links::Models::ResourceLink.mapper()
320
+ result.body = @client.deserialize(result_mapper, parsed_response)
321
+ rescue Exception => e
322
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
323
+ end
324
+ end
325
+
326
+ result
327
+ end
328
+
329
+ promise.execute
330
+ end
331
+
332
+ #
333
+ # Gets all the linked resources for the subscription.
334
+ #
335
+ # @param filter [String] The filter to apply on the list resource links
336
+ # operation. The supported filter for list resource links is targetid. For
337
+ # example, $filter=targetid eq {value}
338
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
339
+ # will be added to the HTTP request.
340
+ #
341
+ # @return [Array<ResourceLink>] operation results.
342
+ #
343
+ def list_at_subscription(filter = nil, custom_headers = nil)
344
+ first_page = list_at_subscription_as_lazy(filter, custom_headers)
345
+ first_page.get_all_items
346
+ end
347
+
348
+ #
349
+ # Gets all the linked resources for the subscription.
350
+ #
351
+ # @param filter [String] The filter to apply on the list resource links
352
+ # operation. The supported filter for list resource links is targetid. For
353
+ # example, $filter=targetid eq {value}
354
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
355
+ # will be added to the HTTP request.
356
+ #
357
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
358
+ #
359
+ def list_at_subscription_with_http_info(filter = nil, custom_headers = nil)
360
+ list_at_subscription_async(filter, custom_headers).value!
361
+ end
362
+
363
+ #
364
+ # Gets all the linked resources for the subscription.
365
+ #
366
+ # @param filter [String] The filter to apply on the list resource links
367
+ # operation. The supported filter for list resource links is targetid. For
368
+ # example, $filter=targetid eq {value}
369
+ # @param [Hash{String => String}] A hash of custom headers that will be added
370
+ # to the HTTP request.
371
+ #
372
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
373
+ #
374
+ def list_at_subscription_async(filter = nil, custom_headers = nil)
375
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
376
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
377
+
378
+
379
+ request_headers = {}
380
+
381
+ # Set Headers
382
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
383
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
384
+ path_template = 'subscriptions/{subscriptionId}/providers/Microsoft.Resources/links'
385
+
386
+ request_url = @base_url || @client.base_url
387
+
388
+ options = {
389
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
390
+ path_params: {'subscriptionId' => @client.subscription_id},
391
+ query_params: {'$filter' => filter,'api-version' => @client.api_version},
392
+ headers: request_headers.merge(custom_headers || {}),
393
+ base_url: request_url
394
+ }
395
+ promise = @client.make_request_async(:get, path_template, options)
396
+
397
+ promise = promise.then do |result|
398
+ http_response = result.response
399
+ status_code = http_response.status
400
+ response_content = http_response.body
401
+ unless status_code == 200
402
+ error_model = JSON.load(response_content)
403
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
404
+ end
405
+
406
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
407
+ # Deserialize Response
408
+ if status_code == 200
409
+ begin
410
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
411
+ result_mapper = Azure::ARM::Links::Models::ResourceLinkResult.mapper()
412
+ result.body = @client.deserialize(result_mapper, parsed_response)
413
+ rescue Exception => e
414
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
415
+ end
416
+ end
417
+
418
+ result
419
+ end
420
+
421
+ promise.execute
422
+ end
423
+
424
+ #
425
+ # Gets a list of resource links at and below the specified source scope.
426
+ #
427
+ # @param scope [String] The fully qualified ID of the scope for getting the
428
+ # resource links. For example, to list resource links at and under a resource
429
+ # group, set the scope to
430
+ # /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myGroup.
431
+ # @param filter [String] The filter to apply when getting resource links. To
432
+ # get links only at the specified scope (not below the scope), use
433
+ # Filter.atScope().
434
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
435
+ # will be added to the HTTP request.
436
+ #
437
+ # @return [Array<ResourceLink>] operation results.
438
+ #
439
+ def list_at_source_scope(scope, filter = nil, custom_headers = nil)
440
+ first_page = list_at_source_scope_as_lazy(scope, filter, custom_headers)
441
+ first_page.get_all_items
442
+ end
443
+
444
+ #
445
+ # Gets a list of resource links at and below the specified source scope.
446
+ #
447
+ # @param scope [String] The fully qualified ID of the scope for getting the
448
+ # resource links. For example, to list resource links at and under a resource
449
+ # group, set the scope to
450
+ # /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myGroup.
451
+ # @param filter [String] The filter to apply when getting resource links. To
452
+ # get links only at the specified scope (not below the scope), use
453
+ # Filter.atScope().
454
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
455
+ # will be added to the HTTP request.
456
+ #
457
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
458
+ #
459
+ def list_at_source_scope_with_http_info(scope, filter = nil, custom_headers = nil)
460
+ list_at_source_scope_async(scope, filter, custom_headers).value!
461
+ end
462
+
463
+ #
464
+ # Gets a list of resource links at and below the specified source scope.
465
+ #
466
+ # @param scope [String] The fully qualified ID of the scope for getting the
467
+ # resource links. For example, to list resource links at and under a resource
468
+ # group, set the scope to
469
+ # /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myGroup.
470
+ # @param filter [String] The filter to apply when getting resource links. To
471
+ # get links only at the specified scope (not below the scope), use
472
+ # Filter.atScope().
473
+ # @param [Hash{String => String}] A hash of custom headers that will be added
474
+ # to the HTTP request.
475
+ #
476
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
477
+ #
478
+ def list_at_source_scope_async(scope, filter = nil, custom_headers = nil)
479
+ fail ArgumentError, 'scope is nil' if scope.nil?
480
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
481
+
482
+
483
+ request_headers = {}
484
+
485
+ # Set Headers
486
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
487
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
488
+ path_template = '{scope}/providers/Microsoft.Resources/links'
489
+
490
+ request_url = @base_url || @client.base_url
491
+
492
+ options = {
493
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
494
+ skip_encoding_path_params: {'scope' => scope},
495
+ query_params: {'$filter' => filter,'api-version' => @client.api_version},
496
+ headers: request_headers.merge(custom_headers || {}),
497
+ base_url: request_url
498
+ }
499
+ promise = @client.make_request_async(:get, path_template, options)
500
+
501
+ promise = promise.then do |result|
502
+ http_response = result.response
503
+ status_code = http_response.status
504
+ response_content = http_response.body
505
+ unless status_code == 200
506
+ error_model = JSON.load(response_content)
507
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
508
+ end
509
+
510
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
511
+ # Deserialize Response
512
+ if status_code == 200
513
+ begin
514
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
515
+ result_mapper = Azure::ARM::Links::Models::ResourceLinkResult.mapper()
516
+ result.body = @client.deserialize(result_mapper, parsed_response)
517
+ rescue Exception => e
518
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
519
+ end
520
+ end
521
+
522
+ result
523
+ end
524
+
525
+ promise.execute
526
+ end
527
+
528
+ #
529
+ # Gets all the linked resources for the subscription.
530
+ #
531
+ # @param next_page_link [String] The NextLink from the previous successful call
532
+ # to List operation.
533
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
534
+ # will be added to the HTTP request.
535
+ #
536
+ # @return [ResourceLinkResult] operation results.
537
+ #
538
+ def list_at_subscription_next(next_page_link, custom_headers = nil)
539
+ response = list_at_subscription_next_async(next_page_link, custom_headers).value!
540
+ response.body unless response.nil?
541
+ end
542
+
543
+ #
544
+ # Gets all the linked resources for the subscription.
545
+ #
546
+ # @param next_page_link [String] The NextLink from the previous successful call
547
+ # to List operation.
548
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
549
+ # will be added to the HTTP request.
550
+ #
551
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
552
+ #
553
+ def list_at_subscription_next_with_http_info(next_page_link, custom_headers = nil)
554
+ list_at_subscription_next_async(next_page_link, custom_headers).value!
555
+ end
556
+
557
+ #
558
+ # Gets all the linked resources for the subscription.
559
+ #
560
+ # @param next_page_link [String] The NextLink from the previous successful call
561
+ # to List operation.
562
+ # @param [Hash{String => String}] A hash of custom headers that will be added
563
+ # to the HTTP request.
564
+ #
565
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
566
+ #
567
+ def list_at_subscription_next_async(next_page_link, custom_headers = nil)
568
+ fail ArgumentError, 'next_page_link is nil' if next_page_link.nil?
569
+
570
+
571
+ request_headers = {}
572
+
573
+ # Set Headers
574
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
575
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
576
+ path_template = '{nextLink}'
577
+
578
+ request_url = @base_url || @client.base_url
579
+
580
+ options = {
581
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
582
+ skip_encoding_path_params: {'nextLink' => next_page_link},
583
+ headers: request_headers.merge(custom_headers || {}),
584
+ base_url: request_url
585
+ }
586
+ promise = @client.make_request_async(:get, path_template, options)
587
+
588
+ promise = promise.then do |result|
589
+ http_response = result.response
590
+ status_code = http_response.status
591
+ response_content = http_response.body
592
+ unless status_code == 200
593
+ error_model = JSON.load(response_content)
594
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
595
+ end
596
+
597
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
598
+ # Deserialize Response
599
+ if status_code == 200
600
+ begin
601
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
602
+ result_mapper = Azure::ARM::Links::Models::ResourceLinkResult.mapper()
603
+ result.body = @client.deserialize(result_mapper, parsed_response)
604
+ rescue Exception => e
605
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
606
+ end
607
+ end
608
+
609
+ result
610
+ end
611
+
612
+ promise.execute
613
+ end
614
+
615
+ #
616
+ # Gets a list of resource links at and below the specified source scope.
617
+ #
618
+ # @param next_page_link [String] The NextLink from the previous successful call
619
+ # to List operation.
620
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
621
+ # will be added to the HTTP request.
622
+ #
623
+ # @return [ResourceLinkResult] operation results.
624
+ #
625
+ def list_at_source_scope_next(next_page_link, custom_headers = nil)
626
+ response = list_at_source_scope_next_async(next_page_link, custom_headers).value!
627
+ response.body unless response.nil?
628
+ end
629
+
630
+ #
631
+ # Gets a list of resource links at and below the specified source scope.
632
+ #
633
+ # @param next_page_link [String] The NextLink from the previous successful call
634
+ # to List operation.
635
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
636
+ # will be added to the HTTP request.
637
+ #
638
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
639
+ #
640
+ def list_at_source_scope_next_with_http_info(next_page_link, custom_headers = nil)
641
+ list_at_source_scope_next_async(next_page_link, custom_headers).value!
642
+ end
643
+
644
+ #
645
+ # Gets a list of resource links at and below the specified source scope.
646
+ #
647
+ # @param next_page_link [String] The NextLink from the previous successful call
648
+ # to List operation.
649
+ # @param [Hash{String => String}] A hash of custom headers that will be added
650
+ # to the HTTP request.
651
+ #
652
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
653
+ #
654
+ def list_at_source_scope_next_async(next_page_link, custom_headers = nil)
655
+ fail ArgumentError, 'next_page_link is nil' if next_page_link.nil?
656
+
657
+
658
+ request_headers = {}
659
+
660
+ # Set Headers
661
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
662
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
663
+ path_template = '{nextLink}'
664
+
665
+ request_url = @base_url || @client.base_url
666
+
667
+ options = {
668
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
669
+ skip_encoding_path_params: {'nextLink' => next_page_link},
670
+ headers: request_headers.merge(custom_headers || {}),
671
+ base_url: request_url
672
+ }
673
+ promise = @client.make_request_async(:get, path_template, options)
674
+
675
+ promise = promise.then do |result|
676
+ http_response = result.response
677
+ status_code = http_response.status
678
+ response_content = http_response.body
679
+ unless status_code == 200
680
+ error_model = JSON.load(response_content)
681
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
682
+ end
683
+
684
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
685
+ # Deserialize Response
686
+ if status_code == 200
687
+ begin
688
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
689
+ result_mapper = Azure::ARM::Links::Models::ResourceLinkResult.mapper()
690
+ result.body = @client.deserialize(result_mapper, parsed_response)
691
+ rescue Exception => e
692
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
693
+ end
694
+ end
695
+
696
+ result
697
+ end
698
+
699
+ promise.execute
700
+ end
701
+
702
+ #
703
+ # Gets all the linked resources for the subscription.
704
+ #
705
+ # @param filter [String] The filter to apply on the list resource links
706
+ # operation. The supported filter for list resource links is targetid. For
707
+ # example, $filter=targetid eq {value}
708
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
709
+ # will be added to the HTTP request.
710
+ #
711
+ # @return [ResourceLinkResult] which provide lazy access to pages of the
712
+ # response.
713
+ #
714
+ def list_at_subscription_as_lazy(filter = nil, custom_headers = nil)
715
+ response = list_at_subscription_async(filter, custom_headers).value!
716
+ unless response.nil?
717
+ page = response.body
718
+ page.next_method = Proc.new do |next_page_link|
719
+ list_at_subscription_next_async(next_page_link, custom_headers)
720
+ end
721
+ page
722
+ end
723
+ end
724
+
725
+ #
726
+ # Gets a list of resource links at and below the specified source scope.
727
+ #
728
+ # @param scope [String] The fully qualified ID of the scope for getting the
729
+ # resource links. For example, to list resource links at and under a resource
730
+ # group, set the scope to
731
+ # /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myGroup.
732
+ # @param filter [String] The filter to apply when getting resource links. To
733
+ # get links only at the specified scope (not below the scope), use
734
+ # Filter.atScope().
735
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
736
+ # will be added to the HTTP request.
737
+ #
738
+ # @return [ResourceLinkResult] which provide lazy access to pages of the
739
+ # response.
740
+ #
741
+ def list_at_source_scope_as_lazy(scope, filter = nil, custom_headers = nil)
742
+ response = list_at_source_scope_async(scope, filter, custom_headers).value!
743
+ unless response.nil?
744
+ page = response.body
745
+ page.next_method = Proc.new do |next_page_link|
746
+ list_at_source_scope_next_async(next_page_link, custom_headers)
747
+ end
748
+ page
749
+ end
750
+ end
751
+
752
+ end
753
+ end