azure_mgmt_edgegateway 0.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (122) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.txt +21 -0
  3. data/lib/2019-03-01/generated/azure_mgmt_edgegateway.rb +137 -0
  4. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/alerts.rb +322 -0
  5. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/bandwidth_schedules.rb +611 -0
  6. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/data_box_edge_management_client.rb +175 -0
  7. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/devices.rb +1879 -0
  8. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/jobs.rb +121 -0
  9. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/models/account_type.rb +16 -0
  10. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/models/address.rb +112 -0
  11. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/models/alert.rb +156 -0
  12. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/models/alert_error_details.rb +71 -0
  13. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/models/alert_list.rb +100 -0
  14. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/models/alert_severity.rb +17 -0
  15. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/models/armbase_model.rb +71 -0
  16. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/models/asymmetric_encrypted_secret.rb +70 -0
  17. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/models/authentication.rb +47 -0
  18. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/models/authentication_type.rb +16 -0
  19. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/models/azure_container_data_format.rb +17 -0
  20. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/models/azure_container_info.rb +72 -0
  21. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/models/bandwidth_schedule.rb +115 -0
  22. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/models/bandwidth_schedules_list.rb +100 -0
  23. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/models/client_access_right.rb +59 -0
  24. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/models/client_permission_type.rb +17 -0
  25. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/models/contact_details.rb +87 -0
  26. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/models/data_box_edge_device.rb +287 -0
  27. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/models/data_box_edge_device_extended_info.rb +108 -0
  28. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/models/data_box_edge_device_list.rb +101 -0
  29. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/models/data_box_edge_device_patch.rb +55 -0
  30. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/models/data_box_edge_device_status.rb +20 -0
  31. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/models/data_policy.rb +16 -0
  32. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/models/day_of_week.rb +21 -0
  33. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/models/device_type.rb +15 -0
  34. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/models/download_phase.rb +18 -0
  35. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/models/encryption_algorithm.rb +17 -0
  36. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/models/file_event_trigger.rb +115 -0
  37. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/models/file_source_info.rb +46 -0
  38. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/models/install_reboot_behavior.rb +17 -0
  39. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/models/io_tdevice_info.rb +69 -0
  40. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/models/io_trole.rb +147 -0
  41. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/models/ipv4config.rb +71 -0
  42. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/models/ipv6config.rb +71 -0
  43. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/models/job.rb +242 -0
  44. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/models/job_error_details.rb +80 -0
  45. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/models/job_error_item.rb +79 -0
  46. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/models/job_status.rb +21 -0
  47. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/models/job_type.rb +19 -0
  48. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/models/metric_aggregation_type.rb +21 -0
  49. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/models/metric_category.rb +16 -0
  50. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/models/metric_dimension_v1.rb +68 -0
  51. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/models/metric_specification_v1.rb +187 -0
  52. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/models/metric_unit.rb +22 -0
  53. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/models/monitoring_status.rb +16 -0
  54. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/models/mount_point_map.rb +83 -0
  55. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/models/network_adapter.rb +229 -0
  56. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/models/network_adapter_dhcpstatus.rb +16 -0
  57. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/models/network_adapter_position.rb +60 -0
  58. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/models/network_adapter_rdmastatus.rb +16 -0
  59. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/models/network_adapter_status.rb +16 -0
  60. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/models/network_group.rb +17 -0
  61. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/models/network_settings.rb +83 -0
  62. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/models/operation.rb +81 -0
  63. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/models/operation_display.rb +80 -0
  64. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/models/operations_list.rb +99 -0
  65. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/models/order.rb +177 -0
  66. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/models/order_list.rb +100 -0
  67. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/models/order_state.rb +28 -0
  68. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/models/order_status.rb +74 -0
  69. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/models/periodic_timer_event_trigger.rb +115 -0
  70. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/models/periodic_timer_source_info.rb +71 -0
  71. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/models/platform_type.rb +16 -0
  72. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/models/refresh_details.rb +87 -0
  73. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/models/role.rb +71 -0
  74. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/models/role_list.rb +102 -0
  75. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/models/role_sink_info.rb +46 -0
  76. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/models/role_status.rb +16 -0
  77. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/models/role_types.rb +18 -0
  78. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/models/security_settings.rb +78 -0
  79. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/models/service_specification.rb +56 -0
  80. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/models/share.rb +208 -0
  81. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/models/share_access_protocol.rb +16 -0
  82. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/models/share_access_right.rb +59 -0
  83. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/models/share_access_type.rb +17 -0
  84. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/models/share_list.rb +100 -0
  85. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/models/share_status.rb +16 -0
  86. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/models/sku.rb +58 -0
  87. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/models/sku_name.rb +16 -0
  88. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/models/sku_tier.rb +15 -0
  89. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/models/sslstatus.rb +16 -0
  90. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/models/storage_account_credential.rb +143 -0
  91. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/models/storage_account_credential_list.rb +100 -0
  92. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/models/symmetric_key.rb +48 -0
  93. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/models/time_grain.rb +22 -0
  94. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/models/tracking_info.rb +79 -0
  95. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/models/trigger.rb +71 -0
  96. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/models/trigger_list.rb +102 -0
  97. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/models/update_download_progress.rb +108 -0
  98. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/models/update_install_progress.rb +71 -0
  99. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/models/update_operation.rb +18 -0
  100. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/models/update_operation_stage.rb +31 -0
  101. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/models/update_summary.rb +281 -0
  102. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/models/upload_certificate_request.rb +58 -0
  103. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/models/upload_certificate_response.rb +113 -0
  104. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/models/user.rb +96 -0
  105. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/models/user_access_right.rb +59 -0
  106. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/models/user_list.rb +100 -0
  107. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/module_definition.rb +9 -0
  108. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/operations.rb +214 -0
  109. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/operations_status.rb +121 -0
  110. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/orders.rb +584 -0
  111. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/roles.rb +600 -0
  112. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/shares.rb +725 -0
  113. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/storage_account_credentials.rb +606 -0
  114. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/triggers.rb +600 -0
  115. data/lib/2019-03-01/generated/azure_mgmt_edgegateway/users.rb +604 -0
  116. data/lib/azure_mgmt_edgegateway.rb +6 -0
  117. data/lib/module_definition.rb +8 -0
  118. data/lib/profiles/latest/edgegateway_latest_profile_client.rb +40 -0
  119. data/lib/profiles/latest/edgegateway_module_definition.rb +8 -0
  120. data/lib/profiles/latest/modules/edgegateway_profile_module.rb +475 -0
  121. data/lib/version.rb +7 -0
  122. metadata +238 -0
@@ -0,0 +1,725 @@
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::EdgeGateway::Mgmt::V2019_03_01
7
+ #
8
+ # Shares
9
+ #
10
+ class Shares
11
+ include MsRestAzure
12
+
13
+ #
14
+ # Creates and initializes a new instance of the Shares class.
15
+ # @param client service class for accessing basic functionality.
16
+ #
17
+ def initialize(client)
18
+ @client = client
19
+ end
20
+
21
+ # @return [DataBoxEdgeManagementClient] reference to the DataBoxEdgeManagementClient
22
+ attr_reader :client
23
+
24
+ #
25
+ # Lists all the shares in a data box edge/gateway device.
26
+ #
27
+ # @param device_name [String] The device name.
28
+ # @param resource_group_name [String] The resource group name.
29
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
30
+ # will be added to the HTTP request.
31
+ #
32
+ # @return [Array<Share>] operation results.
33
+ #
34
+ def list_by_data_box_edge_device(device_name, resource_group_name, custom_headers:nil)
35
+ first_page = list_by_data_box_edge_device_as_lazy(device_name, resource_group_name, custom_headers:custom_headers)
36
+ first_page.get_all_items
37
+ end
38
+
39
+ #
40
+ # Lists all the shares in a data box edge/gateway device.
41
+ #
42
+ # @param device_name [String] The device name.
43
+ # @param resource_group_name [String] The resource group name.
44
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
45
+ # will be added to the HTTP request.
46
+ #
47
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
48
+ #
49
+ def list_by_data_box_edge_device_with_http_info(device_name, resource_group_name, custom_headers:nil)
50
+ list_by_data_box_edge_device_async(device_name, resource_group_name, custom_headers:custom_headers).value!
51
+ end
52
+
53
+ #
54
+ # Lists all the shares in a data box edge/gateway device.
55
+ #
56
+ # @param device_name [String] The device name.
57
+ # @param resource_group_name [String] The resource group name.
58
+ # @param [Hash{String => String}] A hash of custom headers that will be added
59
+ # to the HTTP request.
60
+ #
61
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
62
+ #
63
+ def list_by_data_box_edge_device_async(device_name, resource_group_name, custom_headers:nil)
64
+ fail ArgumentError, 'device_name is nil' if device_name.nil?
65
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
66
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
67
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
68
+
69
+
70
+ request_headers = {}
71
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
72
+
73
+ # Set Headers
74
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
75
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
76
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/shares'
77
+
78
+ request_url = @base_url || @client.base_url
79
+
80
+ options = {
81
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
82
+ path_params: {'deviceName' => device_name,'subscriptionId' => @client.subscription_id,'resourceGroupName' => resource_group_name},
83
+ query_params: {'api-version' => @client.api_version},
84
+ headers: request_headers.merge(custom_headers || {}),
85
+ base_url: request_url
86
+ }
87
+ promise = @client.make_request_async(:get, path_template, options)
88
+
89
+ promise = promise.then do |result|
90
+ http_response = result.response
91
+ status_code = http_response.status
92
+ response_content = http_response.body
93
+ unless status_code == 200
94
+ error_model = JSON.load(response_content)
95
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
96
+ end
97
+
98
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
99
+ # Deserialize Response
100
+ if status_code == 200
101
+ begin
102
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
103
+ result_mapper = Azure::EdgeGateway::Mgmt::V2019_03_01::Models::ShareList.mapper()
104
+ result.body = @client.deserialize(result_mapper, parsed_response)
105
+ rescue Exception => e
106
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
107
+ end
108
+ end
109
+
110
+ result
111
+ end
112
+
113
+ promise.execute
114
+ end
115
+
116
+ #
117
+ # Gets a share by name.
118
+ #
119
+ # @param device_name [String] The device name.
120
+ # @param name [String] The share name.
121
+ # @param resource_group_name [String] The resource group name.
122
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
123
+ # will be added to the HTTP request.
124
+ #
125
+ # @return [Share] operation results.
126
+ #
127
+ def get(device_name, name, resource_group_name, custom_headers:nil)
128
+ response = get_async(device_name, name, resource_group_name, custom_headers:custom_headers).value!
129
+ response.body unless response.nil?
130
+ end
131
+
132
+ #
133
+ # Gets a share by name.
134
+ #
135
+ # @param device_name [String] The device name.
136
+ # @param name [String] The share name.
137
+ # @param resource_group_name [String] The resource group name.
138
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
139
+ # will be added to the HTTP request.
140
+ #
141
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
142
+ #
143
+ def get_with_http_info(device_name, name, resource_group_name, custom_headers:nil)
144
+ get_async(device_name, name, resource_group_name, custom_headers:custom_headers).value!
145
+ end
146
+
147
+ #
148
+ # Gets a share by name.
149
+ #
150
+ # @param device_name [String] The device name.
151
+ # @param name [String] The share name.
152
+ # @param resource_group_name [String] The resource group name.
153
+ # @param [Hash{String => String}] A hash of custom headers that will be added
154
+ # to the HTTP request.
155
+ #
156
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
157
+ #
158
+ def get_async(device_name, name, resource_group_name, custom_headers:nil)
159
+ fail ArgumentError, 'device_name is nil' if device_name.nil?
160
+ fail ArgumentError, 'name is nil' if name.nil?
161
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
162
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
163
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
164
+
165
+
166
+ request_headers = {}
167
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
168
+
169
+ # Set Headers
170
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
171
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
172
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/shares/{name}'
173
+
174
+ request_url = @base_url || @client.base_url
175
+
176
+ options = {
177
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
178
+ path_params: {'deviceName' => device_name,'name' => name,'subscriptionId' => @client.subscription_id,'resourceGroupName' => resource_group_name},
179
+ query_params: {'api-version' => @client.api_version},
180
+ headers: request_headers.merge(custom_headers || {}),
181
+ base_url: request_url
182
+ }
183
+ promise = @client.make_request_async(:get, path_template, options)
184
+
185
+ promise = promise.then do |result|
186
+ http_response = result.response
187
+ status_code = http_response.status
188
+ response_content = http_response.body
189
+ unless status_code == 200
190
+ error_model = JSON.load(response_content)
191
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
192
+ end
193
+
194
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
195
+ # Deserialize Response
196
+ if status_code == 200
197
+ begin
198
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
199
+ result_mapper = Azure::EdgeGateway::Mgmt::V2019_03_01::Models::Share.mapper()
200
+ result.body = @client.deserialize(result_mapper, parsed_response)
201
+ rescue Exception => e
202
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
203
+ end
204
+ end
205
+
206
+ result
207
+ end
208
+
209
+ promise.execute
210
+ end
211
+
212
+ #
213
+ # Creates a new share or updates an existing share on the device.
214
+ #
215
+ # @param device_name [String] The device name.
216
+ # @param name [String] The share name.
217
+ # @param share [Share] The share properties.
218
+ # @param resource_group_name [String] The resource group name.
219
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
220
+ # will be added to the HTTP request.
221
+ #
222
+ # @return [Share] operation results.
223
+ #
224
+ def create_or_update(device_name, name, share, resource_group_name, custom_headers:nil)
225
+ response = create_or_update_async(device_name, name, share, resource_group_name, custom_headers:custom_headers).value!
226
+ response.body unless response.nil?
227
+ end
228
+
229
+ #
230
+ # @param device_name [String] The device name.
231
+ # @param name [String] The share name.
232
+ # @param share [Share] The share properties.
233
+ # @param resource_group_name [String] The resource group name.
234
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
235
+ # will be added to the HTTP request.
236
+ #
237
+ # @return [Concurrent::Promise] promise which provides async access to http
238
+ # response.
239
+ #
240
+ def create_or_update_async(device_name, name, share, resource_group_name, custom_headers:nil)
241
+ # Send request
242
+ promise = begin_create_or_update_async(device_name, name, share, resource_group_name, custom_headers:custom_headers)
243
+
244
+ promise = promise.then do |response|
245
+ # Defining deserialization method.
246
+ deserialize_method = lambda do |parsed_response|
247
+ result_mapper = Azure::EdgeGateway::Mgmt::V2019_03_01::Models::Share.mapper()
248
+ parsed_response = @client.deserialize(result_mapper, parsed_response)
249
+ end
250
+
251
+ # Waiting for response.
252
+ @client.get_long_running_operation_result(response, deserialize_method)
253
+ end
254
+
255
+ promise
256
+ end
257
+
258
+ #
259
+ # Deletes the share on the data box edge/gateway device.
260
+ #
261
+ # @param device_name [String] The device name.
262
+ # @param name [String] The share name.
263
+ # @param resource_group_name [String] The resource group name.
264
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
265
+ # will be added to the HTTP request.
266
+ #
267
+ def delete(device_name, name, resource_group_name, custom_headers:nil)
268
+ response = delete_async(device_name, name, resource_group_name, custom_headers:custom_headers).value!
269
+ nil
270
+ end
271
+
272
+ #
273
+ # @param device_name [String] The device name.
274
+ # @param name [String] The share name.
275
+ # @param resource_group_name [String] The resource group name.
276
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
277
+ # will be added to the HTTP request.
278
+ #
279
+ # @return [Concurrent::Promise] promise which provides async access to http
280
+ # response.
281
+ #
282
+ def delete_async(device_name, name, resource_group_name, custom_headers:nil)
283
+ # Send request
284
+ promise = begin_delete_async(device_name, name, resource_group_name, custom_headers:custom_headers)
285
+
286
+ promise = promise.then do |response|
287
+ # Defining deserialization method.
288
+ deserialize_method = lambda do |parsed_response|
289
+ end
290
+
291
+ # Waiting for response.
292
+ @client.get_long_running_operation_result(response, deserialize_method)
293
+ end
294
+
295
+ promise
296
+ end
297
+
298
+ #
299
+ # Refreshes the share metadata with the data from the cloud.
300
+ #
301
+ # @param device_name [String] The device name.
302
+ # @param name [String] The share name.
303
+ # @param resource_group_name [String] The resource group name.
304
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
305
+ # will be added to the HTTP request.
306
+ #
307
+ def refresh(device_name, name, resource_group_name, custom_headers:nil)
308
+ response = refresh_async(device_name, name, resource_group_name, custom_headers:custom_headers).value!
309
+ nil
310
+ end
311
+
312
+ #
313
+ # @param device_name [String] The device name.
314
+ # @param name [String] The share name.
315
+ # @param resource_group_name [String] The resource group name.
316
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
317
+ # will be added to the HTTP request.
318
+ #
319
+ # @return [Concurrent::Promise] promise which provides async access to http
320
+ # response.
321
+ #
322
+ def refresh_async(device_name, name, resource_group_name, custom_headers:nil)
323
+ # Send request
324
+ promise = begin_refresh_async(device_name, name, resource_group_name, custom_headers:custom_headers)
325
+
326
+ promise = promise.then do |response|
327
+ # Defining deserialization method.
328
+ deserialize_method = lambda do |parsed_response|
329
+ end
330
+
331
+ # Waiting for response.
332
+ @client.get_long_running_operation_result(response, deserialize_method)
333
+ end
334
+
335
+ promise
336
+ end
337
+
338
+ #
339
+ # Creates a new share or updates an existing share on the device.
340
+ #
341
+ # @param device_name [String] The device name.
342
+ # @param name [String] The share name.
343
+ # @param share [Share] The share properties.
344
+ # @param resource_group_name [String] The resource group name.
345
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
346
+ # will be added to the HTTP request.
347
+ #
348
+ # @return [Share] operation results.
349
+ #
350
+ def begin_create_or_update(device_name, name, share, resource_group_name, custom_headers:nil)
351
+ response = begin_create_or_update_async(device_name, name, share, resource_group_name, custom_headers:custom_headers).value!
352
+ response.body unless response.nil?
353
+ end
354
+
355
+ #
356
+ # Creates a new share or updates an existing share on the device.
357
+ #
358
+ # @param device_name [String] The device name.
359
+ # @param name [String] The share name.
360
+ # @param share [Share] The share properties.
361
+ # @param resource_group_name [String] The resource group name.
362
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
363
+ # will be added to the HTTP request.
364
+ #
365
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
366
+ #
367
+ def begin_create_or_update_with_http_info(device_name, name, share, resource_group_name, custom_headers:nil)
368
+ begin_create_or_update_async(device_name, name, share, resource_group_name, custom_headers:custom_headers).value!
369
+ end
370
+
371
+ #
372
+ # Creates a new share or updates an existing share on the device.
373
+ #
374
+ # @param device_name [String] The device name.
375
+ # @param name [String] The share name.
376
+ # @param share [Share] The share properties.
377
+ # @param resource_group_name [String] The resource group name.
378
+ # @param [Hash{String => String}] A hash of custom headers that will be added
379
+ # to the HTTP request.
380
+ #
381
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
382
+ #
383
+ def begin_create_or_update_async(device_name, name, share, resource_group_name, custom_headers:nil)
384
+ fail ArgumentError, 'device_name is nil' if device_name.nil?
385
+ fail ArgumentError, 'name is nil' if name.nil?
386
+ fail ArgumentError, 'share is nil' if share.nil?
387
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
388
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
389
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
390
+
391
+
392
+ request_headers = {}
393
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
394
+
395
+ # Set Headers
396
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
397
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
398
+
399
+ # Serialize Request
400
+ request_mapper = Azure::EdgeGateway::Mgmt::V2019_03_01::Models::Share.mapper()
401
+ request_content = @client.serialize(request_mapper, share)
402
+ request_content = request_content != nil ? JSON.generate(request_content, quirks_mode: true) : nil
403
+
404
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/shares/{name}'
405
+
406
+ request_url = @base_url || @client.base_url
407
+
408
+ options = {
409
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
410
+ path_params: {'deviceName' => device_name,'name' => name,'subscriptionId' => @client.subscription_id,'resourceGroupName' => resource_group_name},
411
+ query_params: {'api-version' => @client.api_version},
412
+ body: request_content,
413
+ headers: request_headers.merge(custom_headers || {}),
414
+ base_url: request_url
415
+ }
416
+ promise = @client.make_request_async(:put, path_template, options)
417
+
418
+ promise = promise.then do |result|
419
+ http_response = result.response
420
+ status_code = http_response.status
421
+ response_content = http_response.body
422
+ unless status_code == 200 || status_code == 202
423
+ error_model = JSON.load(response_content)
424
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
425
+ end
426
+
427
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
428
+ # Deserialize Response
429
+ if status_code == 200
430
+ begin
431
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
432
+ result_mapper = Azure::EdgeGateway::Mgmt::V2019_03_01::Models::Share.mapper()
433
+ result.body = @client.deserialize(result_mapper, parsed_response)
434
+ rescue Exception => e
435
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
436
+ end
437
+ end
438
+
439
+ result
440
+ end
441
+
442
+ promise.execute
443
+ end
444
+
445
+ #
446
+ # Deletes the share on the data box edge/gateway device.
447
+ #
448
+ # @param device_name [String] The device name.
449
+ # @param name [String] The share name.
450
+ # @param resource_group_name [String] The resource group name.
451
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
452
+ # will be added to the HTTP request.
453
+ #
454
+ #
455
+ def begin_delete(device_name, name, resource_group_name, custom_headers:nil)
456
+ response = begin_delete_async(device_name, name, resource_group_name, custom_headers:custom_headers).value!
457
+ nil
458
+ end
459
+
460
+ #
461
+ # Deletes the share on the data box edge/gateway device.
462
+ #
463
+ # @param device_name [String] The device name.
464
+ # @param name [String] The share name.
465
+ # @param resource_group_name [String] The resource group name.
466
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
467
+ # will be added to the HTTP request.
468
+ #
469
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
470
+ #
471
+ def begin_delete_with_http_info(device_name, name, resource_group_name, custom_headers:nil)
472
+ begin_delete_async(device_name, name, resource_group_name, custom_headers:custom_headers).value!
473
+ end
474
+
475
+ #
476
+ # Deletes the share on the data box edge/gateway device.
477
+ #
478
+ # @param device_name [String] The device name.
479
+ # @param name [String] The share name.
480
+ # @param resource_group_name [String] The resource group name.
481
+ # @param [Hash{String => String}] A hash of custom headers that will be added
482
+ # to the HTTP request.
483
+ #
484
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
485
+ #
486
+ def begin_delete_async(device_name, name, resource_group_name, custom_headers:nil)
487
+ fail ArgumentError, 'device_name is nil' if device_name.nil?
488
+ fail ArgumentError, 'name is nil' if name.nil?
489
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
490
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
491
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
492
+
493
+
494
+ request_headers = {}
495
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
496
+
497
+ # Set Headers
498
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
499
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
500
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/shares/{name}'
501
+
502
+ request_url = @base_url || @client.base_url
503
+
504
+ options = {
505
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
506
+ path_params: {'deviceName' => device_name,'name' => name,'subscriptionId' => @client.subscription_id,'resourceGroupName' => resource_group_name},
507
+ query_params: {'api-version' => @client.api_version},
508
+ headers: request_headers.merge(custom_headers || {}),
509
+ base_url: request_url
510
+ }
511
+ promise = @client.make_request_async(:delete, path_template, options)
512
+
513
+ promise = promise.then do |result|
514
+ http_response = result.response
515
+ status_code = http_response.status
516
+ response_content = http_response.body
517
+ unless status_code == 200 || status_code == 202 || status_code == 204
518
+ error_model = JSON.load(response_content)
519
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
520
+ end
521
+
522
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
523
+
524
+ result
525
+ end
526
+
527
+ promise.execute
528
+ end
529
+
530
+ #
531
+ # Refreshes the share metadata with the data from the cloud.
532
+ #
533
+ # @param device_name [String] The device name.
534
+ # @param name [String] The share name.
535
+ # @param resource_group_name [String] The resource group name.
536
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
537
+ # will be added to the HTTP request.
538
+ #
539
+ #
540
+ def begin_refresh(device_name, name, resource_group_name, custom_headers:nil)
541
+ response = begin_refresh_async(device_name, name, resource_group_name, custom_headers:custom_headers).value!
542
+ nil
543
+ end
544
+
545
+ #
546
+ # Refreshes the share metadata with the data from the cloud.
547
+ #
548
+ # @param device_name [String] The device name.
549
+ # @param name [String] The share name.
550
+ # @param resource_group_name [String] The resource group name.
551
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
552
+ # will be added to the HTTP request.
553
+ #
554
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
555
+ #
556
+ def begin_refresh_with_http_info(device_name, name, resource_group_name, custom_headers:nil)
557
+ begin_refresh_async(device_name, name, resource_group_name, custom_headers:custom_headers).value!
558
+ end
559
+
560
+ #
561
+ # Refreshes the share metadata with the data from the cloud.
562
+ #
563
+ # @param device_name [String] The device name.
564
+ # @param name [String] The share name.
565
+ # @param resource_group_name [String] The resource group name.
566
+ # @param [Hash{String => String}] A hash of custom headers that will be added
567
+ # to the HTTP request.
568
+ #
569
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
570
+ #
571
+ def begin_refresh_async(device_name, name, resource_group_name, custom_headers:nil)
572
+ fail ArgumentError, 'device_name is nil' if device_name.nil?
573
+ fail ArgumentError, 'name is nil' if name.nil?
574
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
575
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
576
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
577
+
578
+
579
+ request_headers = {}
580
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
581
+
582
+ # Set Headers
583
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
584
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
585
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/shares/{name}/refresh'
586
+
587
+ request_url = @base_url || @client.base_url
588
+
589
+ options = {
590
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
591
+ path_params: {'deviceName' => device_name,'name' => name,'subscriptionId' => @client.subscription_id,'resourceGroupName' => resource_group_name},
592
+ query_params: {'api-version' => @client.api_version},
593
+ headers: request_headers.merge(custom_headers || {}),
594
+ base_url: request_url
595
+ }
596
+ promise = @client.make_request_async(:post, path_template, options)
597
+
598
+ promise = promise.then do |result|
599
+ http_response = result.response
600
+ status_code = http_response.status
601
+ response_content = http_response.body
602
+ unless status_code == 200 || status_code == 202
603
+ error_model = JSON.load(response_content)
604
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
605
+ end
606
+
607
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
608
+
609
+ result
610
+ end
611
+
612
+ promise.execute
613
+ end
614
+
615
+ #
616
+ # Lists all the shares in a data box edge/gateway device.
617
+ #
618
+ # @param next_page_link [String] The NextLink from the previous successful call
619
+ # to List operation.
620
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
621
+ # will be added to the HTTP request.
622
+ #
623
+ # @return [ShareList] operation results.
624
+ #
625
+ def list_by_data_box_edge_device_next(next_page_link, custom_headers:nil)
626
+ response = list_by_data_box_edge_device_next_async(next_page_link, custom_headers:custom_headers).value!
627
+ response.body unless response.nil?
628
+ end
629
+
630
+ #
631
+ # Lists all the shares in a data box edge/gateway device.
632
+ #
633
+ # @param next_page_link [String] The NextLink from the previous successful call
634
+ # to List operation.
635
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
636
+ # will be added to the HTTP request.
637
+ #
638
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
639
+ #
640
+ def list_by_data_box_edge_device_next_with_http_info(next_page_link, custom_headers:nil)
641
+ list_by_data_box_edge_device_next_async(next_page_link, custom_headers:custom_headers).value!
642
+ end
643
+
644
+ #
645
+ # Lists all the shares in a data box edge/gateway device.
646
+ #
647
+ # @param next_page_link [String] The NextLink from the previous successful call
648
+ # to List operation.
649
+ # @param [Hash{String => String}] A hash of custom headers that will be added
650
+ # to the HTTP request.
651
+ #
652
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
653
+ #
654
+ def list_by_data_box_edge_device_next_async(next_page_link, custom_headers:nil)
655
+ fail ArgumentError, 'next_page_link is nil' if next_page_link.nil?
656
+
657
+
658
+ request_headers = {}
659
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
660
+
661
+ # Set Headers
662
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
663
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
664
+ path_template = '{nextLink}'
665
+
666
+ request_url = @base_url || @client.base_url
667
+
668
+ options = {
669
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
670
+ skip_encoding_path_params: {'nextLink' => next_page_link},
671
+ headers: request_headers.merge(custom_headers || {}),
672
+ base_url: request_url
673
+ }
674
+ promise = @client.make_request_async(:get, path_template, options)
675
+
676
+ promise = promise.then do |result|
677
+ http_response = result.response
678
+ status_code = http_response.status
679
+ response_content = http_response.body
680
+ unless status_code == 200
681
+ error_model = JSON.load(response_content)
682
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
683
+ end
684
+
685
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
686
+ # Deserialize Response
687
+ if status_code == 200
688
+ begin
689
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
690
+ result_mapper = Azure::EdgeGateway::Mgmt::V2019_03_01::Models::ShareList.mapper()
691
+ result.body = @client.deserialize(result_mapper, parsed_response)
692
+ rescue Exception => e
693
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
694
+ end
695
+ end
696
+
697
+ result
698
+ end
699
+
700
+ promise.execute
701
+ end
702
+
703
+ #
704
+ # Lists all the shares in a data box edge/gateway device.
705
+ #
706
+ # @param device_name [String] The device name.
707
+ # @param resource_group_name [String] The resource group name.
708
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
709
+ # will be added to the HTTP request.
710
+ #
711
+ # @return [ShareList] which provide lazy access to pages of the response.
712
+ #
713
+ def list_by_data_box_edge_device_as_lazy(device_name, resource_group_name, custom_headers:nil)
714
+ response = list_by_data_box_edge_device_async(device_name, resource_group_name, custom_headers:custom_headers).value!
715
+ unless response.nil?
716
+ page = response.body
717
+ page.next_method = Proc.new do |next_page_link|
718
+ list_by_data_box_edge_device_next_async(next_page_link, custom_headers:custom_headers)
719
+ end
720
+ page
721
+ end
722
+ end
723
+
724
+ end
725
+ end