azure_mgmt_netapp 0.20.2 → 0.21.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (94) hide show
  1. checksums.yaml +4 -4
  2. data/lib/2017-08-15-preview/generated/azure_mgmt_netapp/azure_net_app_files_management_client.rb +1 -1
  3. data/lib/2019-05-01/generated/azure_mgmt_netapp/azure_net_app_files_management_client.rb +1 -1
  4. data/lib/2019-06-01/generated/azure_mgmt_netapp/azure_net_app_files_management_client.rb +1 -1
  5. data/lib/2019-07-01/generated/azure_mgmt_netapp/azure_net_app_files_management_client.rb +1 -1
  6. data/lib/2019-08-01/generated/azure_mgmt_netapp/azure_net_app_files_management_client.rb +1 -1
  7. data/lib/2019-10-01/generated/azure_mgmt_netapp/azure_net_app_files_management_client.rb +1 -1
  8. data/lib/2019-11-01/generated/azure_mgmt_netapp/azure_net_app_files_management_client.rb +1 -1
  9. data/lib/2020-02-01/generated/azure_mgmt_netapp/azure_net_app_files_management_client.rb +1 -1
  10. data/lib/2020-06-01/generated/azure_mgmt_netapp/azure_net_app_files_management_client.rb +1 -1
  11. data/lib/2020-07-01/generated/azure_mgmt_netapp.rb +104 -0
  12. data/lib/2020-07-01/generated/azure_mgmt_netapp/account_backups.rb +373 -0
  13. data/lib/2020-07-01/generated/azure_mgmt_netapp/accounts.rb +709 -0
  14. data/lib/2020-07-01/generated/azure_mgmt_netapp/azure_net_app_files_management_client.rb +173 -0
  15. data/lib/2020-07-01/generated/azure_mgmt_netapp/backup_policies.rb +691 -0
  16. data/lib/2020-07-01/generated/azure_mgmt_netapp/backups.rb +747 -0
  17. data/lib/2020-07-01/generated/azure_mgmt_netapp/models/active_directory.rb +253 -0
  18. data/lib/2020-07-01/generated/azure_mgmt_netapp/models/active_directory_status.rb +19 -0
  19. data/lib/2020-07-01/generated/azure_mgmt_netapp/models/authorize_request.rb +46 -0
  20. data/lib/2020-07-01/generated/azure_mgmt_netapp/models/backup.rb +158 -0
  21. data/lib/2020-07-01/generated/azure_mgmt_netapp/models/backup_patch.rb +130 -0
  22. data/lib/2020-07-01/generated/azure_mgmt_netapp/models/backup_policies_list.rb +55 -0
  23. data/lib/2020-07-01/generated/azure_mgmt_netapp/models/backup_policy.rb +212 -0
  24. data/lib/2020-07-01/generated/azure_mgmt_netapp/models/backup_policy_details.rb +212 -0
  25. data/lib/2020-07-01/generated/azure_mgmt_netapp/models/backup_policy_patch.rb +212 -0
  26. data/lib/2020-07-01/generated/azure_mgmt_netapp/models/backups_list.rb +55 -0
  27. data/lib/2020-07-01/generated/azure_mgmt_netapp/models/break_replication_request.rb +47 -0
  28. data/lib/2020-07-01/generated/azure_mgmt_netapp/models/capacity_pool.rb +198 -0
  29. data/lib/2020-07-01/generated/azure_mgmt_netapp/models/capacity_pool_list.rb +55 -0
  30. data/lib/2020-07-01/generated/azure_mgmt_netapp/models/capacity_pool_patch.rb +132 -0
  31. data/lib/2020-07-01/generated/azure_mgmt_netapp/models/check_availability_response.rb +78 -0
  32. data/lib/2020-07-01/generated/azure_mgmt_netapp/models/check_name_resource_types.rb +18 -0
  33. data/lib/2020-07-01/generated/azure_mgmt_netapp/models/check_quota_name_resource_types.rb +18 -0
  34. data/lib/2020-07-01/generated/azure_mgmt_netapp/models/daily_schedule.rb +81 -0
  35. data/lib/2020-07-01/generated/azure_mgmt_netapp/models/dimension.rb +57 -0
  36. data/lib/2020-07-01/generated/azure_mgmt_netapp/models/endpoint_type.rb +16 -0
  37. data/lib/2020-07-01/generated/azure_mgmt_netapp/models/export_policy_rule.rb +205 -0
  38. data/lib/2020-07-01/generated/azure_mgmt_netapp/models/hourly_schedule.rb +69 -0
  39. data/lib/2020-07-01/generated/azure_mgmt_netapp/models/in_availability_reason_type.rb +16 -0
  40. data/lib/2020-07-01/generated/azure_mgmt_netapp/models/metric_specification.rb +145 -0
  41. data/lib/2020-07-01/generated/azure_mgmt_netapp/models/mirror_state.rb +17 -0
  42. data/lib/2020-07-01/generated/azure_mgmt_netapp/models/monthly_schedule.rb +93 -0
  43. data/lib/2020-07-01/generated/azure_mgmt_netapp/models/mount_target.rb +159 -0
  44. data/lib/2020-07-01/generated/azure_mgmt_netapp/models/mount_target_properties.rb +93 -0
  45. data/lib/2020-07-01/generated/azure_mgmt_netapp/models/net_app_account.rb +133 -0
  46. data/lib/2020-07-01/generated/azure_mgmt_netapp/models/net_app_account_list.rb +55 -0
  47. data/lib/2020-07-01/generated/azure_mgmt_netapp/models/net_app_account_patch.rb +133 -0
  48. data/lib/2020-07-01/generated/azure_mgmt_netapp/models/operation.rb +83 -0
  49. data/lib/2020-07-01/generated/azure_mgmt_netapp/models/operation_display.rb +79 -0
  50. data/lib/2020-07-01/generated/azure_mgmt_netapp/models/operation_list_result.rb +57 -0
  51. data/lib/2020-07-01/generated/azure_mgmt_netapp/models/pool_change_request.rb +46 -0
  52. data/lib/2020-07-01/generated/azure_mgmt_netapp/models/qos_type.rb +16 -0
  53. data/lib/2020-07-01/generated/azure_mgmt_netapp/models/quota_availability_request.rb +73 -0
  54. data/lib/2020-07-01/generated/azure_mgmt_netapp/models/relationship_status.rb +16 -0
  55. data/lib/2020-07-01/generated/azure_mgmt_netapp/models/replication_object.rb +94 -0
  56. data/lib/2020-07-01/generated/azure_mgmt_netapp/models/replication_schedule.rb +17 -0
  57. data/lib/2020-07-01/generated/azure_mgmt_netapp/models/replication_status.rb +93 -0
  58. data/lib/2020-07-01/generated/azure_mgmt_netapp/models/resource_name_availability_request.rb +72 -0
  59. data/lib/2020-07-01/generated/azure_mgmt_netapp/models/security_style.rb +16 -0
  60. data/lib/2020-07-01/generated/azure_mgmt_netapp/models/service_level.rb +17 -0
  61. data/lib/2020-07-01/generated/azure_mgmt_netapp/models/service_specification.rb +56 -0
  62. data/lib/2020-07-01/generated/azure_mgmt_netapp/models/snapshot.rb +123 -0
  63. data/lib/2020-07-01/generated/azure_mgmt_netapp/models/snapshot_policies_list.rb +55 -0
  64. data/lib/2020-07-01/generated/azure_mgmt_netapp/models/snapshot_policy.rb +185 -0
  65. data/lib/2020-07-01/generated/azure_mgmt_netapp/models/snapshot_policy_details.rb +185 -0
  66. data/lib/2020-07-01/generated/azure_mgmt_netapp/models/snapshot_policy_patch.rb +185 -0
  67. data/lib/2020-07-01/generated/azure_mgmt_netapp/models/snapshot_policy_volume_list.rb +54 -0
  68. data/lib/2020-07-01/generated/azure_mgmt_netapp/models/snapshots_list.rb +55 -0
  69. data/lib/2020-07-01/generated/azure_mgmt_netapp/models/vault.rb +93 -0
  70. data/lib/2020-07-01/generated/azure_mgmt_netapp/models/vault_list.rb +55 -0
  71. data/lib/2020-07-01/generated/azure_mgmt_netapp/models/volume.rb +382 -0
  72. data/lib/2020-07-01/generated/azure_mgmt_netapp/models/volume_backup_properties.rb +79 -0
  73. data/lib/2020-07-01/generated/azure_mgmt_netapp/models/volume_backups.rb +68 -0
  74. data/lib/2020-07-01/generated/azure_mgmt_netapp/models/volume_list.rb +55 -0
  75. data/lib/2020-07-01/generated/azure_mgmt_netapp/models/volume_patch.rb +178 -0
  76. data/lib/2020-07-01/generated/azure_mgmt_netapp/models/volume_patch_properties_data_protection.rb +50 -0
  77. data/lib/2020-07-01/generated/azure_mgmt_netapp/models/volume_patch_properties_export_policy.rb +58 -0
  78. data/lib/2020-07-01/generated/azure_mgmt_netapp/models/volume_properties_data_protection.rb +74 -0
  79. data/lib/2020-07-01/generated/azure_mgmt_netapp/models/volume_properties_export_policy.rb +58 -0
  80. data/lib/2020-07-01/generated/azure_mgmt_netapp/models/volume_revert.rb +46 -0
  81. data/lib/2020-07-01/generated/azure_mgmt_netapp/models/volume_snapshot_properties.rb +46 -0
  82. data/lib/2020-07-01/generated/azure_mgmt_netapp/models/weekly_schedule.rb +94 -0
  83. data/lib/2020-07-01/generated/azure_mgmt_netapp/module_definition.rb +9 -0
  84. data/lib/2020-07-01/generated/azure_mgmt_netapp/net_app_resource.rb +424 -0
  85. data/lib/2020-07-01/generated/azure_mgmt_netapp/operations.rb +115 -0
  86. data/lib/2020-07-01/generated/azure_mgmt_netapp/pools.rb +737 -0
  87. data/lib/2020-07-01/generated/azure_mgmt_netapp/snapshot_policies.rb +700 -0
  88. data/lib/2020-07-01/generated/azure_mgmt_netapp/snapshots.rb +794 -0
  89. data/lib/2020-07-01/generated/azure_mgmt_netapp/vaults.rb +128 -0
  90. data/lib/2020-07-01/generated/azure_mgmt_netapp/volumes.rb +2023 -0
  91. data/lib/azure_mgmt_netapp.rb +6 -5
  92. data/lib/profiles/latest/modules/netapp_profile_module.rb +153 -153
  93. data/lib/version.rb +1 -1
  94. metadata +83 -3
@@ -0,0 +1,794 @@
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::NetApp::Mgmt::V2020_07_01
7
+ #
8
+ # Microsoft NetApp Azure Resource Provider specification
9
+ #
10
+ class Snapshots
11
+ include MsRestAzure
12
+
13
+ #
14
+ # Creates and initializes a new instance of the Snapshots class.
15
+ # @param client service class for accessing basic functionality.
16
+ #
17
+ def initialize(client)
18
+ @client = client
19
+ end
20
+
21
+ # @return [AzureNetAppFilesManagementClient] reference to the AzureNetAppFilesManagementClient
22
+ attr_reader :client
23
+
24
+ #
25
+ # Describe all snapshots
26
+ #
27
+ # List all snapshots associated with the volume
28
+ #
29
+ # @param resource_group_name [String] The name of the resource group.
30
+ # @param account_name [String] The name of the NetApp account
31
+ # @param pool_name [String] The name of the capacity pool
32
+ # @param volume_name [String] The name of the volume
33
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
34
+ # will be added to the HTTP request.
35
+ #
36
+ # @return [SnapshotsList] operation results.
37
+ #
38
+ def list(resource_group_name, account_name, pool_name, volume_name, custom_headers:nil)
39
+ response = list_async(resource_group_name, account_name, pool_name, volume_name, custom_headers:custom_headers).value!
40
+ response.body unless response.nil?
41
+ end
42
+
43
+ #
44
+ # Describe all snapshots
45
+ #
46
+ # List all snapshots associated with the volume
47
+ #
48
+ # @param resource_group_name [String] The name of the resource group.
49
+ # @param account_name [String] The name of the NetApp account
50
+ # @param pool_name [String] The name of the capacity pool
51
+ # @param volume_name [String] The name of the volume
52
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
53
+ # will be added to the HTTP request.
54
+ #
55
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
56
+ #
57
+ def list_with_http_info(resource_group_name, account_name, pool_name, volume_name, custom_headers:nil)
58
+ list_async(resource_group_name, account_name, pool_name, volume_name, custom_headers:custom_headers).value!
59
+ end
60
+
61
+ #
62
+ # Describe all snapshots
63
+ #
64
+ # List all snapshots associated with the volume
65
+ #
66
+ # @param resource_group_name [String] The name of the resource group.
67
+ # @param account_name [String] The name of the NetApp account
68
+ # @param pool_name [String] The name of the capacity pool
69
+ # @param volume_name [String] The name of the volume
70
+ # @param [Hash{String => String}] A hash of custom headers that will be added
71
+ # to the HTTP request.
72
+ #
73
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
74
+ #
75
+ def list_async(resource_group_name, account_name, pool_name, volume_name, custom_headers:nil)
76
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
77
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
78
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'MaxLength': '90'" if !resource_group_name.nil? && resource_group_name.length > 90
79
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'MinLength': '1'" if !resource_group_name.nil? && resource_group_name.length < 1
80
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'Pattern': '^[-\w\._\(\)]+$'" if !resource_group_name.nil? && resource_group_name.match(Regexp.new('^^[-\w\._\(\)]+$$')).nil?
81
+ fail ArgumentError, 'account_name is nil' if account_name.nil?
82
+ fail ArgumentError, 'pool_name is nil' if pool_name.nil?
83
+ fail ArgumentError, "'pool_name' should satisfy the constraint - 'MaxLength': '64'" if !pool_name.nil? && pool_name.length > 64
84
+ fail ArgumentError, "'pool_name' should satisfy the constraint - 'MinLength': '1'" if !pool_name.nil? && pool_name.length < 1
85
+ fail ArgumentError, "'pool_name' should satisfy the constraint - 'Pattern': '^[a-zA-Z0-9][a-zA-Z0-9\-_]{0,63}$'" if !pool_name.nil? && pool_name.match(Regexp.new('^^[a-zA-Z0-9][a-zA-Z0-9\-_]{0,63}$$')).nil?
86
+ fail ArgumentError, 'volume_name is nil' if volume_name.nil?
87
+ fail ArgumentError, "'volume_name' should satisfy the constraint - 'MaxLength': '64'" if !volume_name.nil? && volume_name.length > 64
88
+ fail ArgumentError, "'volume_name' should satisfy the constraint - 'MinLength': '1'" if !volume_name.nil? && volume_name.length < 1
89
+ fail ArgumentError, "'volume_name' should satisfy the constraint - 'Pattern': '^[a-zA-Z][a-zA-Z0-9\-_]{0,63}$'" if !volume_name.nil? && volume_name.match(Regexp.new('^^[a-zA-Z][a-zA-Z0-9\-_]{0,63}$$')).nil?
90
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
91
+
92
+
93
+ request_headers = {}
94
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
95
+
96
+ # Set Headers
97
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
98
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
99
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/snapshots'
100
+
101
+ request_url = @base_url || @client.base_url
102
+
103
+ options = {
104
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
105
+ path_params: {'subscriptionId' => @client.subscription_id,'resourceGroupName' => resource_group_name,'accountName' => account_name,'poolName' => pool_name,'volumeName' => volume_name},
106
+ query_params: {'api-version' => @client.api_version},
107
+ headers: request_headers.merge(custom_headers || {}),
108
+ base_url: request_url
109
+ }
110
+ promise = @client.make_request_async(:get, path_template, options)
111
+
112
+ promise = promise.then do |result|
113
+ http_response = result.response
114
+ status_code = http_response.status
115
+ response_content = http_response.body
116
+ unless status_code == 200
117
+ error_model = JSON.load(response_content)
118
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
119
+ end
120
+
121
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
122
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
123
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
124
+ # Deserialize Response
125
+ if status_code == 200
126
+ begin
127
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
128
+ result_mapper = Azure::NetApp::Mgmt::V2020_07_01::Models::SnapshotsList.mapper()
129
+ result.body = @client.deserialize(result_mapper, parsed_response)
130
+ rescue Exception => e
131
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
132
+ end
133
+ end
134
+
135
+ result
136
+ end
137
+
138
+ promise.execute
139
+ end
140
+
141
+ #
142
+ # Describe a snapshot
143
+ #
144
+ # Get details of the specified snapshot
145
+ #
146
+ # @param resource_group_name [String] The name of the resource group.
147
+ # @param account_name [String] The name of the NetApp account
148
+ # @param pool_name [String] The name of the capacity pool
149
+ # @param volume_name [String] The name of the volume
150
+ # @param snapshot_name [String] The name of the mount target
151
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
152
+ # will be added to the HTTP request.
153
+ #
154
+ # @return [Snapshot] operation results.
155
+ #
156
+ def get(resource_group_name, account_name, pool_name, volume_name, snapshot_name, custom_headers:nil)
157
+ response = get_async(resource_group_name, account_name, pool_name, volume_name, snapshot_name, custom_headers:custom_headers).value!
158
+ response.body unless response.nil?
159
+ end
160
+
161
+ #
162
+ # Describe a snapshot
163
+ #
164
+ # Get details of the specified snapshot
165
+ #
166
+ # @param resource_group_name [String] The name of the resource group.
167
+ # @param account_name [String] The name of the NetApp account
168
+ # @param pool_name [String] The name of the capacity pool
169
+ # @param volume_name [String] The name of the volume
170
+ # @param snapshot_name [String] The name of the mount target
171
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
172
+ # will be added to the HTTP request.
173
+ #
174
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
175
+ #
176
+ def get_with_http_info(resource_group_name, account_name, pool_name, volume_name, snapshot_name, custom_headers:nil)
177
+ get_async(resource_group_name, account_name, pool_name, volume_name, snapshot_name, custom_headers:custom_headers).value!
178
+ end
179
+
180
+ #
181
+ # Describe a snapshot
182
+ #
183
+ # Get details of the specified snapshot
184
+ #
185
+ # @param resource_group_name [String] The name of the resource group.
186
+ # @param account_name [String] The name of the NetApp account
187
+ # @param pool_name [String] The name of the capacity pool
188
+ # @param volume_name [String] The name of the volume
189
+ # @param snapshot_name [String] The name of the mount target
190
+ # @param [Hash{String => String}] A hash of custom headers that will be added
191
+ # to the HTTP request.
192
+ #
193
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
194
+ #
195
+ def get_async(resource_group_name, account_name, pool_name, volume_name, snapshot_name, custom_headers:nil)
196
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
197
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
198
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'MaxLength': '90'" if !resource_group_name.nil? && resource_group_name.length > 90
199
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'MinLength': '1'" if !resource_group_name.nil? && resource_group_name.length < 1
200
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'Pattern': '^[-\w\._\(\)]+$'" if !resource_group_name.nil? && resource_group_name.match(Regexp.new('^^[-\w\._\(\)]+$$')).nil?
201
+ fail ArgumentError, 'account_name is nil' if account_name.nil?
202
+ fail ArgumentError, 'pool_name is nil' if pool_name.nil?
203
+ fail ArgumentError, "'pool_name' should satisfy the constraint - 'MaxLength': '64'" if !pool_name.nil? && pool_name.length > 64
204
+ fail ArgumentError, "'pool_name' should satisfy the constraint - 'MinLength': '1'" if !pool_name.nil? && pool_name.length < 1
205
+ fail ArgumentError, "'pool_name' should satisfy the constraint - 'Pattern': '^[a-zA-Z0-9][a-zA-Z0-9\-_]{0,63}$'" if !pool_name.nil? && pool_name.match(Regexp.new('^^[a-zA-Z0-9][a-zA-Z0-9\-_]{0,63}$$')).nil?
206
+ fail ArgumentError, 'volume_name is nil' if volume_name.nil?
207
+ fail ArgumentError, "'volume_name' should satisfy the constraint - 'MaxLength': '64'" if !volume_name.nil? && volume_name.length > 64
208
+ fail ArgumentError, "'volume_name' should satisfy the constraint - 'MinLength': '1'" if !volume_name.nil? && volume_name.length < 1
209
+ fail ArgumentError, "'volume_name' should satisfy the constraint - 'Pattern': '^[a-zA-Z][a-zA-Z0-9\-_]{0,63}$'" if !volume_name.nil? && volume_name.match(Regexp.new('^^[a-zA-Z][a-zA-Z0-9\-_]{0,63}$$')).nil?
210
+ fail ArgumentError, 'snapshot_name is nil' if snapshot_name.nil?
211
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
212
+
213
+
214
+ request_headers = {}
215
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
216
+
217
+ # Set Headers
218
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
219
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
220
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/snapshots/{snapshotName}'
221
+
222
+ request_url = @base_url || @client.base_url
223
+
224
+ options = {
225
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
226
+ path_params: {'subscriptionId' => @client.subscription_id,'resourceGroupName' => resource_group_name,'accountName' => account_name,'poolName' => pool_name,'volumeName' => volume_name,'snapshotName' => snapshot_name},
227
+ query_params: {'api-version' => @client.api_version},
228
+ headers: request_headers.merge(custom_headers || {}),
229
+ base_url: request_url
230
+ }
231
+ promise = @client.make_request_async(:get, path_template, options)
232
+
233
+ promise = promise.then do |result|
234
+ http_response = result.response
235
+ status_code = http_response.status
236
+ response_content = http_response.body
237
+ unless status_code == 200
238
+ error_model = JSON.load(response_content)
239
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
240
+ end
241
+
242
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
243
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
244
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
245
+ # Deserialize Response
246
+ if status_code == 200
247
+ begin
248
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
249
+ result_mapper = Azure::NetApp::Mgmt::V2020_07_01::Models::Snapshot.mapper()
250
+ result.body = @client.deserialize(result_mapper, parsed_response)
251
+ rescue Exception => e
252
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
253
+ end
254
+ end
255
+
256
+ result
257
+ end
258
+
259
+ promise.execute
260
+ end
261
+
262
+ #
263
+ # Create a snapshot
264
+ #
265
+ # Create the specified snapshot within the given volume
266
+ #
267
+ # @param body [Snapshot] Snapshot object supplied in the body of the operation.
268
+ # @param resource_group_name [String] The name of the resource group.
269
+ # @param account_name [String] The name of the NetApp account
270
+ # @param pool_name [String] The name of the capacity pool
271
+ # @param volume_name [String] The name of the volume
272
+ # @param snapshot_name [String] The name of the mount target
273
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
274
+ # will be added to the HTTP request.
275
+ #
276
+ # @return [Snapshot] operation results.
277
+ #
278
+ def create(body, resource_group_name, account_name, pool_name, volume_name, snapshot_name, custom_headers:nil)
279
+ response = create_async(body, resource_group_name, account_name, pool_name, volume_name, snapshot_name, custom_headers:custom_headers).value!
280
+ response.body unless response.nil?
281
+ end
282
+
283
+ #
284
+ # @param body [Snapshot] Snapshot object supplied in the body of the operation.
285
+ # @param resource_group_name [String] The name of the resource group.
286
+ # @param account_name [String] The name of the NetApp account
287
+ # @param pool_name [String] The name of the capacity pool
288
+ # @param volume_name [String] The name of the volume
289
+ # @param snapshot_name [String] The name of the mount target
290
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
291
+ # will be added to the HTTP request.
292
+ #
293
+ # @return [Concurrent::Promise] promise which provides async access to http
294
+ # response.
295
+ #
296
+ def create_async(body, resource_group_name, account_name, pool_name, volume_name, snapshot_name, custom_headers:nil)
297
+ # Send request
298
+ promise = begin_create_async(body, resource_group_name, account_name, pool_name, volume_name, snapshot_name, custom_headers:custom_headers)
299
+
300
+ promise = promise.then do |response|
301
+ # Defining deserialization method.
302
+ deserialize_method = lambda do |parsed_response|
303
+ result_mapper = Azure::NetApp::Mgmt::V2020_07_01::Models::Snapshot.mapper()
304
+ parsed_response = @client.deserialize(result_mapper, parsed_response)
305
+ end
306
+
307
+ # Waiting for response.
308
+ @client.get_long_running_operation_result(response, deserialize_method)
309
+ end
310
+
311
+ promise
312
+ end
313
+
314
+ #
315
+ # Update a snapshot
316
+ #
317
+ # Patch a snapshot
318
+ #
319
+ # @param body Snapshot object supplied in the body of the operation.
320
+ # @param resource_group_name [String] The name of the resource group.
321
+ # @param account_name [String] The name of the NetApp account
322
+ # @param pool_name [String] The name of the capacity pool
323
+ # @param volume_name [String] The name of the volume
324
+ # @param snapshot_name [String] The name of the mount target
325
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
326
+ # will be added to the HTTP request.
327
+ #
328
+ # @return [Snapshot] operation results.
329
+ #
330
+ def update(body, resource_group_name, account_name, pool_name, volume_name, snapshot_name, custom_headers:nil)
331
+ response = update_async(body, resource_group_name, account_name, pool_name, volume_name, snapshot_name, custom_headers:custom_headers).value!
332
+ response.body unless response.nil?
333
+ end
334
+
335
+ #
336
+ # @param body Snapshot object supplied in the body of the operation.
337
+ # @param resource_group_name [String] The name of the resource group.
338
+ # @param account_name [String] The name of the NetApp account
339
+ # @param pool_name [String] The name of the capacity pool
340
+ # @param volume_name [String] The name of the volume
341
+ # @param snapshot_name [String] The name of the mount target
342
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
343
+ # will be added to the HTTP request.
344
+ #
345
+ # @return [Concurrent::Promise] promise which provides async access to http
346
+ # response.
347
+ #
348
+ def update_async(body, resource_group_name, account_name, pool_name, volume_name, snapshot_name, custom_headers:nil)
349
+ # Send request
350
+ promise = begin_update_async(body, resource_group_name, account_name, pool_name, volume_name, snapshot_name, custom_headers:custom_headers)
351
+
352
+ promise = promise.then do |response|
353
+ # Defining deserialization method.
354
+ deserialize_method = lambda do |parsed_response|
355
+ result_mapper = Azure::NetApp::Mgmt::V2020_07_01::Models::Snapshot.mapper()
356
+ parsed_response = @client.deserialize(result_mapper, parsed_response)
357
+ end
358
+
359
+ # Waiting for response.
360
+ @client.get_long_running_operation_result(response, deserialize_method)
361
+ end
362
+
363
+ promise
364
+ end
365
+
366
+ #
367
+ # Delete a snapshot
368
+ #
369
+ # Delete snapshot
370
+ #
371
+ # @param resource_group_name [String] The name of the resource group.
372
+ # @param account_name [String] The name of the NetApp account
373
+ # @param pool_name [String] The name of the capacity pool
374
+ # @param volume_name [String] The name of the volume
375
+ # @param snapshot_name [String] The name of the mount target
376
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
377
+ # will be added to the HTTP request.
378
+ #
379
+ def delete(resource_group_name, account_name, pool_name, volume_name, snapshot_name, custom_headers:nil)
380
+ response = delete_async(resource_group_name, account_name, pool_name, volume_name, snapshot_name, custom_headers:custom_headers).value!
381
+ nil
382
+ end
383
+
384
+ #
385
+ # @param resource_group_name [String] The name of the resource group.
386
+ # @param account_name [String] The name of the NetApp account
387
+ # @param pool_name [String] The name of the capacity pool
388
+ # @param volume_name [String] The name of the volume
389
+ # @param snapshot_name [String] The name of the mount target
390
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
391
+ # will be added to the HTTP request.
392
+ #
393
+ # @return [Concurrent::Promise] promise which provides async access to http
394
+ # response.
395
+ #
396
+ def delete_async(resource_group_name, account_name, pool_name, volume_name, snapshot_name, custom_headers:nil)
397
+ # Send request
398
+ promise = begin_delete_async(resource_group_name, account_name, pool_name, volume_name, snapshot_name, custom_headers:custom_headers)
399
+
400
+ promise = promise.then do |response|
401
+ # Defining deserialization method.
402
+ deserialize_method = lambda do |parsed_response|
403
+ end
404
+
405
+ # Waiting for response.
406
+ @client.get_long_running_operation_result(response, deserialize_method)
407
+ end
408
+
409
+ promise
410
+ end
411
+
412
+ #
413
+ # Create a snapshot
414
+ #
415
+ # Create the specified snapshot within the given volume
416
+ #
417
+ # @param body [Snapshot] Snapshot object supplied in the body of the operation.
418
+ # @param resource_group_name [String] The name of the resource group.
419
+ # @param account_name [String] The name of the NetApp account
420
+ # @param pool_name [String] The name of the capacity pool
421
+ # @param volume_name [String] The name of the volume
422
+ # @param snapshot_name [String] The name of the mount target
423
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
424
+ # will be added to the HTTP request.
425
+ #
426
+ # @return [Snapshot] operation results.
427
+ #
428
+ def begin_create(body, resource_group_name, account_name, pool_name, volume_name, snapshot_name, custom_headers:nil)
429
+ response = begin_create_async(body, resource_group_name, account_name, pool_name, volume_name, snapshot_name, custom_headers:custom_headers).value!
430
+ response.body unless response.nil?
431
+ end
432
+
433
+ #
434
+ # Create a snapshot
435
+ #
436
+ # Create the specified snapshot within the given volume
437
+ #
438
+ # @param body [Snapshot] Snapshot object supplied in the body of the operation.
439
+ # @param resource_group_name [String] The name of the resource group.
440
+ # @param account_name [String] The name of the NetApp account
441
+ # @param pool_name [String] The name of the capacity pool
442
+ # @param volume_name [String] The name of the volume
443
+ # @param snapshot_name [String] The name of the mount target
444
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
445
+ # will be added to the HTTP request.
446
+ #
447
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
448
+ #
449
+ def begin_create_with_http_info(body, resource_group_name, account_name, pool_name, volume_name, snapshot_name, custom_headers:nil)
450
+ begin_create_async(body, resource_group_name, account_name, pool_name, volume_name, snapshot_name, custom_headers:custom_headers).value!
451
+ end
452
+
453
+ #
454
+ # Create a snapshot
455
+ #
456
+ # Create the specified snapshot within the given volume
457
+ #
458
+ # @param body [Snapshot] Snapshot object supplied in the body of the operation.
459
+ # @param resource_group_name [String] The name of the resource group.
460
+ # @param account_name [String] The name of the NetApp account
461
+ # @param pool_name [String] The name of the capacity pool
462
+ # @param volume_name [String] The name of the volume
463
+ # @param snapshot_name [String] The name of the mount target
464
+ # @param [Hash{String => String}] A hash of custom headers that will be added
465
+ # to the HTTP request.
466
+ #
467
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
468
+ #
469
+ def begin_create_async(body, resource_group_name, account_name, pool_name, volume_name, snapshot_name, custom_headers:nil)
470
+ fail ArgumentError, 'body is nil' if body.nil?
471
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
472
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
473
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'MaxLength': '90'" if !resource_group_name.nil? && resource_group_name.length > 90
474
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'MinLength': '1'" if !resource_group_name.nil? && resource_group_name.length < 1
475
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'Pattern': '^[-\w\._\(\)]+$'" if !resource_group_name.nil? && resource_group_name.match(Regexp.new('^^[-\w\._\(\)]+$$')).nil?
476
+ fail ArgumentError, 'account_name is nil' if account_name.nil?
477
+ fail ArgumentError, 'pool_name is nil' if pool_name.nil?
478
+ fail ArgumentError, "'pool_name' should satisfy the constraint - 'MaxLength': '64'" if !pool_name.nil? && pool_name.length > 64
479
+ fail ArgumentError, "'pool_name' should satisfy the constraint - 'MinLength': '1'" if !pool_name.nil? && pool_name.length < 1
480
+ fail ArgumentError, "'pool_name' should satisfy the constraint - 'Pattern': '^[a-zA-Z0-9][a-zA-Z0-9\-_]{0,63}$'" if !pool_name.nil? && pool_name.match(Regexp.new('^^[a-zA-Z0-9][a-zA-Z0-9\-_]{0,63}$$')).nil?
481
+ fail ArgumentError, 'volume_name is nil' if volume_name.nil?
482
+ fail ArgumentError, "'volume_name' should satisfy the constraint - 'MaxLength': '64'" if !volume_name.nil? && volume_name.length > 64
483
+ fail ArgumentError, "'volume_name' should satisfy the constraint - 'MinLength': '1'" if !volume_name.nil? && volume_name.length < 1
484
+ fail ArgumentError, "'volume_name' should satisfy the constraint - 'Pattern': '^[a-zA-Z][a-zA-Z0-9\-_]{0,63}$'" if !volume_name.nil? && volume_name.match(Regexp.new('^^[a-zA-Z][a-zA-Z0-9\-_]{0,63}$$')).nil?
485
+ fail ArgumentError, 'snapshot_name is nil' if snapshot_name.nil?
486
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
487
+
488
+
489
+ request_headers = {}
490
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
491
+
492
+ # Set Headers
493
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
494
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
495
+
496
+ # Serialize Request
497
+ request_mapper = Azure::NetApp::Mgmt::V2020_07_01::Models::Snapshot.mapper()
498
+ request_content = @client.serialize(request_mapper, body)
499
+ request_content = request_content != nil ? JSON.generate(request_content, quirks_mode: true) : nil
500
+
501
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/snapshots/{snapshotName}'
502
+
503
+ request_url = @base_url || @client.base_url
504
+
505
+ options = {
506
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
507
+ path_params: {'subscriptionId' => @client.subscription_id,'resourceGroupName' => resource_group_name,'accountName' => account_name,'poolName' => pool_name,'volumeName' => volume_name,'snapshotName' => snapshot_name},
508
+ query_params: {'api-version' => @client.api_version},
509
+ body: request_content,
510
+ headers: request_headers.merge(custom_headers || {}),
511
+ base_url: request_url
512
+ }
513
+ promise = @client.make_request_async(:put, path_template, options)
514
+
515
+ promise = promise.then do |result|
516
+ http_response = result.response
517
+ status_code = http_response.status
518
+ response_content = http_response.body
519
+ unless status_code == 201 || status_code == 202
520
+ error_model = JSON.load(response_content)
521
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
522
+ end
523
+
524
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
525
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
526
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
527
+ # Deserialize Response
528
+ if status_code == 201
529
+ begin
530
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
531
+ result_mapper = Azure::NetApp::Mgmt::V2020_07_01::Models::Snapshot.mapper()
532
+ result.body = @client.deserialize(result_mapper, parsed_response)
533
+ rescue Exception => e
534
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
535
+ end
536
+ end
537
+
538
+ result
539
+ end
540
+
541
+ promise.execute
542
+ end
543
+
544
+ #
545
+ # Update a snapshot
546
+ #
547
+ # Patch a snapshot
548
+ #
549
+ # @param body Snapshot object supplied in the body of the operation.
550
+ # @param resource_group_name [String] The name of the resource group.
551
+ # @param account_name [String] The name of the NetApp account
552
+ # @param pool_name [String] The name of the capacity pool
553
+ # @param volume_name [String] The name of the volume
554
+ # @param snapshot_name [String] The name of the mount target
555
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
556
+ # will be added to the HTTP request.
557
+ #
558
+ # @return [Snapshot] operation results.
559
+ #
560
+ def begin_update(body, resource_group_name, account_name, pool_name, volume_name, snapshot_name, custom_headers:nil)
561
+ response = begin_update_async(body, resource_group_name, account_name, pool_name, volume_name, snapshot_name, custom_headers:custom_headers).value!
562
+ response.body unless response.nil?
563
+ end
564
+
565
+ #
566
+ # Update a snapshot
567
+ #
568
+ # Patch a snapshot
569
+ #
570
+ # @param body Snapshot object supplied in the body of the operation.
571
+ # @param resource_group_name [String] The name of the resource group.
572
+ # @param account_name [String] The name of the NetApp account
573
+ # @param pool_name [String] The name of the capacity pool
574
+ # @param volume_name [String] The name of the volume
575
+ # @param snapshot_name [String] The name of the mount target
576
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
577
+ # will be added to the HTTP request.
578
+ #
579
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
580
+ #
581
+ def begin_update_with_http_info(body, resource_group_name, account_name, pool_name, volume_name, snapshot_name, custom_headers:nil)
582
+ begin_update_async(body, resource_group_name, account_name, pool_name, volume_name, snapshot_name, custom_headers:custom_headers).value!
583
+ end
584
+
585
+ #
586
+ # Update a snapshot
587
+ #
588
+ # Patch a snapshot
589
+ #
590
+ # @param body Snapshot object supplied in the body of the operation.
591
+ # @param resource_group_name [String] The name of the resource group.
592
+ # @param account_name [String] The name of the NetApp account
593
+ # @param pool_name [String] The name of the capacity pool
594
+ # @param volume_name [String] The name of the volume
595
+ # @param snapshot_name [String] The name of the mount target
596
+ # @param [Hash{String => String}] A hash of custom headers that will be added
597
+ # to the HTTP request.
598
+ #
599
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
600
+ #
601
+ def begin_update_async(body, resource_group_name, account_name, pool_name, volume_name, snapshot_name, custom_headers:nil)
602
+ fail ArgumentError, 'body is nil' if body.nil?
603
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
604
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
605
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'MaxLength': '90'" if !resource_group_name.nil? && resource_group_name.length > 90
606
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'MinLength': '1'" if !resource_group_name.nil? && resource_group_name.length < 1
607
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'Pattern': '^[-\w\._\(\)]+$'" if !resource_group_name.nil? && resource_group_name.match(Regexp.new('^^[-\w\._\(\)]+$$')).nil?
608
+ fail ArgumentError, 'account_name is nil' if account_name.nil?
609
+ fail ArgumentError, 'pool_name is nil' if pool_name.nil?
610
+ fail ArgumentError, "'pool_name' should satisfy the constraint - 'MaxLength': '64'" if !pool_name.nil? && pool_name.length > 64
611
+ fail ArgumentError, "'pool_name' should satisfy the constraint - 'MinLength': '1'" if !pool_name.nil? && pool_name.length < 1
612
+ fail ArgumentError, "'pool_name' should satisfy the constraint - 'Pattern': '^[a-zA-Z0-9][a-zA-Z0-9\-_]{0,63}$'" if !pool_name.nil? && pool_name.match(Regexp.new('^^[a-zA-Z0-9][a-zA-Z0-9\-_]{0,63}$$')).nil?
613
+ fail ArgumentError, 'volume_name is nil' if volume_name.nil?
614
+ fail ArgumentError, "'volume_name' should satisfy the constraint - 'MaxLength': '64'" if !volume_name.nil? && volume_name.length > 64
615
+ fail ArgumentError, "'volume_name' should satisfy the constraint - 'MinLength': '1'" if !volume_name.nil? && volume_name.length < 1
616
+ fail ArgumentError, "'volume_name' should satisfy the constraint - 'Pattern': '^[a-zA-Z][a-zA-Z0-9\-_]{0,63}$'" if !volume_name.nil? && volume_name.match(Regexp.new('^^[a-zA-Z][a-zA-Z0-9\-_]{0,63}$$')).nil?
617
+ fail ArgumentError, 'snapshot_name is nil' if snapshot_name.nil?
618
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
619
+
620
+
621
+ request_headers = {}
622
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
623
+
624
+ # Set Headers
625
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
626
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
627
+
628
+ # Serialize Request
629
+ request_mapper = {
630
+ client_side_validation: true,
631
+ required: true,
632
+ serialized_name: 'body',
633
+ type: {
634
+ name: 'Object'
635
+ }
636
+ }
637
+ request_content = @client.serialize(request_mapper, body)
638
+ request_content = request_content != nil ? JSON.generate(request_content, quirks_mode: true) : nil
639
+
640
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/snapshots/{snapshotName}'
641
+
642
+ request_url = @base_url || @client.base_url
643
+
644
+ options = {
645
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
646
+ path_params: {'subscriptionId' => @client.subscription_id,'resourceGroupName' => resource_group_name,'accountName' => account_name,'poolName' => pool_name,'volumeName' => volume_name,'snapshotName' => snapshot_name},
647
+ query_params: {'api-version' => @client.api_version},
648
+ body: request_content,
649
+ headers: request_headers.merge(custom_headers || {}),
650
+ base_url: request_url
651
+ }
652
+ promise = @client.make_request_async(:patch, path_template, options)
653
+
654
+ promise = promise.then do |result|
655
+ http_response = result.response
656
+ status_code = http_response.status
657
+ response_content = http_response.body
658
+ unless status_code == 200 || status_code == 202
659
+ error_model = JSON.load(response_content)
660
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
661
+ end
662
+
663
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
664
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
665
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
666
+ # Deserialize Response
667
+ if status_code == 200
668
+ begin
669
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
670
+ result_mapper = Azure::NetApp::Mgmt::V2020_07_01::Models::Snapshot.mapper()
671
+ result.body = @client.deserialize(result_mapper, parsed_response)
672
+ rescue Exception => e
673
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
674
+ end
675
+ end
676
+
677
+ result
678
+ end
679
+
680
+ promise.execute
681
+ end
682
+
683
+ #
684
+ # Delete a snapshot
685
+ #
686
+ # Delete snapshot
687
+ #
688
+ # @param resource_group_name [String] The name of the resource group.
689
+ # @param account_name [String] The name of the NetApp account
690
+ # @param pool_name [String] The name of the capacity pool
691
+ # @param volume_name [String] The name of the volume
692
+ # @param snapshot_name [String] The name of the mount target
693
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
694
+ # will be added to the HTTP request.
695
+ #
696
+ #
697
+ def begin_delete(resource_group_name, account_name, pool_name, volume_name, snapshot_name, custom_headers:nil)
698
+ response = begin_delete_async(resource_group_name, account_name, pool_name, volume_name, snapshot_name, custom_headers:custom_headers).value!
699
+ nil
700
+ end
701
+
702
+ #
703
+ # Delete a snapshot
704
+ #
705
+ # Delete snapshot
706
+ #
707
+ # @param resource_group_name [String] The name of the resource group.
708
+ # @param account_name [String] The name of the NetApp account
709
+ # @param pool_name [String] The name of the capacity pool
710
+ # @param volume_name [String] The name of the volume
711
+ # @param snapshot_name [String] The name of the mount target
712
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
713
+ # will be added to the HTTP request.
714
+ #
715
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
716
+ #
717
+ def begin_delete_with_http_info(resource_group_name, account_name, pool_name, volume_name, snapshot_name, custom_headers:nil)
718
+ begin_delete_async(resource_group_name, account_name, pool_name, volume_name, snapshot_name, custom_headers:custom_headers).value!
719
+ end
720
+
721
+ #
722
+ # Delete a snapshot
723
+ #
724
+ # Delete snapshot
725
+ #
726
+ # @param resource_group_name [String] The name of the resource group.
727
+ # @param account_name [String] The name of the NetApp account
728
+ # @param pool_name [String] The name of the capacity pool
729
+ # @param volume_name [String] The name of the volume
730
+ # @param snapshot_name [String] The name of the mount target
731
+ # @param [Hash{String => String}] A hash of custom headers that will be added
732
+ # to the HTTP request.
733
+ #
734
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
735
+ #
736
+ def begin_delete_async(resource_group_name, account_name, pool_name, volume_name, snapshot_name, custom_headers:nil)
737
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
738
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
739
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'MaxLength': '90'" if !resource_group_name.nil? && resource_group_name.length > 90
740
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'MinLength': '1'" if !resource_group_name.nil? && resource_group_name.length < 1
741
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'Pattern': '^[-\w\._\(\)]+$'" if !resource_group_name.nil? && resource_group_name.match(Regexp.new('^^[-\w\._\(\)]+$$')).nil?
742
+ fail ArgumentError, 'account_name is nil' if account_name.nil?
743
+ fail ArgumentError, 'pool_name is nil' if pool_name.nil?
744
+ fail ArgumentError, "'pool_name' should satisfy the constraint - 'MaxLength': '64'" if !pool_name.nil? && pool_name.length > 64
745
+ fail ArgumentError, "'pool_name' should satisfy the constraint - 'MinLength': '1'" if !pool_name.nil? && pool_name.length < 1
746
+ fail ArgumentError, "'pool_name' should satisfy the constraint - 'Pattern': '^[a-zA-Z0-9][a-zA-Z0-9\-_]{0,63}$'" if !pool_name.nil? && pool_name.match(Regexp.new('^^[a-zA-Z0-9][a-zA-Z0-9\-_]{0,63}$$')).nil?
747
+ fail ArgumentError, 'volume_name is nil' if volume_name.nil?
748
+ fail ArgumentError, "'volume_name' should satisfy the constraint - 'MaxLength': '64'" if !volume_name.nil? && volume_name.length > 64
749
+ fail ArgumentError, "'volume_name' should satisfy the constraint - 'MinLength': '1'" if !volume_name.nil? && volume_name.length < 1
750
+ fail ArgumentError, "'volume_name' should satisfy the constraint - 'Pattern': '^[a-zA-Z][a-zA-Z0-9\-_]{0,63}$'" if !volume_name.nil? && volume_name.match(Regexp.new('^^[a-zA-Z][a-zA-Z0-9\-_]{0,63}$$')).nil?
751
+ fail ArgumentError, 'snapshot_name is nil' if snapshot_name.nil?
752
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
753
+
754
+
755
+ request_headers = {}
756
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
757
+
758
+ # Set Headers
759
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
760
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
761
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/snapshots/{snapshotName}'
762
+
763
+ request_url = @base_url || @client.base_url
764
+
765
+ options = {
766
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
767
+ path_params: {'subscriptionId' => @client.subscription_id,'resourceGroupName' => resource_group_name,'accountName' => account_name,'poolName' => pool_name,'volumeName' => volume_name,'snapshotName' => snapshot_name},
768
+ query_params: {'api-version' => @client.api_version},
769
+ headers: request_headers.merge(custom_headers || {}),
770
+ base_url: request_url
771
+ }
772
+ promise = @client.make_request_async(:delete, path_template, options)
773
+
774
+ promise = promise.then do |result|
775
+ http_response = result.response
776
+ status_code = http_response.status
777
+ response_content = http_response.body
778
+ unless status_code == 200 || status_code == 202 || status_code == 204
779
+ error_model = JSON.load(response_content)
780
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
781
+ end
782
+
783
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
784
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
785
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
786
+
787
+ result
788
+ end
789
+
790
+ promise.execute
791
+ end
792
+
793
+ end
794
+ end