azure_mgmt_devtestlabs 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (87) hide show
  1. checksums.yaml +7 -0
  2. data/.rspec +3 -0
  3. data/LICENSE.txt +21 -0
  4. data/Rakefile +5 -0
  5. data/azure_mgmt_devtestlabs.gemspec +34 -0
  6. data/lib/azure_mgmt_devtestlabs.rb +5 -0
  7. data/lib/generated/azure_mgmt_devtestlabs.rb +103 -0
  8. data/lib/generated/azure_mgmt_devtestlabs/artifact_operations.rb +477 -0
  9. data/lib/generated/azure_mgmt_devtestlabs/artifact_source_operations.rb +669 -0
  10. data/lib/generated/azure_mgmt_devtestlabs/cost_operations.rb +124 -0
  11. data/lib/generated/azure_mgmt_devtestlabs/custom_image_operations.rb +648 -0
  12. data/lib/generated/azure_mgmt_devtestlabs/dev_test_labs_client.rb +110 -0
  13. data/lib/generated/azure_mgmt_devtestlabs/formula_operations.rb +608 -0
  14. data/lib/generated/azure_mgmt_devtestlabs/gallery_image_operations.rb +252 -0
  15. data/lib/generated/azure_mgmt_devtestlabs/lab_operations.rb +1403 -0
  16. data/lib/generated/azure_mgmt_devtestlabs/models/apply_artifacts_request.rb +53 -0
  17. data/lib/generated/azure_mgmt_devtestlabs/models/arm_template_info.rb +54 -0
  18. data/lib/generated/azure_mgmt_devtestlabs/models/artifact.rb +151 -0
  19. data/lib/generated/azure_mgmt_devtestlabs/models/artifact_deployment_status_properties.rb +66 -0
  20. data/lib/generated/azure_mgmt_devtestlabs/models/artifact_install_properties.rb +63 -0
  21. data/lib/generated/azure_mgmt_devtestlabs/models/artifact_parameter_properties.rb +54 -0
  22. data/lib/generated/azure_mgmt_devtestlabs/models/artifact_source.rb +183 -0
  23. data/lib/generated/azure_mgmt_devtestlabs/models/cost.rb +139 -0
  24. data/lib/generated/azure_mgmt_devtestlabs/models/cost_per_day_properties.rb +65 -0
  25. data/lib/generated/azure_mgmt_devtestlabs/models/custom_image.rb +164 -0
  26. data/lib/generated/azure_mgmt_devtestlabs/models/custom_image_os_type.rb +17 -0
  27. data/lib/generated/azure_mgmt_devtestlabs/models/custom_image_properties_custom.rb +65 -0
  28. data/lib/generated/azure_mgmt_devtestlabs/models/custom_image_properties_from_vm.rb +66 -0
  29. data/lib/generated/azure_mgmt_devtestlabs/models/day_details.rb +44 -0
  30. data/lib/generated/azure_mgmt_devtestlabs/models/enable_status.rb +16 -0
  31. data/lib/generated/azure_mgmt_devtestlabs/models/evaluate_policies_properties.rb +64 -0
  32. data/lib/generated/azure_mgmt_devtestlabs/models/evaluate_policies_request.rb +52 -0
  33. data/lib/generated/azure_mgmt_devtestlabs/models/evaluate_policies_response.rb +52 -0
  34. data/lib/generated/azure_mgmt_devtestlabs/models/formula.rb +174 -0
  35. data/lib/generated/azure_mgmt_devtestlabs/models/formula_properties_from_vm.rb +45 -0
  36. data/lib/generated/azure_mgmt_devtestlabs/models/gallery_image.rb +153 -0
  37. data/lib/generated/azure_mgmt_devtestlabs/models/gallery_image_reference.rb +84 -0
  38. data/lib/generated/azure_mgmt_devtestlabs/models/generate_arm_template_request.rb +72 -0
  39. data/lib/generated/azure_mgmt_devtestlabs/models/generate_upload_uri_parameter.rb +44 -0
  40. data/lib/generated/azure_mgmt_devtestlabs/models/generate_upload_uri_response.rb +44 -0
  41. data/lib/generated/azure_mgmt_devtestlabs/models/hour_details.rb +44 -0
  42. data/lib/generated/azure_mgmt_devtestlabs/models/lab.rb +162 -0
  43. data/lib/generated/azure_mgmt_devtestlabs/models/lab_cost_type.rb +17 -0
  44. data/lib/generated/azure_mgmt_devtestlabs/models/lab_storage_type.rb +16 -0
  45. data/lib/generated/azure_mgmt_devtestlabs/models/lab_vhd.rb +44 -0
  46. data/lib/generated/azure_mgmt_devtestlabs/models/lab_virtual_machine.rb +321 -0
  47. data/lib/generated/azure_mgmt_devtestlabs/models/linux_os_info.rb +46 -0
  48. data/lib/generated/azure_mgmt_devtestlabs/models/linux_os_state.rb +17 -0
  49. data/lib/generated/azure_mgmt_devtestlabs/models/parameter_info.rb +54 -0
  50. data/lib/generated/azure_mgmt_devtestlabs/models/policy.rb +175 -0
  51. data/lib/generated/azure_mgmt_devtestlabs/models/policy_evaluator_type.rb +16 -0
  52. data/lib/generated/azure_mgmt_devtestlabs/models/policy_fact_name.rb +19 -0
  53. data/lib/generated/azure_mgmt_devtestlabs/models/policy_set_result.rb +63 -0
  54. data/lib/generated/azure_mgmt_devtestlabs/models/policy_status.rb +16 -0
  55. data/lib/generated/azure_mgmt_devtestlabs/models/policy_violation.rb +54 -0
  56. data/lib/generated/azure_mgmt_devtestlabs/models/resource_cost_properties.rb +106 -0
  57. data/lib/generated/azure_mgmt_devtestlabs/models/response_with_continuation_artifact.rb +93 -0
  58. data/lib/generated/azure_mgmt_devtestlabs/models/response_with_continuation_artifact_source.rb +94 -0
  59. data/lib/generated/azure_mgmt_devtestlabs/models/response_with_continuation_custom_image.rb +93 -0
  60. data/lib/generated/azure_mgmt_devtestlabs/models/response_with_continuation_formula.rb +93 -0
  61. data/lib/generated/azure_mgmt_devtestlabs/models/response_with_continuation_gallery_image.rb +93 -0
  62. data/lib/generated/azure_mgmt_devtestlabs/models/response_with_continuation_lab.rb +93 -0
  63. data/lib/generated/azure_mgmt_devtestlabs/models/response_with_continuation_lab_vhd.rb +93 -0
  64. data/lib/generated/azure_mgmt_devtestlabs/models/response_with_continuation_lab_virtual_machine.rb +95 -0
  65. data/lib/generated/azure_mgmt_devtestlabs/models/response_with_continuation_policy.rb +93 -0
  66. data/lib/generated/azure_mgmt_devtestlabs/models/response_with_continuation_schedule.rb +93 -0
  67. data/lib/generated/azure_mgmt_devtestlabs/models/response_with_continuation_virtual_network.rb +94 -0
  68. data/lib/generated/azure_mgmt_devtestlabs/models/schedule.rb +175 -0
  69. data/lib/generated/azure_mgmt_devtestlabs/models/source_control_type.rb +16 -0
  70. data/lib/generated/azure_mgmt_devtestlabs/models/subnet.rb +65 -0
  71. data/lib/generated/azure_mgmt_devtestlabs/models/subnet_override.rb +78 -0
  72. data/lib/generated/azure_mgmt_devtestlabs/models/subscription_notification.rb +67 -0
  73. data/lib/generated/azure_mgmt_devtestlabs/models/subscription_notification_properties.rb +44 -0
  74. data/lib/generated/azure_mgmt_devtestlabs/models/subscription_notification_state.rb +20 -0
  75. data/lib/generated/azure_mgmt_devtestlabs/models/usage_permission_type.rb +17 -0
  76. data/lib/generated/azure_mgmt_devtestlabs/models/virtual_network.rb +169 -0
  77. data/lib/generated/azure_mgmt_devtestlabs/models/week_details.rb +61 -0
  78. data/lib/generated/azure_mgmt_devtestlabs/models/windows_os_info.rb +45 -0
  79. data/lib/generated/azure_mgmt_devtestlabs/models/windows_os_state.rb +17 -0
  80. data/lib/generated/azure_mgmt_devtestlabs/module_definition.rb +8 -0
  81. data/lib/generated/azure_mgmt_devtestlabs/policy_operations.rb +690 -0
  82. data/lib/generated/azure_mgmt_devtestlabs/policy_set.rb +137 -0
  83. data/lib/generated/azure_mgmt_devtestlabs/schedule_operations.rb +796 -0
  84. data/lib/generated/azure_mgmt_devtestlabs/version.rb +8 -0
  85. data/lib/generated/azure_mgmt_devtestlabs/virtual_machine.rb +1155 -0
  86. data/lib/generated/azure_mgmt_devtestlabs/virtual_network_operations.rb +759 -0
  87. metadata +199 -0
@@ -0,0 +1,669 @@
1
+ # encoding: utf-8
2
+ # Code generated by Microsoft (R) AutoRest Code Generator 0.17.0.0
3
+ # Changes may cause incorrect behavior and will be lost if the code is
4
+ # regenerated.
5
+
6
+ module Azure::ARM::DevTestLabs
7
+ #
8
+ # The DevTest Labs Client.
9
+ #
10
+ class ArtifactSourceOperations
11
+ include Azure::ARM::DevTestLabs::Models
12
+ include MsRestAzure
13
+
14
+ #
15
+ # Creates and initializes a new instance of the ArtifactSourceOperations class.
16
+ # @param client service class for accessing basic functionality.
17
+ #
18
+ def initialize(client)
19
+ @client = client
20
+ end
21
+
22
+ # @return reference to the DevTestLabsClient
23
+ attr_reader :client
24
+
25
+ #
26
+ # List artifact sources in a given lab.
27
+ #
28
+ # @param resource_group_name [String] The name of the resource group.
29
+ # @param lab_name [String] The name of the lab.
30
+ # @param filter [String] The filter to apply on the operation.
31
+ # @param top [Integer] The maximum number of resources to return from the
32
+ # operation.
33
+ # @param order_by [String] The ordering expression for the results, using
34
+ # OData notation.
35
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
36
+ # will be added to the HTTP request.
37
+ #
38
+ # @return [ResponseWithContinuationArtifactSource] which provide lazy access
39
+ # to pages of the response.
40
+ #
41
+ def list_as_lazy(resource_group_name, lab_name, filter = nil, top = nil, order_by = nil, custom_headers = nil)
42
+ response = list_async(resource_group_name, lab_name, filter, top, order_by, custom_headers).value!
43
+ unless response.nil?
44
+ page = response.body
45
+ page.next_method = Proc.new do |next_link|
46
+ list_next_async(next_link, custom_headers)
47
+ end
48
+ page
49
+ end
50
+ end
51
+
52
+ #
53
+ # List artifact sources in a given lab.
54
+ #
55
+ # @param resource_group_name [String] The name of the resource group.
56
+ # @param lab_name [String] The name of the lab.
57
+ # @param filter [String] The filter to apply on the operation.
58
+ # @param top [Integer] The maximum number of resources to return from the
59
+ # operation.
60
+ # @param order_by [String] The ordering expression for the results, using
61
+ # OData notation.
62
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
63
+ # will be added to the HTTP request.
64
+ #
65
+ # @return [Array<ArtifactSource>] operation results.
66
+ #
67
+ def list(resource_group_name, lab_name, filter = nil, top = nil, order_by = nil, custom_headers = nil)
68
+ first_page = list_as_lazy(resource_group_name, lab_name, filter, top, order_by, custom_headers)
69
+ first_page.get_all_items
70
+ end
71
+
72
+ #
73
+ # List artifact sources in a given lab.
74
+ #
75
+ # @param resource_group_name [String] The name of the resource group.
76
+ # @param lab_name [String] The name of the lab.
77
+ # @param filter [String] The filter to apply on the operation.
78
+ # @param top [Integer] The maximum number of resources to return from the
79
+ # operation.
80
+ # @param order_by [String] The ordering expression for the results, using
81
+ # OData notation.
82
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
83
+ # will be added to the HTTP request.
84
+ #
85
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
86
+ #
87
+ def list_with_http_info(resource_group_name, lab_name, filter = nil, top = nil, order_by = nil, custom_headers = nil)
88
+ list_async(resource_group_name, lab_name, filter, top, order_by, custom_headers).value!
89
+ end
90
+
91
+ #
92
+ # List artifact sources in a given lab.
93
+ #
94
+ # @param resource_group_name [String] The name of the resource group.
95
+ # @param lab_name [String] The name of the lab.
96
+ # @param filter [String] The filter to apply on the operation.
97
+ # @param top [Integer] The maximum number of resources to return from the
98
+ # operation.
99
+ # @param order_by [String] The ordering expression for the results, using
100
+ # OData notation.
101
+ # @param [Hash{String => String}] A hash of custom headers that will be added
102
+ # to the HTTP request.
103
+ #
104
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
105
+ #
106
+ def list_async(resource_group_name, lab_name, filter = nil, top = nil, order_by = nil, custom_headers = nil)
107
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
108
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
109
+ fail ArgumentError, 'lab_name is nil' if lab_name.nil?
110
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
111
+
112
+
113
+ request_headers = {}
114
+
115
+ # Set Headers
116
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
117
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
118
+ path_template = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/artifactsources'
119
+ options = {
120
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
121
+ path_params: {'subscriptionId' => @client.subscription_id,'resourceGroupName' => resource_group_name,'labName' => lab_name},
122
+ query_params: {'$filter' => filter,'$top' => top,'$orderBy' => order_by,'api-version' => @client.api_version},
123
+ headers: request_headers.merge(custom_headers || {})
124
+ }
125
+
126
+ request_url = @base_url || @client.base_url
127
+
128
+ request = MsRest::HttpOperationRequest.new(request_url, path_template, :get, options)
129
+ promise = request.run_promise do |req|
130
+ @client.credentials.sign_request(req) unless @client.credentials.nil?
131
+ end
132
+
133
+ promise = promise.then do |http_response|
134
+ status_code = http_response.status
135
+ response_content = http_response.body
136
+ unless status_code == 200
137
+ error_model = JSON.load(response_content)
138
+ fail MsRestAzure::AzureOperationError.new(request, http_response, error_model)
139
+ end
140
+
141
+ # Create Result
142
+ result = MsRestAzure::AzureOperationResponse.new(request, http_response)
143
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
144
+ # Deserialize Response
145
+ if status_code == 200
146
+ begin
147
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
148
+ result_mapper = ResponseWithContinuationArtifactSource.mapper()
149
+ result.body = @client.deserialize(result_mapper, parsed_response, 'result.body')
150
+ rescue Exception => e
151
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
152
+ end
153
+ end
154
+
155
+ result
156
+ end
157
+
158
+ promise.execute
159
+ end
160
+
161
+ #
162
+ # Get artifact source.
163
+ #
164
+ # @param resource_group_name [String] The name of the resource group.
165
+ # @param lab_name [String] The name of the lab.
166
+ # @param name [String] The name of the artifact source.
167
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
168
+ # will be added to the HTTP request.
169
+ #
170
+ # @return [ArtifactSource] operation results.
171
+ #
172
+ def get_resource(resource_group_name, lab_name, name, custom_headers = nil)
173
+ response = get_resource_async(resource_group_name, lab_name, name, custom_headers).value!
174
+ response.body unless response.nil?
175
+ end
176
+
177
+ #
178
+ # Get artifact source.
179
+ #
180
+ # @param resource_group_name [String] The name of the resource group.
181
+ # @param lab_name [String] The name of the lab.
182
+ # @param name [String] The name of the artifact source.
183
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
184
+ # will be added to the HTTP request.
185
+ #
186
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
187
+ #
188
+ def get_resource_with_http_info(resource_group_name, lab_name, name, custom_headers = nil)
189
+ get_resource_async(resource_group_name, lab_name, name, custom_headers).value!
190
+ end
191
+
192
+ #
193
+ # Get artifact source.
194
+ #
195
+ # @param resource_group_name [String] The name of the resource group.
196
+ # @param lab_name [String] The name of the lab.
197
+ # @param name [String] The name of the artifact source.
198
+ # @param [Hash{String => String}] A hash of custom headers that will be added
199
+ # to the HTTP request.
200
+ #
201
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
202
+ #
203
+ def get_resource_async(resource_group_name, lab_name, name, custom_headers = nil)
204
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
205
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
206
+ fail ArgumentError, 'lab_name is nil' if lab_name.nil?
207
+ fail ArgumentError, 'name is nil' if name.nil?
208
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
209
+
210
+
211
+ request_headers = {}
212
+
213
+ # Set Headers
214
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
215
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
216
+ path_template = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/artifactsources/{name}'
217
+ options = {
218
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
219
+ path_params: {'subscriptionId' => @client.subscription_id,'resourceGroupName' => resource_group_name,'labName' => lab_name,'name' => name},
220
+ query_params: {'api-version' => @client.api_version},
221
+ headers: request_headers.merge(custom_headers || {})
222
+ }
223
+
224
+ request_url = @base_url || @client.base_url
225
+
226
+ request = MsRest::HttpOperationRequest.new(request_url, path_template, :get, options)
227
+ promise = request.run_promise do |req|
228
+ @client.credentials.sign_request(req) unless @client.credentials.nil?
229
+ end
230
+
231
+ promise = promise.then do |http_response|
232
+ status_code = http_response.status
233
+ response_content = http_response.body
234
+ unless status_code == 200
235
+ error_model = JSON.load(response_content)
236
+ fail MsRestAzure::AzureOperationError.new(request, http_response, error_model)
237
+ end
238
+
239
+ # Create Result
240
+ result = MsRestAzure::AzureOperationResponse.new(request, http_response)
241
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
242
+ # Deserialize Response
243
+ if status_code == 200
244
+ begin
245
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
246
+ result_mapper = ArtifactSource.mapper()
247
+ result.body = @client.deserialize(result_mapper, parsed_response, 'result.body')
248
+ rescue Exception => e
249
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
250
+ end
251
+ end
252
+
253
+ result
254
+ end
255
+
256
+ promise.execute
257
+ end
258
+
259
+ #
260
+ # Create or replace an existing artifact source.
261
+ #
262
+ # @param resource_group_name [String] The name of the resource group.
263
+ # @param lab_name [String] The name of the lab.
264
+ # @param name [String] The name of the artifact source.
265
+ # @param artifact_source [ArtifactSource]
266
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
267
+ # will be added to the HTTP request.
268
+ #
269
+ # @return [ArtifactSource] operation results.
270
+ #
271
+ def create_or_update_resource(resource_group_name, lab_name, name, artifact_source, custom_headers = nil)
272
+ response = create_or_update_resource_async(resource_group_name, lab_name, name, artifact_source, custom_headers).value!
273
+ response.body unless response.nil?
274
+ end
275
+
276
+ #
277
+ # Create or replace an existing artifact source.
278
+ #
279
+ # @param resource_group_name [String] The name of the resource group.
280
+ # @param lab_name [String] The name of the lab.
281
+ # @param name [String] The name of the artifact source.
282
+ # @param artifact_source [ArtifactSource]
283
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
284
+ # will be added to the HTTP request.
285
+ #
286
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
287
+ #
288
+ def create_or_update_resource_with_http_info(resource_group_name, lab_name, name, artifact_source, custom_headers = nil)
289
+ create_or_update_resource_async(resource_group_name, lab_name, name, artifact_source, custom_headers).value!
290
+ end
291
+
292
+ #
293
+ # Create or replace an existing artifact source.
294
+ #
295
+ # @param resource_group_name [String] The name of the resource group.
296
+ # @param lab_name [String] The name of the lab.
297
+ # @param name [String] The name of the artifact source.
298
+ # @param artifact_source [ArtifactSource]
299
+ # @param [Hash{String => String}] A hash of custom headers that will be added
300
+ # to the HTTP request.
301
+ #
302
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
303
+ #
304
+ def create_or_update_resource_async(resource_group_name, lab_name, name, artifact_source, custom_headers = nil)
305
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
306
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
307
+ fail ArgumentError, 'lab_name is nil' if lab_name.nil?
308
+ fail ArgumentError, 'name is nil' if name.nil?
309
+ fail ArgumentError, 'artifact_source is nil' if artifact_source.nil?
310
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
311
+
312
+
313
+ request_headers = {}
314
+
315
+ # Set Headers
316
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
317
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
318
+
319
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
320
+
321
+ # Serialize Request
322
+ request_mapper = ArtifactSource.mapper()
323
+ request_content = @client.serialize(request_mapper, artifact_source, 'artifact_source')
324
+ request_content = request_content != nil ? JSON.generate(request_content, quirks_mode: true) : nil
325
+
326
+ path_template = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/artifactsources/{name}'
327
+ options = {
328
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
329
+ path_params: {'subscriptionId' => @client.subscription_id,'resourceGroupName' => resource_group_name,'labName' => lab_name,'name' => name},
330
+ query_params: {'api-version' => @client.api_version},
331
+ body: request_content,
332
+ headers: request_headers.merge(custom_headers || {})
333
+ }
334
+
335
+ request_url = @base_url || @client.base_url
336
+
337
+ request = MsRest::HttpOperationRequest.new(request_url, path_template, :put, options)
338
+ promise = request.run_promise do |req|
339
+ @client.credentials.sign_request(req) unless @client.credentials.nil?
340
+ end
341
+
342
+ promise = promise.then do |http_response|
343
+ status_code = http_response.status
344
+ response_content = http_response.body
345
+ unless status_code == 200 || status_code == 201
346
+ error_model = JSON.load(response_content)
347
+ fail MsRestAzure::AzureOperationError.new(request, http_response, error_model)
348
+ end
349
+
350
+ # Create Result
351
+ result = MsRestAzure::AzureOperationResponse.new(request, http_response)
352
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
353
+ # Deserialize Response
354
+ if status_code == 200
355
+ begin
356
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
357
+ result_mapper = ArtifactSource.mapper()
358
+ result.body = @client.deserialize(result_mapper, parsed_response, 'result.body')
359
+ rescue Exception => e
360
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
361
+ end
362
+ end
363
+ # Deserialize Response
364
+ if status_code == 201
365
+ begin
366
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
367
+ result_mapper = ArtifactSource.mapper()
368
+ result.body = @client.deserialize(result_mapper, parsed_response, 'result.body')
369
+ rescue Exception => e
370
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
371
+ end
372
+ end
373
+
374
+ result
375
+ end
376
+
377
+ promise.execute
378
+ end
379
+
380
+ #
381
+ # Delete artifact source.
382
+ #
383
+ # @param resource_group_name [String] The name of the resource group.
384
+ # @param lab_name [String] The name of the lab.
385
+ # @param name [String] The name of the artifact source.
386
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
387
+ # will be added to the HTTP request.
388
+ #
389
+ #
390
+ def delete_resource(resource_group_name, lab_name, name, custom_headers = nil)
391
+ response = delete_resource_async(resource_group_name, lab_name, name, custom_headers).value!
392
+ nil
393
+ end
394
+
395
+ #
396
+ # Delete artifact source.
397
+ #
398
+ # @param resource_group_name [String] The name of the resource group.
399
+ # @param lab_name [String] The name of the lab.
400
+ # @param name [String] The name of the artifact source.
401
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
402
+ # will be added to the HTTP request.
403
+ #
404
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
405
+ #
406
+ def delete_resource_with_http_info(resource_group_name, lab_name, name, custom_headers = nil)
407
+ delete_resource_async(resource_group_name, lab_name, name, custom_headers).value!
408
+ end
409
+
410
+ #
411
+ # Delete artifact source.
412
+ #
413
+ # @param resource_group_name [String] The name of the resource group.
414
+ # @param lab_name [String] The name of the lab.
415
+ # @param name [String] The name of the artifact source.
416
+ # @param [Hash{String => String}] A hash of custom headers that will be added
417
+ # to the HTTP request.
418
+ #
419
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
420
+ #
421
+ def delete_resource_async(resource_group_name, lab_name, name, custom_headers = nil)
422
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
423
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
424
+ fail ArgumentError, 'lab_name is nil' if lab_name.nil?
425
+ fail ArgumentError, 'name is nil' if name.nil?
426
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
427
+
428
+
429
+ request_headers = {}
430
+
431
+ # Set Headers
432
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
433
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
434
+ path_template = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/artifactsources/{name}'
435
+ options = {
436
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
437
+ path_params: {'subscriptionId' => @client.subscription_id,'resourceGroupName' => resource_group_name,'labName' => lab_name,'name' => name},
438
+ query_params: {'api-version' => @client.api_version},
439
+ headers: request_headers.merge(custom_headers || {})
440
+ }
441
+
442
+ request_url = @base_url || @client.base_url
443
+
444
+ request = MsRest::HttpOperationRequest.new(request_url, path_template, :delete, options)
445
+ promise = request.run_promise do |req|
446
+ @client.credentials.sign_request(req) unless @client.credentials.nil?
447
+ end
448
+
449
+ promise = promise.then do |http_response|
450
+ status_code = http_response.status
451
+ response_content = http_response.body
452
+ unless status_code == 200 || status_code == 204
453
+ error_model = JSON.load(response_content)
454
+ fail MsRestAzure::AzureOperationError.new(request, http_response, error_model)
455
+ end
456
+
457
+ # Create Result
458
+ result = MsRestAzure::AzureOperationResponse.new(request, http_response)
459
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
460
+
461
+ result
462
+ end
463
+
464
+ promise.execute
465
+ end
466
+
467
+ #
468
+ # Modify properties of artifact sources.
469
+ #
470
+ # @param resource_group_name [String] The name of the resource group.
471
+ # @param lab_name [String] The name of the lab.
472
+ # @param name [String] The name of the artifact source.
473
+ # @param artifact_source [ArtifactSource]
474
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
475
+ # will be added to the HTTP request.
476
+ #
477
+ # @return [ArtifactSource] operation results.
478
+ #
479
+ def patch_resource(resource_group_name, lab_name, name, artifact_source, custom_headers = nil)
480
+ response = patch_resource_async(resource_group_name, lab_name, name, artifact_source, custom_headers).value!
481
+ response.body unless response.nil?
482
+ end
483
+
484
+ #
485
+ # Modify properties of artifact sources.
486
+ #
487
+ # @param resource_group_name [String] The name of the resource group.
488
+ # @param lab_name [String] The name of the lab.
489
+ # @param name [String] The name of the artifact source.
490
+ # @param artifact_source [ArtifactSource]
491
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
492
+ # will be added to the HTTP request.
493
+ #
494
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
495
+ #
496
+ def patch_resource_with_http_info(resource_group_name, lab_name, name, artifact_source, custom_headers = nil)
497
+ patch_resource_async(resource_group_name, lab_name, name, artifact_source, custom_headers).value!
498
+ end
499
+
500
+ #
501
+ # Modify properties of artifact sources.
502
+ #
503
+ # @param resource_group_name [String] The name of the resource group.
504
+ # @param lab_name [String] The name of the lab.
505
+ # @param name [String] The name of the artifact source.
506
+ # @param artifact_source [ArtifactSource]
507
+ # @param [Hash{String => String}] A hash of custom headers that will be added
508
+ # to the HTTP request.
509
+ #
510
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
511
+ #
512
+ def patch_resource_async(resource_group_name, lab_name, name, artifact_source, custom_headers = nil)
513
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
514
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
515
+ fail ArgumentError, 'lab_name is nil' if lab_name.nil?
516
+ fail ArgumentError, 'name is nil' if name.nil?
517
+ fail ArgumentError, 'artifact_source is nil' if artifact_source.nil?
518
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
519
+
520
+
521
+ request_headers = {}
522
+
523
+ # Set Headers
524
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
525
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
526
+
527
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
528
+
529
+ # Serialize Request
530
+ request_mapper = ArtifactSource.mapper()
531
+ request_content = @client.serialize(request_mapper, artifact_source, 'artifact_source')
532
+ request_content = request_content != nil ? JSON.generate(request_content, quirks_mode: true) : nil
533
+
534
+ path_template = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/artifactsources/{name}'
535
+ options = {
536
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
537
+ path_params: {'subscriptionId' => @client.subscription_id,'resourceGroupName' => resource_group_name,'labName' => lab_name,'name' => name},
538
+ query_params: {'api-version' => @client.api_version},
539
+ body: request_content,
540
+ headers: request_headers.merge(custom_headers || {})
541
+ }
542
+
543
+ request_url = @base_url || @client.base_url
544
+
545
+ request = MsRest::HttpOperationRequest.new(request_url, path_template, :patch, options)
546
+ promise = request.run_promise do |req|
547
+ @client.credentials.sign_request(req) unless @client.credentials.nil?
548
+ end
549
+
550
+ promise = promise.then do |http_response|
551
+ status_code = http_response.status
552
+ response_content = http_response.body
553
+ unless status_code == 200
554
+ error_model = JSON.load(response_content)
555
+ fail MsRestAzure::AzureOperationError.new(request, http_response, error_model)
556
+ end
557
+
558
+ # Create Result
559
+ result = MsRestAzure::AzureOperationResponse.new(request, http_response)
560
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
561
+ # Deserialize Response
562
+ if status_code == 200
563
+ begin
564
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
565
+ result_mapper = ArtifactSource.mapper()
566
+ result.body = @client.deserialize(result_mapper, parsed_response, 'result.body')
567
+ rescue Exception => e
568
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
569
+ end
570
+ end
571
+
572
+ result
573
+ end
574
+
575
+ promise.execute
576
+ end
577
+
578
+ #
579
+ # List artifact sources in a given lab.
580
+ #
581
+ # @param next_page_link [String] The NextLink from the previous successful
582
+ # call to List operation.
583
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
584
+ # will be added to the HTTP request.
585
+ #
586
+ # @return [ResponseWithContinuationArtifactSource] operation results.
587
+ #
588
+ def list_next(next_page_link, custom_headers = nil)
589
+ response = list_next_async(next_page_link, custom_headers).value!
590
+ response.body unless response.nil?
591
+ end
592
+
593
+ #
594
+ # List artifact sources in a given lab.
595
+ #
596
+ # @param next_page_link [String] The NextLink from the previous successful
597
+ # call to List operation.
598
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
599
+ # will be added to the HTTP request.
600
+ #
601
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
602
+ #
603
+ def list_next_with_http_info(next_page_link, custom_headers = nil)
604
+ list_next_async(next_page_link, custom_headers).value!
605
+ end
606
+
607
+ #
608
+ # List artifact sources in a given lab.
609
+ #
610
+ # @param next_page_link [String] The NextLink from the previous successful
611
+ # call to List operation.
612
+ # @param [Hash{String => String}] A hash of custom headers that will be added
613
+ # to the HTTP request.
614
+ #
615
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
616
+ #
617
+ def list_next_async(next_page_link, custom_headers = nil)
618
+ fail ArgumentError, 'next_page_link is nil' if next_page_link.nil?
619
+
620
+
621
+ request_headers = {}
622
+
623
+ # Set Headers
624
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
625
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
626
+ path_template = '{nextLink}'
627
+ options = {
628
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
629
+ skip_encoding_path_params: {'nextLink' => next_page_link},
630
+ headers: request_headers.merge(custom_headers || {})
631
+ }
632
+
633
+ request_url = @base_url || @client.base_url
634
+
635
+ request = MsRest::HttpOperationRequest.new(request_url, path_template, :get, options)
636
+ promise = request.run_promise do |req|
637
+ @client.credentials.sign_request(req) unless @client.credentials.nil?
638
+ end
639
+
640
+ promise = promise.then do |http_response|
641
+ status_code = http_response.status
642
+ response_content = http_response.body
643
+ unless status_code == 200
644
+ error_model = JSON.load(response_content)
645
+ fail MsRestAzure::AzureOperationError.new(request, http_response, error_model)
646
+ end
647
+
648
+ # Create Result
649
+ result = MsRestAzure::AzureOperationResponse.new(request, http_response)
650
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
651
+ # Deserialize Response
652
+ if status_code == 200
653
+ begin
654
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
655
+ result_mapper = ResponseWithContinuationArtifactSource.mapper()
656
+ result.body = @client.deserialize(result_mapper, parsed_response, 'result.body')
657
+ rescue Exception => e
658
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
659
+ end
660
+ end
661
+
662
+ result
663
+ end
664
+
665
+ promise.execute
666
+ end
667
+
668
+ end
669
+ end