azure_mgmt_labservices 0.17.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (94) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.txt +21 -0
  3. data/lib/2018-10-15/generated/azure_mgmt_labservices.rb +109 -0
  4. data/lib/2018-10-15/generated/azure_mgmt_labservices/environment_settings.rb +1254 -0
  5. data/lib/2018-10-15/generated/azure_mgmt_labservices/environments.rb +1286 -0
  6. data/lib/2018-10-15/generated/azure_mgmt_labservices/gallery_images.rb +672 -0
  7. data/lib/2018-10-15/generated/azure_mgmt_labservices/global_users.rb +1131 -0
  8. data/lib/2018-10-15/generated/azure_mgmt_labservices/lab_accounts.rb +1093 -0
  9. data/lib/2018-10-15/generated/azure_mgmt_labservices/labs.rb +890 -0
  10. data/lib/2018-10-15/generated/azure_mgmt_labservices/managed_labs_client.rb +163 -0
  11. data/lib/2018-10-15/generated/azure_mgmt_labservices/models/add_remove.rb +16 -0
  12. data/lib/2018-10-15/generated/azure_mgmt_labservices/models/add_users_payload.rb +55 -0
  13. data/lib/2018-10-15/generated/azure_mgmt_labservices/models/configuration_state.rb +16 -0
  14. data/lib/2018-10-15/generated/azure_mgmt_labservices/models/create_lab_properties.rb +101 -0
  15. data/lib/2018-10-15/generated/azure_mgmt_labservices/models/environment.rb +235 -0
  16. data/lib/2018-10-15/generated/azure_mgmt_labservices/models/environment_details.rb +149 -0
  17. data/lib/2018-10-15/generated/azure_mgmt_labservices/models/environment_fragment.rb +121 -0
  18. data/lib/2018-10-15/generated/azure_mgmt_labservices/models/environment_operations_payload.rb +47 -0
  19. data/lib/2018-10-15/generated/azure_mgmt_labservices/models/environment_setting.rb +210 -0
  20. data/lib/2018-10-15/generated/azure_mgmt_labservices/models/environment_setting_creation_parameters.rb +48 -0
  21. data/lib/2018-10-15/generated/azure_mgmt_labservices/models/environment_setting_fragment.rb +157 -0
  22. data/lib/2018-10-15/generated/azure_mgmt_labservices/models/environment_size.rb +110 -0
  23. data/lib/2018-10-15/generated/azure_mgmt_labservices/models/environment_size_fragment.rb +69 -0
  24. data/lib/2018-10-15/generated/azure_mgmt_labservices/models/gallery_image.rb +231 -0
  25. data/lib/2018-10-15/generated/azure_mgmt_labservices/models/gallery_image_fragment.rb +143 -0
  26. data/lib/2018-10-15/generated/azure_mgmt_labservices/models/gallery_image_reference.rb +90 -0
  27. data/lib/2018-10-15/generated/azure_mgmt_labservices/models/gallery_image_reference_fragment.rb +90 -0
  28. data/lib/2018-10-15/generated/azure_mgmt_labservices/models/get_environment_response.rb +48 -0
  29. data/lib/2018-10-15/generated/azure_mgmt_labservices/models/get_personal_preferences_response.rb +65 -0
  30. data/lib/2018-10-15/generated/azure_mgmt_labservices/models/get_regional_availability_response.rb +56 -0
  31. data/lib/2018-10-15/generated/azure_mgmt_labservices/models/lab.rb +219 -0
  32. data/lib/2018-10-15/generated/azure_mgmt_labservices/models/lab_account.rb +147 -0
  33. data/lib/2018-10-15/generated/azure_mgmt_labservices/models/lab_account_fragment.rb +119 -0
  34. data/lib/2018-10-15/generated/azure_mgmt_labservices/models/lab_creation_parameters.rb +46 -0
  35. data/lib/2018-10-15/generated/azure_mgmt_labservices/models/lab_details.rb +82 -0
  36. data/lib/2018-10-15/generated/azure_mgmt_labservices/models/lab_fragment.rb +144 -0
  37. data/lib/2018-10-15/generated/azure_mgmt_labservices/models/lab_user_access_mode.rb +16 -0
  38. data/lib/2018-10-15/generated/azure_mgmt_labservices/models/latest_operation_result.rb +107 -0
  39. data/lib/2018-10-15/generated/azure_mgmt_labservices/models/list_environments_payload.rb +46 -0
  40. data/lib/2018-10-15/generated/azure_mgmt_labservices/models/list_environments_response.rb +55 -0
  41. data/lib/2018-10-15/generated/azure_mgmt_labservices/models/list_labs_response.rb +55 -0
  42. data/lib/2018-10-15/generated/azure_mgmt_labservices/models/managed_lab_vm_size.rb +17 -0
  43. data/lib/2018-10-15/generated/azure_mgmt_labservices/models/network_interface.rb +83 -0
  44. data/lib/2018-10-15/generated/azure_mgmt_labservices/models/operation_batch_status_payload.rb +54 -0
  45. data/lib/2018-10-15/generated/azure_mgmt_labservices/models/operation_batch_status_response.rb +57 -0
  46. data/lib/2018-10-15/generated/azure_mgmt_labservices/models/operation_batch_status_response_item.rb +61 -0
  47. data/lib/2018-10-15/generated/azure_mgmt_labservices/models/operation_error.rb +57 -0
  48. data/lib/2018-10-15/generated/azure_mgmt_labservices/models/operation_metadata.rb +59 -0
  49. data/lib/2018-10-15/generated/azure_mgmt_labservices/models/operation_metadata_display.rb +80 -0
  50. data/lib/2018-10-15/generated/azure_mgmt_labservices/models/operation_result.rb +59 -0
  51. data/lib/2018-10-15/generated/azure_mgmt_labservices/models/operation_status_payload.rb +46 -0
  52. data/lib/2018-10-15/generated/azure_mgmt_labservices/models/operation_status_response.rb +48 -0
  53. data/lib/2018-10-15/generated/azure_mgmt_labservices/models/personal_preferences_operations_payload.rb +71 -0
  54. data/lib/2018-10-15/generated/azure_mgmt_labservices/models/provider_operation_result.rb +101 -0
  55. data/lib/2018-10-15/generated/azure_mgmt_labservices/models/publish_payload.rb +47 -0
  56. data/lib/2018-10-15/generated/azure_mgmt_labservices/models/publishing_state.rb +19 -0
  57. data/lib/2018-10-15/generated/azure_mgmt_labservices/models/reference_vm.rb +84 -0
  58. data/lib/2018-10-15/generated/azure_mgmt_labservices/models/reference_vm_creation_parameters.rb +57 -0
  59. data/lib/2018-10-15/generated/azure_mgmt_labservices/models/reference_vm_fragment.rb +58 -0
  60. data/lib/2018-10-15/generated/azure_mgmt_labservices/models/regional_availability.rb +67 -0
  61. data/lib/2018-10-15/generated/azure_mgmt_labservices/models/register_payload.rb +46 -0
  62. data/lib/2018-10-15/generated/azure_mgmt_labservices/models/reset_password_payload.rb +68 -0
  63. data/lib/2018-10-15/generated/azure_mgmt_labservices/models/resource.rb +110 -0
  64. data/lib/2018-10-15/generated/azure_mgmt_labservices/models/resource_set.rb +57 -0
  65. data/lib/2018-10-15/generated/azure_mgmt_labservices/models/resource_set_fragment.rb +57 -0
  66. data/lib/2018-10-15/generated/azure_mgmt_labservices/models/resource_setting_creation_parameters.rb +94 -0
  67. data/lib/2018-10-15/generated/azure_mgmt_labservices/models/resource_settings.rb +108 -0
  68. data/lib/2018-10-15/generated/azure_mgmt_labservices/models/resource_settings_fragment.rb +71 -0
  69. data/lib/2018-10-15/generated/azure_mgmt_labservices/models/response_with_continuation_environment.rb +98 -0
  70. data/lib/2018-10-15/generated/azure_mgmt_labservices/models/response_with_continuation_environment_setting.rb +100 -0
  71. data/lib/2018-10-15/generated/azure_mgmt_labservices/models/response_with_continuation_gallery_image.rb +98 -0
  72. data/lib/2018-10-15/generated/azure_mgmt_labservices/models/response_with_continuation_lab.rb +98 -0
  73. data/lib/2018-10-15/generated/azure_mgmt_labservices/models/response_with_continuation_lab_account.rb +98 -0
  74. data/lib/2018-10-15/generated/azure_mgmt_labservices/models/response_with_continuation_user.rb +98 -0
  75. data/lib/2018-10-15/generated/azure_mgmt_labservices/models/size_availability.rb +59 -0
  76. data/lib/2018-10-15/generated/azure_mgmt_labservices/models/size_configuration_properties.rb +56 -0
  77. data/lib/2018-10-15/generated/azure_mgmt_labservices/models/size_configuration_properties_fragment.rb +56 -0
  78. data/lib/2018-10-15/generated/azure_mgmt_labservices/models/size_info.rb +82 -0
  79. data/lib/2018-10-15/generated/azure_mgmt_labservices/models/size_info_fragment.rb +82 -0
  80. data/lib/2018-10-15/generated/azure_mgmt_labservices/models/user.rb +186 -0
  81. data/lib/2018-10-15/generated/azure_mgmt_labservices/models/user_fragment.rb +108 -0
  82. data/lib/2018-10-15/generated/azure_mgmt_labservices/models/virtual_machine_details.rb +107 -0
  83. data/lib/2018-10-15/generated/azure_mgmt_labservices/models/vm_state_details.rb +86 -0
  84. data/lib/2018-10-15/generated/azure_mgmt_labservices/module_definition.rb +9 -0
  85. data/lib/2018-10-15/generated/azure_mgmt_labservices/operations.rb +117 -0
  86. data/lib/2018-10-15/generated/azure_mgmt_labservices/provider_operations.rb +215 -0
  87. data/lib/2018-10-15/generated/azure_mgmt_labservices/users.rb +729 -0
  88. data/lib/azure_mgmt_labservices.rb +6 -0
  89. data/lib/module_definition.rb +7 -0
  90. data/lib/profiles/latest/labservices_latest_profile_client.rb +40 -0
  91. data/lib/profiles/latest/labservices_module_definition.rb +8 -0
  92. data/lib/profiles/latest/modules/labservices_profile_module.rb +369 -0
  93. data/lib/version.rb +7 -0
  94. metadata +210 -0
@@ -0,0 +1,1286 @@
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::Labservices::Mgmt::V2018_10_15
7
+ #
8
+ # The Managed Labs Client.
9
+ #
10
+ class Environments
11
+ include MsRestAzure
12
+
13
+ #
14
+ # Creates and initializes a new instance of the Environments class.
15
+ # @param client service class for accessing basic functionality.
16
+ #
17
+ def initialize(client)
18
+ @client = client
19
+ end
20
+
21
+ # @return [ManagedLabsClient] reference to the ManagedLabsClient
22
+ attr_reader :client
23
+
24
+ #
25
+ # List environments in a given environment setting.
26
+ #
27
+ # @param resource_group_name [String] The name of the resource group.
28
+ # @param lab_account_name [String] The name of the lab Account.
29
+ # @param lab_name [String] The name of the lab.
30
+ # @param environment_setting_name [String] The name of the environment Setting.
31
+ # @param expand [String] Specify the $expand query. Example:
32
+ # 'properties($expand=networkInterface)'
33
+ # @param filter [String] The filter to apply to the operation.
34
+ # @param top [Integer] The maximum number of resources to return from the
35
+ # operation.
36
+ # @param orderby [String] The ordering expression for the results, using OData
37
+ # notation.
38
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
39
+ # will be added to the HTTP request.
40
+ #
41
+ # @return [Array<Environment>] operation results.
42
+ #
43
+ def list(resource_group_name, lab_account_name, lab_name, environment_setting_name, expand:nil, filter:nil, top:nil, orderby:nil, custom_headers:nil)
44
+ first_page = list_as_lazy(resource_group_name, lab_account_name, lab_name, environment_setting_name, expand:expand, filter:filter, top:top, orderby:orderby, custom_headers:custom_headers)
45
+ first_page.get_all_items
46
+ end
47
+
48
+ #
49
+ # List environments in a given environment setting.
50
+ #
51
+ # @param resource_group_name [String] The name of the resource group.
52
+ # @param lab_account_name [String] The name of the lab Account.
53
+ # @param lab_name [String] The name of the lab.
54
+ # @param environment_setting_name [String] The name of the environment Setting.
55
+ # @param expand [String] Specify the $expand query. Example:
56
+ # 'properties($expand=networkInterface)'
57
+ # @param filter [String] The filter to apply to the operation.
58
+ # @param top [Integer] The maximum number of resources to return from the
59
+ # operation.
60
+ # @param orderby [String] The ordering expression for the results, using OData
61
+ # 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 [MsRestAzure::AzureOperationResponse] HTTP response information.
66
+ #
67
+ def list_with_http_info(resource_group_name, lab_account_name, lab_name, environment_setting_name, expand:nil, filter:nil, top:nil, orderby:nil, custom_headers:nil)
68
+ list_async(resource_group_name, lab_account_name, lab_name, environment_setting_name, expand:expand, filter:filter, top:top, orderby:orderby, custom_headers:custom_headers).value!
69
+ end
70
+
71
+ #
72
+ # List environments in a given environment setting.
73
+ #
74
+ # @param resource_group_name [String] The name of the resource group.
75
+ # @param lab_account_name [String] The name of the lab Account.
76
+ # @param lab_name [String] The name of the lab.
77
+ # @param environment_setting_name [String] The name of the environment Setting.
78
+ # @param expand [String] Specify the $expand query. Example:
79
+ # 'properties($expand=networkInterface)'
80
+ # @param filter [String] The filter to apply to the operation.
81
+ # @param top [Integer] The maximum number of resources to return from the
82
+ # operation.
83
+ # @param orderby [String] The ordering expression for the results, using OData
84
+ # notation.
85
+ # @param [Hash{String => String}] A hash of custom headers that will be added
86
+ # to the HTTP request.
87
+ #
88
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
89
+ #
90
+ def list_async(resource_group_name, lab_account_name, lab_name, environment_setting_name, expand:nil, filter:nil, top:nil, orderby:nil, custom_headers:nil)
91
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
92
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
93
+ fail ArgumentError, 'lab_account_name is nil' if lab_account_name.nil?
94
+ fail ArgumentError, 'lab_name is nil' if lab_name.nil?
95
+ fail ArgumentError, 'environment_setting_name is nil' if environment_setting_name.nil?
96
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
97
+
98
+
99
+ request_headers = {}
100
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
101
+
102
+ # Set Headers
103
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
104
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
105
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/environmentsettings/{environmentSettingName}/environments'
106
+
107
+ request_url = @base_url || @client.base_url
108
+
109
+ options = {
110
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
111
+ path_params: {'subscriptionId' => @client.subscription_id,'resourceGroupName' => resource_group_name,'labAccountName' => lab_account_name,'labName' => lab_name,'environmentSettingName' => environment_setting_name},
112
+ query_params: {'$expand' => expand,'$filter' => filter,'$top' => top,'$orderby' => orderby,'api-version' => @client.api_version},
113
+ headers: request_headers.merge(custom_headers || {}),
114
+ base_url: request_url
115
+ }
116
+ promise = @client.make_request_async(:get, path_template, options)
117
+
118
+ promise = promise.then do |result|
119
+ http_response = result.response
120
+ status_code = http_response.status
121
+ response_content = http_response.body
122
+ unless status_code == 200
123
+ error_model = JSON.load(response_content)
124
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
125
+ end
126
+
127
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
128
+ # Deserialize Response
129
+ if status_code == 200
130
+ begin
131
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
132
+ result_mapper = Azure::Labservices::Mgmt::V2018_10_15::Models::ResponseWithContinuationEnvironment.mapper()
133
+ result.body = @client.deserialize(result_mapper, parsed_response)
134
+ rescue Exception => e
135
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
136
+ end
137
+ end
138
+
139
+ result
140
+ end
141
+
142
+ promise.execute
143
+ end
144
+
145
+ #
146
+ # Get environment
147
+ #
148
+ # @param resource_group_name [String] The name of the resource group.
149
+ # @param lab_account_name [String] The name of the lab Account.
150
+ # @param lab_name [String] The name of the lab.
151
+ # @param environment_setting_name [String] The name of the environment Setting.
152
+ # @param environment_name [String] The name of the environment.
153
+ # @param expand [String] Specify the $expand query. Example:
154
+ # 'properties($expand=networkInterface)'
155
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
156
+ # will be added to the HTTP request.
157
+ #
158
+ # @return [Environment] operation results.
159
+ #
160
+ def get(resource_group_name, lab_account_name, lab_name, environment_setting_name, environment_name, expand:nil, custom_headers:nil)
161
+ response = get_async(resource_group_name, lab_account_name, lab_name, environment_setting_name, environment_name, expand:expand, custom_headers:custom_headers).value!
162
+ response.body unless response.nil?
163
+ end
164
+
165
+ #
166
+ # Get environment
167
+ #
168
+ # @param resource_group_name [String] The name of the resource group.
169
+ # @param lab_account_name [String] The name of the lab Account.
170
+ # @param lab_name [String] The name of the lab.
171
+ # @param environment_setting_name [String] The name of the environment Setting.
172
+ # @param environment_name [String] The name of the environment.
173
+ # @param expand [String] Specify the $expand query. Example:
174
+ # 'properties($expand=networkInterface)'
175
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
176
+ # will be added to the HTTP request.
177
+ #
178
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
179
+ #
180
+ def get_with_http_info(resource_group_name, lab_account_name, lab_name, environment_setting_name, environment_name, expand:nil, custom_headers:nil)
181
+ get_async(resource_group_name, lab_account_name, lab_name, environment_setting_name, environment_name, expand:expand, custom_headers:custom_headers).value!
182
+ end
183
+
184
+ #
185
+ # Get environment
186
+ #
187
+ # @param resource_group_name [String] The name of the resource group.
188
+ # @param lab_account_name [String] The name of the lab Account.
189
+ # @param lab_name [String] The name of the lab.
190
+ # @param environment_setting_name [String] The name of the environment Setting.
191
+ # @param environment_name [String] The name of the environment.
192
+ # @param expand [String] Specify the $expand query. Example:
193
+ # 'properties($expand=networkInterface)'
194
+ # @param [Hash{String => String}] A hash of custom headers that will be added
195
+ # to the HTTP request.
196
+ #
197
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
198
+ #
199
+ def get_async(resource_group_name, lab_account_name, lab_name, environment_setting_name, environment_name, expand:nil, custom_headers:nil)
200
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
201
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
202
+ fail ArgumentError, 'lab_account_name is nil' if lab_account_name.nil?
203
+ fail ArgumentError, 'lab_name is nil' if lab_name.nil?
204
+ fail ArgumentError, 'environment_setting_name is nil' if environment_setting_name.nil?
205
+ fail ArgumentError, 'environment_name is nil' if environment_name.nil?
206
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
207
+
208
+
209
+ request_headers = {}
210
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
211
+
212
+ # Set Headers
213
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
214
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
215
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/environmentsettings/{environmentSettingName}/environments/{environmentName}'
216
+
217
+ request_url = @base_url || @client.base_url
218
+
219
+ options = {
220
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
221
+ path_params: {'subscriptionId' => @client.subscription_id,'resourceGroupName' => resource_group_name,'labAccountName' => lab_account_name,'labName' => lab_name,'environmentSettingName' => environment_setting_name,'environmentName' => environment_name},
222
+ query_params: {'$expand' => expand,'api-version' => @client.api_version},
223
+ headers: request_headers.merge(custom_headers || {}),
224
+ base_url: request_url
225
+ }
226
+ promise = @client.make_request_async(:get, path_template, options)
227
+
228
+ promise = promise.then do |result|
229
+ http_response = result.response
230
+ status_code = http_response.status
231
+ response_content = http_response.body
232
+ unless status_code == 200
233
+ error_model = JSON.load(response_content)
234
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
235
+ end
236
+
237
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
238
+ # Deserialize Response
239
+ if status_code == 200
240
+ begin
241
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
242
+ result_mapper = Azure::Labservices::Mgmt::V2018_10_15::Models::Environment.mapper()
243
+ result.body = @client.deserialize(result_mapper, parsed_response)
244
+ rescue Exception => e
245
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
246
+ end
247
+ end
248
+
249
+ result
250
+ end
251
+
252
+ promise.execute
253
+ end
254
+
255
+ #
256
+ # Create or replace an existing Environment.
257
+ #
258
+ # @param resource_group_name [String] The name of the resource group.
259
+ # @param lab_account_name [String] The name of the lab Account.
260
+ # @param lab_name [String] The name of the lab.
261
+ # @param environment_setting_name [String] The name of the environment Setting.
262
+ # @param environment_name [String] The name of the environment.
263
+ # @param environment [Environment] Represents an environment instance
264
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
265
+ # will be added to the HTTP request.
266
+ #
267
+ # @return [Environment] operation results.
268
+ #
269
+ def create_or_update(resource_group_name, lab_account_name, lab_name, environment_setting_name, environment_name, environment, custom_headers:nil)
270
+ response = create_or_update_async(resource_group_name, lab_account_name, lab_name, environment_setting_name, environment_name, environment, custom_headers:custom_headers).value!
271
+ response.body unless response.nil?
272
+ end
273
+
274
+ #
275
+ # Create or replace an existing Environment.
276
+ #
277
+ # @param resource_group_name [String] The name of the resource group.
278
+ # @param lab_account_name [String] The name of the lab Account.
279
+ # @param lab_name [String] The name of the lab.
280
+ # @param environment_setting_name [String] The name of the environment Setting.
281
+ # @param environment_name [String] The name of the environment.
282
+ # @param environment [Environment] Represents an environment instance
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_with_http_info(resource_group_name, lab_account_name, lab_name, environment_setting_name, environment_name, environment, custom_headers:nil)
289
+ create_or_update_async(resource_group_name, lab_account_name, lab_name, environment_setting_name, environment_name, environment, custom_headers:custom_headers).value!
290
+ end
291
+
292
+ #
293
+ # Create or replace an existing Environment.
294
+ #
295
+ # @param resource_group_name [String] The name of the resource group.
296
+ # @param lab_account_name [String] The name of the lab Account.
297
+ # @param lab_name [String] The name of the lab.
298
+ # @param environment_setting_name [String] The name of the environment Setting.
299
+ # @param environment_name [String] The name of the environment.
300
+ # @param environment [Environment] Represents an environment instance
301
+ # @param [Hash{String => String}] A hash of custom headers that will be added
302
+ # to the HTTP request.
303
+ #
304
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
305
+ #
306
+ def create_or_update_async(resource_group_name, lab_account_name, lab_name, environment_setting_name, environment_name, environment, custom_headers:nil)
307
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
308
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
309
+ fail ArgumentError, 'lab_account_name is nil' if lab_account_name.nil?
310
+ fail ArgumentError, 'lab_name is nil' if lab_name.nil?
311
+ fail ArgumentError, 'environment_setting_name is nil' if environment_setting_name.nil?
312
+ fail ArgumentError, 'environment_name is nil' if environment_name.nil?
313
+ fail ArgumentError, 'environment is nil' if environment.nil?
314
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
315
+
316
+
317
+ request_headers = {}
318
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
319
+
320
+ # Set Headers
321
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
322
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
323
+
324
+ # Serialize Request
325
+ request_mapper = Azure::Labservices::Mgmt::V2018_10_15::Models::Environment.mapper()
326
+ request_content = @client.serialize(request_mapper, environment)
327
+ request_content = request_content != nil ? JSON.generate(request_content, quirks_mode: true) : nil
328
+
329
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/environmentsettings/{environmentSettingName}/environments/{environmentName}'
330
+
331
+ request_url = @base_url || @client.base_url
332
+
333
+ options = {
334
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
335
+ path_params: {'subscriptionId' => @client.subscription_id,'resourceGroupName' => resource_group_name,'labAccountName' => lab_account_name,'labName' => lab_name,'environmentSettingName' => environment_setting_name,'environmentName' => environment_name},
336
+ query_params: {'api-version' => @client.api_version},
337
+ body: request_content,
338
+ headers: request_headers.merge(custom_headers || {}),
339
+ base_url: request_url
340
+ }
341
+ promise = @client.make_request_async(:put, path_template, options)
342
+
343
+ promise = promise.then do |result|
344
+ http_response = result.response
345
+ status_code = http_response.status
346
+ response_content = http_response.body
347
+ unless status_code == 200 || status_code == 201
348
+ error_model = JSON.load(response_content)
349
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
350
+ end
351
+
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 = Azure::Labservices::Mgmt::V2018_10_15::Models::Environment.mapper()
358
+ result.body = @client.deserialize(result_mapper, parsed_response)
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 = Azure::Labservices::Mgmt::V2018_10_15::Models::Environment.mapper()
368
+ result.body = @client.deserialize(result_mapper, parsed_response)
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 environment. This operation can take a while to complete
382
+ #
383
+ # @param resource_group_name [String] The name of the resource group.
384
+ # @param lab_account_name [String] The name of the lab Account.
385
+ # @param lab_name [String] The name of the lab.
386
+ # @param environment_setting_name [String] The name of the environment Setting.
387
+ # @param environment_name [String] The name of the environment.
388
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
389
+ # will be added to the HTTP request.
390
+ #
391
+ def delete(resource_group_name, lab_account_name, lab_name, environment_setting_name, environment_name, custom_headers:nil)
392
+ response = delete_async(resource_group_name, lab_account_name, lab_name, environment_setting_name, environment_name, custom_headers:custom_headers).value!
393
+ nil
394
+ end
395
+
396
+ #
397
+ # @param resource_group_name [String] The name of the resource group.
398
+ # @param lab_account_name [String] The name of the lab Account.
399
+ # @param lab_name [String] The name of the lab.
400
+ # @param environment_setting_name [String] The name of the environment Setting.
401
+ # @param environment_name [String] The name of the environment.
402
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
403
+ # will be added to the HTTP request.
404
+ #
405
+ # @return [Concurrent::Promise] promise which provides async access to http
406
+ # response.
407
+ #
408
+ def delete_async(resource_group_name, lab_account_name, lab_name, environment_setting_name, environment_name, custom_headers:nil)
409
+ # Send request
410
+ promise = begin_delete_async(resource_group_name, lab_account_name, lab_name, environment_setting_name, environment_name, custom_headers:custom_headers)
411
+
412
+ promise = promise.then do |response|
413
+ # Defining deserialization method.
414
+ deserialize_method = lambda do |parsed_response|
415
+ end
416
+
417
+ # Waiting for response.
418
+ @client.get_long_running_operation_result(response, deserialize_method)
419
+ end
420
+
421
+ promise
422
+ end
423
+
424
+ #
425
+ # Modify properties of environments.
426
+ #
427
+ # @param resource_group_name [String] The name of the resource group.
428
+ # @param lab_account_name [String] The name of the lab Account.
429
+ # @param lab_name [String] The name of the lab.
430
+ # @param environment_setting_name [String] The name of the environment Setting.
431
+ # @param environment_name [String] The name of the environment.
432
+ # @param environment [EnvironmentFragment] Represents an environment instance
433
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
434
+ # will be added to the HTTP request.
435
+ #
436
+ # @return [Environment] operation results.
437
+ #
438
+ def update(resource_group_name, lab_account_name, lab_name, environment_setting_name, environment_name, environment, custom_headers:nil)
439
+ response = update_async(resource_group_name, lab_account_name, lab_name, environment_setting_name, environment_name, environment, custom_headers:custom_headers).value!
440
+ response.body unless response.nil?
441
+ end
442
+
443
+ #
444
+ # Modify properties of environments.
445
+ #
446
+ # @param resource_group_name [String] The name of the resource group.
447
+ # @param lab_account_name [String] The name of the lab Account.
448
+ # @param lab_name [String] The name of the lab.
449
+ # @param environment_setting_name [String] The name of the environment Setting.
450
+ # @param environment_name [String] The name of the environment.
451
+ # @param environment [EnvironmentFragment] Represents an environment instance
452
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
453
+ # will be added to the HTTP request.
454
+ #
455
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
456
+ #
457
+ def update_with_http_info(resource_group_name, lab_account_name, lab_name, environment_setting_name, environment_name, environment, custom_headers:nil)
458
+ update_async(resource_group_name, lab_account_name, lab_name, environment_setting_name, environment_name, environment, custom_headers:custom_headers).value!
459
+ end
460
+
461
+ #
462
+ # Modify properties of environments.
463
+ #
464
+ # @param resource_group_name [String] The name of the resource group.
465
+ # @param lab_account_name [String] The name of the lab Account.
466
+ # @param lab_name [String] The name of the lab.
467
+ # @param environment_setting_name [String] The name of the environment Setting.
468
+ # @param environment_name [String] The name of the environment.
469
+ # @param environment [EnvironmentFragment] Represents an environment instance
470
+ # @param [Hash{String => String}] A hash of custom headers that will be added
471
+ # to the HTTP request.
472
+ #
473
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
474
+ #
475
+ def update_async(resource_group_name, lab_account_name, lab_name, environment_setting_name, environment_name, environment, custom_headers:nil)
476
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
477
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
478
+ fail ArgumentError, 'lab_account_name is nil' if lab_account_name.nil?
479
+ fail ArgumentError, 'lab_name is nil' if lab_name.nil?
480
+ fail ArgumentError, 'environment_setting_name is nil' if environment_setting_name.nil?
481
+ fail ArgumentError, 'environment_name is nil' if environment_name.nil?
482
+ fail ArgumentError, 'environment is nil' if environment.nil?
483
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
484
+
485
+
486
+ request_headers = {}
487
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
488
+
489
+ # Set Headers
490
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
491
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
492
+
493
+ # Serialize Request
494
+ request_mapper = Azure::Labservices::Mgmt::V2018_10_15::Models::EnvironmentFragment.mapper()
495
+ request_content = @client.serialize(request_mapper, environment)
496
+ request_content = request_content != nil ? JSON.generate(request_content, quirks_mode: true) : nil
497
+
498
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/environmentsettings/{environmentSettingName}/environments/{environmentName}'
499
+
500
+ request_url = @base_url || @client.base_url
501
+
502
+ options = {
503
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
504
+ path_params: {'subscriptionId' => @client.subscription_id,'resourceGroupName' => resource_group_name,'labAccountName' => lab_account_name,'labName' => lab_name,'environmentSettingName' => environment_setting_name,'environmentName' => environment_name},
505
+ query_params: {'api-version' => @client.api_version},
506
+ body: request_content,
507
+ headers: request_headers.merge(custom_headers || {}),
508
+ base_url: request_url
509
+ }
510
+ promise = @client.make_request_async(:patch, path_template, options)
511
+
512
+ promise = promise.then do |result|
513
+ http_response = result.response
514
+ status_code = http_response.status
515
+ response_content = http_response.body
516
+ unless status_code == 200
517
+ error_model = JSON.load(response_content)
518
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
519
+ end
520
+
521
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
522
+ # Deserialize Response
523
+ if status_code == 200
524
+ begin
525
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
526
+ result_mapper = Azure::Labservices::Mgmt::V2018_10_15::Models::Environment.mapper()
527
+ result.body = @client.deserialize(result_mapper, parsed_response)
528
+ rescue Exception => e
529
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
530
+ end
531
+ end
532
+
533
+ result
534
+ end
535
+
536
+ promise.execute
537
+ end
538
+
539
+ #
540
+ # Claims the environment and assigns it to the user
541
+ #
542
+ # @param resource_group_name [String] The name of the resource group.
543
+ # @param lab_account_name [String] The name of the lab Account.
544
+ # @param lab_name [String] The name of the lab.
545
+ # @param environment_setting_name [String] The name of the environment Setting.
546
+ # @param environment_name [String] The name of the environment.
547
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
548
+ # will be added to the HTTP request.
549
+ #
550
+ #
551
+ def claim(resource_group_name, lab_account_name, lab_name, environment_setting_name, environment_name, custom_headers:nil)
552
+ response = claim_async(resource_group_name, lab_account_name, lab_name, environment_setting_name, environment_name, custom_headers:custom_headers).value!
553
+ nil
554
+ end
555
+
556
+ #
557
+ # Claims the environment and assigns it to the user
558
+ #
559
+ # @param resource_group_name [String] The name of the resource group.
560
+ # @param lab_account_name [String] The name of the lab Account.
561
+ # @param lab_name [String] The name of the lab.
562
+ # @param environment_setting_name [String] The name of the environment Setting.
563
+ # @param environment_name [String] The name of the environment.
564
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
565
+ # will be added to the HTTP request.
566
+ #
567
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
568
+ #
569
+ def claim_with_http_info(resource_group_name, lab_account_name, lab_name, environment_setting_name, environment_name, custom_headers:nil)
570
+ claim_async(resource_group_name, lab_account_name, lab_name, environment_setting_name, environment_name, custom_headers:custom_headers).value!
571
+ end
572
+
573
+ #
574
+ # Claims the environment and assigns it to the user
575
+ #
576
+ # @param resource_group_name [String] The name of the resource group.
577
+ # @param lab_account_name [String] The name of the lab Account.
578
+ # @param lab_name [String] The name of the lab.
579
+ # @param environment_setting_name [String] The name of the environment Setting.
580
+ # @param environment_name [String] The name of the environment.
581
+ # @param [Hash{String => String}] A hash of custom headers that will be added
582
+ # to the HTTP request.
583
+ #
584
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
585
+ #
586
+ def claim_async(resource_group_name, lab_account_name, lab_name, environment_setting_name, environment_name, custom_headers:nil)
587
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
588
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
589
+ fail ArgumentError, 'lab_account_name is nil' if lab_account_name.nil?
590
+ fail ArgumentError, 'lab_name is nil' if lab_name.nil?
591
+ fail ArgumentError, 'environment_setting_name is nil' if environment_setting_name.nil?
592
+ fail ArgumentError, 'environment_name is nil' if environment_name.nil?
593
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
594
+
595
+
596
+ request_headers = {}
597
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
598
+
599
+ # Set Headers
600
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
601
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
602
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/environmentsettings/{environmentSettingName}/environments/{environmentName}/claim'
603
+
604
+ request_url = @base_url || @client.base_url
605
+
606
+ options = {
607
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
608
+ path_params: {'subscriptionId' => @client.subscription_id,'resourceGroupName' => resource_group_name,'labAccountName' => lab_account_name,'labName' => lab_name,'environmentSettingName' => environment_setting_name,'environmentName' => environment_name},
609
+ query_params: {'api-version' => @client.api_version},
610
+ headers: request_headers.merge(custom_headers || {}),
611
+ base_url: request_url
612
+ }
613
+ promise = @client.make_request_async(:post, path_template, options)
614
+
615
+ promise = promise.then do |result|
616
+ http_response = result.response
617
+ status_code = http_response.status
618
+ response_content = http_response.body
619
+ unless status_code == 200
620
+ error_model = JSON.load(response_content)
621
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
622
+ end
623
+
624
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
625
+
626
+ result
627
+ end
628
+
629
+ promise.execute
630
+ end
631
+
632
+ #
633
+ # Resets the user password on an environment This operation can take a while to
634
+ # complete
635
+ #
636
+ # @param resource_group_name [String] The name of the resource group.
637
+ # @param lab_account_name [String] The name of the lab Account.
638
+ # @param lab_name [String] The name of the lab.
639
+ # @param environment_setting_name [String] The name of the environment Setting.
640
+ # @param environment_name [String] The name of the environment.
641
+ # @param reset_password_payload [ResetPasswordPayload] Represents the payload
642
+ # for resetting passwords.
643
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
644
+ # will be added to the HTTP request.
645
+ #
646
+ def reset_password(resource_group_name, lab_account_name, lab_name, environment_setting_name, environment_name, reset_password_payload, custom_headers:nil)
647
+ response = reset_password_async(resource_group_name, lab_account_name, lab_name, environment_setting_name, environment_name, reset_password_payload, custom_headers:custom_headers).value!
648
+ nil
649
+ end
650
+
651
+ #
652
+ # @param resource_group_name [String] The name of the resource group.
653
+ # @param lab_account_name [String] The name of the lab Account.
654
+ # @param lab_name [String] The name of the lab.
655
+ # @param environment_setting_name [String] The name of the environment Setting.
656
+ # @param environment_name [String] The name of the environment.
657
+ # @param reset_password_payload [ResetPasswordPayload] Represents the payload
658
+ # for resetting passwords.
659
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
660
+ # will be added to the HTTP request.
661
+ #
662
+ # @return [Concurrent::Promise] promise which provides async access to http
663
+ # response.
664
+ #
665
+ def reset_password_async(resource_group_name, lab_account_name, lab_name, environment_setting_name, environment_name, reset_password_payload, custom_headers:nil)
666
+ # Send request
667
+ promise = begin_reset_password_async(resource_group_name, lab_account_name, lab_name, environment_setting_name, environment_name, reset_password_payload, custom_headers:custom_headers)
668
+
669
+ promise = promise.then do |response|
670
+ # Defining deserialization method.
671
+ deserialize_method = lambda do |parsed_response|
672
+ end
673
+
674
+ # Waiting for response.
675
+ @client.get_long_running_operation_result(response, deserialize_method)
676
+ end
677
+
678
+ promise
679
+ end
680
+
681
+ #
682
+ # Starts an environment by starting all resources inside the environment. This
683
+ # operation can take a while to complete
684
+ #
685
+ # @param resource_group_name [String] The name of the resource group.
686
+ # @param lab_account_name [String] The name of the lab Account.
687
+ # @param lab_name [String] The name of the lab.
688
+ # @param environment_setting_name [String] The name of the environment Setting.
689
+ # @param environment_name [String] The name of the environment.
690
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
691
+ # will be added to the HTTP request.
692
+ #
693
+ def start(resource_group_name, lab_account_name, lab_name, environment_setting_name, environment_name, custom_headers:nil)
694
+ response = start_async(resource_group_name, lab_account_name, lab_name, environment_setting_name, environment_name, custom_headers:custom_headers).value!
695
+ nil
696
+ end
697
+
698
+ #
699
+ # @param resource_group_name [String] The name of the resource group.
700
+ # @param lab_account_name [String] The name of the lab Account.
701
+ # @param lab_name [String] The name of the lab.
702
+ # @param environment_setting_name [String] The name of the environment Setting.
703
+ # @param environment_name [String] The name of the environment.
704
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
705
+ # will be added to the HTTP request.
706
+ #
707
+ # @return [Concurrent::Promise] promise which provides async access to http
708
+ # response.
709
+ #
710
+ def start_async(resource_group_name, lab_account_name, lab_name, environment_setting_name, environment_name, custom_headers:nil)
711
+ # Send request
712
+ promise = begin_start_async(resource_group_name, lab_account_name, lab_name, environment_setting_name, environment_name, custom_headers:custom_headers)
713
+
714
+ promise = promise.then do |response|
715
+ # Defining deserialization method.
716
+ deserialize_method = lambda do |parsed_response|
717
+ end
718
+
719
+ # Waiting for response.
720
+ @client.get_long_running_operation_result(response, deserialize_method)
721
+ end
722
+
723
+ promise
724
+ end
725
+
726
+ #
727
+ # Stops an environment by stopping all resources inside the environment This
728
+ # operation can take a while to complete
729
+ #
730
+ # @param resource_group_name [String] The name of the resource group.
731
+ # @param lab_account_name [String] The name of the lab Account.
732
+ # @param lab_name [String] The name of the lab.
733
+ # @param environment_setting_name [String] The name of the environment Setting.
734
+ # @param environment_name [String] The name of the environment.
735
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
736
+ # will be added to the HTTP request.
737
+ #
738
+ def stop(resource_group_name, lab_account_name, lab_name, environment_setting_name, environment_name, custom_headers:nil)
739
+ response = stop_async(resource_group_name, lab_account_name, lab_name, environment_setting_name, environment_name, custom_headers:custom_headers).value!
740
+ nil
741
+ end
742
+
743
+ #
744
+ # @param resource_group_name [String] The name of the resource group.
745
+ # @param lab_account_name [String] The name of the lab Account.
746
+ # @param lab_name [String] The name of the lab.
747
+ # @param environment_setting_name [String] The name of the environment Setting.
748
+ # @param environment_name [String] The name of the environment.
749
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
750
+ # will be added to the HTTP request.
751
+ #
752
+ # @return [Concurrent::Promise] promise which provides async access to http
753
+ # response.
754
+ #
755
+ def stop_async(resource_group_name, lab_account_name, lab_name, environment_setting_name, environment_name, custom_headers:nil)
756
+ # Send request
757
+ promise = begin_stop_async(resource_group_name, lab_account_name, lab_name, environment_setting_name, environment_name, custom_headers:custom_headers)
758
+
759
+ promise = promise.then do |response|
760
+ # Defining deserialization method.
761
+ deserialize_method = lambda do |parsed_response|
762
+ end
763
+
764
+ # Waiting for response.
765
+ @client.get_long_running_operation_result(response, deserialize_method)
766
+ end
767
+
768
+ promise
769
+ end
770
+
771
+ #
772
+ # Delete environment. This operation can take a while to complete
773
+ #
774
+ # @param resource_group_name [String] The name of the resource group.
775
+ # @param lab_account_name [String] The name of the lab Account.
776
+ # @param lab_name [String] The name of the lab.
777
+ # @param environment_setting_name [String] The name of the environment Setting.
778
+ # @param environment_name [String] The name of the environment.
779
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
780
+ # will be added to the HTTP request.
781
+ #
782
+ #
783
+ def begin_delete(resource_group_name, lab_account_name, lab_name, environment_setting_name, environment_name, custom_headers:nil)
784
+ response = begin_delete_async(resource_group_name, lab_account_name, lab_name, environment_setting_name, environment_name, custom_headers:custom_headers).value!
785
+ nil
786
+ end
787
+
788
+ #
789
+ # Delete environment. This operation can take a while to complete
790
+ #
791
+ # @param resource_group_name [String] The name of the resource group.
792
+ # @param lab_account_name [String] The name of the lab Account.
793
+ # @param lab_name [String] The name of the lab.
794
+ # @param environment_setting_name [String] The name of the environment Setting.
795
+ # @param environment_name [String] The name of the environment.
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_delete_with_http_info(resource_group_name, lab_account_name, lab_name, environment_setting_name, environment_name, custom_headers:nil)
802
+ begin_delete_async(resource_group_name, lab_account_name, lab_name, environment_setting_name, environment_name, custom_headers:custom_headers).value!
803
+ end
804
+
805
+ #
806
+ # Delete environment. This operation can take a while to complete
807
+ #
808
+ # @param resource_group_name [String] The name of the resource group.
809
+ # @param lab_account_name [String] The name of the lab Account.
810
+ # @param lab_name [String] The name of the lab.
811
+ # @param environment_setting_name [String] The name of the environment Setting.
812
+ # @param environment_name [String] The name of the environment.
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_delete_async(resource_group_name, lab_account_name, lab_name, environment_setting_name, environment_name, 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, 'lab_account_name is nil' if lab_account_name.nil?
822
+ fail ArgumentError, 'lab_name is nil' if lab_name.nil?
823
+ fail ArgumentError, 'environment_setting_name is nil' if environment_setting_name.nil?
824
+ fail ArgumentError, 'environment_name is nil' if environment_name.nil?
825
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
826
+
827
+
828
+ request_headers = {}
829
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
830
+
831
+ # Set Headers
832
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
833
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
834
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/environmentsettings/{environmentSettingName}/environments/{environmentName}'
835
+
836
+ request_url = @base_url || @client.base_url
837
+
838
+ options = {
839
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
840
+ path_params: {'subscriptionId' => @client.subscription_id,'resourceGroupName' => resource_group_name,'labAccountName' => lab_account_name,'labName' => lab_name,'environmentSettingName' => environment_setting_name,'environmentName' => environment_name},
841
+ query_params: {'api-version' => @client.api_version},
842
+ headers: request_headers.merge(custom_headers || {}),
843
+ base_url: request_url
844
+ }
845
+ promise = @client.make_request_async(:delete, path_template, options)
846
+
847
+ promise = promise.then do |result|
848
+ http_response = result.response
849
+ status_code = http_response.status
850
+ response_content = http_response.body
851
+ unless status_code == 202 || status_code == 204
852
+ error_model = JSON.load(response_content)
853
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
854
+ end
855
+
856
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
857
+
858
+ result
859
+ end
860
+
861
+ promise.execute
862
+ end
863
+
864
+ #
865
+ # Resets the user password on an environment This operation can take a while to
866
+ # complete
867
+ #
868
+ # @param resource_group_name [String] The name of the resource group.
869
+ # @param lab_account_name [String] The name of the lab Account.
870
+ # @param lab_name [String] The name of the lab.
871
+ # @param environment_setting_name [String] The name of the environment Setting.
872
+ # @param environment_name [String] The name of the environment.
873
+ # @param reset_password_payload [ResetPasswordPayload] Represents the payload
874
+ # for resetting passwords.
875
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
876
+ # will be added to the HTTP request.
877
+ #
878
+ #
879
+ def begin_reset_password(resource_group_name, lab_account_name, lab_name, environment_setting_name, environment_name, reset_password_payload, custom_headers:nil)
880
+ response = begin_reset_password_async(resource_group_name, lab_account_name, lab_name, environment_setting_name, environment_name, reset_password_payload, custom_headers:custom_headers).value!
881
+ nil
882
+ end
883
+
884
+ #
885
+ # Resets the user password on an environment This operation can take a while to
886
+ # complete
887
+ #
888
+ # @param resource_group_name [String] The name of the resource group.
889
+ # @param lab_account_name [String] The name of the lab Account.
890
+ # @param lab_name [String] The name of the lab.
891
+ # @param environment_setting_name [String] The name of the environment Setting.
892
+ # @param environment_name [String] The name of the environment.
893
+ # @param reset_password_payload [ResetPasswordPayload] Represents the payload
894
+ # for resetting passwords.
895
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
896
+ # will be added to the HTTP request.
897
+ #
898
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
899
+ #
900
+ def begin_reset_password_with_http_info(resource_group_name, lab_account_name, lab_name, environment_setting_name, environment_name, reset_password_payload, custom_headers:nil)
901
+ begin_reset_password_async(resource_group_name, lab_account_name, lab_name, environment_setting_name, environment_name, reset_password_payload, custom_headers:custom_headers).value!
902
+ end
903
+
904
+ #
905
+ # Resets the user password on an environment This operation can take a while to
906
+ # complete
907
+ #
908
+ # @param resource_group_name [String] The name of the resource group.
909
+ # @param lab_account_name [String] The name of the lab Account.
910
+ # @param lab_name [String] The name of the lab.
911
+ # @param environment_setting_name [String] The name of the environment Setting.
912
+ # @param environment_name [String] The name of the environment.
913
+ # @param reset_password_payload [ResetPasswordPayload] Represents the payload
914
+ # for resetting passwords.
915
+ # @param [Hash{String => String}] A hash of custom headers that will be added
916
+ # to the HTTP request.
917
+ #
918
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
919
+ #
920
+ def begin_reset_password_async(resource_group_name, lab_account_name, lab_name, environment_setting_name, environment_name, reset_password_payload, custom_headers:nil)
921
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
922
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
923
+ fail ArgumentError, 'lab_account_name is nil' if lab_account_name.nil?
924
+ fail ArgumentError, 'lab_name is nil' if lab_name.nil?
925
+ fail ArgumentError, 'environment_setting_name is nil' if environment_setting_name.nil?
926
+ fail ArgumentError, 'environment_name is nil' if environment_name.nil?
927
+ fail ArgumentError, 'reset_password_payload is nil' if reset_password_payload.nil?
928
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
929
+
930
+
931
+ request_headers = {}
932
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
933
+
934
+ # Set Headers
935
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
936
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
937
+
938
+ # Serialize Request
939
+ request_mapper = Azure::Labservices::Mgmt::V2018_10_15::Models::ResetPasswordPayload.mapper()
940
+ request_content = @client.serialize(request_mapper, reset_password_payload)
941
+ request_content = request_content != nil ? JSON.generate(request_content, quirks_mode: true) : nil
942
+
943
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/environmentsettings/{environmentSettingName}/environments/{environmentName}/resetPassword'
944
+
945
+ request_url = @base_url || @client.base_url
946
+
947
+ options = {
948
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
949
+ path_params: {'subscriptionId' => @client.subscription_id,'resourceGroupName' => resource_group_name,'labAccountName' => lab_account_name,'labName' => lab_name,'environmentSettingName' => environment_setting_name,'environmentName' => environment_name},
950
+ query_params: {'api-version' => @client.api_version},
951
+ body: request_content,
952
+ headers: request_headers.merge(custom_headers || {}),
953
+ base_url: request_url
954
+ }
955
+ promise = @client.make_request_async(:post, path_template, options)
956
+
957
+ promise = promise.then do |result|
958
+ http_response = result.response
959
+ status_code = http_response.status
960
+ response_content = http_response.body
961
+ unless status_code == 200 || status_code == 202
962
+ error_model = JSON.load(response_content)
963
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
964
+ end
965
+
966
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
967
+
968
+ result
969
+ end
970
+
971
+ promise.execute
972
+ end
973
+
974
+ #
975
+ # Starts an environment by starting all resources inside the environment. This
976
+ # operation can take a while to complete
977
+ #
978
+ # @param resource_group_name [String] The name of the resource group.
979
+ # @param lab_account_name [String] The name of the lab Account.
980
+ # @param lab_name [String] The name of the lab.
981
+ # @param environment_setting_name [String] The name of the environment Setting.
982
+ # @param environment_name [String] The name of the environment.
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_start(resource_group_name, lab_account_name, lab_name, environment_setting_name, environment_name, custom_headers:nil)
988
+ response = begin_start_async(resource_group_name, lab_account_name, lab_name, environment_setting_name, environment_name, custom_headers:custom_headers).value!
989
+ nil
990
+ end
991
+
992
+ #
993
+ # Starts an environment by starting all resources inside the environment. This
994
+ # operation can take a while to complete
995
+ #
996
+ # @param resource_group_name [String] The name of the resource group.
997
+ # @param lab_account_name [String] The name of the lab Account.
998
+ # @param lab_name [String] The name of the lab.
999
+ # @param environment_setting_name [String] The name of the environment Setting.
1000
+ # @param environment_name [String] The name of the environment.
1001
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
1002
+ # will be added to the HTTP request.
1003
+ #
1004
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
1005
+ #
1006
+ def begin_start_with_http_info(resource_group_name, lab_account_name, lab_name, environment_setting_name, environment_name, custom_headers:nil)
1007
+ begin_start_async(resource_group_name, lab_account_name, lab_name, environment_setting_name, environment_name, custom_headers:custom_headers).value!
1008
+ end
1009
+
1010
+ #
1011
+ # Starts an environment by starting all resources inside the environment. This
1012
+ # operation can take a while to complete
1013
+ #
1014
+ # @param resource_group_name [String] The name of the resource group.
1015
+ # @param lab_account_name [String] The name of the lab Account.
1016
+ # @param lab_name [String] The name of the lab.
1017
+ # @param environment_setting_name [String] The name of the environment Setting.
1018
+ # @param environment_name [String] The name of the environment.
1019
+ # @param [Hash{String => String}] A hash of custom headers that will be added
1020
+ # to the HTTP request.
1021
+ #
1022
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
1023
+ #
1024
+ def begin_start_async(resource_group_name, lab_account_name, lab_name, environment_setting_name, environment_name, custom_headers:nil)
1025
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
1026
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
1027
+ fail ArgumentError, 'lab_account_name is nil' if lab_account_name.nil?
1028
+ fail ArgumentError, 'lab_name is nil' if lab_name.nil?
1029
+ fail ArgumentError, 'environment_setting_name is nil' if environment_setting_name.nil?
1030
+ fail ArgumentError, 'environment_name is nil' if environment_name.nil?
1031
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
1032
+
1033
+
1034
+ request_headers = {}
1035
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
1036
+
1037
+ # Set Headers
1038
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
1039
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
1040
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/environmentsettings/{environmentSettingName}/environments/{environmentName}/start'
1041
+
1042
+ request_url = @base_url || @client.base_url
1043
+
1044
+ options = {
1045
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
1046
+ path_params: {'subscriptionId' => @client.subscription_id,'resourceGroupName' => resource_group_name,'labAccountName' => lab_account_name,'labName' => lab_name,'environmentSettingName' => environment_setting_name,'environmentName' => environment_name},
1047
+ query_params: {'api-version' => @client.api_version},
1048
+ headers: request_headers.merge(custom_headers || {}),
1049
+ base_url: request_url
1050
+ }
1051
+ promise = @client.make_request_async(:post, path_template, options)
1052
+
1053
+ promise = promise.then do |result|
1054
+ http_response = result.response
1055
+ status_code = http_response.status
1056
+ response_content = http_response.body
1057
+ unless status_code == 200 || status_code == 202
1058
+ error_model = JSON.load(response_content)
1059
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
1060
+ end
1061
+
1062
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
1063
+
1064
+ result
1065
+ end
1066
+
1067
+ promise.execute
1068
+ end
1069
+
1070
+ #
1071
+ # Stops an environment by stopping all resources inside the environment This
1072
+ # operation can take a while to complete
1073
+ #
1074
+ # @param resource_group_name [String] The name of the resource group.
1075
+ # @param lab_account_name [String] The name of the lab Account.
1076
+ # @param lab_name [String] The name of the lab.
1077
+ # @param environment_setting_name [String] The name of the environment Setting.
1078
+ # @param environment_name [String] The name of the environment.
1079
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
1080
+ # will be added to the HTTP request.
1081
+ #
1082
+ #
1083
+ def begin_stop(resource_group_name, lab_account_name, lab_name, environment_setting_name, environment_name, custom_headers:nil)
1084
+ response = begin_stop_async(resource_group_name, lab_account_name, lab_name, environment_setting_name, environment_name, custom_headers:custom_headers).value!
1085
+ nil
1086
+ end
1087
+
1088
+ #
1089
+ # Stops an environment by stopping all resources inside the environment This
1090
+ # operation can take a while to complete
1091
+ #
1092
+ # @param resource_group_name [String] The name of the resource group.
1093
+ # @param lab_account_name [String] The name of the lab Account.
1094
+ # @param lab_name [String] The name of the lab.
1095
+ # @param environment_setting_name [String] The name of the environment Setting.
1096
+ # @param environment_name [String] The name of the environment.
1097
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
1098
+ # will be added to the HTTP request.
1099
+ #
1100
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
1101
+ #
1102
+ def begin_stop_with_http_info(resource_group_name, lab_account_name, lab_name, environment_setting_name, environment_name, custom_headers:nil)
1103
+ begin_stop_async(resource_group_name, lab_account_name, lab_name, environment_setting_name, environment_name, custom_headers:custom_headers).value!
1104
+ end
1105
+
1106
+ #
1107
+ # Stops an environment by stopping all resources inside the environment This
1108
+ # operation can take a while to complete
1109
+ #
1110
+ # @param resource_group_name [String] The name of the resource group.
1111
+ # @param lab_account_name [String] The name of the lab Account.
1112
+ # @param lab_name [String] The name of the lab.
1113
+ # @param environment_setting_name [String] The name of the environment Setting.
1114
+ # @param environment_name [String] The name of the environment.
1115
+ # @param [Hash{String => String}] A hash of custom headers that will be added
1116
+ # to the HTTP request.
1117
+ #
1118
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
1119
+ #
1120
+ def begin_stop_async(resource_group_name, lab_account_name, lab_name, environment_setting_name, environment_name, custom_headers:nil)
1121
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
1122
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
1123
+ fail ArgumentError, 'lab_account_name is nil' if lab_account_name.nil?
1124
+ fail ArgumentError, 'lab_name is nil' if lab_name.nil?
1125
+ fail ArgumentError, 'environment_setting_name is nil' if environment_setting_name.nil?
1126
+ fail ArgumentError, 'environment_name is nil' if environment_name.nil?
1127
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
1128
+
1129
+
1130
+ request_headers = {}
1131
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
1132
+
1133
+ # Set Headers
1134
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
1135
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
1136
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/environmentsettings/{environmentSettingName}/environments/{environmentName}/stop'
1137
+
1138
+ request_url = @base_url || @client.base_url
1139
+
1140
+ options = {
1141
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
1142
+ path_params: {'subscriptionId' => @client.subscription_id,'resourceGroupName' => resource_group_name,'labAccountName' => lab_account_name,'labName' => lab_name,'environmentSettingName' => environment_setting_name,'environmentName' => environment_name},
1143
+ query_params: {'api-version' => @client.api_version},
1144
+ headers: request_headers.merge(custom_headers || {}),
1145
+ base_url: request_url
1146
+ }
1147
+ promise = @client.make_request_async(:post, 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 || status_code == 202
1154
+ error_model = JSON.load(response_content)
1155
+ fail MsRestAzure::AzureOperationError.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
+
1160
+ result
1161
+ end
1162
+
1163
+ promise.execute
1164
+ end
1165
+
1166
+ #
1167
+ # List environments in a given environment setting.
1168
+ #
1169
+ # @param next_page_link [String] The NextLink from the previous successful call
1170
+ # to List operation.
1171
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
1172
+ # will be added to the HTTP request.
1173
+ #
1174
+ # @return [ResponseWithContinuationEnvironment] operation results.
1175
+ #
1176
+ def list_next(next_page_link, custom_headers:nil)
1177
+ response = list_next_async(next_page_link, custom_headers:custom_headers).value!
1178
+ response.body unless response.nil?
1179
+ end
1180
+
1181
+ #
1182
+ # List environments in a given environment setting.
1183
+ #
1184
+ # @param next_page_link [String] The NextLink from the previous successful call
1185
+ # to List operation.
1186
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
1187
+ # will be added to the HTTP request.
1188
+ #
1189
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
1190
+ #
1191
+ def list_next_with_http_info(next_page_link, custom_headers:nil)
1192
+ list_next_async(next_page_link, custom_headers:custom_headers).value!
1193
+ end
1194
+
1195
+ #
1196
+ # List environments in a given environment setting.
1197
+ #
1198
+ # @param next_page_link [String] The NextLink from the previous successful call
1199
+ # to List operation.
1200
+ # @param [Hash{String => String}] A hash of custom headers that will be added
1201
+ # to the HTTP request.
1202
+ #
1203
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
1204
+ #
1205
+ def list_next_async(next_page_link, custom_headers:nil)
1206
+ fail ArgumentError, 'next_page_link is nil' if next_page_link.nil?
1207
+
1208
+
1209
+ request_headers = {}
1210
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
1211
+
1212
+ # Set Headers
1213
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
1214
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
1215
+ path_template = '{nextLink}'
1216
+
1217
+ request_url = @base_url || @client.base_url
1218
+
1219
+ options = {
1220
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
1221
+ skip_encoding_path_params: {'nextLink' => next_page_link},
1222
+ headers: request_headers.merge(custom_headers || {}),
1223
+ base_url: request_url
1224
+ }
1225
+ promise = @client.make_request_async(:get, path_template, options)
1226
+
1227
+ promise = promise.then do |result|
1228
+ http_response = result.response
1229
+ status_code = http_response.status
1230
+ response_content = http_response.body
1231
+ unless status_code == 200
1232
+ error_model = JSON.load(response_content)
1233
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
1234
+ end
1235
+
1236
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
1237
+ # Deserialize Response
1238
+ if status_code == 200
1239
+ begin
1240
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
1241
+ result_mapper = Azure::Labservices::Mgmt::V2018_10_15::Models::ResponseWithContinuationEnvironment.mapper()
1242
+ result.body = @client.deserialize(result_mapper, parsed_response)
1243
+ rescue Exception => e
1244
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
1245
+ end
1246
+ end
1247
+
1248
+ result
1249
+ end
1250
+
1251
+ promise.execute
1252
+ end
1253
+
1254
+ #
1255
+ # List environments in a given environment setting.
1256
+ #
1257
+ # @param resource_group_name [String] The name of the resource group.
1258
+ # @param lab_account_name [String] The name of the lab Account.
1259
+ # @param lab_name [String] The name of the lab.
1260
+ # @param environment_setting_name [String] The name of the environment Setting.
1261
+ # @param expand [String] Specify the $expand query. Example:
1262
+ # 'properties($expand=networkInterface)'
1263
+ # @param filter [String] The filter to apply to the operation.
1264
+ # @param top [Integer] The maximum number of resources to return from the
1265
+ # operation.
1266
+ # @param orderby [String] The ordering expression for the results, using OData
1267
+ # notation.
1268
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
1269
+ # will be added to the HTTP request.
1270
+ #
1271
+ # @return [ResponseWithContinuationEnvironment] which provide lazy access to
1272
+ # pages of the response.
1273
+ #
1274
+ def list_as_lazy(resource_group_name, lab_account_name, lab_name, environment_setting_name, expand:nil, filter:nil, top:nil, orderby:nil, custom_headers:nil)
1275
+ response = list_async(resource_group_name, lab_account_name, lab_name, environment_setting_name, expand:expand, filter:filter, top:top, orderby:orderby, custom_headers:custom_headers).value!
1276
+ unless response.nil?
1277
+ page = response.body
1278
+ page.next_method = Proc.new do |next_page_link|
1279
+ list_next_async(next_page_link, custom_headers:custom_headers)
1280
+ end
1281
+ page
1282
+ end
1283
+ end
1284
+
1285
+ end
1286
+ end