azure_mgmt_vmware_cloudsimple 0.17.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 (67) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.txt +21 -0
  3. data/lib/2019-04-01/generated/azure_mgmt_vmware_cloudsimple.rb +82 -0
  4. data/lib/2019-04-01/generated/azure_mgmt_vmware_cloudsimple/dedicated_cloud_nodes.rb +945 -0
  5. data/lib/2019-04-01/generated/azure_mgmt_vmware_cloudsimple/dedicated_cloud_services.rb +932 -0
  6. data/lib/2019-04-01/generated/azure_mgmt_vmware_cloudsimple/models/aggregation_type.rb +16 -0
  7. data/lib/2019-04-01/generated/azure_mgmt_vmware_cloudsimple/models/available_operation.rb +99 -0
  8. data/lib/2019-04-01/generated/azure_mgmt_vmware_cloudsimple/models/available_operation_display.rb +79 -0
  9. data/lib/2019-04-01/generated/azure_mgmt_vmware_cloudsimple/models/available_operation_display_property_service_specification_metrics_item.rb +94 -0
  10. data/lib/2019-04-01/generated/azure_mgmt_vmware_cloudsimple/models/available_operation_display_property_service_specification_metrics_list.rb +60 -0
  11. data/lib/2019-04-01/generated/azure_mgmt_vmware_cloudsimple/models/available_operations_list_response.rb +99 -0
  12. data/lib/2019-04-01/generated/azure_mgmt_vmware_cloudsimple/models/csrperror.rb +47 -0
  13. data/lib/2019-04-01/generated/azure_mgmt_vmware_cloudsimple/models/csrperror_body.rb +91 -0
  14. data/lib/2019-04-01/generated/azure_mgmt_vmware_cloudsimple/models/dedicated_cloud_node.rb +293 -0
  15. data/lib/2019-04-01/generated/azure_mgmt_vmware_cloudsimple/models/dedicated_cloud_node_list_response.rb +99 -0
  16. data/lib/2019-04-01/generated/azure_mgmt_vmware_cloudsimple/models/dedicated_cloud_service.rb +154 -0
  17. data/lib/2019-04-01/generated/azure_mgmt_vmware_cloudsimple/models/dedicated_cloud_service_list_response.rb +99 -0
  18. data/lib/2019-04-01/generated/azure_mgmt_vmware_cloudsimple/models/disk_independence_mode.rb +17 -0
  19. data/lib/2019-04-01/generated/azure_mgmt_vmware_cloudsimple/models/guest_ostype.rb +17 -0
  20. data/lib/2019-04-01/generated/azure_mgmt_vmware_cloudsimple/models/nictype.rb +20 -0
  21. data/lib/2019-04-01/generated/azure_mgmt_vmware_cloudsimple/models/node_status.rb +16 -0
  22. data/lib/2019-04-01/generated/azure_mgmt_vmware_cloudsimple/models/onboarding_status.rb +18 -0
  23. data/lib/2019-04-01/generated/azure_mgmt_vmware_cloudsimple/models/operation_error.rb +57 -0
  24. data/lib/2019-04-01/generated/azure_mgmt_vmware_cloudsimple/models/operation_origin.rb +17 -0
  25. data/lib/2019-04-01/generated/azure_mgmt_vmware_cloudsimple/models/operation_resource.rb +107 -0
  26. data/lib/2019-04-01/generated/azure_mgmt_vmware_cloudsimple/models/patch_payload.rb +54 -0
  27. data/lib/2019-04-01/generated/azure_mgmt_vmware_cloudsimple/models/private_cloud.rb +382 -0
  28. data/lib/2019-04-01/generated/azure_mgmt_vmware_cloudsimple/models/private_cloud_list.rb +98 -0
  29. data/lib/2019-04-01/generated/azure_mgmt_vmware_cloudsimple/models/private_cloud_resource_type.rb +15 -0
  30. data/lib/2019-04-01/generated/azure_mgmt_vmware_cloudsimple/models/resource_pool.rb +106 -0
  31. data/lib/2019-04-01/generated/azure_mgmt_vmware_cloudsimple/models/resource_pools_list_response.rb +98 -0
  32. data/lib/2019-04-01/generated/azure_mgmt_vmware_cloudsimple/models/sku.rb +93 -0
  33. data/lib/2019-04-01/generated/azure_mgmt_vmware_cloudsimple/models/sku_availability.rb +124 -0
  34. data/lib/2019-04-01/generated/azure_mgmt_vmware_cloudsimple/models/sku_availability_list_response.rb +99 -0
  35. data/lib/2019-04-01/generated/azure_mgmt_vmware_cloudsimple/models/stop_mode.rb +18 -0
  36. data/lib/2019-04-01/generated/azure_mgmt_vmware_cloudsimple/models/usage.rb +87 -0
  37. data/lib/2019-04-01/generated/azure_mgmt_vmware_cloudsimple/models/usage_count.rb +20 -0
  38. data/lib/2019-04-01/generated/azure_mgmt_vmware_cloudsimple/models/usage_list_response.rb +99 -0
  39. data/lib/2019-04-01/generated/azure_mgmt_vmware_cloudsimple/models/usage_name.rb +58 -0
  40. data/lib/2019-04-01/generated/azure_mgmt_vmware_cloudsimple/models/virtual_disk.rb +94 -0
  41. data/lib/2019-04-01/generated/azure_mgmt_vmware_cloudsimple/models/virtual_disk_controller.rb +84 -0
  42. data/lib/2019-04-01/generated/azure_mgmt_vmware_cloudsimple/models/virtual_machine.rb +388 -0
  43. data/lib/2019-04-01/generated/azure_mgmt_vmware_cloudsimple/models/virtual_machine_list_response.rb +98 -0
  44. data/lib/2019-04-01/generated/azure_mgmt_vmware_cloudsimple/models/virtual_machine_status.rb +20 -0
  45. data/lib/2019-04-01/generated/azure_mgmt_vmware_cloudsimple/models/virtual_machine_stop_mode.rb +49 -0
  46. data/lib/2019-04-01/generated/azure_mgmt_vmware_cloudsimple/models/virtual_machine_template.rb +283 -0
  47. data/lib/2019-04-01/generated/azure_mgmt_vmware_cloudsimple/models/virtual_machine_template_list_response.rb +98 -0
  48. data/lib/2019-04-01/generated/azure_mgmt_vmware_cloudsimple/models/virtual_network.rb +106 -0
  49. data/lib/2019-04-01/generated/azure_mgmt_vmware_cloudsimple/models/virtual_network_list_response.rb +98 -0
  50. data/lib/2019-04-01/generated/azure_mgmt_vmware_cloudsimple/models/virtual_nic.rb +124 -0
  51. data/lib/2019-04-01/generated/azure_mgmt_vmware_cloudsimple/module_definition.rb +9 -0
  52. data/lib/2019-04-01/generated/azure_mgmt_vmware_cloudsimple/operations.rb +335 -0
  53. data/lib/2019-04-01/generated/azure_mgmt_vmware_cloudsimple/private_clouds.rb +340 -0
  54. data/lib/2019-04-01/generated/azure_mgmt_vmware_cloudsimple/resource_pools.rb +349 -0
  55. data/lib/2019-04-01/generated/azure_mgmt_vmware_cloudsimple/skus_availability.rb +248 -0
  56. data/lib/2019-04-01/generated/azure_mgmt_vmware_cloudsimple/usages.rb +248 -0
  57. data/lib/2019-04-01/generated/azure_mgmt_vmware_cloudsimple/virtual_machine_templates.rb +361 -0
  58. data/lib/2019-04-01/generated/azure_mgmt_vmware_cloudsimple/virtual_machines.rb +1326 -0
  59. data/lib/2019-04-01/generated/azure_mgmt_vmware_cloudsimple/virtual_networks.rb +358 -0
  60. data/lib/2019-04-01/generated/azure_mgmt_vmware_cloudsimple/vmware_cloud_simple_client.rb +170 -0
  61. data/lib/azure_mgmt_vmware_cloudsimple.rb +6 -0
  62. data/lib/module_definition.rb +7 -0
  63. data/lib/profiles/latest/modules/vmwarecloudsimple_profile_module.rb +259 -0
  64. data/lib/profiles/latest/vmwarecloudsimple_latest_profile_client.rb +40 -0
  65. data/lib/profiles/latest/vmwarecloudsimple_module_definition.rb +8 -0
  66. data/lib/version.rb +7 -0
  67. metadata +182 -0
@@ -0,0 +1,361 @@
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::VMwareCloudSimple::Mgmt::V2019_04_01
7
+ #
8
+ # Description of the new service
9
+ #
10
+ class VirtualMachineTemplates
11
+ include MsRestAzure
12
+
13
+ #
14
+ # Creates and initializes a new instance of the VirtualMachineTemplates class.
15
+ # @param client service class for accessing basic functionality.
16
+ #
17
+ def initialize(client)
18
+ @client = client
19
+ end
20
+
21
+ # @return [VMwareCloudSimpleClient] reference to the VMwareCloudSimpleClient
22
+ attr_reader :client
23
+
24
+ #
25
+ # Implements list of available VM templates
26
+ #
27
+ # Returns list of virtual machine templates in region for private cloud
28
+ #
29
+ # @param pc_name [String] The private cloud name
30
+ # @param region_id [String] The region Id (westus, eastus)
31
+ # @param resource_pool_name [String] Resource pool used to derive vSphere
32
+ # cluster which contains VM templates
33
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
34
+ # will be added to the HTTP request.
35
+ #
36
+ # @return [Array<VirtualMachineTemplate>] operation results.
37
+ #
38
+ def list(pc_name, region_id, resource_pool_name, custom_headers:nil)
39
+ first_page = list_as_lazy(pc_name, region_id, resource_pool_name, custom_headers:custom_headers)
40
+ first_page.get_all_items
41
+ end
42
+
43
+ #
44
+ # Implements list of available VM templates
45
+ #
46
+ # Returns list of virtual machine templates in region for private cloud
47
+ #
48
+ # @param pc_name [String] The private cloud name
49
+ # @param region_id [String] The region Id (westus, eastus)
50
+ # @param resource_pool_name [String] Resource pool used to derive vSphere
51
+ # cluster which contains VM templates
52
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
53
+ # will be added to the HTTP request.
54
+ #
55
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
56
+ #
57
+ def list_with_http_info(pc_name, region_id, resource_pool_name, custom_headers:nil)
58
+ list_async(pc_name, region_id, resource_pool_name, custom_headers:custom_headers).value!
59
+ end
60
+
61
+ #
62
+ # Implements list of available VM templates
63
+ #
64
+ # Returns list of virtual machine templates in region for private cloud
65
+ #
66
+ # @param pc_name [String] The private cloud name
67
+ # @param region_id [String] The region Id (westus, eastus)
68
+ # @param resource_pool_name [String] Resource pool used to derive vSphere
69
+ # cluster which contains VM templates
70
+ # @param [Hash{String => String}] A hash of custom headers that will be added
71
+ # to the HTTP request.
72
+ #
73
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
74
+ #
75
+ def list_async(pc_name, region_id, resource_pool_name, custom_headers:nil)
76
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
77
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
78
+ fail ArgumentError, 'pc_name is nil' if pc_name.nil?
79
+ fail ArgumentError, 'region_id is nil' if region_id.nil?
80
+ fail ArgumentError, 'resource_pool_name is nil' if resource_pool_name.nil?
81
+
82
+
83
+ request_headers = {}
84
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
85
+
86
+ # Set Headers
87
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
88
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
89
+ path_template = 'subscriptions/{subscriptionId}/providers/Microsoft.VMwareCloudSimple/locations/{regionId}/privateClouds/{pcName}/virtualMachineTemplates'
90
+
91
+ request_url = @base_url || @client.base_url
92
+
93
+ options = {
94
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
95
+ path_params: {'subscriptionId' => @client.subscription_id,'pcName' => pc_name,'regionId' => region_id},
96
+ query_params: {'api-version' => @client.api_version,'resourcePoolName' => resource_pool_name},
97
+ headers: request_headers.merge(custom_headers || {}),
98
+ base_url: request_url
99
+ }
100
+ promise = @client.make_request_async(:get, path_template, options)
101
+
102
+ promise = promise.then do |result|
103
+ http_response = result.response
104
+ status_code = http_response.status
105
+ response_content = http_response.body
106
+ unless status_code == 200
107
+ error_model = JSON.load(response_content)
108
+ fail MsRest::HttpOperationError.new(result.request, http_response, error_model)
109
+ end
110
+
111
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
112
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
113
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
114
+ # Deserialize Response
115
+ if status_code == 200
116
+ begin
117
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
118
+ result_mapper = Azure::VMwareCloudSimple::Mgmt::V2019_04_01::Models::VirtualMachineTemplateListResponse.mapper()
119
+ result.body = @client.deserialize(result_mapper, parsed_response)
120
+ rescue Exception => e
121
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
122
+ end
123
+ end
124
+
125
+ result
126
+ end
127
+
128
+ promise.execute
129
+ end
130
+
131
+ #
132
+ # Implements virtual machine template GET method
133
+ #
134
+ # Returns virtual machine templates by its name
135
+ #
136
+ # @param region_id [String] The region Id (westus, eastus)
137
+ # @param pc_name [String] The private cloud name
138
+ # @param virtual_machine_template_name [String] virtual machine template id
139
+ # (vsphereId)
140
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
141
+ # will be added to the HTTP request.
142
+ #
143
+ # @return [VirtualMachineTemplate] operation results.
144
+ #
145
+ def get(region_id, pc_name, virtual_machine_template_name, custom_headers:nil)
146
+ response = get_async(region_id, pc_name, virtual_machine_template_name, custom_headers:custom_headers).value!
147
+ response.body unless response.nil?
148
+ end
149
+
150
+ #
151
+ # Implements virtual machine template GET method
152
+ #
153
+ # Returns virtual machine templates by its name
154
+ #
155
+ # @param region_id [String] The region Id (westus, eastus)
156
+ # @param pc_name [String] The private cloud name
157
+ # @param virtual_machine_template_name [String] virtual machine template id
158
+ # (vsphereId)
159
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
160
+ # will be added to the HTTP request.
161
+ #
162
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
163
+ #
164
+ def get_with_http_info(region_id, pc_name, virtual_machine_template_name, custom_headers:nil)
165
+ get_async(region_id, pc_name, virtual_machine_template_name, custom_headers:custom_headers).value!
166
+ end
167
+
168
+ #
169
+ # Implements virtual machine template GET method
170
+ #
171
+ # Returns virtual machine templates by its name
172
+ #
173
+ # @param region_id [String] The region Id (westus, eastus)
174
+ # @param pc_name [String] The private cloud name
175
+ # @param virtual_machine_template_name [String] virtual machine template id
176
+ # (vsphereId)
177
+ # @param [Hash{String => String}] A hash of custom headers that will be added
178
+ # to the HTTP request.
179
+ #
180
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
181
+ #
182
+ def get_async(region_id, pc_name, virtual_machine_template_name, custom_headers:nil)
183
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
184
+ fail ArgumentError, 'region_id is nil' if region_id.nil?
185
+ fail ArgumentError, 'pc_name is nil' if pc_name.nil?
186
+ fail ArgumentError, 'virtual_machine_template_name is nil' if virtual_machine_template_name.nil?
187
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
188
+
189
+
190
+ request_headers = {}
191
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
192
+
193
+ # Set Headers
194
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
195
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
196
+ path_template = 'subscriptions/{subscriptionId}/providers/Microsoft.VMwareCloudSimple/locations/{regionId}/privateClouds/{pcName}/virtualMachineTemplates/{virtualMachineTemplateName}'
197
+
198
+ request_url = @base_url || @client.base_url
199
+
200
+ options = {
201
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
202
+ path_params: {'subscriptionId' => @client.subscription_id,'regionId' => region_id,'pcName' => pc_name,'virtualMachineTemplateName' => virtual_machine_template_name},
203
+ query_params: {'api-version' => @client.api_version},
204
+ headers: request_headers.merge(custom_headers || {}),
205
+ base_url: request_url
206
+ }
207
+ promise = @client.make_request_async(:get, path_template, options)
208
+
209
+ promise = promise.then do |result|
210
+ http_response = result.response
211
+ status_code = http_response.status
212
+ response_content = http_response.body
213
+ unless status_code == 200
214
+ error_model = JSON.load(response_content)
215
+ fail MsRest::HttpOperationError.new(result.request, http_response, error_model)
216
+ end
217
+
218
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
219
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
220
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
221
+ # Deserialize Response
222
+ if status_code == 200
223
+ begin
224
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
225
+ result_mapper = Azure::VMwareCloudSimple::Mgmt::V2019_04_01::Models::VirtualMachineTemplate.mapper()
226
+ result.body = @client.deserialize(result_mapper, parsed_response)
227
+ rescue Exception => e
228
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
229
+ end
230
+ end
231
+
232
+ result
233
+ end
234
+
235
+ promise.execute
236
+ end
237
+
238
+ #
239
+ # Implements list of available VM templates
240
+ #
241
+ # Returns list of virtual machine templates in region for private cloud
242
+ #
243
+ # @param next_page_link [String] The NextLink from the previous successful call
244
+ # to List operation.
245
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
246
+ # will be added to the HTTP request.
247
+ #
248
+ # @return [VirtualMachineTemplateListResponse] operation results.
249
+ #
250
+ def list_next(next_page_link, custom_headers:nil)
251
+ response = list_next_async(next_page_link, custom_headers:custom_headers).value!
252
+ response.body unless response.nil?
253
+ end
254
+
255
+ #
256
+ # Implements list of available VM templates
257
+ #
258
+ # Returns list of virtual machine templates in region for private cloud
259
+ #
260
+ # @param next_page_link [String] The NextLink from the previous successful call
261
+ # to List operation.
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 list_next_with_http_info(next_page_link, custom_headers:nil)
268
+ list_next_async(next_page_link, custom_headers:custom_headers).value!
269
+ end
270
+
271
+ #
272
+ # Implements list of available VM templates
273
+ #
274
+ # Returns list of virtual machine templates in region for private cloud
275
+ #
276
+ # @param next_page_link [String] The NextLink from the previous successful call
277
+ # to List operation.
278
+ # @param [Hash{String => String}] A hash of custom headers that will be added
279
+ # to the HTTP request.
280
+ #
281
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
282
+ #
283
+ def list_next_async(next_page_link, custom_headers:nil)
284
+ fail ArgumentError, 'next_page_link is nil' if next_page_link.nil?
285
+
286
+
287
+ request_headers = {}
288
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
289
+
290
+ # Set Headers
291
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
292
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
293
+ path_template = '{nextLink}'
294
+
295
+ request_url = @base_url || @client.base_url
296
+
297
+ options = {
298
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
299
+ skip_encoding_path_params: {'nextLink' => next_page_link},
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 MsRest::HttpOperationError.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
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
316
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
317
+ # Deserialize Response
318
+ if status_code == 200
319
+ begin
320
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
321
+ result_mapper = Azure::VMwareCloudSimple::Mgmt::V2019_04_01::Models::VirtualMachineTemplateListResponse.mapper()
322
+ result.body = @client.deserialize(result_mapper, parsed_response)
323
+ rescue Exception => e
324
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
325
+ end
326
+ end
327
+
328
+ result
329
+ end
330
+
331
+ promise.execute
332
+ end
333
+
334
+ #
335
+ # Implements list of available VM templates
336
+ #
337
+ # Returns list of virtual machine templates in region for private cloud
338
+ #
339
+ # @param pc_name [String] The private cloud name
340
+ # @param region_id [String] The region Id (westus, eastus)
341
+ # @param resource_pool_name [String] Resource pool used to derive vSphere
342
+ # cluster which contains VM templates
343
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
344
+ # will be added to the HTTP request.
345
+ #
346
+ # @return [VirtualMachineTemplateListResponse] which provide lazy access to
347
+ # pages of the response.
348
+ #
349
+ def list_as_lazy(pc_name, region_id, resource_pool_name, custom_headers:nil)
350
+ response = list_async(pc_name, region_id, resource_pool_name, custom_headers:custom_headers).value!
351
+ unless response.nil?
352
+ page = response.body
353
+ page.next_method = Proc.new do |next_page_link|
354
+ list_next_async(next_page_link, custom_headers:custom_headers)
355
+ end
356
+ page
357
+ end
358
+ end
359
+
360
+ end
361
+ end
@@ -0,0 +1,1326 @@
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::VMwareCloudSimple::Mgmt::V2019_04_01
7
+ #
8
+ # Description of the new service
9
+ #
10
+ class VirtualMachines
11
+ include MsRestAzure
12
+
13
+ #
14
+ # Creates and initializes a new instance of the VirtualMachines class.
15
+ # @param client service class for accessing basic functionality.
16
+ #
17
+ def initialize(client)
18
+ @client = client
19
+ end
20
+
21
+ # @return [VMwareCloudSimpleClient] reference to the VMwareCloudSimpleClient
22
+ attr_reader :client
23
+
24
+ #
25
+ # Implements list virtual machine within subscription method
26
+ #
27
+ # Returns list virtual machine within subscription
28
+ #
29
+ # @param filter [String] The filter to apply on the list operation
30
+ # @param top [Integer] The maximum number of record sets to return
31
+ # @param skip_token [String] to be used by nextLink implementation
32
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
33
+ # will be added to the HTTP request.
34
+ #
35
+ # @return [Array<VirtualMachine>] operation results.
36
+ #
37
+ def list_by_subscription(filter:nil, top:nil, skip_token:nil, custom_headers:nil)
38
+ first_page = list_by_subscription_as_lazy(filter:filter, top:top, skip_token:skip_token, custom_headers:custom_headers)
39
+ first_page.get_all_items
40
+ end
41
+
42
+ #
43
+ # Implements list virtual machine within subscription method
44
+ #
45
+ # Returns list virtual machine within subscription
46
+ #
47
+ # @param filter [String] The filter to apply on the list operation
48
+ # @param top [Integer] The maximum number of record sets to return
49
+ # @param skip_token [String] to be used by nextLink implementation
50
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
51
+ # will be added to the HTTP request.
52
+ #
53
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
54
+ #
55
+ def list_by_subscription_with_http_info(filter:nil, top:nil, skip_token:nil, custom_headers:nil)
56
+ list_by_subscription_async(filter:filter, top:top, skip_token:skip_token, custom_headers:custom_headers).value!
57
+ end
58
+
59
+ #
60
+ # Implements list virtual machine within subscription method
61
+ #
62
+ # Returns list virtual machine within subscription
63
+ #
64
+ # @param filter [String] The filter to apply on the list operation
65
+ # @param top [Integer] The maximum number of record sets to return
66
+ # @param skip_token [String] to be used by nextLink implementation
67
+ # @param [Hash{String => String}] A hash of custom headers that will be added
68
+ # to the HTTP request.
69
+ #
70
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
71
+ #
72
+ def list_by_subscription_async(filter:nil, top:nil, skip_token:nil, custom_headers:nil)
73
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
74
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
75
+
76
+
77
+ request_headers = {}
78
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
79
+
80
+ # Set Headers
81
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
82
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
83
+ path_template = 'subscriptions/{subscriptionId}/providers/Microsoft.VMwareCloudSimple/virtualMachines'
84
+
85
+ request_url = @base_url || @client.base_url
86
+
87
+ options = {
88
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
89
+ path_params: {'subscriptionId' => @client.subscription_id},
90
+ query_params: {'api-version' => @client.api_version,'$filter' => filter,'$top' => top,'$skipToken' => skip_token},
91
+ headers: request_headers.merge(custom_headers || {}),
92
+ base_url: request_url
93
+ }
94
+ promise = @client.make_request_async(:get, path_template, options)
95
+
96
+ promise = promise.then do |result|
97
+ http_response = result.response
98
+ status_code = http_response.status
99
+ response_content = http_response.body
100
+ unless status_code == 200
101
+ error_model = JSON.load(response_content)
102
+ fail MsRest::HttpOperationError.new(result.request, http_response, error_model)
103
+ end
104
+
105
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
106
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
107
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
108
+ # Deserialize Response
109
+ if status_code == 200
110
+ begin
111
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
112
+ result_mapper = Azure::VMwareCloudSimple::Mgmt::V2019_04_01::Models::VirtualMachineListResponse.mapper()
113
+ result.body = @client.deserialize(result_mapper, parsed_response)
114
+ rescue Exception => e
115
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
116
+ end
117
+ end
118
+
119
+ result
120
+ end
121
+
122
+ promise.execute
123
+ end
124
+
125
+ #
126
+ # Implements list virtual machine within RG method
127
+ #
128
+ # Returns list of virtual machine within resource group
129
+ #
130
+ # @param resource_group_name [String] The name of the resource group
131
+ # @param filter [String] The filter to apply on the list operation
132
+ # @param top [Integer] The maximum number of record sets to return
133
+ # @param skip_token [String] to be used by nextLink implementation
134
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
135
+ # will be added to the HTTP request.
136
+ #
137
+ # @return [Array<VirtualMachine>] operation results.
138
+ #
139
+ def list_by_resource_group(resource_group_name, filter:nil, top:nil, skip_token:nil, custom_headers:nil)
140
+ first_page = list_by_resource_group_as_lazy(resource_group_name, filter:filter, top:top, skip_token:skip_token, custom_headers:custom_headers)
141
+ first_page.get_all_items
142
+ end
143
+
144
+ #
145
+ # Implements list virtual machine within RG method
146
+ #
147
+ # Returns list of virtual machine within resource group
148
+ #
149
+ # @param resource_group_name [String] The name of the resource group
150
+ # @param filter [String] The filter to apply on the list operation
151
+ # @param top [Integer] The maximum number of record sets to return
152
+ # @param skip_token [String] to be used by nextLink implementation
153
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
154
+ # will be added to the HTTP request.
155
+ #
156
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
157
+ #
158
+ def list_by_resource_group_with_http_info(resource_group_name, filter:nil, top:nil, skip_token:nil, custom_headers:nil)
159
+ list_by_resource_group_async(resource_group_name, filter:filter, top:top, skip_token:skip_token, custom_headers:custom_headers).value!
160
+ end
161
+
162
+ #
163
+ # Implements list virtual machine within RG method
164
+ #
165
+ # Returns list of virtual machine within resource group
166
+ #
167
+ # @param resource_group_name [String] The name of the resource group
168
+ # @param filter [String] The filter to apply on the list operation
169
+ # @param top [Integer] The maximum number of record sets to return
170
+ # @param skip_token [String] to be used by nextLink implementation
171
+ # @param [Hash{String => String}] A hash of custom headers that will be added
172
+ # to the HTTP request.
173
+ #
174
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
175
+ #
176
+ def list_by_resource_group_async(resource_group_name, filter:nil, top:nil, skip_token:nil, custom_headers:nil)
177
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
178
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
179
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
180
+
181
+
182
+ request_headers = {}
183
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
184
+
185
+ # Set Headers
186
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
187
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
188
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.VMwareCloudSimple/virtualMachines'
189
+
190
+ request_url = @base_url || @client.base_url
191
+
192
+ options = {
193
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
194
+ path_params: {'subscriptionId' => @client.subscription_id,'resourceGroupName' => resource_group_name},
195
+ query_params: {'api-version' => @client.api_version,'$filter' => filter,'$top' => top,'$skipToken' => skip_token},
196
+ headers: request_headers.merge(custom_headers || {}),
197
+ base_url: request_url
198
+ }
199
+ promise = @client.make_request_async(:get, path_template, options)
200
+
201
+ promise = promise.then do |result|
202
+ http_response = result.response
203
+ status_code = http_response.status
204
+ response_content = http_response.body
205
+ unless status_code == 200
206
+ error_model = JSON.load(response_content)
207
+ fail MsRest::HttpOperationError.new(result.request, http_response, error_model)
208
+ end
209
+
210
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
211
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
212
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
213
+ # Deserialize Response
214
+ if status_code == 200
215
+ begin
216
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
217
+ result_mapper = Azure::VMwareCloudSimple::Mgmt::V2019_04_01::Models::VirtualMachineListResponse.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
+
224
+ result
225
+ end
226
+
227
+ promise.execute
228
+ end
229
+
230
+ #
231
+ # Implements virtual machine GET method
232
+ #
233
+ # Get virtual machine
234
+ #
235
+ # @param resource_group_name [String] The name of the resource group
236
+ # @param virtual_machine_name [String] virtual machine name
237
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
238
+ # will be added to the HTTP request.
239
+ #
240
+ # @return [VirtualMachine] operation results.
241
+ #
242
+ def get(resource_group_name, virtual_machine_name, custom_headers:nil)
243
+ response = get_async(resource_group_name, virtual_machine_name, custom_headers:custom_headers).value!
244
+ response.body unless response.nil?
245
+ end
246
+
247
+ #
248
+ # Implements virtual machine GET method
249
+ #
250
+ # Get virtual machine
251
+ #
252
+ # @param resource_group_name [String] The name of the resource group
253
+ # @param virtual_machine_name [String] virtual machine name
254
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
255
+ # will be added to the HTTP request.
256
+ #
257
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
258
+ #
259
+ def get_with_http_info(resource_group_name, virtual_machine_name, custom_headers:nil)
260
+ get_async(resource_group_name, virtual_machine_name, custom_headers:custom_headers).value!
261
+ end
262
+
263
+ #
264
+ # Implements virtual machine GET method
265
+ #
266
+ # Get virtual machine
267
+ #
268
+ # @param resource_group_name [String] The name of the resource group
269
+ # @param virtual_machine_name [String] virtual machine name
270
+ # @param [Hash{String => String}] A hash of custom headers that will be added
271
+ # to the HTTP request.
272
+ #
273
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
274
+ #
275
+ def get_async(resource_group_name, virtual_machine_name, custom_headers:nil)
276
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
277
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
278
+ fail ArgumentError, 'virtual_machine_name is nil' if virtual_machine_name.nil?
279
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
280
+
281
+
282
+ request_headers = {}
283
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
284
+
285
+ # Set Headers
286
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
287
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
288
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.VMwareCloudSimple/virtualMachines/{virtualMachineName}'
289
+
290
+ request_url = @base_url || @client.base_url
291
+
292
+ options = {
293
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
294
+ path_params: {'subscriptionId' => @client.subscription_id,'resourceGroupName' => resource_group_name,'virtualMachineName' => virtual_machine_name},
295
+ query_params: {'api-version' => @client.api_version},
296
+ headers: request_headers.merge(custom_headers || {}),
297
+ base_url: request_url
298
+ }
299
+ promise = @client.make_request_async(:get, path_template, options)
300
+
301
+ promise = promise.then do |result|
302
+ http_response = result.response
303
+ status_code = http_response.status
304
+ response_content = http_response.body
305
+ unless status_code == 200
306
+ error_model = JSON.load(response_content)
307
+ fail MsRest::HttpOperationError.new(result.request, http_response, error_model)
308
+ end
309
+
310
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
311
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
312
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
313
+ # Deserialize Response
314
+ if status_code == 200
315
+ begin
316
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
317
+ result_mapper = Azure::VMwareCloudSimple::Mgmt::V2019_04_01::Models::VirtualMachine.mapper()
318
+ result.body = @client.deserialize(result_mapper, parsed_response)
319
+ rescue Exception => e
320
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
321
+ end
322
+ end
323
+
324
+ result
325
+ end
326
+
327
+ promise.execute
328
+ end
329
+
330
+ #
331
+ # Implements virtual machine PUT method
332
+ #
333
+ # Create Or Update Virtual Machine
334
+ #
335
+ # @param resource_group_name [String] The name of the resource group
336
+ # @param virtual_machine_name [String] virtual machine name
337
+ # @param virtual_machine_request [VirtualMachine] Create or Update Virtual
338
+ # Machine request
339
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
340
+ # will be added to the HTTP request.
341
+ #
342
+ # @return [VirtualMachine] operation results.
343
+ #
344
+ def create_or_update(resource_group_name, virtual_machine_name, virtual_machine_request, custom_headers:nil)
345
+ response = create_or_update_async(resource_group_name, virtual_machine_name, virtual_machine_request, custom_headers:custom_headers).value!
346
+ response.body unless response.nil?
347
+ end
348
+
349
+ #
350
+ # @param resource_group_name [String] The name of the resource group
351
+ # @param virtual_machine_name [String] virtual machine name
352
+ # @param virtual_machine_request [VirtualMachine] Create or Update Virtual
353
+ # Machine request
354
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
355
+ # will be added to the HTTP request.
356
+ #
357
+ # @return [Concurrent::Promise] promise which provides async access to http
358
+ # response.
359
+ #
360
+ def create_or_update_async(resource_group_name, virtual_machine_name, virtual_machine_request, custom_headers:nil)
361
+ # Send request
362
+ promise = begin_create_or_update_async(resource_group_name, virtual_machine_name, virtual_machine_request, custom_headers:custom_headers)
363
+
364
+ promise = promise.then do |response|
365
+ # Defining deserialization method.
366
+ deserialize_method = lambda do |parsed_response|
367
+ result_mapper = Azure::VMwareCloudSimple::Mgmt::V2019_04_01::Models::VirtualMachine.mapper()
368
+ parsed_response = @client.deserialize(result_mapper, parsed_response)
369
+ end
370
+
371
+ # Waiting for response.
372
+ @client.get_long_running_operation_result(response, deserialize_method)
373
+ end
374
+
375
+ promise
376
+ end
377
+
378
+ #
379
+ # Implements virtual machine DELETE method
380
+ #
381
+ # Delete virtual machine
382
+ #
383
+ # @param resource_group_name [String] The name of the resource group
384
+ # @param virtual_machine_name [String] virtual machine name
385
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
386
+ # will be added to the HTTP request.
387
+ #
388
+ def delete(resource_group_name, virtual_machine_name, custom_headers:nil)
389
+ response = delete_async(resource_group_name, virtual_machine_name, custom_headers:custom_headers).value!
390
+ nil
391
+ end
392
+
393
+ #
394
+ # @param resource_group_name [String] The name of the resource group
395
+ # @param virtual_machine_name [String] virtual machine name
396
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
397
+ # will be added to the HTTP request.
398
+ #
399
+ # @return [Concurrent::Promise] promise which provides async access to http
400
+ # response.
401
+ #
402
+ def delete_async(resource_group_name, virtual_machine_name, custom_headers:nil)
403
+ # Send request
404
+ promise = begin_delete_async(resource_group_name, virtual_machine_name, custom_headers:custom_headers)
405
+
406
+ promise = promise.then do |response|
407
+ # Defining deserialization method.
408
+ deserialize_method = lambda do |parsed_response|
409
+ end
410
+
411
+ # Waiting for response.
412
+ @client.get_long_running_operation_result(response, deserialize_method)
413
+ end
414
+
415
+ promise
416
+ end
417
+
418
+ #
419
+ # Implements virtual machine PATCH method
420
+ #
421
+ # Patch virtual machine properties
422
+ #
423
+ # @param resource_group_name [String] The name of the resource group
424
+ # @param virtual_machine_name [String] virtual machine name
425
+ # @param virtual_machine_request [PatchPayload] Patch virtual machine request
426
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
427
+ # will be added to the HTTP request.
428
+ #
429
+ # @return [VirtualMachine] operation results.
430
+ #
431
+ def update(resource_group_name, virtual_machine_name, virtual_machine_request, custom_headers:nil)
432
+ response = update_async(resource_group_name, virtual_machine_name, virtual_machine_request, custom_headers:custom_headers).value!
433
+ response.body unless response.nil?
434
+ end
435
+
436
+ #
437
+ # @param resource_group_name [String] The name of the resource group
438
+ # @param virtual_machine_name [String] virtual machine name
439
+ # @param virtual_machine_request [PatchPayload] Patch virtual machine request
440
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
441
+ # will be added to the HTTP request.
442
+ #
443
+ # @return [Concurrent::Promise] promise which provides async access to http
444
+ # response.
445
+ #
446
+ def update_async(resource_group_name, virtual_machine_name, virtual_machine_request, custom_headers:nil)
447
+ # Send request
448
+ promise = begin_update_async(resource_group_name, virtual_machine_name, virtual_machine_request, custom_headers:custom_headers)
449
+
450
+ promise = promise.then do |response|
451
+ # Defining deserialization method.
452
+ deserialize_method = lambda do |parsed_response|
453
+ result_mapper = Azure::VMwareCloudSimple::Mgmt::V2019_04_01::Models::VirtualMachine.mapper()
454
+ parsed_response = @client.deserialize(result_mapper, parsed_response)
455
+ end
456
+
457
+ # Waiting for response.
458
+ @client.get_long_running_operation_result(response, deserialize_method)
459
+ end
460
+
461
+ promise
462
+ end
463
+
464
+ #
465
+ # Implements a start method for a virtual machine
466
+ #
467
+ # Power on virtual machine
468
+ #
469
+ # @param resource_group_name [String] The name of the resource group
470
+ # @param virtual_machine_name [String] virtual machine name
471
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
472
+ # will be added to the HTTP request.
473
+ #
474
+ def start(resource_group_name, virtual_machine_name, custom_headers:nil)
475
+ response = start_async(resource_group_name, virtual_machine_name, custom_headers:custom_headers).value!
476
+ nil
477
+ end
478
+
479
+ #
480
+ # @param resource_group_name [String] The name of the resource group
481
+ # @param virtual_machine_name [String] virtual machine name
482
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
483
+ # will be added to the HTTP request.
484
+ #
485
+ # @return [Concurrent::Promise] promise which provides async access to http
486
+ # response.
487
+ #
488
+ def start_async(resource_group_name, virtual_machine_name, custom_headers:nil)
489
+ # Send request
490
+ promise = begin_start_async(resource_group_name, virtual_machine_name, custom_headers:custom_headers)
491
+
492
+ promise = promise.then do |response|
493
+ # Defining deserialization method.
494
+ deserialize_method = lambda do |parsed_response|
495
+ end
496
+
497
+ # Waiting for response.
498
+ @client.get_long_running_operation_result(response, deserialize_method)
499
+ end
500
+
501
+ promise
502
+ end
503
+
504
+ #
505
+ # Implements shutdown, poweroff, and suspend method for a virtual machine
506
+ #
507
+ # Power off virtual machine, options: shutdown, poweroff, and suspend
508
+ #
509
+ # @param resource_group_name [String] The name of the resource group
510
+ # @param virtual_machine_name [String] virtual machine name
511
+ # @param m [VirtualMachineStopMode] body stop mode parameter (reboot, shutdown,
512
+ # etc...)
513
+ # @param mode [StopMode] query stop mode parameter (reboot, shutdown, etc...).
514
+ # Possible values include: 'reboot', 'suspend', 'shutdown', 'poweroff'
515
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
516
+ # will be added to the HTTP request.
517
+ #
518
+ def stop(resource_group_name, virtual_machine_name, m:nil, mode:nil, custom_headers:nil)
519
+ response = stop_async(resource_group_name, virtual_machine_name, m:m, mode:mode, custom_headers:custom_headers).value!
520
+ nil
521
+ end
522
+
523
+ #
524
+ # @param resource_group_name [String] The name of the resource group
525
+ # @param virtual_machine_name [String] virtual machine name
526
+ # @param m [VirtualMachineStopMode] body stop mode parameter (reboot, shutdown,
527
+ # etc...)
528
+ # @param mode [StopMode] query stop mode parameter (reboot, shutdown, etc...).
529
+ # Possible values include: 'reboot', 'suspend', 'shutdown', 'poweroff'
530
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
531
+ # will be added to the HTTP request.
532
+ #
533
+ # @return [Concurrent::Promise] promise which provides async access to http
534
+ # response.
535
+ #
536
+ def stop_async(resource_group_name, virtual_machine_name, m:nil, mode:nil, custom_headers:nil)
537
+ # Send request
538
+ promise = begin_stop_async(resource_group_name, virtual_machine_name, m:m, mode:mode, custom_headers:custom_headers)
539
+
540
+ promise = promise.then do |response|
541
+ # Defining deserialization method.
542
+ deserialize_method = lambda do |parsed_response|
543
+ end
544
+
545
+ # Waiting for response.
546
+ @client.get_long_running_operation_result(response, deserialize_method)
547
+ end
548
+
549
+ promise
550
+ end
551
+
552
+ #
553
+ # Implements virtual machine PUT method
554
+ #
555
+ # Create Or Update Virtual Machine
556
+ #
557
+ # @param resource_group_name [String] The name of the resource group
558
+ # @param virtual_machine_name [String] virtual machine name
559
+ # @param virtual_machine_request [VirtualMachine] Create or Update Virtual
560
+ # Machine request
561
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
562
+ # will be added to the HTTP request.
563
+ #
564
+ # @return [VirtualMachine] operation results.
565
+ #
566
+ def begin_create_or_update(resource_group_name, virtual_machine_name, virtual_machine_request, custom_headers:nil)
567
+ response = begin_create_or_update_async(resource_group_name, virtual_machine_name, virtual_machine_request, custom_headers:custom_headers).value!
568
+ response.body unless response.nil?
569
+ end
570
+
571
+ #
572
+ # Implements virtual machine PUT method
573
+ #
574
+ # Create Or Update Virtual Machine
575
+ #
576
+ # @param resource_group_name [String] The name of the resource group
577
+ # @param virtual_machine_name [String] virtual machine name
578
+ # @param virtual_machine_request [VirtualMachine] Create or Update Virtual
579
+ # Machine request
580
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
581
+ # will be added to the HTTP request.
582
+ #
583
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
584
+ #
585
+ def begin_create_or_update_with_http_info(resource_group_name, virtual_machine_name, virtual_machine_request, custom_headers:nil)
586
+ begin_create_or_update_async(resource_group_name, virtual_machine_name, virtual_machine_request, custom_headers:custom_headers).value!
587
+ end
588
+
589
+ #
590
+ # Implements virtual machine PUT method
591
+ #
592
+ # Create Or Update Virtual Machine
593
+ #
594
+ # @param resource_group_name [String] The name of the resource group
595
+ # @param virtual_machine_name [String] virtual machine name
596
+ # @param virtual_machine_request [VirtualMachine] Create or Update Virtual
597
+ # Machine request
598
+ # @param [Hash{String => String}] A hash of custom headers that will be added
599
+ # to the HTTP request.
600
+ #
601
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
602
+ #
603
+ def begin_create_or_update_async(resource_group_name, virtual_machine_name, virtual_machine_request, custom_headers:nil)
604
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
605
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
606
+ fail ArgumentError, '@client.referer is nil' if @client.referer.nil?
607
+ fail ArgumentError, 'virtual_machine_name is nil' if virtual_machine_name.nil?
608
+ fail ArgumentError, "'virtual_machine_name' should satisfy the constraint - 'Pattern': '^[-a-zA-Z0-9]+$'" if !virtual_machine_name.nil? && virtual_machine_name.match(Regexp.new('^^[-a-zA-Z0-9]+$$')).nil?
609
+ fail ArgumentError, 'virtual_machine_request is nil' if virtual_machine_request.nil?
610
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
611
+
612
+
613
+ request_headers = {}
614
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
615
+
616
+ # Set Headers
617
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
618
+ request_headers['Referer'] = @client.referer unless @client.referer.nil?
619
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
620
+
621
+ # Serialize Request
622
+ request_mapper = Azure::VMwareCloudSimple::Mgmt::V2019_04_01::Models::VirtualMachine.mapper()
623
+ request_content = @client.serialize(request_mapper, virtual_machine_request)
624
+ request_content = request_content != nil ? JSON.generate(request_content, quirks_mode: true) : nil
625
+
626
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.VMwareCloudSimple/virtualMachines/{virtualMachineName}'
627
+
628
+ request_url = @base_url || @client.base_url
629
+
630
+ options = {
631
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
632
+ path_params: {'subscriptionId' => @client.subscription_id,'resourceGroupName' => resource_group_name,'virtualMachineName' => virtual_machine_name},
633
+ query_params: {'api-version' => @client.api_version},
634
+ body: request_content,
635
+ headers: request_headers.merge(custom_headers || {}),
636
+ base_url: request_url
637
+ }
638
+ promise = @client.make_request_async(:put, path_template, options)
639
+
640
+ promise = promise.then do |result|
641
+ http_response = result.response
642
+ status_code = http_response.status
643
+ response_content = http_response.body
644
+ unless status_code == 200 || status_code == 201
645
+ error_model = JSON.load(response_content)
646
+ fail MsRest::HttpOperationError.new(result.request, http_response, error_model)
647
+ end
648
+
649
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
650
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
651
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
652
+ # Deserialize Response
653
+ if status_code == 200
654
+ begin
655
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
656
+ result_mapper = Azure::VMwareCloudSimple::Mgmt::V2019_04_01::Models::VirtualMachine.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
+ # Deserialize Response
663
+ if status_code == 201
664
+ begin
665
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
666
+ result_mapper = Azure::VMwareCloudSimple::Mgmt::V2019_04_01::Models::VirtualMachine.mapper()
667
+ result.body = @client.deserialize(result_mapper, parsed_response)
668
+ rescue Exception => e
669
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
670
+ end
671
+ end
672
+
673
+ result
674
+ end
675
+
676
+ promise.execute
677
+ end
678
+
679
+ #
680
+ # Implements virtual machine DELETE method
681
+ #
682
+ # Delete virtual machine
683
+ #
684
+ # @param resource_group_name [String] The name of the resource group
685
+ # @param virtual_machine_name [String] virtual machine name
686
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
687
+ # will be added to the HTTP request.
688
+ #
689
+ #
690
+ def begin_delete(resource_group_name, virtual_machine_name, custom_headers:nil)
691
+ response = begin_delete_async(resource_group_name, virtual_machine_name, custom_headers:custom_headers).value!
692
+ nil
693
+ end
694
+
695
+ #
696
+ # Implements virtual machine DELETE method
697
+ #
698
+ # Delete virtual machine
699
+ #
700
+ # @param resource_group_name [String] The name of the resource group
701
+ # @param virtual_machine_name [String] virtual machine name
702
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
703
+ # will be added to the HTTP request.
704
+ #
705
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
706
+ #
707
+ def begin_delete_with_http_info(resource_group_name, virtual_machine_name, custom_headers:nil)
708
+ begin_delete_async(resource_group_name, virtual_machine_name, custom_headers:custom_headers).value!
709
+ end
710
+
711
+ #
712
+ # Implements virtual machine DELETE method
713
+ #
714
+ # Delete virtual machine
715
+ #
716
+ # @param resource_group_name [String] The name of the resource group
717
+ # @param virtual_machine_name [String] virtual machine name
718
+ # @param [Hash{String => String}] A hash of custom headers that will be added
719
+ # to the HTTP request.
720
+ #
721
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
722
+ #
723
+ def begin_delete_async(resource_group_name, virtual_machine_name, custom_headers:nil)
724
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
725
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
726
+ fail ArgumentError, '@client.referer is nil' if @client.referer.nil?
727
+ fail ArgumentError, 'virtual_machine_name is nil' if virtual_machine_name.nil?
728
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
729
+
730
+
731
+ request_headers = {}
732
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
733
+
734
+ # Set Headers
735
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
736
+ request_headers['Referer'] = @client.referer unless @client.referer.nil?
737
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
738
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.VMwareCloudSimple/virtualMachines/{virtualMachineName}'
739
+
740
+ request_url = @base_url || @client.base_url
741
+
742
+ options = {
743
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
744
+ path_params: {'subscriptionId' => @client.subscription_id,'resourceGroupName' => resource_group_name,'virtualMachineName' => virtual_machine_name},
745
+ query_params: {'api-version' => @client.api_version},
746
+ headers: request_headers.merge(custom_headers || {}),
747
+ base_url: request_url
748
+ }
749
+ promise = @client.make_request_async(:delete, path_template, options)
750
+
751
+ promise = promise.then do |result|
752
+ http_response = result.response
753
+ status_code = http_response.status
754
+ response_content = http_response.body
755
+ unless status_code == 202 || status_code == 204
756
+ error_model = JSON.load(response_content)
757
+ fail MsRest::HttpOperationError.new(result.request, http_response, error_model)
758
+ end
759
+
760
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
761
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
762
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
763
+
764
+ result
765
+ end
766
+
767
+ promise.execute
768
+ end
769
+
770
+ #
771
+ # Implements virtual machine PATCH method
772
+ #
773
+ # Patch virtual machine properties
774
+ #
775
+ # @param resource_group_name [String] The name of the resource group
776
+ # @param virtual_machine_name [String] virtual machine name
777
+ # @param virtual_machine_request [PatchPayload] Patch virtual machine request
778
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
779
+ # will be added to the HTTP request.
780
+ #
781
+ # @return [VirtualMachine] operation results.
782
+ #
783
+ def begin_update(resource_group_name, virtual_machine_name, virtual_machine_request, custom_headers:nil)
784
+ response = begin_update_async(resource_group_name, virtual_machine_name, virtual_machine_request, custom_headers:custom_headers).value!
785
+ response.body unless response.nil?
786
+ end
787
+
788
+ #
789
+ # Implements virtual machine PATCH method
790
+ #
791
+ # Patch virtual machine properties
792
+ #
793
+ # @param resource_group_name [String] The name of the resource group
794
+ # @param virtual_machine_name [String] virtual machine name
795
+ # @param virtual_machine_request [PatchPayload] Patch virtual machine request
796
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
797
+ # will be added to the HTTP request.
798
+ #
799
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
800
+ #
801
+ def begin_update_with_http_info(resource_group_name, virtual_machine_name, virtual_machine_request, custom_headers:nil)
802
+ begin_update_async(resource_group_name, virtual_machine_name, virtual_machine_request, custom_headers:custom_headers).value!
803
+ end
804
+
805
+ #
806
+ # Implements virtual machine PATCH method
807
+ #
808
+ # Patch virtual machine properties
809
+ #
810
+ # @param resource_group_name [String] The name of the resource group
811
+ # @param virtual_machine_name [String] virtual machine name
812
+ # @param virtual_machine_request [PatchPayload] Patch virtual machine request
813
+ # @param [Hash{String => String}] A hash of custom headers that will be added
814
+ # to the HTTP request.
815
+ #
816
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
817
+ #
818
+ def begin_update_async(resource_group_name, virtual_machine_name, virtual_machine_request, custom_headers:nil)
819
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
820
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
821
+ fail ArgumentError, 'virtual_machine_name is nil' if virtual_machine_name.nil?
822
+ fail ArgumentError, 'virtual_machine_request is nil' if virtual_machine_request.nil?
823
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
824
+
825
+
826
+ request_headers = {}
827
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
828
+
829
+ # Set Headers
830
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
831
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
832
+
833
+ # Serialize Request
834
+ request_mapper = Azure::VMwareCloudSimple::Mgmt::V2019_04_01::Models::PatchPayload.mapper()
835
+ request_content = @client.serialize(request_mapper, virtual_machine_request)
836
+ request_content = request_content != nil ? JSON.generate(request_content, quirks_mode: true) : nil
837
+
838
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.VMwareCloudSimple/virtualMachines/{virtualMachineName}'
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,'virtualMachineName' => virtual_machine_name},
845
+ query_params: {'api-version' => @client.api_version},
846
+ body: request_content,
847
+ headers: request_headers.merge(custom_headers || {}),
848
+ base_url: request_url
849
+ }
850
+ promise = @client.make_request_async(:patch, path_template, options)
851
+
852
+ promise = promise.then do |result|
853
+ http_response = result.response
854
+ status_code = http_response.status
855
+ response_content = http_response.body
856
+ unless status_code == 200
857
+ error_model = JSON.load(response_content)
858
+ fail MsRest::HttpOperationError.new(result.request, http_response, error_model)
859
+ end
860
+
861
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
862
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
863
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
864
+ # Deserialize Response
865
+ if status_code == 200
866
+ begin
867
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
868
+ result_mapper = Azure::VMwareCloudSimple::Mgmt::V2019_04_01::Models::VirtualMachine.mapper()
869
+ result.body = @client.deserialize(result_mapper, parsed_response)
870
+ rescue Exception => e
871
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
872
+ end
873
+ end
874
+
875
+ result
876
+ end
877
+
878
+ promise.execute
879
+ end
880
+
881
+ #
882
+ # Implements a start method for a virtual machine
883
+ #
884
+ # Power on virtual machine
885
+ #
886
+ # @param resource_group_name [String] The name of the resource group
887
+ # @param virtual_machine_name [String] virtual machine name
888
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
889
+ # will be added to the HTTP request.
890
+ #
891
+ #
892
+ def begin_start(resource_group_name, virtual_machine_name, custom_headers:nil)
893
+ response = begin_start_async(resource_group_name, virtual_machine_name, custom_headers:custom_headers).value!
894
+ nil
895
+ end
896
+
897
+ #
898
+ # Implements a start method for a virtual machine
899
+ #
900
+ # Power on virtual machine
901
+ #
902
+ # @param resource_group_name [String] The name of the resource group
903
+ # @param virtual_machine_name [String] virtual machine name
904
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
905
+ # will be added to the HTTP request.
906
+ #
907
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
908
+ #
909
+ def begin_start_with_http_info(resource_group_name, virtual_machine_name, custom_headers:nil)
910
+ begin_start_async(resource_group_name, virtual_machine_name, custom_headers:custom_headers).value!
911
+ end
912
+
913
+ #
914
+ # Implements a start method for a virtual machine
915
+ #
916
+ # Power on virtual machine
917
+ #
918
+ # @param resource_group_name [String] The name of the resource group
919
+ # @param virtual_machine_name [String] virtual machine name
920
+ # @param [Hash{String => String}] A hash of custom headers that will be added
921
+ # to the HTTP request.
922
+ #
923
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
924
+ #
925
+ def begin_start_async(resource_group_name, virtual_machine_name, custom_headers:nil)
926
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
927
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
928
+ fail ArgumentError, '@client.referer is nil' if @client.referer.nil?
929
+ fail ArgumentError, 'virtual_machine_name is nil' if virtual_machine_name.nil?
930
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
931
+
932
+
933
+ request_headers = {}
934
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
935
+
936
+ # Set Headers
937
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
938
+ request_headers['Referer'] = @client.referer unless @client.referer.nil?
939
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
940
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.VMwareCloudSimple/virtualMachines/{virtualMachineName}/start'
941
+
942
+ request_url = @base_url || @client.base_url
943
+
944
+ options = {
945
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
946
+ path_params: {'subscriptionId' => @client.subscription_id,'resourceGroupName' => resource_group_name,'virtualMachineName' => virtual_machine_name},
947
+ query_params: {'api-version' => @client.api_version},
948
+ headers: request_headers.merge(custom_headers || {}),
949
+ base_url: request_url
950
+ }
951
+ promise = @client.make_request_async(:post, path_template, options)
952
+
953
+ promise = promise.then do |result|
954
+ http_response = result.response
955
+ status_code = http_response.status
956
+ response_content = http_response.body
957
+ unless status_code == 200 || status_code == 202
958
+ error_model = JSON.load(response_content)
959
+ fail MsRest::HttpOperationError.new(result.request, http_response, error_model)
960
+ end
961
+
962
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
963
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
964
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
965
+
966
+ result
967
+ end
968
+
969
+ promise.execute
970
+ end
971
+
972
+ #
973
+ # Implements shutdown, poweroff, and suspend method for a virtual machine
974
+ #
975
+ # Power off virtual machine, options: shutdown, poweroff, and suspend
976
+ #
977
+ # @param resource_group_name [String] The name of the resource group
978
+ # @param virtual_machine_name [String] virtual machine name
979
+ # @param m [VirtualMachineStopMode] body stop mode parameter (reboot, shutdown,
980
+ # etc...)
981
+ # @param mode [StopMode] query stop mode parameter (reboot, shutdown, etc...).
982
+ # Possible values include: 'reboot', 'suspend', 'shutdown', 'poweroff'
983
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
984
+ # will be added to the HTTP request.
985
+ #
986
+ #
987
+ def begin_stop(resource_group_name, virtual_machine_name, m:nil, mode:nil, custom_headers:nil)
988
+ response = begin_stop_async(resource_group_name, virtual_machine_name, m:m, mode:mode, custom_headers:custom_headers).value!
989
+ nil
990
+ end
991
+
992
+ #
993
+ # Implements shutdown, poweroff, and suspend method for a virtual machine
994
+ #
995
+ # Power off virtual machine, options: shutdown, poweroff, and suspend
996
+ #
997
+ # @param resource_group_name [String] The name of the resource group
998
+ # @param virtual_machine_name [String] virtual machine name
999
+ # @param m [VirtualMachineStopMode] body stop mode parameter (reboot, shutdown,
1000
+ # etc...)
1001
+ # @param mode [StopMode] query stop mode parameter (reboot, shutdown, etc...).
1002
+ # Possible values include: 'reboot', 'suspend', 'shutdown', 'poweroff'
1003
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
1004
+ # will be added to the HTTP request.
1005
+ #
1006
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
1007
+ #
1008
+ def begin_stop_with_http_info(resource_group_name, virtual_machine_name, m:nil, mode:nil, custom_headers:nil)
1009
+ begin_stop_async(resource_group_name, virtual_machine_name, m:m, mode:mode, custom_headers:custom_headers).value!
1010
+ end
1011
+
1012
+ #
1013
+ # Implements shutdown, poweroff, and suspend method for a virtual machine
1014
+ #
1015
+ # Power off virtual machine, options: shutdown, poweroff, and suspend
1016
+ #
1017
+ # @param resource_group_name [String] The name of the resource group
1018
+ # @param virtual_machine_name [String] virtual machine name
1019
+ # @param m [VirtualMachineStopMode] body stop mode parameter (reboot, shutdown,
1020
+ # etc...)
1021
+ # @param mode [StopMode] query stop mode parameter (reboot, shutdown, etc...).
1022
+ # Possible values include: 'reboot', 'suspend', 'shutdown', 'poweroff'
1023
+ # @param [Hash{String => String}] A hash of custom headers that will be added
1024
+ # to the HTTP request.
1025
+ #
1026
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
1027
+ #
1028
+ def begin_stop_async(resource_group_name, virtual_machine_name, m:nil, mode:nil, custom_headers:nil)
1029
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
1030
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
1031
+ fail ArgumentError, '@client.referer is nil' if @client.referer.nil?
1032
+ fail ArgumentError, 'virtual_machine_name is nil' if virtual_machine_name.nil?
1033
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
1034
+
1035
+
1036
+ request_headers = {}
1037
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
1038
+
1039
+ # Set Headers
1040
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
1041
+ request_headers['Referer'] = @client.referer unless @client.referer.nil?
1042
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
1043
+
1044
+ # Serialize Request
1045
+ request_mapper = Azure::VMwareCloudSimple::Mgmt::V2019_04_01::Models::VirtualMachineStopMode.mapper()
1046
+ request_content = @client.serialize(request_mapper, m)
1047
+ request_content = request_content != nil ? JSON.generate(request_content, quirks_mode: true) : nil
1048
+
1049
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.VMwareCloudSimple/virtualMachines/{virtualMachineName}/stop'
1050
+
1051
+ request_url = @base_url || @client.base_url
1052
+
1053
+ options = {
1054
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
1055
+ path_params: {'subscriptionId' => @client.subscription_id,'resourceGroupName' => resource_group_name,'virtualMachineName' => virtual_machine_name},
1056
+ query_params: {'mode' => mode,'api-version' => @client.api_version},
1057
+ body: request_content,
1058
+ headers: request_headers.merge(custom_headers || {}),
1059
+ base_url: request_url
1060
+ }
1061
+ promise = @client.make_request_async(:post, path_template, options)
1062
+
1063
+ promise = promise.then do |result|
1064
+ http_response = result.response
1065
+ status_code = http_response.status
1066
+ response_content = http_response.body
1067
+ unless status_code == 200 || status_code == 202
1068
+ error_model = JSON.load(response_content)
1069
+ fail MsRest::HttpOperationError.new(result.request, http_response, error_model)
1070
+ end
1071
+
1072
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
1073
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
1074
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
1075
+
1076
+ result
1077
+ end
1078
+
1079
+ promise.execute
1080
+ end
1081
+
1082
+ #
1083
+ # Implements list virtual machine within subscription method
1084
+ #
1085
+ # Returns list virtual machine within subscription
1086
+ #
1087
+ # @param next_page_link [String] The NextLink from the previous successful call
1088
+ # to List operation.
1089
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
1090
+ # will be added to the HTTP request.
1091
+ #
1092
+ # @return [VirtualMachineListResponse] operation results.
1093
+ #
1094
+ def list_by_subscription_next(next_page_link, custom_headers:nil)
1095
+ response = list_by_subscription_next_async(next_page_link, custom_headers:custom_headers).value!
1096
+ response.body unless response.nil?
1097
+ end
1098
+
1099
+ #
1100
+ # Implements list virtual machine within subscription method
1101
+ #
1102
+ # Returns list virtual machine within subscription
1103
+ #
1104
+ # @param next_page_link [String] The NextLink from the previous successful call
1105
+ # to List operation.
1106
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
1107
+ # will be added to the HTTP request.
1108
+ #
1109
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
1110
+ #
1111
+ def list_by_subscription_next_with_http_info(next_page_link, custom_headers:nil)
1112
+ list_by_subscription_next_async(next_page_link, custom_headers:custom_headers).value!
1113
+ end
1114
+
1115
+ #
1116
+ # Implements list virtual machine within subscription method
1117
+ #
1118
+ # Returns list virtual machine within subscription
1119
+ #
1120
+ # @param next_page_link [String] The NextLink from the previous successful call
1121
+ # to List operation.
1122
+ # @param [Hash{String => String}] A hash of custom headers that will be added
1123
+ # to the HTTP request.
1124
+ #
1125
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
1126
+ #
1127
+ def list_by_subscription_next_async(next_page_link, custom_headers:nil)
1128
+ fail ArgumentError, 'next_page_link is nil' if next_page_link.nil?
1129
+
1130
+
1131
+ request_headers = {}
1132
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
1133
+
1134
+ # Set Headers
1135
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
1136
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
1137
+ path_template = '{nextLink}'
1138
+
1139
+ request_url = @base_url || @client.base_url
1140
+
1141
+ options = {
1142
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
1143
+ skip_encoding_path_params: {'nextLink' => next_page_link},
1144
+ headers: request_headers.merge(custom_headers || {}),
1145
+ base_url: request_url
1146
+ }
1147
+ promise = @client.make_request_async(:get, path_template, options)
1148
+
1149
+ promise = promise.then do |result|
1150
+ http_response = result.response
1151
+ status_code = http_response.status
1152
+ response_content = http_response.body
1153
+ unless status_code == 200
1154
+ error_model = JSON.load(response_content)
1155
+ fail MsRest::HttpOperationError.new(result.request, http_response, error_model)
1156
+ end
1157
+
1158
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
1159
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
1160
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
1161
+ # Deserialize Response
1162
+ if status_code == 200
1163
+ begin
1164
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
1165
+ result_mapper = Azure::VMwareCloudSimple::Mgmt::V2019_04_01::Models::VirtualMachineListResponse.mapper()
1166
+ result.body = @client.deserialize(result_mapper, parsed_response)
1167
+ rescue Exception => e
1168
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
1169
+ end
1170
+ end
1171
+
1172
+ result
1173
+ end
1174
+
1175
+ promise.execute
1176
+ end
1177
+
1178
+ #
1179
+ # Implements list virtual machine within RG method
1180
+ #
1181
+ # Returns list of virtual machine within resource group
1182
+ #
1183
+ # @param next_page_link [String] The NextLink from the previous successful call
1184
+ # to List operation.
1185
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
1186
+ # will be added to the HTTP request.
1187
+ #
1188
+ # @return [VirtualMachineListResponse] operation results.
1189
+ #
1190
+ def list_by_resource_group_next(next_page_link, custom_headers:nil)
1191
+ response = list_by_resource_group_next_async(next_page_link, custom_headers:custom_headers).value!
1192
+ response.body unless response.nil?
1193
+ end
1194
+
1195
+ #
1196
+ # Implements list virtual machine within RG method
1197
+ #
1198
+ # Returns list of virtual machine within resource group
1199
+ #
1200
+ # @param next_page_link [String] The NextLink from the previous successful call
1201
+ # to List operation.
1202
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
1203
+ # will be added to the HTTP request.
1204
+ #
1205
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
1206
+ #
1207
+ def list_by_resource_group_next_with_http_info(next_page_link, custom_headers:nil)
1208
+ list_by_resource_group_next_async(next_page_link, custom_headers:custom_headers).value!
1209
+ end
1210
+
1211
+ #
1212
+ # Implements list virtual machine within RG method
1213
+ #
1214
+ # Returns list of virtual machine within resource group
1215
+ #
1216
+ # @param next_page_link [String] The NextLink from the previous successful call
1217
+ # to List operation.
1218
+ # @param [Hash{String => String}] A hash of custom headers that will be added
1219
+ # to the HTTP request.
1220
+ #
1221
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
1222
+ #
1223
+ def list_by_resource_group_next_async(next_page_link, custom_headers:nil)
1224
+ fail ArgumentError, 'next_page_link is nil' if next_page_link.nil?
1225
+
1226
+
1227
+ request_headers = {}
1228
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
1229
+
1230
+ # Set Headers
1231
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
1232
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
1233
+ path_template = '{nextLink}'
1234
+
1235
+ request_url = @base_url || @client.base_url
1236
+
1237
+ options = {
1238
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
1239
+ skip_encoding_path_params: {'nextLink' => next_page_link},
1240
+ headers: request_headers.merge(custom_headers || {}),
1241
+ base_url: request_url
1242
+ }
1243
+ promise = @client.make_request_async(:get, path_template, options)
1244
+
1245
+ promise = promise.then do |result|
1246
+ http_response = result.response
1247
+ status_code = http_response.status
1248
+ response_content = http_response.body
1249
+ unless status_code == 200
1250
+ error_model = JSON.load(response_content)
1251
+ fail MsRest::HttpOperationError.new(result.request, http_response, error_model)
1252
+ end
1253
+
1254
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
1255
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
1256
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
1257
+ # Deserialize Response
1258
+ if status_code == 200
1259
+ begin
1260
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
1261
+ result_mapper = Azure::VMwareCloudSimple::Mgmt::V2019_04_01::Models::VirtualMachineListResponse.mapper()
1262
+ result.body = @client.deserialize(result_mapper, parsed_response)
1263
+ rescue Exception => e
1264
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
1265
+ end
1266
+ end
1267
+
1268
+ result
1269
+ end
1270
+
1271
+ promise.execute
1272
+ end
1273
+
1274
+ #
1275
+ # Implements list virtual machine within subscription method
1276
+ #
1277
+ # Returns list virtual machine within subscription
1278
+ #
1279
+ # @param filter [String] The filter to apply on the list operation
1280
+ # @param top [Integer] The maximum number of record sets to return
1281
+ # @param skip_token [String] to be used by nextLink implementation
1282
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
1283
+ # will be added to the HTTP request.
1284
+ #
1285
+ # @return [VirtualMachineListResponse] which provide lazy access to pages of
1286
+ # the response.
1287
+ #
1288
+ def list_by_subscription_as_lazy(filter:nil, top:nil, skip_token:nil, custom_headers:nil)
1289
+ response = list_by_subscription_async(filter:filter, top:top, skip_token:skip_token, custom_headers:custom_headers).value!
1290
+ unless response.nil?
1291
+ page = response.body
1292
+ page.next_method = Proc.new do |next_page_link|
1293
+ list_by_subscription_next_async(next_page_link, custom_headers:custom_headers)
1294
+ end
1295
+ page
1296
+ end
1297
+ end
1298
+
1299
+ #
1300
+ # Implements list virtual machine within RG method
1301
+ #
1302
+ # Returns list of virtual machine within resource group
1303
+ #
1304
+ # @param resource_group_name [String] The name of the resource group
1305
+ # @param filter [String] The filter to apply on the list operation
1306
+ # @param top [Integer] The maximum number of record sets to return
1307
+ # @param skip_token [String] to be used by nextLink implementation
1308
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
1309
+ # will be added to the HTTP request.
1310
+ #
1311
+ # @return [VirtualMachineListResponse] which provide lazy access to pages of
1312
+ # the response.
1313
+ #
1314
+ def list_by_resource_group_as_lazy(resource_group_name, filter:nil, top:nil, skip_token:nil, custom_headers:nil)
1315
+ response = list_by_resource_group_async(resource_group_name, filter:filter, top:top, skip_token:skip_token, custom_headers:custom_headers).value!
1316
+ unless response.nil?
1317
+ page = response.body
1318
+ page.next_method = Proc.new do |next_page_link|
1319
+ list_by_resource_group_next_async(next_page_link, custom_headers:custom_headers)
1320
+ end
1321
+ page
1322
+ end
1323
+ end
1324
+
1325
+ end
1326
+ end