azure_mgmt_stor_simple8000_series 0.14.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (183) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.txt +21 -0
  3. data/lib/azure_mgmt_stor_simple8000_series.rb +7 -0
  4. data/lib/generated/azure_mgmt_stor_simple8000_series/access_control_records.rb +507 -0
  5. data/lib/generated/azure_mgmt_stor_simple8000_series/alerts.rb +422 -0
  6. data/lib/generated/azure_mgmt_stor_simple8000_series/backup_policies.rb +655 -0
  7. data/lib/generated/azure_mgmt_stor_simple8000_series/backup_schedules.rb +532 -0
  8. data/lib/generated/azure_mgmt_stor_simple8000_series/backups.rb +645 -0
  9. data/lib/generated/azure_mgmt_stor_simple8000_series/bandwidth_settings.rb +497 -0
  10. data/lib/generated/azure_mgmt_stor_simple8000_series/cloud_appliances.rb +249 -0
  11. data/lib/generated/azure_mgmt_stor_simple8000_series/device_settings.rb +1150 -0
  12. data/lib/generated/azure_mgmt_stor_simple8000_series/devices.rb +1724 -0
  13. data/lib/generated/azure_mgmt_stor_simple8000_series/hardware_component_groups.rb +275 -0
  14. data/lib/generated/azure_mgmt_stor_simple8000_series/jobs.rb +681 -0
  15. data/lib/generated/azure_mgmt_stor_simple8000_series/managers.rb +1709 -0
  16. data/lib/generated/azure_mgmt_stor_simple8000_series/models/access_control_record.rb +88 -0
  17. data/lib/generated/azure_mgmt_stor_simple8000_series/models/access_control_record_list.rb +52 -0
  18. data/lib/generated/azure_mgmt_stor_simple8000_series/models/acs_configuration.rb +64 -0
  19. data/lib/generated/azure_mgmt_stor_simple8000_series/models/alert.rb +223 -0
  20. data/lib/generated/azure_mgmt_stor_simple8000_series/models/alert_email_notification_status.rb +16 -0
  21. data/lib/generated/azure_mgmt_stor_simple8000_series/models/alert_error_details.rb +64 -0
  22. data/lib/generated/azure_mgmt_stor_simple8000_series/models/alert_filter.rb +96 -0
  23. data/lib/generated/azure_mgmt_stor_simple8000_series/models/alert_list.rb +94 -0
  24. data/lib/generated/azure_mgmt_stor_simple8000_series/models/alert_scope.rb +16 -0
  25. data/lib/generated/azure_mgmt_stor_simple8000_series/models/alert_settings.rb +119 -0
  26. data/lib/generated/azure_mgmt_stor_simple8000_series/models/alert_severity.rb +17 -0
  27. data/lib/generated/azure_mgmt_stor_simple8000_series/models/alert_source.rb +66 -0
  28. data/lib/generated/azure_mgmt_stor_simple8000_series/models/alert_source_type.rb +16 -0
  29. data/lib/generated/azure_mgmt_stor_simple8000_series/models/alert_status.rb +16 -0
  30. data/lib/generated/azure_mgmt_stor_simple8000_series/models/asymmetric_encrypted_secret.rb +67 -0
  31. data/lib/generated/azure_mgmt_stor_simple8000_series/models/authentication_type.rb +18 -0
  32. data/lib/generated/azure_mgmt_stor_simple8000_series/models/authorization_eligibility.rb +16 -0
  33. data/lib/generated/azure_mgmt_stor_simple8000_series/models/authorization_status.rb +16 -0
  34. data/lib/generated/azure_mgmt_stor_simple8000_series/models/available_provider_operation.rb +82 -0
  35. data/lib/generated/azure_mgmt_stor_simple8000_series/models/available_provider_operation_display.rb +88 -0
  36. data/lib/generated/azure_mgmt_stor_simple8000_series/models/available_provider_operation_list.rb +94 -0
  37. data/lib/generated/azure_mgmt_stor_simple8000_series/models/backup.rb +148 -0
  38. data/lib/generated/azure_mgmt_stor_simple8000_series/models/backup_element.rb +107 -0
  39. data/lib/generated/azure_mgmt_stor_simple8000_series/models/backup_filter.rb +68 -0
  40. data/lib/generated/azure_mgmt_stor_simple8000_series/models/backup_job_creation_type.rb +17 -0
  41. data/lib/generated/azure_mgmt_stor_simple8000_series/models/backup_list.rb +94 -0
  42. data/lib/generated/azure_mgmt_stor_simple8000_series/models/backup_policy.rb +158 -0
  43. data/lib/generated/azure_mgmt_stor_simple8000_series/models/backup_policy_creation_type.rb +16 -0
  44. data/lib/generated/azure_mgmt_stor_simple8000_series/models/backup_policy_list.rb +52 -0
  45. data/lib/generated/azure_mgmt_stor_simple8000_series/models/backup_schedule.rb +133 -0
  46. data/lib/generated/azure_mgmt_stor_simple8000_series/models/backup_schedule_list.rb +52 -0
  47. data/lib/generated/azure_mgmt_stor_simple8000_series/models/backup_status.rb +16 -0
  48. data/lib/generated/azure_mgmt_stor_simple8000_series/models/backup_type.rb +16 -0
  49. data/lib/generated/azure_mgmt_stor_simple8000_series/models/bandwidth_schedule.rb +85 -0
  50. data/lib/generated/azure_mgmt_stor_simple8000_series/models/bandwidth_setting.rb +96 -0
  51. data/lib/generated/azure_mgmt_stor_simple8000_series/models/bandwidth_setting_list.rb +52 -0
  52. data/lib/generated/azure_mgmt_stor_simple8000_series/models/base_model.rb +79 -0
  53. data/lib/generated/azure_mgmt_stor_simple8000_series/models/chap_settings.rb +76 -0
  54. data/lib/generated/azure_mgmt_stor_simple8000_series/models/clear_alert_request.rb +61 -0
  55. data/lib/generated/azure_mgmt_stor_simple8000_series/models/clone_request.rb +85 -0
  56. data/lib/generated/azure_mgmt_stor_simple8000_series/models/cloud_appliance.rb +146 -0
  57. data/lib/generated/azure_mgmt_stor_simple8000_series/models/cloud_appliance_configuration.rb +166 -0
  58. data/lib/generated/azure_mgmt_stor_simple8000_series/models/cloud_appliance_configuration_list.rb +52 -0
  59. data/lib/generated/azure_mgmt_stor_simple8000_series/models/cloud_appliance_settings.rb +58 -0
  60. data/lib/generated/azure_mgmt_stor_simple8000_series/models/configure_device_request.rb +120 -0
  61. data/lib/generated/azure_mgmt_stor_simple8000_series/models/controller_id.rb +18 -0
  62. data/lib/generated/azure_mgmt_stor_simple8000_series/models/controller_power_state_action.rb +17 -0
  63. data/lib/generated/azure_mgmt_stor_simple8000_series/models/controller_power_state_change_request.rb +118 -0
  64. data/lib/generated/azure_mgmt_stor_simple8000_series/models/controller_status.rb +20 -0
  65. data/lib/generated/azure_mgmt_stor_simple8000_series/models/data_statistics.rb +79 -0
  66. data/lib/generated/azure_mgmt_stor_simple8000_series/models/day_of_week.rb +21 -0
  67. data/lib/generated/azure_mgmt_stor_simple8000_series/models/device.rb +364 -0
  68. data/lib/generated/azure_mgmt_stor_simple8000_series/models/device_configuration_status.rb +16 -0
  69. data/lib/generated/azure_mgmt_stor_simple8000_series/models/device_details.rb +56 -0
  70. data/lib/generated/azure_mgmt_stor_simple8000_series/models/device_list.rb +52 -0
  71. data/lib/generated/azure_mgmt_stor_simple8000_series/models/device_patch.rb +44 -0
  72. data/lib/generated/azure_mgmt_stor_simple8000_series/models/device_rollover_details.rb +75 -0
  73. data/lib/generated/azure_mgmt_stor_simple8000_series/models/device_status.rb +25 -0
  74. data/lib/generated/azure_mgmt_stor_simple8000_series/models/device_type.rb +17 -0
  75. data/lib/generated/azure_mgmt_stor_simple8000_series/models/dimension_filter.rb +60 -0
  76. data/lib/generated/azure_mgmt_stor_simple8000_series/models/dnssettings.rb +88 -0
  77. data/lib/generated/azure_mgmt_stor_simple8000_series/models/encryption_algorithm.rb +17 -0
  78. data/lib/generated/azure_mgmt_stor_simple8000_series/models/encryption_settings.rb +93 -0
  79. data/lib/generated/azure_mgmt_stor_simple8000_series/models/encryption_status.rb +16 -0
  80. data/lib/generated/azure_mgmt_stor_simple8000_series/models/failover_request.rb +64 -0
  81. data/lib/generated/azure_mgmt_stor_simple8000_series/models/failover_set.rb +65 -0
  82. data/lib/generated/azure_mgmt_stor_simple8000_series/models/failover_set_eligibility_result.rb +56 -0
  83. data/lib/generated/azure_mgmt_stor_simple8000_series/models/failover_sets_list.rb +52 -0
  84. data/lib/generated/azure_mgmt_stor_simple8000_series/models/failover_target.rb +154 -0
  85. data/lib/generated/azure_mgmt_stor_simple8000_series/models/failover_targets_list.rb +53 -0
  86. data/lib/generated/azure_mgmt_stor_simple8000_series/models/feature.rb +56 -0
  87. data/lib/generated/azure_mgmt_stor_simple8000_series/models/feature_filter.rb +45 -0
  88. data/lib/generated/azure_mgmt_stor_simple8000_series/models/feature_list.rb +52 -0
  89. data/lib/generated/azure_mgmt_stor_simple8000_series/models/feature_support_status.rb +17 -0
  90. data/lib/generated/azure_mgmt_stor_simple8000_series/models/hardware_component.rb +77 -0
  91. data/lib/generated/azure_mgmt_stor_simple8000_series/models/hardware_component_group.rb +104 -0
  92. data/lib/generated/azure_mgmt_stor_simple8000_series/models/hardware_component_group_list.rb +52 -0
  93. data/lib/generated/azure_mgmt_stor_simple8000_series/models/hardware_component_status.rb +21 -0
  94. data/lib/generated/azure_mgmt_stor_simple8000_series/models/in_eligibility_category.rb +17 -0
  95. data/lib/generated/azure_mgmt_stor_simple8000_series/models/iscsiand_cloud_status.rb +18 -0
  96. data/lib/generated/azure_mgmt_stor_simple8000_series/models/job.rb +236 -0
  97. data/lib/generated/azure_mgmt_stor_simple8000_series/models/job_error_details.rb +73 -0
  98. data/lib/generated/azure_mgmt_stor_simple8000_series/models/job_error_item.rb +72 -0
  99. data/lib/generated/azure_mgmt_stor_simple8000_series/models/job_filter.rb +73 -0
  100. data/lib/generated/azure_mgmt_stor_simple8000_series/models/job_list.rb +94 -0
  101. data/lib/generated/azure_mgmt_stor_simple8000_series/models/job_stage.rb +76 -0
  102. data/lib/generated/azure_mgmt_stor_simple8000_series/models/job_status.rb +18 -0
  103. data/lib/generated/azure_mgmt_stor_simple8000_series/models/job_type.rb +24 -0
  104. data/lib/generated/azure_mgmt_stor_simple8000_series/models/key.rb +44 -0
  105. data/lib/generated/azure_mgmt_stor_simple8000_series/models/key_rollover_status.rb +16 -0
  106. data/lib/generated/azure_mgmt_stor_simple8000_series/models/kind.rb +15 -0
  107. data/lib/generated/azure_mgmt_stor_simple8000_series/models/list_failover_targets_request.rb +54 -0
  108. data/lib/generated/azure_mgmt_stor_simple8000_series/models/manager.rb +126 -0
  109. data/lib/generated/azure_mgmt_stor_simple8000_series/models/manager_extended_info.rb +140 -0
  110. data/lib/generated/azure_mgmt_stor_simple8000_series/models/manager_intrinsic_settings.rb +46 -0
  111. data/lib/generated/azure_mgmt_stor_simple8000_series/models/manager_list.rb +52 -0
  112. data/lib/generated/azure_mgmt_stor_simple8000_series/models/manager_patch.rb +51 -0
  113. data/lib/generated/azure_mgmt_stor_simple8000_series/models/manager_sku.rb +47 -0
  114. data/lib/generated/azure_mgmt_stor_simple8000_series/models/manager_type.rb +16 -0
  115. data/lib/generated/azure_mgmt_stor_simple8000_series/models/metric_aggregation_type.rb +20 -0
  116. data/lib/generated/azure_mgmt_stor_simple8000_series/models/metric_availablity.rb +55 -0
  117. data/lib/generated/azure_mgmt_stor_simple8000_series/models/metric_data.rb +94 -0
  118. data/lib/generated/azure_mgmt_stor_simple8000_series/models/metric_definition.rb +136 -0
  119. data/lib/generated/azure_mgmt_stor_simple8000_series/models/metric_definition_list.rb +52 -0
  120. data/lib/generated/azure_mgmt_stor_simple8000_series/models/metric_dimension.rb +54 -0
  121. data/lib/generated/azure_mgmt_stor_simple8000_series/models/metric_filter.rb +110 -0
  122. data/lib/generated/azure_mgmt_stor_simple8000_series/models/metric_list.rb +52 -0
  123. data/lib/generated/azure_mgmt_stor_simple8000_series/models/metric_name.rb +54 -0
  124. data/lib/generated/azure_mgmt_stor_simple8000_series/models/metric_name_filter.rb +48 -0
  125. data/lib/generated/azure_mgmt_stor_simple8000_series/models/metric_unit.rb +20 -0
  126. data/lib/generated/azure_mgmt_stor_simple8000_series/models/metrics.rb +157 -0
  127. data/lib/generated/azure_mgmt_stor_simple8000_series/models/monitoring_status.rb +16 -0
  128. data/lib/generated/azure_mgmt_stor_simple8000_series/models/net_interface_id.rb +21 -0
  129. data/lib/generated/azure_mgmt_stor_simple8000_series/models/net_interface_status.rb +16 -0
  130. data/lib/generated/azure_mgmt_stor_simple8000_series/models/network_adapter_list.rb +52 -0
  131. data/lib/generated/azure_mgmt_stor_simple8000_series/models/network_adapters.rb +126 -0
  132. data/lib/generated/azure_mgmt_stor_simple8000_series/models/network_interface_data0settings.rb +54 -0
  133. data/lib/generated/azure_mgmt_stor_simple8000_series/models/network_mode.rb +18 -0
  134. data/lib/generated/azure_mgmt_stor_simple8000_series/models/network_settings.rb +99 -0
  135. data/lib/generated/azure_mgmt_stor_simple8000_series/models/network_settings_patch.rb +56 -0
  136. data/lib/generated/azure_mgmt_stor_simple8000_series/models/nic_ipv4.rb +84 -0
  137. data/lib/generated/azure_mgmt_stor_simple8000_series/models/nic_ipv6.rb +84 -0
  138. data/lib/generated/azure_mgmt_stor_simple8000_series/models/operation_status.rb +18 -0
  139. data/lib/generated/azure_mgmt_stor_simple8000_series/models/owner_ship_status.rb +16 -0
  140. data/lib/generated/azure_mgmt_stor_simple8000_series/models/public_key.rb +44 -0
  141. data/lib/generated/azure_mgmt_stor_simple8000_series/models/recurrence_type.rb +18 -0
  142. data/lib/generated/azure_mgmt_stor_simple8000_series/models/remote_management_mode_configuration.rb +18 -0
  143. data/lib/generated/azure_mgmt_stor_simple8000_series/models/remote_management_settings.rb +57 -0
  144. data/lib/generated/azure_mgmt_stor_simple8000_series/models/remote_management_settings_patch.rb +47 -0
  145. data/lib/generated/azure_mgmt_stor_simple8000_series/models/resource.rb +94 -0
  146. data/lib/generated/azure_mgmt_stor_simple8000_series/models/schedule_recurrence.rb +75 -0
  147. data/lib/generated/azure_mgmt_stor_simple8000_series/models/schedule_status.rb +16 -0
  148. data/lib/generated/azure_mgmt_stor_simple8000_series/models/scheduled_backup_status.rb +16 -0
  149. data/lib/generated/azure_mgmt_stor_simple8000_series/models/secondary_dnssettings.rb +51 -0
  150. data/lib/generated/azure_mgmt_stor_simple8000_series/models/security_settings.rb +90 -0
  151. data/lib/generated/azure_mgmt_stor_simple8000_series/models/security_settings_patch.rb +89 -0
  152. data/lib/generated/azure_mgmt_stor_simple8000_series/models/send_test_alert_email_request.rb +52 -0
  153. data/lib/generated/azure_mgmt_stor_simple8000_series/models/ssl_status.rb +16 -0
  154. data/lib/generated/azure_mgmt_stor_simple8000_series/models/storage_account_credential.rb +112 -0
  155. data/lib/generated/azure_mgmt_stor_simple8000_series/models/storage_account_credential_list.rb +52 -0
  156. data/lib/generated/azure_mgmt_stor_simple8000_series/models/symmetric_encrypted_secret.rb +68 -0
  157. data/lib/generated/azure_mgmt_stor_simple8000_series/models/target_eligibility_error_message.rb +74 -0
  158. data/lib/generated/azure_mgmt_stor_simple8000_series/models/target_eligibility_result.rb +66 -0
  159. data/lib/generated/azure_mgmt_stor_simple8000_series/models/target_eligibility_result_code.rb +21 -0
  160. data/lib/generated/azure_mgmt_stor_simple8000_series/models/target_eligibility_status.rb +16 -0
  161. data/lib/generated/azure_mgmt_stor_simple8000_series/models/time.rb +76 -0
  162. data/lib/generated/azure_mgmt_stor_simple8000_series/models/time_settings.rb +106 -0
  163. data/lib/generated/azure_mgmt_stor_simple8000_series/models/updates.rb +107 -0
  164. data/lib/generated/azure_mgmt_stor_simple8000_series/models/virtual_machine_api_type.rb +16 -0
  165. data/lib/generated/azure_mgmt_stor_simple8000_series/models/vm_image.rb +84 -0
  166. data/lib/generated/azure_mgmt_stor_simple8000_series/models/volume.rb +187 -0
  167. data/lib/generated/azure_mgmt_stor_simple8000_series/models/volume_container.rb +161 -0
  168. data/lib/generated/azure_mgmt_stor_simple8000_series/models/volume_container_failover_metadata.rb +64 -0
  169. data/lib/generated/azure_mgmt_stor_simple8000_series/models/volume_container_list.rb +52 -0
  170. data/lib/generated/azure_mgmt_stor_simple8000_series/models/volume_failover_metadata.rb +109 -0
  171. data/lib/generated/azure_mgmt_stor_simple8000_series/models/volume_list.rb +52 -0
  172. data/lib/generated/azure_mgmt_stor_simple8000_series/models/volume_status.rb +16 -0
  173. data/lib/generated/azure_mgmt_stor_simple8000_series/models/volume_type.rb +17 -0
  174. data/lib/generated/azure_mgmt_stor_simple8000_series/models/webproxy_settings.rb +66 -0
  175. data/lib/generated/azure_mgmt_stor_simple8000_series/module_definition.rb +8 -0
  176. data/lib/generated/azure_mgmt_stor_simple8000_series/operations.rb +220 -0
  177. data/lib/generated/azure_mgmt_stor_simple8000_series/stor_simple8000series_management_client.rb +189 -0
  178. data/lib/generated/azure_mgmt_stor_simple8000_series/storage_account_credentials.rb +507 -0
  179. data/lib/generated/azure_mgmt_stor_simple8000_series/version.rb +8 -0
  180. data/lib/generated/azure_mgmt_stor_simple8000_series/volume_containers.rb +717 -0
  181. data/lib/generated/azure_mgmt_stor_simple8000_series/volumes.rb +835 -0
  182. data/lib/generated/azure_mgmt_stor_simple8000_series.rb +202 -0
  183. metadata +295 -0
@@ -0,0 +1,835 @@
1
+ # encoding: utf-8
2
+ # Code generated by Microsoft (R) AutoRest Code Generator.
3
+ # Changes may cause incorrect behavior and will be lost if the code is
4
+ # regenerated.
5
+
6
+ module Azure::ARM::StorSimple8000Series
7
+ #
8
+ # Volumes
9
+ #
10
+ class Volumes
11
+ include MsRestAzure
12
+
13
+ #
14
+ # Creates and initializes a new instance of the Volumes class.
15
+ # @param client service class for accessing basic functionality.
16
+ #
17
+ def initialize(client)
18
+ @client = client
19
+ end
20
+
21
+ # @return [StorSimple8000SeriesManagementClient] reference to the StorSimple8000SeriesManagementClient
22
+ attr_reader :client
23
+
24
+ #
25
+ # Retrieves all the volumes in a volume container.
26
+ #
27
+ # @param device_name [String] The device name
28
+ # @param volume_container_name [String] The volume container name.
29
+ # @param resource_group_name [String] The resource group name
30
+ # @param manager_name [String] The manager name
31
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
32
+ # will be added to the HTTP request.
33
+ #
34
+ # @return [VolumeList] operation results.
35
+ #
36
+ def list_by_volume_container(device_name, volume_container_name, resource_group_name, manager_name, custom_headers = nil)
37
+ response = list_by_volume_container_async(device_name, volume_container_name, resource_group_name, manager_name, custom_headers).value!
38
+ response.body unless response.nil?
39
+ end
40
+
41
+ #
42
+ # Retrieves all the volumes in a volume container.
43
+ #
44
+ # @param device_name [String] The device name
45
+ # @param volume_container_name [String] The volume container name.
46
+ # @param resource_group_name [String] The resource group name
47
+ # @param manager_name [String] The manager name
48
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
49
+ # will be added to the HTTP request.
50
+ #
51
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
52
+ #
53
+ def list_by_volume_container_with_http_info(device_name, volume_container_name, resource_group_name, manager_name, custom_headers = nil)
54
+ list_by_volume_container_async(device_name, volume_container_name, resource_group_name, manager_name, custom_headers).value!
55
+ end
56
+
57
+ #
58
+ # Retrieves all the volumes in a volume container.
59
+ #
60
+ # @param device_name [String] The device name
61
+ # @param volume_container_name [String] The volume container name.
62
+ # @param resource_group_name [String] The resource group name
63
+ # @param manager_name [String] The manager name
64
+ # @param [Hash{String => String}] A hash of custom headers that will be added
65
+ # to the HTTP request.
66
+ #
67
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
68
+ #
69
+ def list_by_volume_container_async(device_name, volume_container_name, resource_group_name, manager_name, custom_headers = nil)
70
+ fail ArgumentError, 'device_name is nil' if device_name.nil?
71
+ fail ArgumentError, 'volume_container_name is nil' if volume_container_name.nil?
72
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
73
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
74
+ fail ArgumentError, 'manager_name is nil' if manager_name.nil?
75
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
76
+
77
+
78
+ request_headers = {}
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}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/volumeContainers/{volumeContainerName}/volumes'
84
+
85
+ request_url = @base_url || @client.base_url
86
+
87
+ options = {
88
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
89
+ skip_encoding_path_params: {'deviceName' => device_name,'volumeContainerName' => volume_container_name,'subscriptionId' => @client.subscription_id,'resourceGroupName' => resource_group_name,'managerName' => manager_name},
90
+ skip_encoding_query_params: {'api-version' => @client.api_version},
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 MsRestAzure::AzureOperationError.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
+ # Deserialize Response
107
+ if status_code == 200
108
+ begin
109
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
110
+ result_mapper = Azure::ARM::StorSimple8000Series::Models::VolumeList.mapper()
111
+ result.body = @client.deserialize(result_mapper, parsed_response)
112
+ rescue Exception => e
113
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
114
+ end
115
+ end
116
+
117
+ result
118
+ end
119
+
120
+ promise.execute
121
+ end
122
+
123
+ #
124
+ # Returns the properties of the specified volume name.
125
+ #
126
+ # @param device_name [String] The device name
127
+ # @param volume_container_name [String] The volume container name.
128
+ # @param volume_name [String] The volume name.
129
+ # @param resource_group_name [String] The resource group name
130
+ # @param manager_name [String] The manager name
131
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
132
+ # will be added to the HTTP request.
133
+ #
134
+ # @return [Volume] operation results.
135
+ #
136
+ def get(device_name, volume_container_name, volume_name, resource_group_name, manager_name, custom_headers = nil)
137
+ response = get_async(device_name, volume_container_name, volume_name, resource_group_name, manager_name, custom_headers).value!
138
+ response.body unless response.nil?
139
+ end
140
+
141
+ #
142
+ # Returns the properties of the specified volume name.
143
+ #
144
+ # @param device_name [String] The device name
145
+ # @param volume_container_name [String] The volume container name.
146
+ # @param volume_name [String] The volume name.
147
+ # @param resource_group_name [String] The resource group name
148
+ # @param manager_name [String] The manager name
149
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
150
+ # will be added to the HTTP request.
151
+ #
152
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
153
+ #
154
+ def get_with_http_info(device_name, volume_container_name, volume_name, resource_group_name, manager_name, custom_headers = nil)
155
+ get_async(device_name, volume_container_name, volume_name, resource_group_name, manager_name, custom_headers).value!
156
+ end
157
+
158
+ #
159
+ # Returns the properties of the specified volume name.
160
+ #
161
+ # @param device_name [String] The device name
162
+ # @param volume_container_name [String] The volume container name.
163
+ # @param volume_name [String] The volume name.
164
+ # @param resource_group_name [String] The resource group name
165
+ # @param manager_name [String] The manager name
166
+ # @param [Hash{String => String}] A hash of custom headers that will be added
167
+ # to the HTTP request.
168
+ #
169
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
170
+ #
171
+ def get_async(device_name, volume_container_name, volume_name, resource_group_name, manager_name, custom_headers = nil)
172
+ fail ArgumentError, 'device_name is nil' if device_name.nil?
173
+ fail ArgumentError, 'volume_container_name is nil' if volume_container_name.nil?
174
+ fail ArgumentError, 'volume_name is nil' if volume_name.nil?
175
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
176
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
177
+ fail ArgumentError, 'manager_name is nil' if manager_name.nil?
178
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
179
+
180
+
181
+ request_headers = {}
182
+
183
+ # Set Headers
184
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
185
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
186
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/volumeContainers/{volumeContainerName}/volumes/{volumeName}'
187
+
188
+ request_url = @base_url || @client.base_url
189
+
190
+ options = {
191
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
192
+ skip_encoding_path_params: {'deviceName' => device_name,'volumeContainerName' => volume_container_name,'volumeName' => volume_name,'subscriptionId' => @client.subscription_id,'resourceGroupName' => resource_group_name,'managerName' => manager_name},
193
+ skip_encoding_query_params: {'api-version' => @client.api_version},
194
+ headers: request_headers.merge(custom_headers || {}),
195
+ base_url: request_url
196
+ }
197
+ promise = @client.make_request_async(:get, path_template, options)
198
+
199
+ promise = promise.then do |result|
200
+ http_response = result.response
201
+ status_code = http_response.status
202
+ response_content = http_response.body
203
+ unless status_code == 200
204
+ error_model = JSON.load(response_content)
205
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
206
+ end
207
+
208
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
209
+ # Deserialize Response
210
+ if status_code == 200
211
+ begin
212
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
213
+ result_mapper = Azure::ARM::StorSimple8000Series::Models::Volume.mapper()
214
+ result.body = @client.deserialize(result_mapper, parsed_response)
215
+ rescue Exception => e
216
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
217
+ end
218
+ end
219
+
220
+ result
221
+ end
222
+
223
+ promise.execute
224
+ end
225
+
226
+ #
227
+ # Creates or updates the volume.
228
+ #
229
+ # @param device_name [String] The device name
230
+ # @param volume_container_name [String] The volume container name.
231
+ # @param volume_name [String] The volume name.
232
+ # @param parameters [Volume] Volume to be created or updated.
233
+ # @param resource_group_name [String] The resource group name
234
+ # @param manager_name [String] The manager name
235
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
236
+ # will be added to the HTTP request.
237
+ #
238
+ # @return [Volume] operation results.
239
+ #
240
+ def create_or_update(device_name, volume_container_name, volume_name, parameters, resource_group_name, manager_name, custom_headers = nil)
241
+ response = create_or_update_async(device_name, volume_container_name, volume_name, parameters, resource_group_name, manager_name, custom_headers).value!
242
+ response.body unless response.nil?
243
+ end
244
+
245
+ #
246
+ # @param device_name [String] The device name
247
+ # @param volume_container_name [String] The volume container name.
248
+ # @param volume_name [String] The volume name.
249
+ # @param parameters [Volume] Volume to be created or updated.
250
+ # @param resource_group_name [String] The resource group name
251
+ # @param manager_name [String] The manager name
252
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
253
+ # will be added to the HTTP request.
254
+ #
255
+ # @return [Concurrent::Promise] promise which provides async access to http
256
+ # response.
257
+ #
258
+ def create_or_update_async(device_name, volume_container_name, volume_name, parameters, resource_group_name, manager_name, custom_headers = nil)
259
+ # Send request
260
+ promise = begin_create_or_update_async(device_name, volume_container_name, volume_name, parameters, resource_group_name, manager_name, custom_headers)
261
+
262
+ promise = promise.then do |response|
263
+ # Defining deserialization method.
264
+ deserialize_method = lambda do |parsed_response|
265
+ result_mapper = Azure::ARM::StorSimple8000Series::Models::Volume.mapper()
266
+ parsed_response = @client.deserialize(result_mapper, parsed_response)
267
+ end
268
+
269
+ # Waiting for response.
270
+ @client.get_long_running_operation_result(response, deserialize_method)
271
+ end
272
+
273
+ promise
274
+ end
275
+
276
+ #
277
+ # Deletes the volume.
278
+ #
279
+ # @param device_name [String] The device name
280
+ # @param volume_container_name [String] The volume container name.
281
+ # @param volume_name [String] The volume name.
282
+ # @param resource_group_name [String] The resource group name
283
+ # @param manager_name [String] The manager name
284
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
285
+ # will be added to the HTTP request.
286
+ #
287
+ def delete(device_name, volume_container_name, volume_name, resource_group_name, manager_name, custom_headers = nil)
288
+ response = delete_async(device_name, volume_container_name, volume_name, resource_group_name, manager_name, custom_headers).value!
289
+ nil
290
+ end
291
+
292
+ #
293
+ # @param device_name [String] The device name
294
+ # @param volume_container_name [String] The volume container name.
295
+ # @param volume_name [String] The volume name.
296
+ # @param resource_group_name [String] The resource group name
297
+ # @param manager_name [String] The manager name
298
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
299
+ # will be added to the HTTP request.
300
+ #
301
+ # @return [Concurrent::Promise] promise which provides async access to http
302
+ # response.
303
+ #
304
+ def delete_async(device_name, volume_container_name, volume_name, resource_group_name, manager_name, custom_headers = nil)
305
+ # Send request
306
+ promise = begin_delete_async(device_name, volume_container_name, volume_name, resource_group_name, manager_name, custom_headers)
307
+
308
+ promise = promise.then do |response|
309
+ # Defining deserialization method.
310
+ deserialize_method = lambda do |parsed_response|
311
+ end
312
+
313
+ # Waiting for response.
314
+ @client.get_long_running_operation_result(response, deserialize_method)
315
+ end
316
+
317
+ promise
318
+ end
319
+
320
+ #
321
+ # Gets the metrics for the specified volume.
322
+ #
323
+ # @param device_name [String] The device name
324
+ # @param volume_container_name [String] The volume container name.
325
+ # @param volume_name [String] The volume name.
326
+ # @param resource_group_name [String] The resource group name
327
+ # @param manager_name [String] The manager name
328
+ # @param filter [String] OData Filter options
329
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
330
+ # will be added to the HTTP request.
331
+ #
332
+ # @return [MetricList] operation results.
333
+ #
334
+ def list_metrics(device_name, volume_container_name, volume_name, resource_group_name, manager_name, filter, custom_headers = nil)
335
+ response = list_metrics_async(device_name, volume_container_name, volume_name, resource_group_name, manager_name, filter, custom_headers).value!
336
+ response.body unless response.nil?
337
+ end
338
+
339
+ #
340
+ # Gets the metrics for the specified volume.
341
+ #
342
+ # @param device_name [String] The device name
343
+ # @param volume_container_name [String] The volume container name.
344
+ # @param volume_name [String] The volume name.
345
+ # @param resource_group_name [String] The resource group name
346
+ # @param manager_name [String] The manager name
347
+ # @param filter [String] OData Filter options
348
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
349
+ # will be added to the HTTP request.
350
+ #
351
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
352
+ #
353
+ def list_metrics_with_http_info(device_name, volume_container_name, volume_name, resource_group_name, manager_name, filter, custom_headers = nil)
354
+ list_metrics_async(device_name, volume_container_name, volume_name, resource_group_name, manager_name, filter, custom_headers).value!
355
+ end
356
+
357
+ #
358
+ # Gets the metrics for the specified volume.
359
+ #
360
+ # @param device_name [String] The device name
361
+ # @param volume_container_name [String] The volume container name.
362
+ # @param volume_name [String] The volume name.
363
+ # @param resource_group_name [String] The resource group name
364
+ # @param manager_name [String] The manager name
365
+ # @param filter [String] OData Filter options
366
+ # @param [Hash{String => String}] A hash of custom headers that will be added
367
+ # to the HTTP request.
368
+ #
369
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
370
+ #
371
+ def list_metrics_async(device_name, volume_container_name, volume_name, resource_group_name, manager_name, filter, custom_headers = nil)
372
+ fail ArgumentError, 'device_name is nil' if device_name.nil?
373
+ fail ArgumentError, 'volume_container_name is nil' if volume_container_name.nil?
374
+ fail ArgumentError, 'volume_name is nil' if volume_name.nil?
375
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
376
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
377
+ fail ArgumentError, 'manager_name is nil' if manager_name.nil?
378
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
379
+ fail ArgumentError, 'filter is nil' if filter.nil?
380
+
381
+
382
+ request_headers = {}
383
+
384
+ # Set Headers
385
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
386
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
387
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/volumeContainers/{volumeContainerName}/volumes/{volumeName}/metrics'
388
+
389
+ request_url = @base_url || @client.base_url
390
+
391
+ options = {
392
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
393
+ skip_encoding_path_params: {'deviceName' => device_name,'volumeContainerName' => volume_container_name,'volumeName' => volume_name,'subscriptionId' => @client.subscription_id,'resourceGroupName' => resource_group_name,'managerName' => manager_name},
394
+ query_params: {'$filter' => filter},
395
+ skip_encoding_query_params: {'api-version' => @client.api_version},
396
+ headers: request_headers.merge(custom_headers || {}),
397
+ base_url: request_url
398
+ }
399
+ promise = @client.make_request_async(:get, path_template, options)
400
+
401
+ promise = promise.then do |result|
402
+ http_response = result.response
403
+ status_code = http_response.status
404
+ response_content = http_response.body
405
+ unless status_code == 200
406
+ error_model = JSON.load(response_content)
407
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
408
+ end
409
+
410
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
411
+ # Deserialize Response
412
+ if status_code == 200
413
+ begin
414
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
415
+ result_mapper = Azure::ARM::StorSimple8000Series::Models::MetricList.mapper()
416
+ result.body = @client.deserialize(result_mapper, parsed_response)
417
+ rescue Exception => e
418
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
419
+ end
420
+ end
421
+
422
+ result
423
+ end
424
+
425
+ promise.execute
426
+ end
427
+
428
+ #
429
+ # Gets the metric definitions for the specified volume.
430
+ #
431
+ # @param device_name [String] The device name
432
+ # @param volume_container_name [String] The volume container name.
433
+ # @param volume_name [String] The volume name.
434
+ # @param resource_group_name [String] The resource group name
435
+ # @param manager_name [String] The manager name
436
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
437
+ # will be added to the HTTP request.
438
+ #
439
+ # @return [MetricDefinitionList] operation results.
440
+ #
441
+ def list_metric_definition(device_name, volume_container_name, volume_name, resource_group_name, manager_name, custom_headers = nil)
442
+ response = list_metric_definition_async(device_name, volume_container_name, volume_name, resource_group_name, manager_name, custom_headers).value!
443
+ response.body unless response.nil?
444
+ end
445
+
446
+ #
447
+ # Gets the metric definitions for the specified volume.
448
+ #
449
+ # @param device_name [String] The device name
450
+ # @param volume_container_name [String] The volume container name.
451
+ # @param volume_name [String] The volume name.
452
+ # @param resource_group_name [String] The resource group name
453
+ # @param manager_name [String] The manager name
454
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
455
+ # will be added to the HTTP request.
456
+ #
457
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
458
+ #
459
+ def list_metric_definition_with_http_info(device_name, volume_container_name, volume_name, resource_group_name, manager_name, custom_headers = nil)
460
+ list_metric_definition_async(device_name, volume_container_name, volume_name, resource_group_name, manager_name, custom_headers).value!
461
+ end
462
+
463
+ #
464
+ # Gets the metric definitions for the specified volume.
465
+ #
466
+ # @param device_name [String] The device name
467
+ # @param volume_container_name [String] The volume container name.
468
+ # @param volume_name [String] The volume name.
469
+ # @param resource_group_name [String] The resource group name
470
+ # @param manager_name [String] The manager name
471
+ # @param [Hash{String => String}] A hash of custom headers that will be added
472
+ # to the HTTP request.
473
+ #
474
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
475
+ #
476
+ def list_metric_definition_async(device_name, volume_container_name, volume_name, resource_group_name, manager_name, custom_headers = nil)
477
+ fail ArgumentError, 'device_name is nil' if device_name.nil?
478
+ fail ArgumentError, 'volume_container_name is nil' if volume_container_name.nil?
479
+ fail ArgumentError, 'volume_name is nil' if volume_name.nil?
480
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
481
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
482
+ fail ArgumentError, 'manager_name is nil' if manager_name.nil?
483
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
484
+
485
+
486
+ request_headers = {}
487
+
488
+ # Set Headers
489
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
490
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
491
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/volumeContainers/{volumeContainerName}/volumes/{volumeName}/metricsDefinitions'
492
+
493
+ request_url = @base_url || @client.base_url
494
+
495
+ options = {
496
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
497
+ skip_encoding_path_params: {'deviceName' => device_name,'volumeContainerName' => volume_container_name,'volumeName' => volume_name,'subscriptionId' => @client.subscription_id,'resourceGroupName' => resource_group_name,'managerName' => manager_name},
498
+ skip_encoding_query_params: {'api-version' => @client.api_version},
499
+ headers: request_headers.merge(custom_headers || {}),
500
+ base_url: request_url
501
+ }
502
+ promise = @client.make_request_async(:get, path_template, options)
503
+
504
+ promise = promise.then do |result|
505
+ http_response = result.response
506
+ status_code = http_response.status
507
+ response_content = http_response.body
508
+ unless status_code == 200
509
+ error_model = JSON.load(response_content)
510
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
511
+ end
512
+
513
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
514
+ # Deserialize Response
515
+ if status_code == 200
516
+ begin
517
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
518
+ result_mapper = Azure::ARM::StorSimple8000Series::Models::MetricDefinitionList.mapper()
519
+ result.body = @client.deserialize(result_mapper, parsed_response)
520
+ rescue Exception => e
521
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
522
+ end
523
+ end
524
+
525
+ result
526
+ end
527
+
528
+ promise.execute
529
+ end
530
+
531
+ #
532
+ # Retrieves all the volumes in a device.
533
+ #
534
+ # @param device_name [String] The device name
535
+ # @param resource_group_name [String] The resource group name
536
+ # @param manager_name [String] The manager name
537
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
538
+ # will be added to the HTTP request.
539
+ #
540
+ # @return [VolumeList] operation results.
541
+ #
542
+ def list_by_device(device_name, resource_group_name, manager_name, custom_headers = nil)
543
+ response = list_by_device_async(device_name, resource_group_name, manager_name, custom_headers).value!
544
+ response.body unless response.nil?
545
+ end
546
+
547
+ #
548
+ # Retrieves all the volumes in a device.
549
+ #
550
+ # @param device_name [String] The device name
551
+ # @param resource_group_name [String] The resource group name
552
+ # @param manager_name [String] The manager name
553
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
554
+ # will be added to the HTTP request.
555
+ #
556
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
557
+ #
558
+ def list_by_device_with_http_info(device_name, resource_group_name, manager_name, custom_headers = nil)
559
+ list_by_device_async(device_name, resource_group_name, manager_name, custom_headers).value!
560
+ end
561
+
562
+ #
563
+ # Retrieves all the volumes in a device.
564
+ #
565
+ # @param device_name [String] The device name
566
+ # @param resource_group_name [String] The resource group name
567
+ # @param manager_name [String] The manager name
568
+ # @param [Hash{String => String}] A hash of custom headers that will be added
569
+ # to the HTTP request.
570
+ #
571
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
572
+ #
573
+ def list_by_device_async(device_name, resource_group_name, manager_name, custom_headers = nil)
574
+ fail ArgumentError, 'device_name is nil' if device_name.nil?
575
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
576
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
577
+ fail ArgumentError, 'manager_name is nil' if manager_name.nil?
578
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
579
+
580
+
581
+ request_headers = {}
582
+
583
+ # Set Headers
584
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
585
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
586
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/volumes'
587
+
588
+ request_url = @base_url || @client.base_url
589
+
590
+ options = {
591
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
592
+ skip_encoding_path_params: {'deviceName' => device_name,'subscriptionId' => @client.subscription_id,'resourceGroupName' => resource_group_name,'managerName' => manager_name},
593
+ skip_encoding_query_params: {'api-version' => @client.api_version},
594
+ headers: request_headers.merge(custom_headers || {}),
595
+ base_url: request_url
596
+ }
597
+ promise = @client.make_request_async(:get, path_template, options)
598
+
599
+ promise = promise.then do |result|
600
+ http_response = result.response
601
+ status_code = http_response.status
602
+ response_content = http_response.body
603
+ unless status_code == 200
604
+ error_model = JSON.load(response_content)
605
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
606
+ end
607
+
608
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
609
+ # Deserialize Response
610
+ if status_code == 200
611
+ begin
612
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
613
+ result_mapper = Azure::ARM::StorSimple8000Series::Models::VolumeList.mapper()
614
+ result.body = @client.deserialize(result_mapper, parsed_response)
615
+ rescue Exception => e
616
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
617
+ end
618
+ end
619
+
620
+ result
621
+ end
622
+
623
+ promise.execute
624
+ end
625
+
626
+ #
627
+ # Creates or updates the volume.
628
+ #
629
+ # @param device_name [String] The device name
630
+ # @param volume_container_name [String] The volume container name.
631
+ # @param volume_name [String] The volume name.
632
+ # @param parameters [Volume] Volume to be created or updated.
633
+ # @param resource_group_name [String] The resource group name
634
+ # @param manager_name [String] The manager name
635
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
636
+ # will be added to the HTTP request.
637
+ #
638
+ # @return [Volume] operation results.
639
+ #
640
+ def begin_create_or_update(device_name, volume_container_name, volume_name, parameters, resource_group_name, manager_name, custom_headers = nil)
641
+ response = begin_create_or_update_async(device_name, volume_container_name, volume_name, parameters, resource_group_name, manager_name, custom_headers).value!
642
+ response.body unless response.nil?
643
+ end
644
+
645
+ #
646
+ # Creates or updates the volume.
647
+ #
648
+ # @param device_name [String] The device name
649
+ # @param volume_container_name [String] The volume container name.
650
+ # @param volume_name [String] The volume name.
651
+ # @param parameters [Volume] Volume to be created or updated.
652
+ # @param resource_group_name [String] The resource group name
653
+ # @param manager_name [String] The manager name
654
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
655
+ # will be added to the HTTP request.
656
+ #
657
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
658
+ #
659
+ def begin_create_or_update_with_http_info(device_name, volume_container_name, volume_name, parameters, resource_group_name, manager_name, custom_headers = nil)
660
+ begin_create_or_update_async(device_name, volume_container_name, volume_name, parameters, resource_group_name, manager_name, custom_headers).value!
661
+ end
662
+
663
+ #
664
+ # Creates or updates the volume.
665
+ #
666
+ # @param device_name [String] The device name
667
+ # @param volume_container_name [String] The volume container name.
668
+ # @param volume_name [String] The volume name.
669
+ # @param parameters [Volume] Volume to be created or updated.
670
+ # @param resource_group_name [String] The resource group name
671
+ # @param manager_name [String] The manager name
672
+ # @param [Hash{String => String}] A hash of custom headers that will be added
673
+ # to the HTTP request.
674
+ #
675
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
676
+ #
677
+ def begin_create_or_update_async(device_name, volume_container_name, volume_name, parameters, resource_group_name, manager_name, custom_headers = nil)
678
+ fail ArgumentError, 'device_name is nil' if device_name.nil?
679
+ fail ArgumentError, 'volume_container_name is nil' if volume_container_name.nil?
680
+ fail ArgumentError, 'volume_name is nil' if volume_name.nil?
681
+ fail ArgumentError, 'parameters is nil' if parameters.nil?
682
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
683
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
684
+ fail ArgumentError, 'manager_name is nil' if manager_name.nil?
685
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
686
+
687
+
688
+ request_headers = {}
689
+
690
+ # Set Headers
691
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
692
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
693
+
694
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
695
+
696
+ # Serialize Request
697
+ request_mapper = Azure::ARM::StorSimple8000Series::Models::Volume.mapper()
698
+ request_content = @client.serialize(request_mapper, parameters)
699
+ request_content = request_content != nil ? JSON.generate(request_content, quirks_mode: true) : nil
700
+
701
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/volumeContainers/{volumeContainerName}/volumes/{volumeName}'
702
+
703
+ request_url = @base_url || @client.base_url
704
+
705
+ options = {
706
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
707
+ skip_encoding_path_params: {'deviceName' => device_name,'volumeContainerName' => volume_container_name,'volumeName' => volume_name,'subscriptionId' => @client.subscription_id,'resourceGroupName' => resource_group_name,'managerName' => manager_name},
708
+ skip_encoding_query_params: {'api-version' => @client.api_version},
709
+ body: request_content,
710
+ headers: request_headers.merge(custom_headers || {}),
711
+ base_url: request_url
712
+ }
713
+ promise = @client.make_request_async(:put, path_template, options)
714
+
715
+ promise = promise.then do |result|
716
+ http_response = result.response
717
+ status_code = http_response.status
718
+ response_content = http_response.body
719
+ unless status_code == 200 || status_code == 202
720
+ error_model = JSON.load(response_content)
721
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
722
+ end
723
+
724
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
725
+ # Deserialize Response
726
+ if status_code == 200
727
+ begin
728
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
729
+ result_mapper = Azure::ARM::StorSimple8000Series::Models::Volume.mapper()
730
+ result.body = @client.deserialize(result_mapper, parsed_response)
731
+ rescue Exception => e
732
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
733
+ end
734
+ end
735
+
736
+ result
737
+ end
738
+
739
+ promise.execute
740
+ end
741
+
742
+ #
743
+ # Deletes the volume.
744
+ #
745
+ # @param device_name [String] The device name
746
+ # @param volume_container_name [String] The volume container name.
747
+ # @param volume_name [String] The volume name.
748
+ # @param resource_group_name [String] The resource group name
749
+ # @param manager_name [String] The manager name
750
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
751
+ # will be added to the HTTP request.
752
+ #
753
+ #
754
+ def begin_delete(device_name, volume_container_name, volume_name, resource_group_name, manager_name, custom_headers = nil)
755
+ response = begin_delete_async(device_name, volume_container_name, volume_name, resource_group_name, manager_name, custom_headers).value!
756
+ nil
757
+ end
758
+
759
+ #
760
+ # Deletes the volume.
761
+ #
762
+ # @param device_name [String] The device name
763
+ # @param volume_container_name [String] The volume container name.
764
+ # @param volume_name [String] The volume name.
765
+ # @param resource_group_name [String] The resource group name
766
+ # @param manager_name [String] The manager name
767
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
768
+ # will be added to the HTTP request.
769
+ #
770
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
771
+ #
772
+ def begin_delete_with_http_info(device_name, volume_container_name, volume_name, resource_group_name, manager_name, custom_headers = nil)
773
+ begin_delete_async(device_name, volume_container_name, volume_name, resource_group_name, manager_name, custom_headers).value!
774
+ end
775
+
776
+ #
777
+ # Deletes the volume.
778
+ #
779
+ # @param device_name [String] The device name
780
+ # @param volume_container_name [String] The volume container name.
781
+ # @param volume_name [String] The volume name.
782
+ # @param resource_group_name [String] The resource group name
783
+ # @param manager_name [String] The manager name
784
+ # @param [Hash{String => String}] A hash of custom headers that will be added
785
+ # to the HTTP request.
786
+ #
787
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
788
+ #
789
+ def begin_delete_async(device_name, volume_container_name, volume_name, resource_group_name, manager_name, custom_headers = nil)
790
+ fail ArgumentError, 'device_name is nil' if device_name.nil?
791
+ fail ArgumentError, 'volume_container_name is nil' if volume_container_name.nil?
792
+ fail ArgumentError, 'volume_name is nil' if volume_name.nil?
793
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
794
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
795
+ fail ArgumentError, 'manager_name is nil' if manager_name.nil?
796
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
797
+
798
+
799
+ request_headers = {}
800
+
801
+ # Set Headers
802
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
803
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
804
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/volumeContainers/{volumeContainerName}/volumes/{volumeName}'
805
+
806
+ request_url = @base_url || @client.base_url
807
+
808
+ options = {
809
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
810
+ skip_encoding_path_params: {'deviceName' => device_name,'volumeContainerName' => volume_container_name,'volumeName' => volume_name,'subscriptionId' => @client.subscription_id,'resourceGroupName' => resource_group_name,'managerName' => manager_name},
811
+ skip_encoding_query_params: {'api-version' => @client.api_version},
812
+ headers: request_headers.merge(custom_headers || {}),
813
+ base_url: request_url
814
+ }
815
+ promise = @client.make_request_async(:delete, path_template, options)
816
+
817
+ promise = promise.then do |result|
818
+ http_response = result.response
819
+ status_code = http_response.status
820
+ response_content = http_response.body
821
+ unless status_code == 202 || status_code == 204
822
+ error_model = JSON.load(response_content)
823
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
824
+ end
825
+
826
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
827
+
828
+ result
829
+ end
830
+
831
+ promise.execute
832
+ end
833
+
834
+ end
835
+ end