azure_mgmt_iot_central 0.16.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 (27) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.txt +21 -0
  3. data/lib/2017-07-01-privatepreview/generated/azure_mgmt_iot_central.rb +42 -0
  4. data/lib/2017-07-01-privatepreview/generated/azure_mgmt_iot_central/apps.rb +1085 -0
  5. data/lib/2017-07-01-privatepreview/generated/azure_mgmt_iot_central/iot_central_client.rb +134 -0
  6. data/lib/2017-07-01-privatepreview/generated/azure_mgmt_iot_central/models/app.rb +155 -0
  7. data/lib/2017-07-01-privatepreview/generated/azure_mgmt_iot_central/models/app_list_result.rb +99 -0
  8. data/lib/2017-07-01-privatepreview/generated/azure_mgmt_iot_central/models/app_name_availability_info.rb +74 -0
  9. data/lib/2017-07-01-privatepreview/generated/azure_mgmt_iot_central/models/app_name_unavailability_reason.rb +16 -0
  10. data/lib/2017-07-01-privatepreview/generated/azure_mgmt_iot_central/models/app_patch.rb +108 -0
  11. data/lib/2017-07-01-privatepreview/generated/azure_mgmt_iot_central/models/app_sku.rb +16 -0
  12. data/lib/2017-07-01-privatepreview/generated/azure_mgmt_iot_central/models/app_sku_info.rb +47 -0
  13. data/lib/2017-07-01-privatepreview/generated/azure_mgmt_iot_central/models/error_details.rb +71 -0
  14. data/lib/2017-07-01-privatepreview/generated/azure_mgmt_iot_central/models/operation.rb +60 -0
  15. data/lib/2017-07-01-privatepreview/generated/azure_mgmt_iot_central/models/operation_display.rb +83 -0
  16. data/lib/2017-07-01-privatepreview/generated/azure_mgmt_iot_central/models/operation_inputs.rb +47 -0
  17. data/lib/2017-07-01-privatepreview/generated/azure_mgmt_iot_central/models/operation_list_result.rb +102 -0
  18. data/lib/2017-07-01-privatepreview/generated/azure_mgmt_iot_central/models/resource.rb +104 -0
  19. data/lib/2017-07-01-privatepreview/generated/azure_mgmt_iot_central/module_definition.rb +9 -0
  20. data/lib/2017-07-01-privatepreview/generated/azure_mgmt_iot_central/operations.rb +215 -0
  21. data/lib/azure_mgmt_iot_central.rb +6 -0
  22. data/lib/module_definition.rb +8 -0
  23. data/lib/profiles/latest/iotcentral_latest_profile_client.rb +40 -0
  24. data/lib/profiles/latest/iotcentral_module_definition.rb +8 -0
  25. data/lib/profiles/latest/modules/iotcentral_profile_module.rb +115 -0
  26. data/lib/version.rb +7 -0
  27. metadata +144 -0
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: b39ea717ce09b1382719d490c532bfbf4fdd58f5
4
+ data.tar.gz: 16b0520d46227e9563103b7b6510f7a6f5cee3bc
5
+ SHA512:
6
+ metadata.gz: ad38d0641669d0323ede85bb9ee9d2cf32d15a6fd9ef8c574785b53c45a535309db8ab54939e1a5aa4bf9a94d08f9c58b9c76cd28552a8f5f072d743c9dec10a
7
+ data.tar.gz: ff66fb25f01924b3b041221d9d7d353504bf829029a2d0cab93e87e437bd61cf608abe3802c8b3e09990bad941bc2ca99b1f2be10dbca0ebd7651b304cfe67d9
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2015 Microsoft Corporation
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.
@@ -0,0 +1,42 @@
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
+ require 'uri'
7
+ require 'cgi'
8
+ require 'date'
9
+ require 'json'
10
+ require 'base64'
11
+ require 'erb'
12
+ require 'securerandom'
13
+ require 'time'
14
+ require 'timeliness'
15
+ require 'faraday'
16
+ require 'faraday-cookie_jar'
17
+ require 'concurrent'
18
+ require 'ms_rest'
19
+ require '2017-07-01-privatepreview/generated/azure_mgmt_iot_central/module_definition'
20
+ require 'ms_rest_azure'
21
+
22
+ module Azure::IotCentral::Mgmt::V2017_07_01_privatepreview
23
+ autoload :Apps, '2017-07-01-privatepreview/generated/azure_mgmt_iot_central/apps.rb'
24
+ autoload :Operations, '2017-07-01-privatepreview/generated/azure_mgmt_iot_central/operations.rb'
25
+ autoload :IotCentralClient, '2017-07-01-privatepreview/generated/azure_mgmt_iot_central/iot_central_client.rb'
26
+
27
+ module Models
28
+ autoload :AppListResult, '2017-07-01-privatepreview/generated/azure_mgmt_iot_central/models/app_list_result.rb'
29
+ autoload :OperationDisplay, '2017-07-01-privatepreview/generated/azure_mgmt_iot_central/models/operation_display.rb'
30
+ autoload :AppPatch, '2017-07-01-privatepreview/generated/azure_mgmt_iot_central/models/app_patch.rb'
31
+ autoload :Operation, '2017-07-01-privatepreview/generated/azure_mgmt_iot_central/models/operation.rb'
32
+ autoload :ErrorDetails, '2017-07-01-privatepreview/generated/azure_mgmt_iot_central/models/error_details.rb'
33
+ autoload :OperationListResult, '2017-07-01-privatepreview/generated/azure_mgmt_iot_central/models/operation_list_result.rb'
34
+ autoload :Resource, '2017-07-01-privatepreview/generated/azure_mgmt_iot_central/models/resource.rb'
35
+ autoload :OperationInputs, '2017-07-01-privatepreview/generated/azure_mgmt_iot_central/models/operation_inputs.rb'
36
+ autoload :AppSkuInfo, '2017-07-01-privatepreview/generated/azure_mgmt_iot_central/models/app_sku_info.rb'
37
+ autoload :AppNameAvailabilityInfo, '2017-07-01-privatepreview/generated/azure_mgmt_iot_central/models/app_name_availability_info.rb'
38
+ autoload :App, '2017-07-01-privatepreview/generated/azure_mgmt_iot_central/models/app.rb'
39
+ autoload :AppSku, '2017-07-01-privatepreview/generated/azure_mgmt_iot_central/models/app_sku.rb'
40
+ autoload :AppNameUnavailabilityReason, '2017-07-01-privatepreview/generated/azure_mgmt_iot_central/models/app_name_unavailability_reason.rb'
41
+ end
42
+ end
@@ -0,0 +1,1085 @@
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::IotCentral::Mgmt::V2017_07_01_privatepreview
7
+ #
8
+ # Use this API to manage IoT Central Applications in your Azure subscription.
9
+ #
10
+ class Apps
11
+ include MsRestAzure
12
+
13
+ #
14
+ # Creates and initializes a new instance of the Apps class.
15
+ # @param client service class for accessing basic functionality.
16
+ #
17
+ def initialize(client)
18
+ @client = client
19
+ end
20
+
21
+ # @return [IotCentralClient] reference to the IotCentralClient
22
+ attr_reader :client
23
+
24
+ #
25
+ # Get the metadata of an IoT Central application.
26
+ #
27
+ # @param resource_group_name [String] The name of the resource group that
28
+ # contains the IoT Central application.
29
+ # @param resource_name [String] The ARM resource name of the IoT Central
30
+ # application.
31
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
32
+ # will be added to the HTTP request.
33
+ #
34
+ # @return [App] operation results.
35
+ #
36
+ def get(resource_group_name, resource_name, custom_headers:nil)
37
+ response = get_async(resource_group_name, resource_name, custom_headers:custom_headers).value!
38
+ response.body unless response.nil?
39
+ end
40
+
41
+ #
42
+ # Get the metadata of an IoT Central application.
43
+ #
44
+ # @param resource_group_name [String] The name of the resource group that
45
+ # contains the IoT Central application.
46
+ # @param resource_name [String] The ARM resource name of the IoT Central
47
+ # application.
48
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
49
+ # will be added to the HTTP request.
50
+ #
51
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
52
+ #
53
+ def get_with_http_info(resource_group_name, resource_name, custom_headers:nil)
54
+ get_async(resource_group_name, resource_name, custom_headers:custom_headers).value!
55
+ end
56
+
57
+ #
58
+ # Get the metadata of an IoT Central application.
59
+ #
60
+ # @param resource_group_name [String] The name of the resource group that
61
+ # contains the IoT Central application.
62
+ # @param resource_name [String] The ARM resource name of the IoT Central
63
+ # application.
64
+ # @param [Hash{String => String}] A hash of custom headers that will be added
65
+ # to the HTTP request.
66
+ #
67
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
68
+ #
69
+ def get_async(resource_group_name, resource_name, custom_headers:nil)
70
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
71
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
72
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
73
+ fail ArgumentError, 'resource_name is nil' if resource_name.nil?
74
+
75
+
76
+ request_headers = {}
77
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
78
+
79
+ # Set Headers
80
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
81
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
82
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.IoTCentral/IoTApps/{resourceName}'
83
+
84
+ request_url = @base_url || @client.base_url
85
+
86
+ options = {
87
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
88
+ path_params: {'subscriptionId' => @client.subscription_id,'resourceGroupName' => resource_group_name,'resourceName' => resource_name},
89
+ query_params: {'api-version' => @client.api_version},
90
+ headers: request_headers.merge(custom_headers || {}),
91
+ base_url: request_url
92
+ }
93
+ promise = @client.make_request_async(:get, path_template, options)
94
+
95
+ promise = promise.then do |result|
96
+ http_response = result.response
97
+ status_code = http_response.status
98
+ response_content = http_response.body
99
+ unless status_code == 200
100
+ error_model = JSON.load(response_content)
101
+ fail MsRest::HttpOperationError.new(result.request, http_response, error_model)
102
+ end
103
+
104
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
105
+ # Deserialize Response
106
+ if status_code == 200
107
+ begin
108
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
109
+ result_mapper = Azure::IotCentral::Mgmt::V2017_07_01_privatepreview::Models::App.mapper()
110
+ result.body = @client.deserialize(result_mapper, parsed_response)
111
+ rescue Exception => e
112
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
113
+ end
114
+ end
115
+
116
+ result
117
+ end
118
+
119
+ promise.execute
120
+ end
121
+
122
+ #
123
+ # Create or update the metadata of an IoT Central application. The usual
124
+ # pattern to modify a property is to retrieve the IoT Central application
125
+ # metadata and security metadata, and then combine them with the modified
126
+ # values in a new body to update the IoT Central application.
127
+ #
128
+ # @param resource_group_name [String] The name of the resource group that
129
+ # contains the IoT Central application.
130
+ # @param resource_name [String] The ARM resource name of the IoT Central
131
+ # application.
132
+ # @param app [App] The IoT Central application metadata and security metadata.
133
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
134
+ # will be added to the HTTP request.
135
+ #
136
+ # @return [App] operation results.
137
+ #
138
+ def create_or_update(resource_group_name, resource_name, app, custom_headers:nil)
139
+ response = create_or_update_async(resource_group_name, resource_name, app, custom_headers:custom_headers).value!
140
+ response.body unless response.nil?
141
+ end
142
+
143
+ #
144
+ # @param resource_group_name [String] The name of the resource group that
145
+ # contains the IoT Central application.
146
+ # @param resource_name [String] The ARM resource name of the IoT Central
147
+ # application.
148
+ # @param app [App] The IoT Central application metadata and security metadata.
149
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
150
+ # will be added to the HTTP request.
151
+ #
152
+ # @return [Concurrent::Promise] promise which provides async access to http
153
+ # response.
154
+ #
155
+ def create_or_update_async(resource_group_name, resource_name, app, custom_headers:nil)
156
+ # Send request
157
+ promise = begin_create_or_update_async(resource_group_name, resource_name, app, custom_headers:custom_headers)
158
+
159
+ promise = promise.then do |response|
160
+ # Defining deserialization method.
161
+ deserialize_method = lambda do |parsed_response|
162
+ result_mapper = Azure::IotCentral::Mgmt::V2017_07_01_privatepreview::Models::App.mapper()
163
+ parsed_response = @client.deserialize(result_mapper, parsed_response)
164
+ end
165
+
166
+ # Waiting for response.
167
+ @client.get_long_running_operation_result(response, deserialize_method)
168
+ end
169
+
170
+ promise
171
+ end
172
+
173
+ #
174
+ # Update the metadata of an IoT Central application.
175
+ #
176
+ # @param resource_group_name [String] The name of the resource group that
177
+ # contains the IoT Central application.
178
+ # @param resource_name [String] The ARM resource name of the IoT Central
179
+ # application.
180
+ # @param app_patch [AppPatch] The IoT Central application metadata and security
181
+ # metadata.
182
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
183
+ # will be added to the HTTP request.
184
+ #
185
+ # @return [App] operation results.
186
+ #
187
+ def update(resource_group_name, resource_name, app_patch, custom_headers:nil)
188
+ response = update_async(resource_group_name, resource_name, app_patch, custom_headers:custom_headers).value!
189
+ response.body unless response.nil?
190
+ end
191
+
192
+ #
193
+ # @param resource_group_name [String] The name of the resource group that
194
+ # contains the IoT Central application.
195
+ # @param resource_name [String] The ARM resource name of the IoT Central
196
+ # application.
197
+ # @param app_patch [AppPatch] The IoT Central application metadata and security
198
+ # metadata.
199
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
200
+ # will be added to the HTTP request.
201
+ #
202
+ # @return [Concurrent::Promise] promise which provides async access to http
203
+ # response.
204
+ #
205
+ def update_async(resource_group_name, resource_name, app_patch, custom_headers:nil)
206
+ # Send request
207
+ promise = begin_update_async(resource_group_name, resource_name, app_patch, custom_headers:custom_headers)
208
+
209
+ promise = promise.then do |response|
210
+ # Defining deserialization method.
211
+ deserialize_method = lambda do |parsed_response|
212
+ result_mapper = Azure::IotCentral::Mgmt::V2017_07_01_privatepreview::Models::App.mapper()
213
+ parsed_response = @client.deserialize(result_mapper, parsed_response)
214
+ end
215
+
216
+ # Waiting for response.
217
+ @client.get_long_running_operation_result(response, deserialize_method)
218
+ end
219
+
220
+ promise
221
+ end
222
+
223
+ #
224
+ # Delete an IoT Central application.
225
+ #
226
+ # @param resource_group_name [String] The name of the resource group that
227
+ # contains the IoT Central application.
228
+ # @param resource_name [String] The ARM resource name of the IoT Central
229
+ # application.
230
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
231
+ # will be added to the HTTP request.
232
+ #
233
+ def delete(resource_group_name, resource_name, custom_headers:nil)
234
+ response = delete_async(resource_group_name, resource_name, custom_headers:custom_headers).value!
235
+ nil
236
+ end
237
+
238
+ #
239
+ # @param resource_group_name [String] The name of the resource group that
240
+ # contains the IoT Central application.
241
+ # @param resource_name [String] The ARM resource name of the IoT Central
242
+ # application.
243
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
244
+ # will be added to the HTTP request.
245
+ #
246
+ # @return [Concurrent::Promise] promise which provides async access to http
247
+ # response.
248
+ #
249
+ def delete_async(resource_group_name, resource_name, custom_headers:nil)
250
+ # Send request
251
+ promise = begin_delete_async(resource_group_name, resource_name, custom_headers:custom_headers)
252
+
253
+ promise = promise.then do |response|
254
+ # Defining deserialization method.
255
+ deserialize_method = lambda do |parsed_response|
256
+ end
257
+
258
+ # Waiting for response.
259
+ @client.get_long_running_operation_result(response, deserialize_method)
260
+ end
261
+
262
+ promise
263
+ end
264
+
265
+ #
266
+ # Get all IoT Central Applications in a subscription.
267
+ #
268
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
269
+ # will be added to the HTTP request.
270
+ #
271
+ # @return [Array<App>] operation results.
272
+ #
273
+ def list_by_subscription(custom_headers:nil)
274
+ first_page = list_by_subscription_as_lazy(custom_headers:custom_headers)
275
+ first_page.get_all_items
276
+ end
277
+
278
+ #
279
+ # Get all IoT Central Applications in a subscription.
280
+ #
281
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
282
+ # will be added to the HTTP request.
283
+ #
284
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
285
+ #
286
+ def list_by_subscription_with_http_info(custom_headers:nil)
287
+ list_by_subscription_async(custom_headers:custom_headers).value!
288
+ end
289
+
290
+ #
291
+ # Get all IoT Central Applications in a subscription.
292
+ #
293
+ # @param [Hash{String => String}] A hash of custom headers that will be added
294
+ # to the HTTP request.
295
+ #
296
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
297
+ #
298
+ def list_by_subscription_async(custom_headers:nil)
299
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
300
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
301
+
302
+
303
+ request_headers = {}
304
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
305
+
306
+ # Set Headers
307
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
308
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
309
+ path_template = 'subscriptions/{subscriptionId}/providers/Microsoft.IoTCentral/IoTApps'
310
+
311
+ request_url = @base_url || @client.base_url
312
+
313
+ options = {
314
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
315
+ path_params: {'subscriptionId' => @client.subscription_id},
316
+ query_params: {'api-version' => @client.api_version},
317
+ headers: request_headers.merge(custom_headers || {}),
318
+ base_url: request_url
319
+ }
320
+ promise = @client.make_request_async(:get, path_template, options)
321
+
322
+ promise = promise.then do |result|
323
+ http_response = result.response
324
+ status_code = http_response.status
325
+ response_content = http_response.body
326
+ unless status_code == 200
327
+ error_model = JSON.load(response_content)
328
+ fail MsRest::HttpOperationError.new(result.request, http_response, error_model)
329
+ end
330
+
331
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
332
+ # Deserialize Response
333
+ if status_code == 200
334
+ begin
335
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
336
+ result_mapper = Azure::IotCentral::Mgmt::V2017_07_01_privatepreview::Models::AppListResult.mapper()
337
+ result.body = @client.deserialize(result_mapper, parsed_response)
338
+ rescue Exception => e
339
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
340
+ end
341
+ end
342
+
343
+ result
344
+ end
345
+
346
+ promise.execute
347
+ end
348
+
349
+ #
350
+ # Get all the IoT Central Applications in a resource group.
351
+ #
352
+ # @param resource_group_name [String] The name of the resource group that
353
+ # contains the IoT Central application.
354
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
355
+ # will be added to the HTTP request.
356
+ #
357
+ # @return [Array<App>] operation results.
358
+ #
359
+ def list_by_resource_group(resource_group_name, custom_headers:nil)
360
+ first_page = list_by_resource_group_as_lazy(resource_group_name, custom_headers:custom_headers)
361
+ first_page.get_all_items
362
+ end
363
+
364
+ #
365
+ # Get all the IoT Central Applications in a resource group.
366
+ #
367
+ # @param resource_group_name [String] The name of the resource group that
368
+ # contains the IoT Central application.
369
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
370
+ # will be added to the HTTP request.
371
+ #
372
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
373
+ #
374
+ def list_by_resource_group_with_http_info(resource_group_name, custom_headers:nil)
375
+ list_by_resource_group_async(resource_group_name, custom_headers:custom_headers).value!
376
+ end
377
+
378
+ #
379
+ # Get all the IoT Central Applications in a resource group.
380
+ #
381
+ # @param resource_group_name [String] The name of the resource group that
382
+ # contains the IoT Central application.
383
+ # @param [Hash{String => String}] A hash of custom headers that will be added
384
+ # to the HTTP request.
385
+ #
386
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
387
+ #
388
+ def list_by_resource_group_async(resource_group_name, custom_headers:nil)
389
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
390
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
391
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
392
+
393
+
394
+ request_headers = {}
395
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
396
+
397
+ # Set Headers
398
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
399
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
400
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.IoTCentral/IoTApps'
401
+
402
+ request_url = @base_url || @client.base_url
403
+
404
+ options = {
405
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
406
+ path_params: {'subscriptionId' => @client.subscription_id,'resourceGroupName' => resource_group_name},
407
+ query_params: {'api-version' => @client.api_version},
408
+ headers: request_headers.merge(custom_headers || {}),
409
+ base_url: request_url
410
+ }
411
+ promise = @client.make_request_async(:get, path_template, options)
412
+
413
+ promise = promise.then do |result|
414
+ http_response = result.response
415
+ status_code = http_response.status
416
+ response_content = http_response.body
417
+ unless status_code == 200
418
+ error_model = JSON.load(response_content)
419
+ fail MsRest::HttpOperationError.new(result.request, http_response, error_model)
420
+ end
421
+
422
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
423
+ # Deserialize Response
424
+ if status_code == 200
425
+ begin
426
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
427
+ result_mapper = Azure::IotCentral::Mgmt::V2017_07_01_privatepreview::Models::AppListResult.mapper()
428
+ result.body = @client.deserialize(result_mapper, parsed_response)
429
+ rescue Exception => e
430
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
431
+ end
432
+ end
433
+
434
+ result
435
+ end
436
+
437
+ promise.execute
438
+ end
439
+
440
+ #
441
+ # Check if an IoT Central application name is available.
442
+ #
443
+ # @param operation_inputs [OperationInputs] Set the name parameter in the
444
+ # OperationInputs structure to the name of the IoT Central application to
445
+ # check.
446
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
447
+ # will be added to the HTTP request.
448
+ #
449
+ # @return [AppNameAvailabilityInfo] operation results.
450
+ #
451
+ def check_name_availability(operation_inputs, custom_headers:nil)
452
+ response = check_name_availability_async(operation_inputs, custom_headers:custom_headers).value!
453
+ response.body unless response.nil?
454
+ end
455
+
456
+ #
457
+ # Check if an IoT Central application name is available.
458
+ #
459
+ # @param operation_inputs [OperationInputs] Set the name parameter in the
460
+ # OperationInputs structure to the name of the IoT Central application to
461
+ # check.
462
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
463
+ # will be added to the HTTP request.
464
+ #
465
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
466
+ #
467
+ def check_name_availability_with_http_info(operation_inputs, custom_headers:nil)
468
+ check_name_availability_async(operation_inputs, custom_headers:custom_headers).value!
469
+ end
470
+
471
+ #
472
+ # Check if an IoT Central application name is available.
473
+ #
474
+ # @param operation_inputs [OperationInputs] Set the name parameter in the
475
+ # OperationInputs structure to the name of the IoT Central application to
476
+ # check.
477
+ # @param [Hash{String => String}] A hash of custom headers that will be added
478
+ # to the HTTP request.
479
+ #
480
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
481
+ #
482
+ def check_name_availability_async(operation_inputs, custom_headers:nil)
483
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
484
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
485
+ fail ArgumentError, 'operation_inputs is nil' if operation_inputs.nil?
486
+
487
+
488
+ request_headers = {}
489
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
490
+
491
+ # Set Headers
492
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
493
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
494
+
495
+ # Serialize Request
496
+ request_mapper = Azure::IotCentral::Mgmt::V2017_07_01_privatepreview::Models::OperationInputs.mapper()
497
+ request_content = @client.serialize(request_mapper, operation_inputs)
498
+ request_content = request_content != nil ? JSON.generate(request_content, quirks_mode: true) : nil
499
+
500
+ path_template = 'subscriptions/{subscriptionId}/providers/Microsoft.IoTCentral/checkNameAvailability'
501
+
502
+ request_url = @base_url || @client.base_url
503
+
504
+ options = {
505
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
506
+ path_params: {'subscriptionId' => @client.subscription_id},
507
+ query_params: {'api-version' => @client.api_version},
508
+ body: request_content,
509
+ headers: request_headers.merge(custom_headers || {}),
510
+ base_url: request_url
511
+ }
512
+ promise = @client.make_request_async(:post, path_template, options)
513
+
514
+ promise = promise.then do |result|
515
+ http_response = result.response
516
+ status_code = http_response.status
517
+ response_content = http_response.body
518
+ unless status_code == 200
519
+ error_model = JSON.load(response_content)
520
+ fail MsRest::HttpOperationError.new(result.request, http_response, error_model)
521
+ end
522
+
523
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
524
+ # Deserialize Response
525
+ if status_code == 200
526
+ begin
527
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
528
+ result_mapper = Azure::IotCentral::Mgmt::V2017_07_01_privatepreview::Models::AppNameAvailabilityInfo.mapper()
529
+ result.body = @client.deserialize(result_mapper, parsed_response)
530
+ rescue Exception => e
531
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
532
+ end
533
+ end
534
+
535
+ result
536
+ end
537
+
538
+ promise.execute
539
+ end
540
+
541
+ #
542
+ # Create or update the metadata of an IoT Central application. The usual
543
+ # pattern to modify a property is to retrieve the IoT Central application
544
+ # metadata and security metadata, and then combine them with the modified
545
+ # values in a new body to update the IoT Central application.
546
+ #
547
+ # @param resource_group_name [String] The name of the resource group that
548
+ # contains the IoT Central application.
549
+ # @param resource_name [String] The ARM resource name of the IoT Central
550
+ # application.
551
+ # @param app [App] The IoT Central application metadata and security metadata.
552
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
553
+ # will be added to the HTTP request.
554
+ #
555
+ # @return [App] operation results.
556
+ #
557
+ def begin_create_or_update(resource_group_name, resource_name, app, custom_headers:nil)
558
+ response = begin_create_or_update_async(resource_group_name, resource_name, app, custom_headers:custom_headers).value!
559
+ response.body unless response.nil?
560
+ end
561
+
562
+ #
563
+ # Create or update the metadata of an IoT Central application. The usual
564
+ # pattern to modify a property is to retrieve the IoT Central application
565
+ # metadata and security metadata, and then combine them with the modified
566
+ # values in a new body to update the IoT Central application.
567
+ #
568
+ # @param resource_group_name [String] The name of the resource group that
569
+ # contains the IoT Central application.
570
+ # @param resource_name [String] The ARM resource name of the IoT Central
571
+ # application.
572
+ # @param app [App] The IoT Central application metadata and security metadata.
573
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
574
+ # will be added to the HTTP request.
575
+ #
576
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
577
+ #
578
+ def begin_create_or_update_with_http_info(resource_group_name, resource_name, app, custom_headers:nil)
579
+ begin_create_or_update_async(resource_group_name, resource_name, app, custom_headers:custom_headers).value!
580
+ end
581
+
582
+ #
583
+ # Create or update the metadata of an IoT Central application. The usual
584
+ # pattern to modify a property is to retrieve the IoT Central application
585
+ # metadata and security metadata, and then combine them with the modified
586
+ # values in a new body to update the IoT Central application.
587
+ #
588
+ # @param resource_group_name [String] The name of the resource group that
589
+ # contains the IoT Central application.
590
+ # @param resource_name [String] The ARM resource name of the IoT Central
591
+ # application.
592
+ # @param app [App] The IoT Central application metadata and security metadata.
593
+ # @param [Hash{String => String}] A hash of custom headers that will be added
594
+ # to the HTTP request.
595
+ #
596
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
597
+ #
598
+ def begin_create_or_update_async(resource_group_name, resource_name, app, custom_headers:nil)
599
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
600
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
601
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
602
+ fail ArgumentError, 'resource_name is nil' if resource_name.nil?
603
+ fail ArgumentError, 'app is nil' if app.nil?
604
+
605
+
606
+ request_headers = {}
607
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
608
+
609
+ # Set Headers
610
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
611
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
612
+
613
+ # Serialize Request
614
+ request_mapper = Azure::IotCentral::Mgmt::V2017_07_01_privatepreview::Models::App.mapper()
615
+ request_content = @client.serialize(request_mapper, app)
616
+ request_content = request_content != nil ? JSON.generate(request_content, quirks_mode: true) : nil
617
+
618
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.IoTCentral/IoTApps/{resourceName}'
619
+
620
+ request_url = @base_url || @client.base_url
621
+
622
+ options = {
623
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
624
+ path_params: {'subscriptionId' => @client.subscription_id,'resourceGroupName' => resource_group_name,'resourceName' => resource_name},
625
+ query_params: {'api-version' => @client.api_version},
626
+ body: request_content,
627
+ headers: request_headers.merge(custom_headers || {}),
628
+ base_url: request_url
629
+ }
630
+ promise = @client.make_request_async(:put, path_template, options)
631
+
632
+ promise = promise.then do |result|
633
+ http_response = result.response
634
+ status_code = http_response.status
635
+ response_content = http_response.body
636
+ unless status_code == 200 || status_code == 201 || status_code == 202
637
+ error_model = JSON.load(response_content)
638
+ fail MsRest::HttpOperationError.new(result.request, http_response, error_model)
639
+ end
640
+
641
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
642
+ # Deserialize Response
643
+ if status_code == 200
644
+ begin
645
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
646
+ result_mapper = Azure::IotCentral::Mgmt::V2017_07_01_privatepreview::Models::App.mapper()
647
+ result.body = @client.deserialize(result_mapper, parsed_response)
648
+ rescue Exception => e
649
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
650
+ end
651
+ end
652
+ # Deserialize Response
653
+ if status_code == 201
654
+ begin
655
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
656
+ result_mapper = Azure::IotCentral::Mgmt::V2017_07_01_privatepreview::Models::App.mapper()
657
+ result.body = @client.deserialize(result_mapper, parsed_response)
658
+ rescue Exception => e
659
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
660
+ end
661
+ end
662
+
663
+ result
664
+ end
665
+
666
+ promise.execute
667
+ end
668
+
669
+ #
670
+ # Update the metadata of an IoT Central application.
671
+ #
672
+ # @param resource_group_name [String] The name of the resource group that
673
+ # contains the IoT Central application.
674
+ # @param resource_name [String] The ARM resource name of the IoT Central
675
+ # application.
676
+ # @param app_patch [AppPatch] The IoT Central application metadata and security
677
+ # metadata.
678
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
679
+ # will be added to the HTTP request.
680
+ #
681
+ # @return [App] operation results.
682
+ #
683
+ def begin_update(resource_group_name, resource_name, app_patch, custom_headers:nil)
684
+ response = begin_update_async(resource_group_name, resource_name, app_patch, custom_headers:custom_headers).value!
685
+ response.body unless response.nil?
686
+ end
687
+
688
+ #
689
+ # Update the metadata of an IoT Central application.
690
+ #
691
+ # @param resource_group_name [String] The name of the resource group that
692
+ # contains the IoT Central application.
693
+ # @param resource_name [String] The ARM resource name of the IoT Central
694
+ # application.
695
+ # @param app_patch [AppPatch] The IoT Central application metadata and security
696
+ # metadata.
697
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
698
+ # will be added to the HTTP request.
699
+ #
700
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
701
+ #
702
+ def begin_update_with_http_info(resource_group_name, resource_name, app_patch, custom_headers:nil)
703
+ begin_update_async(resource_group_name, resource_name, app_patch, custom_headers:custom_headers).value!
704
+ end
705
+
706
+ #
707
+ # Update the metadata of an IoT Central application.
708
+ #
709
+ # @param resource_group_name [String] The name of the resource group that
710
+ # contains the IoT Central application.
711
+ # @param resource_name [String] The ARM resource name of the IoT Central
712
+ # application.
713
+ # @param app_patch [AppPatch] The IoT Central application metadata and security
714
+ # metadata.
715
+ # @param [Hash{String => String}] A hash of custom headers that will be added
716
+ # to the HTTP request.
717
+ #
718
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
719
+ #
720
+ def begin_update_async(resource_group_name, resource_name, app_patch, custom_headers:nil)
721
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
722
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
723
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
724
+ fail ArgumentError, 'resource_name is nil' if resource_name.nil?
725
+ fail ArgumentError, 'app_patch is nil' if app_patch.nil?
726
+
727
+
728
+ request_headers = {}
729
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
730
+
731
+ # Set Headers
732
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
733
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
734
+
735
+ # Serialize Request
736
+ request_mapper = Azure::IotCentral::Mgmt::V2017_07_01_privatepreview::Models::AppPatch.mapper()
737
+ request_content = @client.serialize(request_mapper, app_patch)
738
+ request_content = request_content != nil ? JSON.generate(request_content, quirks_mode: true) : nil
739
+
740
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.IoTCentral/IoTApps/{resourceName}'
741
+
742
+ request_url = @base_url || @client.base_url
743
+
744
+ options = {
745
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
746
+ path_params: {'subscriptionId' => @client.subscription_id,'resourceGroupName' => resource_group_name,'resourceName' => resource_name},
747
+ query_params: {'api-version' => @client.api_version},
748
+ body: request_content,
749
+ headers: request_headers.merge(custom_headers || {}),
750
+ base_url: request_url
751
+ }
752
+ promise = @client.make_request_async(:patch, path_template, options)
753
+
754
+ promise = promise.then do |result|
755
+ http_response = result.response
756
+ status_code = http_response.status
757
+ response_content = http_response.body
758
+ unless status_code == 200 || status_code == 202
759
+ error_model = JSON.load(response_content)
760
+ fail MsRest::HttpOperationError.new(result.request, http_response, error_model)
761
+ end
762
+
763
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
764
+ # Deserialize Response
765
+ if status_code == 200
766
+ begin
767
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
768
+ result_mapper = Azure::IotCentral::Mgmt::V2017_07_01_privatepreview::Models::App.mapper()
769
+ result.body = @client.deserialize(result_mapper, parsed_response)
770
+ rescue Exception => e
771
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
772
+ end
773
+ end
774
+
775
+ result
776
+ end
777
+
778
+ promise.execute
779
+ end
780
+
781
+ #
782
+ # Delete an IoT Central application.
783
+ #
784
+ # @param resource_group_name [String] The name of the resource group that
785
+ # contains the IoT Central application.
786
+ # @param resource_name [String] The ARM resource name of the IoT Central
787
+ # application.
788
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
789
+ # will be added to the HTTP request.
790
+ #
791
+ #
792
+ def begin_delete(resource_group_name, resource_name, custom_headers:nil)
793
+ response = begin_delete_async(resource_group_name, resource_name, custom_headers:custom_headers).value!
794
+ nil
795
+ end
796
+
797
+ #
798
+ # Delete an IoT Central application.
799
+ #
800
+ # @param resource_group_name [String] The name of the resource group that
801
+ # contains the IoT Central application.
802
+ # @param resource_name [String] The ARM resource name of the IoT Central
803
+ # application.
804
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
805
+ # will be added to the HTTP request.
806
+ #
807
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
808
+ #
809
+ def begin_delete_with_http_info(resource_group_name, resource_name, custom_headers:nil)
810
+ begin_delete_async(resource_group_name, resource_name, custom_headers:custom_headers).value!
811
+ end
812
+
813
+ #
814
+ # Delete an IoT Central application.
815
+ #
816
+ # @param resource_group_name [String] The name of the resource group that
817
+ # contains the IoT Central application.
818
+ # @param resource_name [String] The ARM resource name of the IoT Central
819
+ # application.
820
+ # @param [Hash{String => String}] A hash of custom headers that will be added
821
+ # to the HTTP request.
822
+ #
823
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
824
+ #
825
+ def begin_delete_async(resource_group_name, resource_name, custom_headers:nil)
826
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
827
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
828
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
829
+ fail ArgumentError, 'resource_name is nil' if resource_name.nil?
830
+
831
+
832
+ request_headers = {}
833
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
834
+
835
+ # Set Headers
836
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
837
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
838
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.IoTCentral/IoTApps/{resourceName}'
839
+
840
+ request_url = @base_url || @client.base_url
841
+
842
+ options = {
843
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
844
+ path_params: {'subscriptionId' => @client.subscription_id,'resourceGroupName' => resource_group_name,'resourceName' => resource_name},
845
+ query_params: {'api-version' => @client.api_version},
846
+ headers: request_headers.merge(custom_headers || {}),
847
+ base_url: request_url
848
+ }
849
+ promise = @client.make_request_async(:delete, path_template, options)
850
+
851
+ promise = promise.then do |result|
852
+ http_response = result.response
853
+ status_code = http_response.status
854
+ response_content = http_response.body
855
+ unless status_code == 200 || status_code == 202 || status_code == 204
856
+ error_model = JSON.load(response_content)
857
+ fail MsRest::HttpOperationError.new(result.request, http_response, error_model)
858
+ end
859
+
860
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
861
+
862
+ result
863
+ end
864
+
865
+ promise.execute
866
+ end
867
+
868
+ #
869
+ # Get all IoT Central Applications in a subscription.
870
+ #
871
+ # @param next_page_link [String] The NextLink from the previous successful call
872
+ # to List operation.
873
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
874
+ # will be added to the HTTP request.
875
+ #
876
+ # @return [AppListResult] operation results.
877
+ #
878
+ def list_by_subscription_next(next_page_link, custom_headers:nil)
879
+ response = list_by_subscription_next_async(next_page_link, custom_headers:custom_headers).value!
880
+ response.body unless response.nil?
881
+ end
882
+
883
+ #
884
+ # Get all IoT Central Applications in a subscription.
885
+ #
886
+ # @param next_page_link [String] The NextLink from the previous successful call
887
+ # to List operation.
888
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
889
+ # will be added to the HTTP request.
890
+ #
891
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
892
+ #
893
+ def list_by_subscription_next_with_http_info(next_page_link, custom_headers:nil)
894
+ list_by_subscription_next_async(next_page_link, custom_headers:custom_headers).value!
895
+ end
896
+
897
+ #
898
+ # Get all IoT Central Applications in a subscription.
899
+ #
900
+ # @param next_page_link [String] The NextLink from the previous successful call
901
+ # to List operation.
902
+ # @param [Hash{String => String}] A hash of custom headers that will be added
903
+ # to the HTTP request.
904
+ #
905
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
906
+ #
907
+ def list_by_subscription_next_async(next_page_link, custom_headers:nil)
908
+ fail ArgumentError, 'next_page_link is nil' if next_page_link.nil?
909
+
910
+
911
+ request_headers = {}
912
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
913
+
914
+ # Set Headers
915
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
916
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
917
+ path_template = '{nextLink}'
918
+
919
+ request_url = @base_url || @client.base_url
920
+
921
+ options = {
922
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
923
+ skip_encoding_path_params: {'nextLink' => next_page_link},
924
+ headers: request_headers.merge(custom_headers || {}),
925
+ base_url: request_url
926
+ }
927
+ promise = @client.make_request_async(:get, path_template, options)
928
+
929
+ promise = promise.then do |result|
930
+ http_response = result.response
931
+ status_code = http_response.status
932
+ response_content = http_response.body
933
+ unless status_code == 200
934
+ error_model = JSON.load(response_content)
935
+ fail MsRest::HttpOperationError.new(result.request, http_response, error_model)
936
+ end
937
+
938
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
939
+ # Deserialize Response
940
+ if status_code == 200
941
+ begin
942
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
943
+ result_mapper = Azure::IotCentral::Mgmt::V2017_07_01_privatepreview::Models::AppListResult.mapper()
944
+ result.body = @client.deserialize(result_mapper, parsed_response)
945
+ rescue Exception => e
946
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
947
+ end
948
+ end
949
+
950
+ result
951
+ end
952
+
953
+ promise.execute
954
+ end
955
+
956
+ #
957
+ # Get all the IoT Central Applications in a resource group.
958
+ #
959
+ # @param next_page_link [String] The NextLink from the previous successful call
960
+ # to List operation.
961
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
962
+ # will be added to the HTTP request.
963
+ #
964
+ # @return [AppListResult] operation results.
965
+ #
966
+ def list_by_resource_group_next(next_page_link, custom_headers:nil)
967
+ response = list_by_resource_group_next_async(next_page_link, custom_headers:custom_headers).value!
968
+ response.body unless response.nil?
969
+ end
970
+
971
+ #
972
+ # Get all the IoT Central Applications in a resource group.
973
+ #
974
+ # @param next_page_link [String] The NextLink from the previous successful call
975
+ # to List operation.
976
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
977
+ # will be added to the HTTP request.
978
+ #
979
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
980
+ #
981
+ def list_by_resource_group_next_with_http_info(next_page_link, custom_headers:nil)
982
+ list_by_resource_group_next_async(next_page_link, custom_headers:custom_headers).value!
983
+ end
984
+
985
+ #
986
+ # Get all the IoT Central Applications in a resource group.
987
+ #
988
+ # @param next_page_link [String] The NextLink from the previous successful call
989
+ # to List operation.
990
+ # @param [Hash{String => String}] A hash of custom headers that will be added
991
+ # to the HTTP request.
992
+ #
993
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
994
+ #
995
+ def list_by_resource_group_next_async(next_page_link, custom_headers:nil)
996
+ fail ArgumentError, 'next_page_link is nil' if next_page_link.nil?
997
+
998
+
999
+ request_headers = {}
1000
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
1001
+
1002
+ # Set Headers
1003
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
1004
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
1005
+ path_template = '{nextLink}'
1006
+
1007
+ request_url = @base_url || @client.base_url
1008
+
1009
+ options = {
1010
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
1011
+ skip_encoding_path_params: {'nextLink' => next_page_link},
1012
+ headers: request_headers.merge(custom_headers || {}),
1013
+ base_url: request_url
1014
+ }
1015
+ promise = @client.make_request_async(:get, path_template, options)
1016
+
1017
+ promise = promise.then do |result|
1018
+ http_response = result.response
1019
+ status_code = http_response.status
1020
+ response_content = http_response.body
1021
+ unless status_code == 200
1022
+ error_model = JSON.load(response_content)
1023
+ fail MsRest::HttpOperationError.new(result.request, http_response, error_model)
1024
+ end
1025
+
1026
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
1027
+ # Deserialize Response
1028
+ if status_code == 200
1029
+ begin
1030
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
1031
+ result_mapper = Azure::IotCentral::Mgmt::V2017_07_01_privatepreview::Models::AppListResult.mapper()
1032
+ result.body = @client.deserialize(result_mapper, parsed_response)
1033
+ rescue Exception => e
1034
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
1035
+ end
1036
+ end
1037
+
1038
+ result
1039
+ end
1040
+
1041
+ promise.execute
1042
+ end
1043
+
1044
+ #
1045
+ # Get all IoT Central Applications in a subscription.
1046
+ #
1047
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
1048
+ # will be added to the HTTP request.
1049
+ #
1050
+ # @return [AppListResult] which provide lazy access to pages of the response.
1051
+ #
1052
+ def list_by_subscription_as_lazy(custom_headers:nil)
1053
+ response = list_by_subscription_async(custom_headers:custom_headers).value!
1054
+ unless response.nil?
1055
+ page = response.body
1056
+ page.next_method = Proc.new do |next_page_link|
1057
+ list_by_subscription_next_async(next_page_link, custom_headers:custom_headers)
1058
+ end
1059
+ page
1060
+ end
1061
+ end
1062
+
1063
+ #
1064
+ # Get all the IoT Central Applications in a resource group.
1065
+ #
1066
+ # @param resource_group_name [String] The name of the resource group that
1067
+ # contains the IoT Central application.
1068
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
1069
+ # will be added to the HTTP request.
1070
+ #
1071
+ # @return [AppListResult] which provide lazy access to pages of the response.
1072
+ #
1073
+ def list_by_resource_group_as_lazy(resource_group_name, custom_headers:nil)
1074
+ response = list_by_resource_group_async(resource_group_name, custom_headers:custom_headers).value!
1075
+ unless response.nil?
1076
+ page = response.body
1077
+ page.next_method = Proc.new do |next_page_link|
1078
+ list_by_resource_group_next_async(next_page_link, custom_headers:custom_headers)
1079
+ end
1080
+ page
1081
+ end
1082
+ end
1083
+
1084
+ end
1085
+ end