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,422 @@
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
+ # Alerts
9
+ #
10
+ class Alerts
11
+ include MsRestAzure
12
+
13
+ #
14
+ # Creates and initializes a new instance of the Alerts 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 alerts in a manager.
26
+ #
27
+ # @param resource_group_name [String] The resource group name
28
+ # @param manager_name [String] The manager name
29
+ # @param filter [String] OData Filter options
30
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
31
+ # will be added to the HTTP request.
32
+ #
33
+ # @return [Array<Alert>] operation results.
34
+ #
35
+ def list_by_manager(resource_group_name, manager_name, filter = nil, custom_headers = nil)
36
+ first_page = list_by_manager_as_lazy(resource_group_name, manager_name, filter, custom_headers)
37
+ first_page.get_all_items
38
+ end
39
+
40
+ #
41
+ # Retrieves all the alerts in a manager.
42
+ #
43
+ # @param resource_group_name [String] The resource group name
44
+ # @param manager_name [String] The manager name
45
+ # @param filter [String] OData Filter options
46
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
47
+ # will be added to the HTTP request.
48
+ #
49
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
50
+ #
51
+ def list_by_manager_with_http_info(resource_group_name, manager_name, filter = nil, custom_headers = nil)
52
+ list_by_manager_async(resource_group_name, manager_name, filter, custom_headers).value!
53
+ end
54
+
55
+ #
56
+ # Retrieves all the alerts in a manager.
57
+ #
58
+ # @param resource_group_name [String] The resource group name
59
+ # @param manager_name [String] The manager name
60
+ # @param filter [String] OData Filter options
61
+ # @param [Hash{String => String}] A hash of custom headers that will be added
62
+ # to the HTTP request.
63
+ #
64
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
65
+ #
66
+ def list_by_manager_async(resource_group_name, manager_name, filter = nil, custom_headers = nil)
67
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
68
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
69
+ fail ArgumentError, 'manager_name is nil' if manager_name.nil?
70
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
71
+
72
+
73
+ request_headers = {}
74
+
75
+ # Set Headers
76
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
77
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
78
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/alerts'
79
+
80
+ request_url = @base_url || @client.base_url
81
+
82
+ options = {
83
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
84
+ skip_encoding_path_params: {'subscriptionId' => @client.subscription_id,'resourceGroupName' => resource_group_name,'managerName' => manager_name},
85
+ query_params: {'$filter' => filter},
86
+ skip_encoding_query_params: {'api-version' => @client.api_version},
87
+ headers: request_headers.merge(custom_headers || {}),
88
+ base_url: request_url
89
+ }
90
+ promise = @client.make_request_async(:get, path_template, options)
91
+
92
+ promise = promise.then do |result|
93
+ http_response = result.response
94
+ status_code = http_response.status
95
+ response_content = http_response.body
96
+ unless status_code == 200
97
+ error_model = JSON.load(response_content)
98
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
99
+ end
100
+
101
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
102
+ # Deserialize Response
103
+ if status_code == 200
104
+ begin
105
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
106
+ result_mapper = Azure::ARM::StorSimple8000Series::Models::AlertList.mapper()
107
+ result.body = @client.deserialize(result_mapper, parsed_response)
108
+ rescue Exception => e
109
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
110
+ end
111
+ end
112
+
113
+ result
114
+ end
115
+
116
+ promise.execute
117
+ end
118
+
119
+ #
120
+ # Clear the alerts.
121
+ #
122
+ # @param parameters [ClearAlertRequest] The clear alert request.
123
+ # @param resource_group_name [String] The resource group name
124
+ # @param manager_name [String] The manager name
125
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
126
+ # will be added to the HTTP request.
127
+ #
128
+ #
129
+ def clear(parameters, resource_group_name, manager_name, custom_headers = nil)
130
+ response = clear_async(parameters, resource_group_name, manager_name, custom_headers).value!
131
+ nil
132
+ end
133
+
134
+ #
135
+ # Clear the alerts.
136
+ #
137
+ # @param parameters [ClearAlertRequest] The clear alert request.
138
+ # @param resource_group_name [String] The resource group name
139
+ # @param manager_name [String] The manager name
140
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
141
+ # will be added to the HTTP request.
142
+ #
143
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
144
+ #
145
+ def clear_with_http_info(parameters, resource_group_name, manager_name, custom_headers = nil)
146
+ clear_async(parameters, resource_group_name, manager_name, custom_headers).value!
147
+ end
148
+
149
+ #
150
+ # Clear the alerts.
151
+ #
152
+ # @param parameters [ClearAlertRequest] The clear alert request.
153
+ # @param resource_group_name [String] The resource group name
154
+ # @param manager_name [String] The manager name
155
+ # @param [Hash{String => String}] A hash of custom headers that will be added
156
+ # to the HTTP request.
157
+ #
158
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
159
+ #
160
+ def clear_async(parameters, resource_group_name, manager_name, custom_headers = nil)
161
+ fail ArgumentError, 'parameters is nil' if parameters.nil?
162
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
163
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
164
+ fail ArgumentError, 'manager_name is nil' if manager_name.nil?
165
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
166
+
167
+
168
+ request_headers = {}
169
+
170
+ # Set Headers
171
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
172
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
173
+
174
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
175
+
176
+ # Serialize Request
177
+ request_mapper = Azure::ARM::StorSimple8000Series::Models::ClearAlertRequest.mapper()
178
+ request_content = @client.serialize(request_mapper, parameters)
179
+ request_content = request_content != nil ? JSON.generate(request_content, quirks_mode: true) : nil
180
+
181
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/clearAlerts'
182
+
183
+ request_url = @base_url || @client.base_url
184
+
185
+ options = {
186
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
187
+ skip_encoding_path_params: {'subscriptionId' => @client.subscription_id,'resourceGroupName' => resource_group_name,'managerName' => manager_name},
188
+ skip_encoding_query_params: {'api-version' => @client.api_version},
189
+ body: request_content,
190
+ headers: request_headers.merge(custom_headers || {}),
191
+ base_url: request_url
192
+ }
193
+ promise = @client.make_request_async(:post, path_template, options)
194
+
195
+ promise = promise.then do |result|
196
+ http_response = result.response
197
+ status_code = http_response.status
198
+ response_content = http_response.body
199
+ unless status_code == 204
200
+ error_model = JSON.load(response_content)
201
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
202
+ end
203
+
204
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
205
+
206
+ result
207
+ end
208
+
209
+ promise.execute
210
+ end
211
+
212
+ #
213
+ # Sends a test alert email.
214
+ #
215
+ # @param device_name [String] The device name
216
+ # @param parameters [SendTestAlertEmailRequest] The send test alert email
217
+ # request.
218
+ # @param resource_group_name [String] The resource group name
219
+ # @param manager_name [String] The manager name
220
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
221
+ # will be added to the HTTP request.
222
+ #
223
+ #
224
+ def send_test_email(device_name, parameters, resource_group_name, manager_name, custom_headers = nil)
225
+ response = send_test_email_async(device_name, parameters, resource_group_name, manager_name, custom_headers).value!
226
+ nil
227
+ end
228
+
229
+ #
230
+ # Sends a test alert email.
231
+ #
232
+ # @param device_name [String] The device name
233
+ # @param parameters [SendTestAlertEmailRequest] The send test alert email
234
+ # request.
235
+ # @param resource_group_name [String] The resource group name
236
+ # @param manager_name [String] The manager name
237
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
238
+ # will be added to the HTTP request.
239
+ #
240
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
241
+ #
242
+ def send_test_email_with_http_info(device_name, parameters, resource_group_name, manager_name, custom_headers = nil)
243
+ send_test_email_async(device_name, parameters, resource_group_name, manager_name, custom_headers).value!
244
+ end
245
+
246
+ #
247
+ # Sends a test alert email.
248
+ #
249
+ # @param device_name [String] The device name
250
+ # @param parameters [SendTestAlertEmailRequest] The send test alert email
251
+ # request.
252
+ # @param resource_group_name [String] The resource group name
253
+ # @param manager_name [String] The manager name
254
+ # @param [Hash{String => String}] A hash of custom headers that will be added
255
+ # to the HTTP request.
256
+ #
257
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
258
+ #
259
+ def send_test_email_async(device_name, parameters, resource_group_name, manager_name, custom_headers = nil)
260
+ fail ArgumentError, 'device_name is nil' if device_name.nil?
261
+ fail ArgumentError, 'parameters is nil' if parameters.nil?
262
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
263
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
264
+ fail ArgumentError, 'manager_name is nil' if manager_name.nil?
265
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
266
+
267
+
268
+ request_headers = {}
269
+
270
+ # Set Headers
271
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
272
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
273
+
274
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
275
+
276
+ # Serialize Request
277
+ request_mapper = Azure::ARM::StorSimple8000Series::Models::SendTestAlertEmailRequest.mapper()
278
+ request_content = @client.serialize(request_mapper, parameters)
279
+ request_content = request_content != nil ? JSON.generate(request_content, quirks_mode: true) : nil
280
+
281
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/sendTestAlertEmail'
282
+
283
+ request_url = @base_url || @client.base_url
284
+
285
+ options = {
286
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
287
+ skip_encoding_path_params: {'deviceName' => device_name,'subscriptionId' => @client.subscription_id,'resourceGroupName' => resource_group_name,'managerName' => manager_name},
288
+ skip_encoding_query_params: {'api-version' => @client.api_version},
289
+ body: request_content,
290
+ headers: request_headers.merge(custom_headers || {}),
291
+ base_url: request_url
292
+ }
293
+ promise = @client.make_request_async(:post, path_template, options)
294
+
295
+ promise = promise.then do |result|
296
+ http_response = result.response
297
+ status_code = http_response.status
298
+ response_content = http_response.body
299
+ unless status_code == 204
300
+ error_model = JSON.load(response_content)
301
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
302
+ end
303
+
304
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
305
+
306
+ result
307
+ end
308
+
309
+ promise.execute
310
+ end
311
+
312
+ #
313
+ # Retrieves all the alerts in a manager.
314
+ #
315
+ # @param next_page_link [String] The NextLink from the previous successful call
316
+ # to List operation.
317
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
318
+ # will be added to the HTTP request.
319
+ #
320
+ # @return [AlertList] operation results.
321
+ #
322
+ def list_by_manager_next(next_page_link, custom_headers = nil)
323
+ response = list_by_manager_next_async(next_page_link, custom_headers).value!
324
+ response.body unless response.nil?
325
+ end
326
+
327
+ #
328
+ # Retrieves all the alerts in a manager.
329
+ #
330
+ # @param next_page_link [String] The NextLink from the previous successful call
331
+ # to List operation.
332
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
333
+ # will be added to the HTTP request.
334
+ #
335
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
336
+ #
337
+ def list_by_manager_next_with_http_info(next_page_link, custom_headers = nil)
338
+ list_by_manager_next_async(next_page_link, custom_headers).value!
339
+ end
340
+
341
+ #
342
+ # Retrieves all the alerts in a manager.
343
+ #
344
+ # @param next_page_link [String] The NextLink from the previous successful call
345
+ # to List operation.
346
+ # @param [Hash{String => String}] A hash of custom headers that will be added
347
+ # to the HTTP request.
348
+ #
349
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
350
+ #
351
+ def list_by_manager_next_async(next_page_link, custom_headers = nil)
352
+ fail ArgumentError, 'next_page_link is nil' if next_page_link.nil?
353
+
354
+
355
+ request_headers = {}
356
+
357
+ # Set Headers
358
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
359
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
360
+ path_template = '{nextLink}'
361
+
362
+ request_url = @base_url || @client.base_url
363
+
364
+ options = {
365
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
366
+ skip_encoding_path_params: {'nextLink' => next_page_link},
367
+ headers: request_headers.merge(custom_headers || {}),
368
+ base_url: request_url
369
+ }
370
+ promise = @client.make_request_async(:get, path_template, options)
371
+
372
+ promise = promise.then do |result|
373
+ http_response = result.response
374
+ status_code = http_response.status
375
+ response_content = http_response.body
376
+ unless status_code == 200
377
+ error_model = JSON.load(response_content)
378
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
379
+ end
380
+
381
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
382
+ # Deserialize Response
383
+ if status_code == 200
384
+ begin
385
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
386
+ result_mapper = Azure::ARM::StorSimple8000Series::Models::AlertList.mapper()
387
+ result.body = @client.deserialize(result_mapper, parsed_response)
388
+ rescue Exception => e
389
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
390
+ end
391
+ end
392
+
393
+ result
394
+ end
395
+
396
+ promise.execute
397
+ end
398
+
399
+ #
400
+ # Retrieves all the alerts in a manager.
401
+ #
402
+ # @param resource_group_name [String] The resource group name
403
+ # @param manager_name [String] The manager name
404
+ # @param filter [String] OData Filter options
405
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
406
+ # will be added to the HTTP request.
407
+ #
408
+ # @return [AlertList] which provide lazy access to pages of the response.
409
+ #
410
+ def list_by_manager_as_lazy(resource_group_name, manager_name, filter = nil, custom_headers = nil)
411
+ response = list_by_manager_async(resource_group_name, manager_name, filter, custom_headers).value!
412
+ unless response.nil?
413
+ page = response.body
414
+ page.next_method = Proc.new do |next_page_link|
415
+ list_by_manager_next_async(next_page_link, custom_headers)
416
+ end
417
+ page
418
+ end
419
+ end
420
+
421
+ end
422
+ end
@@ -0,0 +1,655 @@
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
+ # BackupPolicies
9
+ #
10
+ class BackupPolicies
11
+ include MsRestAzure
12
+
13
+ #
14
+ # Creates and initializes a new instance of the BackupPolicies 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
+ # Gets all the backup policies in a device.
26
+ #
27
+ # @param device_name [String] The device name
28
+ # @param resource_group_name [String] The resource group name
29
+ # @param manager_name [String] The manager name
30
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
31
+ # will be added to the HTTP request.
32
+ #
33
+ # @return [BackupPolicyList] operation results.
34
+ #
35
+ def list_by_device(device_name, resource_group_name, manager_name, custom_headers = nil)
36
+ response = list_by_device_async(device_name, resource_group_name, manager_name, custom_headers).value!
37
+ response.body unless response.nil?
38
+ end
39
+
40
+ #
41
+ # Gets all the backup policies in a device.
42
+ #
43
+ # @param device_name [String] The device name
44
+ # @param resource_group_name [String] The resource group name
45
+ # @param manager_name [String] The manager name
46
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
47
+ # will be added to the HTTP request.
48
+ #
49
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
50
+ #
51
+ def list_by_device_with_http_info(device_name, resource_group_name, manager_name, custom_headers = nil)
52
+ list_by_device_async(device_name, resource_group_name, manager_name, custom_headers).value!
53
+ end
54
+
55
+ #
56
+ # Gets all the backup policies in a device.
57
+ #
58
+ # @param device_name [String] The device name
59
+ # @param resource_group_name [String] The resource group name
60
+ # @param manager_name [String] The manager name
61
+ # @param [Hash{String => String}] A hash of custom headers that will be added
62
+ # to the HTTP request.
63
+ #
64
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
65
+ #
66
+ def list_by_device_async(device_name, resource_group_name, manager_name, custom_headers = nil)
67
+ fail ArgumentError, 'device_name is nil' if device_name.nil?
68
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
69
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
70
+ fail ArgumentError, 'manager_name is nil' if manager_name.nil?
71
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
72
+
73
+
74
+ request_headers = {}
75
+
76
+ # Set Headers
77
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
78
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
79
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/backupPolicies'
80
+
81
+ request_url = @base_url || @client.base_url
82
+
83
+ options = {
84
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
85
+ skip_encoding_path_params: {'deviceName' => device_name,'subscriptionId' => @client.subscription_id,'resourceGroupName' => resource_group_name,'managerName' => manager_name},
86
+ skip_encoding_query_params: {'api-version' => @client.api_version},
87
+ headers: request_headers.merge(custom_headers || {}),
88
+ base_url: request_url
89
+ }
90
+ promise = @client.make_request_async(:get, path_template, options)
91
+
92
+ promise = promise.then do |result|
93
+ http_response = result.response
94
+ status_code = http_response.status
95
+ response_content = http_response.body
96
+ unless status_code == 200
97
+ error_model = JSON.load(response_content)
98
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
99
+ end
100
+
101
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
102
+ # Deserialize Response
103
+ if status_code == 200
104
+ begin
105
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
106
+ result_mapper = Azure::ARM::StorSimple8000Series::Models::BackupPolicyList.mapper()
107
+ result.body = @client.deserialize(result_mapper, parsed_response)
108
+ rescue Exception => e
109
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
110
+ end
111
+ end
112
+
113
+ result
114
+ end
115
+
116
+ promise.execute
117
+ end
118
+
119
+ #
120
+ # Gets the properties of the specified backup policy name.
121
+ #
122
+ # @param device_name [String] The device name
123
+ # @param backup_policy_name [String] The name of backup policy to be fetched.
124
+ # @param resource_group_name [String] The resource group name
125
+ # @param manager_name [String] The manager name
126
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
127
+ # will be added to the HTTP request.
128
+ #
129
+ # @return [BackupPolicy] operation results.
130
+ #
131
+ def get(device_name, backup_policy_name, resource_group_name, manager_name, custom_headers = nil)
132
+ response = get_async(device_name, backup_policy_name, resource_group_name, manager_name, custom_headers).value!
133
+ response.body unless response.nil?
134
+ end
135
+
136
+ #
137
+ # Gets the properties of the specified backup policy name.
138
+ #
139
+ # @param device_name [String] The device name
140
+ # @param backup_policy_name [String] The name of backup policy to be fetched.
141
+ # @param resource_group_name [String] The resource group name
142
+ # @param manager_name [String] The manager name
143
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
144
+ # will be added to the HTTP request.
145
+ #
146
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
147
+ #
148
+ def get_with_http_info(device_name, backup_policy_name, resource_group_name, manager_name, custom_headers = nil)
149
+ get_async(device_name, backup_policy_name, resource_group_name, manager_name, custom_headers).value!
150
+ end
151
+
152
+ #
153
+ # Gets the properties of the specified backup policy name.
154
+ #
155
+ # @param device_name [String] The device name
156
+ # @param backup_policy_name [String] The name of backup policy to be fetched.
157
+ # @param resource_group_name [String] The resource group name
158
+ # @param manager_name [String] The manager name
159
+ # @param [Hash{String => String}] A hash of custom headers that will be added
160
+ # to the HTTP request.
161
+ #
162
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
163
+ #
164
+ def get_async(device_name, backup_policy_name, resource_group_name, manager_name, custom_headers = nil)
165
+ fail ArgumentError, 'device_name is nil' if device_name.nil?
166
+ fail ArgumentError, 'backup_policy_name is nil' if backup_policy_name.nil?
167
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
168
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
169
+ fail ArgumentError, 'manager_name is nil' if manager_name.nil?
170
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
171
+
172
+
173
+ request_headers = {}
174
+
175
+ # Set Headers
176
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
177
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
178
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/backupPolicies/{backupPolicyName}'
179
+
180
+ request_url = @base_url || @client.base_url
181
+
182
+ options = {
183
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
184
+ skip_encoding_path_params: {'deviceName' => device_name,'backupPolicyName' => backup_policy_name,'subscriptionId' => @client.subscription_id,'resourceGroupName' => resource_group_name,'managerName' => manager_name},
185
+ skip_encoding_query_params: {'api-version' => @client.api_version},
186
+ headers: request_headers.merge(custom_headers || {}),
187
+ base_url: request_url
188
+ }
189
+ promise = @client.make_request_async(:get, path_template, options)
190
+
191
+ promise = promise.then do |result|
192
+ http_response = result.response
193
+ status_code = http_response.status
194
+ response_content = http_response.body
195
+ unless status_code == 200
196
+ error_model = JSON.load(response_content)
197
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
198
+ end
199
+
200
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
201
+ # Deserialize Response
202
+ if status_code == 200
203
+ begin
204
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
205
+ result_mapper = Azure::ARM::StorSimple8000Series::Models::BackupPolicy.mapper()
206
+ result.body = @client.deserialize(result_mapper, parsed_response)
207
+ rescue Exception => e
208
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
209
+ end
210
+ end
211
+
212
+ result
213
+ end
214
+
215
+ promise.execute
216
+ end
217
+
218
+ #
219
+ # Creates or updates the backup policy.
220
+ #
221
+ # @param device_name [String] The device name
222
+ # @param backup_policy_name [String] The name of the backup policy to be
223
+ # created/updated.
224
+ # @param parameters [BackupPolicy] The backup policy.
225
+ # @param resource_group_name [String] The resource group name
226
+ # @param manager_name [String] The manager name
227
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
228
+ # will be added to the HTTP request.
229
+ #
230
+ # @return [BackupPolicy] operation results.
231
+ #
232
+ def create_or_update(device_name, backup_policy_name, parameters, resource_group_name, manager_name, custom_headers = nil)
233
+ response = create_or_update_async(device_name, backup_policy_name, parameters, resource_group_name, manager_name, custom_headers).value!
234
+ response.body unless response.nil?
235
+ end
236
+
237
+ #
238
+ # @param device_name [String] The device name
239
+ # @param backup_policy_name [String] The name of the backup policy to be
240
+ # created/updated.
241
+ # @param parameters [BackupPolicy] The backup policy.
242
+ # @param resource_group_name [String] The resource group name
243
+ # @param manager_name [String] The manager name
244
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
245
+ # will be added to the HTTP request.
246
+ #
247
+ # @return [Concurrent::Promise] promise which provides async access to http
248
+ # response.
249
+ #
250
+ def create_or_update_async(device_name, backup_policy_name, parameters, resource_group_name, manager_name, custom_headers = nil)
251
+ # Send request
252
+ promise = begin_create_or_update_async(device_name, backup_policy_name, parameters, resource_group_name, manager_name, custom_headers)
253
+
254
+ promise = promise.then do |response|
255
+ # Defining deserialization method.
256
+ deserialize_method = lambda do |parsed_response|
257
+ result_mapper = Azure::ARM::StorSimple8000Series::Models::BackupPolicy.mapper()
258
+ parsed_response = @client.deserialize(result_mapper, parsed_response)
259
+ end
260
+
261
+ # Waiting for response.
262
+ @client.get_long_running_operation_result(response, deserialize_method)
263
+ end
264
+
265
+ promise
266
+ end
267
+
268
+ #
269
+ # Deletes the backup policy.
270
+ #
271
+ # @param device_name [String] The device name
272
+ # @param backup_policy_name [String] The name of the backup policy.
273
+ # @param resource_group_name [String] The resource group name
274
+ # @param manager_name [String] The manager name
275
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
276
+ # will be added to the HTTP request.
277
+ #
278
+ def delete(device_name, backup_policy_name, resource_group_name, manager_name, custom_headers = nil)
279
+ response = delete_async(device_name, backup_policy_name, resource_group_name, manager_name, custom_headers).value!
280
+ nil
281
+ end
282
+
283
+ #
284
+ # @param device_name [String] The device name
285
+ # @param backup_policy_name [String] The name of the backup policy.
286
+ # @param resource_group_name [String] The resource group name
287
+ # @param manager_name [String] The manager name
288
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
289
+ # will be added to the HTTP request.
290
+ #
291
+ # @return [Concurrent::Promise] promise which provides async access to http
292
+ # response.
293
+ #
294
+ def delete_async(device_name, backup_policy_name, resource_group_name, manager_name, custom_headers = nil)
295
+ # Send request
296
+ promise = begin_delete_async(device_name, backup_policy_name, resource_group_name, manager_name, custom_headers)
297
+
298
+ promise = promise.then do |response|
299
+ # Defining deserialization method.
300
+ deserialize_method = lambda do |parsed_response|
301
+ end
302
+
303
+ # Waiting for response.
304
+ @client.get_long_running_operation_result(response, deserialize_method)
305
+ end
306
+
307
+ promise
308
+ end
309
+
310
+ #
311
+ # Backup the backup policy now.
312
+ #
313
+ # @param device_name [String] The device name
314
+ # @param backup_policy_name [String] The backup policy name.
315
+ # @param backup_type [String] The backup Type. This can be cloudSnapshot or
316
+ # localSnapshot.
317
+ # @param resource_group_name [String] The resource group name
318
+ # @param manager_name [String] The manager name
319
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
320
+ # will be added to the HTTP request.
321
+ #
322
+ def backup_now(device_name, backup_policy_name, backup_type, resource_group_name, manager_name, custom_headers = nil)
323
+ response = backup_now_async(device_name, backup_policy_name, backup_type, resource_group_name, manager_name, custom_headers).value!
324
+ nil
325
+ end
326
+
327
+ #
328
+ # @param device_name [String] The device name
329
+ # @param backup_policy_name [String] The backup policy name.
330
+ # @param backup_type [String] The backup Type. This can be cloudSnapshot or
331
+ # localSnapshot.
332
+ # @param resource_group_name [String] The resource group name
333
+ # @param manager_name [String] The manager name
334
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
335
+ # will be added to the HTTP request.
336
+ #
337
+ # @return [Concurrent::Promise] promise which provides async access to http
338
+ # response.
339
+ #
340
+ def backup_now_async(device_name, backup_policy_name, backup_type, resource_group_name, manager_name, custom_headers = nil)
341
+ # Send request
342
+ promise = begin_backup_now_async(device_name, backup_policy_name, backup_type, resource_group_name, manager_name, custom_headers)
343
+
344
+ promise = promise.then do |response|
345
+ # Defining deserialization method.
346
+ deserialize_method = lambda do |parsed_response|
347
+ end
348
+
349
+ # Waiting for response.
350
+ @client.get_long_running_operation_result(response, deserialize_method)
351
+ end
352
+
353
+ promise
354
+ end
355
+
356
+ #
357
+ # Creates or updates the backup policy.
358
+ #
359
+ # @param device_name [String] The device name
360
+ # @param backup_policy_name [String] The name of the backup policy to be
361
+ # created/updated.
362
+ # @param parameters [BackupPolicy] The backup policy.
363
+ # @param resource_group_name [String] The resource group name
364
+ # @param manager_name [String] The manager name
365
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
366
+ # will be added to the HTTP request.
367
+ #
368
+ # @return [BackupPolicy] operation results.
369
+ #
370
+ def begin_create_or_update(device_name, backup_policy_name, parameters, resource_group_name, manager_name, custom_headers = nil)
371
+ response = begin_create_or_update_async(device_name, backup_policy_name, parameters, resource_group_name, manager_name, custom_headers).value!
372
+ response.body unless response.nil?
373
+ end
374
+
375
+ #
376
+ # Creates or updates the backup policy.
377
+ #
378
+ # @param device_name [String] The device name
379
+ # @param backup_policy_name [String] The name of the backup policy to be
380
+ # created/updated.
381
+ # @param parameters [BackupPolicy] The backup policy.
382
+ # @param resource_group_name [String] The resource group name
383
+ # @param manager_name [String] The manager name
384
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
385
+ # will be added to the HTTP request.
386
+ #
387
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
388
+ #
389
+ def begin_create_or_update_with_http_info(device_name, backup_policy_name, parameters, resource_group_name, manager_name, custom_headers = nil)
390
+ begin_create_or_update_async(device_name, backup_policy_name, parameters, resource_group_name, manager_name, custom_headers).value!
391
+ end
392
+
393
+ #
394
+ # Creates or updates the backup policy.
395
+ #
396
+ # @param device_name [String] The device name
397
+ # @param backup_policy_name [String] The name of the backup policy to be
398
+ # created/updated.
399
+ # @param parameters [BackupPolicy] The backup policy.
400
+ # @param resource_group_name [String] The resource group name
401
+ # @param manager_name [String] The manager name
402
+ # @param [Hash{String => String}] A hash of custom headers that will be added
403
+ # to the HTTP request.
404
+ #
405
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
406
+ #
407
+ def begin_create_or_update_async(device_name, backup_policy_name, parameters, resource_group_name, manager_name, custom_headers = nil)
408
+ fail ArgumentError, 'device_name is nil' if device_name.nil?
409
+ fail ArgumentError, 'backup_policy_name is nil' if backup_policy_name.nil?
410
+ fail ArgumentError, 'parameters is nil' if parameters.nil?
411
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
412
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
413
+ fail ArgumentError, 'manager_name is nil' if manager_name.nil?
414
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
415
+
416
+
417
+ request_headers = {}
418
+
419
+ # Set Headers
420
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
421
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
422
+
423
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
424
+
425
+ # Serialize Request
426
+ request_mapper = Azure::ARM::StorSimple8000Series::Models::BackupPolicy.mapper()
427
+ request_content = @client.serialize(request_mapper, parameters)
428
+ request_content = request_content != nil ? JSON.generate(request_content, quirks_mode: true) : nil
429
+
430
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/backupPolicies/{backupPolicyName}'
431
+
432
+ request_url = @base_url || @client.base_url
433
+
434
+ options = {
435
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
436
+ skip_encoding_path_params: {'deviceName' => device_name,'backupPolicyName' => backup_policy_name,'subscriptionId' => @client.subscription_id,'resourceGroupName' => resource_group_name,'managerName' => manager_name},
437
+ skip_encoding_query_params: {'api-version' => @client.api_version},
438
+ body: request_content,
439
+ headers: request_headers.merge(custom_headers || {}),
440
+ base_url: request_url
441
+ }
442
+ promise = @client.make_request_async(:put, path_template, options)
443
+
444
+ promise = promise.then do |result|
445
+ http_response = result.response
446
+ status_code = http_response.status
447
+ response_content = http_response.body
448
+ unless status_code == 200 || status_code == 202
449
+ error_model = JSON.load(response_content)
450
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
451
+ end
452
+
453
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
454
+ # Deserialize Response
455
+ if status_code == 200
456
+ begin
457
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
458
+ result_mapper = Azure::ARM::StorSimple8000Series::Models::BackupPolicy.mapper()
459
+ result.body = @client.deserialize(result_mapper, parsed_response)
460
+ rescue Exception => e
461
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
462
+ end
463
+ end
464
+
465
+ result
466
+ end
467
+
468
+ promise.execute
469
+ end
470
+
471
+ #
472
+ # Deletes the backup policy.
473
+ #
474
+ # @param device_name [String] The device name
475
+ # @param backup_policy_name [String] The name of the backup policy.
476
+ # @param resource_group_name [String] The resource group name
477
+ # @param manager_name [String] The manager name
478
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
479
+ # will be added to the HTTP request.
480
+ #
481
+ #
482
+ def begin_delete(device_name, backup_policy_name, resource_group_name, manager_name, custom_headers = nil)
483
+ response = begin_delete_async(device_name, backup_policy_name, resource_group_name, manager_name, custom_headers).value!
484
+ nil
485
+ end
486
+
487
+ #
488
+ # Deletes the backup policy.
489
+ #
490
+ # @param device_name [String] The device name
491
+ # @param backup_policy_name [String] The name of the backup policy.
492
+ # @param resource_group_name [String] The resource group name
493
+ # @param manager_name [String] The manager name
494
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
495
+ # will be added to the HTTP request.
496
+ #
497
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
498
+ #
499
+ def begin_delete_with_http_info(device_name, backup_policy_name, resource_group_name, manager_name, custom_headers = nil)
500
+ begin_delete_async(device_name, backup_policy_name, resource_group_name, manager_name, custom_headers).value!
501
+ end
502
+
503
+ #
504
+ # Deletes the backup policy.
505
+ #
506
+ # @param device_name [String] The device name
507
+ # @param backup_policy_name [String] The name of the backup policy.
508
+ # @param resource_group_name [String] The resource group name
509
+ # @param manager_name [String] The manager name
510
+ # @param [Hash{String => String}] A hash of custom headers that will be added
511
+ # to the HTTP request.
512
+ #
513
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
514
+ #
515
+ def begin_delete_async(device_name, backup_policy_name, resource_group_name, manager_name, custom_headers = nil)
516
+ fail ArgumentError, 'device_name is nil' if device_name.nil?
517
+ fail ArgumentError, 'backup_policy_name is nil' if backup_policy_name.nil?
518
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
519
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
520
+ fail ArgumentError, 'manager_name is nil' if manager_name.nil?
521
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
522
+
523
+
524
+ request_headers = {}
525
+
526
+ # Set Headers
527
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
528
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
529
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/backupPolicies/{backupPolicyName}'
530
+
531
+ request_url = @base_url || @client.base_url
532
+
533
+ options = {
534
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
535
+ skip_encoding_path_params: {'deviceName' => device_name,'backupPolicyName' => backup_policy_name,'subscriptionId' => @client.subscription_id,'resourceGroupName' => resource_group_name,'managerName' => manager_name},
536
+ skip_encoding_query_params: {'api-version' => @client.api_version},
537
+ headers: request_headers.merge(custom_headers || {}),
538
+ base_url: request_url
539
+ }
540
+ promise = @client.make_request_async(:delete, path_template, options)
541
+
542
+ promise = promise.then do |result|
543
+ http_response = result.response
544
+ status_code = http_response.status
545
+ response_content = http_response.body
546
+ unless status_code == 202 || status_code == 204
547
+ error_model = JSON.load(response_content)
548
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
549
+ end
550
+
551
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
552
+
553
+ result
554
+ end
555
+
556
+ promise.execute
557
+ end
558
+
559
+ #
560
+ # Backup the backup policy now.
561
+ #
562
+ # @param device_name [String] The device name
563
+ # @param backup_policy_name [String] The backup policy name.
564
+ # @param backup_type [String] The backup Type. This can be cloudSnapshot or
565
+ # localSnapshot.
566
+ # @param resource_group_name [String] The resource group name
567
+ # @param manager_name [String] The manager name
568
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
569
+ # will be added to the HTTP request.
570
+ #
571
+ #
572
+ def begin_backup_now(device_name, backup_policy_name, backup_type, resource_group_name, manager_name, custom_headers = nil)
573
+ response = begin_backup_now_async(device_name, backup_policy_name, backup_type, resource_group_name, manager_name, custom_headers).value!
574
+ nil
575
+ end
576
+
577
+ #
578
+ # Backup the backup policy now.
579
+ #
580
+ # @param device_name [String] The device name
581
+ # @param backup_policy_name [String] The backup policy name.
582
+ # @param backup_type [String] The backup Type. This can be cloudSnapshot or
583
+ # localSnapshot.
584
+ # @param resource_group_name [String] The resource group name
585
+ # @param manager_name [String] The manager name
586
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
587
+ # will be added to the HTTP request.
588
+ #
589
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
590
+ #
591
+ def begin_backup_now_with_http_info(device_name, backup_policy_name, backup_type, resource_group_name, manager_name, custom_headers = nil)
592
+ begin_backup_now_async(device_name, backup_policy_name, backup_type, resource_group_name, manager_name, custom_headers).value!
593
+ end
594
+
595
+ #
596
+ # Backup the backup policy now.
597
+ #
598
+ # @param device_name [String] The device name
599
+ # @param backup_policy_name [String] The backup policy name.
600
+ # @param backup_type [String] The backup Type. This can be cloudSnapshot or
601
+ # localSnapshot.
602
+ # @param resource_group_name [String] The resource group name
603
+ # @param manager_name [String] The manager name
604
+ # @param [Hash{String => String}] A hash of custom headers that will be added
605
+ # to the HTTP request.
606
+ #
607
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
608
+ #
609
+ def begin_backup_now_async(device_name, backup_policy_name, backup_type, resource_group_name, manager_name, custom_headers = nil)
610
+ fail ArgumentError, 'device_name is nil' if device_name.nil?
611
+ fail ArgumentError, 'backup_policy_name is nil' if backup_policy_name.nil?
612
+ fail ArgumentError, 'backup_type is nil' if backup_type.nil?
613
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
614
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
615
+ fail ArgumentError, 'manager_name is nil' if manager_name.nil?
616
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
617
+
618
+
619
+ request_headers = {}
620
+
621
+ # Set Headers
622
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
623
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
624
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StorSimple/managers/{managerName}/devices/{deviceName}/backupPolicies/{backupPolicyName}/backup'
625
+
626
+ request_url = @base_url || @client.base_url
627
+
628
+ options = {
629
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
630
+ skip_encoding_path_params: {'deviceName' => device_name,'backupPolicyName' => backup_policy_name,'subscriptionId' => @client.subscription_id,'resourceGroupName' => resource_group_name,'managerName' => manager_name},
631
+ skip_encoding_query_params: {'backupType' => backup_type,'api-version' => @client.api_version},
632
+ headers: request_headers.merge(custom_headers || {}),
633
+ base_url: request_url
634
+ }
635
+ promise = @client.make_request_async(:post, path_template, options)
636
+
637
+ promise = promise.then do |result|
638
+ http_response = result.response
639
+ status_code = http_response.status
640
+ response_content = http_response.body
641
+ unless status_code == 202 || status_code == 204
642
+ error_model = JSON.load(response_content)
643
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
644
+ end
645
+
646
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
647
+
648
+ result
649
+ end
650
+
651
+ promise.execute
652
+ end
653
+
654
+ end
655
+ end