azure_mgmt_netapp 0.18.2 → 0.20.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (150) 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.rb +71 -0
  8. data/lib/2019-10-01/generated/azure_mgmt_netapp/accounts.rb +651 -0
  9. data/lib/2019-10-01/generated/azure_mgmt_netapp/azure_net_app_files_management_client.rb +157 -0
  10. data/lib/2019-10-01/generated/azure_mgmt_netapp/models/active_directory.rb +127 -0
  11. data/lib/2019-10-01/generated/azure_mgmt_netapp/models/authorize_request.rb +46 -0
  12. data/lib/2019-10-01/generated/azure_mgmt_netapp/models/capacity_pool.rb +161 -0
  13. data/lib/2019-10-01/generated/azure_mgmt_netapp/models/capacity_pool_list.rb +55 -0
  14. data/lib/2019-10-01/generated/azure_mgmt_netapp/models/capacity_pool_patch.rb +133 -0
  15. data/lib/2019-10-01/generated/azure_mgmt_netapp/models/check_name_resource_types.rb +18 -0
  16. data/lib/2019-10-01/generated/azure_mgmt_netapp/models/dimension.rb +57 -0
  17. data/lib/2019-10-01/generated/azure_mgmt_netapp/models/endpoint_type.rb +16 -0
  18. data/lib/2019-10-01/generated/azure_mgmt_netapp/models/export_policy_rule.rb +113 -0
  19. data/lib/2019-10-01/generated/azure_mgmt_netapp/models/in_availability_reason_type.rb +16 -0
  20. data/lib/2019-10-01/generated/azure_mgmt_netapp/models/metric_specification.rb +145 -0
  21. data/lib/2019-10-01/generated/azure_mgmt_netapp/models/mirror_state.rb +17 -0
  22. data/lib/2019-10-01/generated/azure_mgmt_netapp/models/mount_target.rb +230 -0
  23. data/lib/2019-10-01/generated/azure_mgmt_netapp/models/mount_target_list.rb +55 -0
  24. data/lib/2019-10-01/generated/azure_mgmt_netapp/models/net_app_account.rb +133 -0
  25. data/lib/2019-10-01/generated/azure_mgmt_netapp/models/net_app_account_list.rb +55 -0
  26. data/lib/2019-10-01/generated/azure_mgmt_netapp/models/net_app_account_patch.rb +133 -0
  27. data/lib/2019-10-01/generated/azure_mgmt_netapp/models/operation.rb +83 -0
  28. data/lib/2019-10-01/generated/azure_mgmt_netapp/models/operation_display.rb +79 -0
  29. data/lib/2019-10-01/generated/azure_mgmt_netapp/models/operation_list_result.rb +57 -0
  30. data/lib/2019-10-01/generated/azure_mgmt_netapp/models/relationship_status.rb +16 -0
  31. data/lib/2019-10-01/generated/azure_mgmt_netapp/models/replication_object.rb +94 -0
  32. data/lib/2019-10-01/generated/azure_mgmt_netapp/models/replication_schedule.rb +19 -0
  33. data/lib/2019-10-01/generated/azure_mgmt_netapp/models/replication_status.rb +93 -0
  34. data/lib/2019-10-01/generated/azure_mgmt_netapp/models/resource_name_availability.rb +78 -0
  35. data/lib/2019-10-01/generated/azure_mgmt_netapp/models/resource_name_availability_request.rb +72 -0
  36. data/lib/2019-10-01/generated/azure_mgmt_netapp/models/service_level.rb +17 -0
  37. data/lib/2019-10-01/generated/azure_mgmt_netapp/models/service_specification.rb +56 -0
  38. data/lib/2019-10-01/generated/azure_mgmt_netapp/models/snapshot.rb +158 -0
  39. data/lib/2019-10-01/generated/azure_mgmt_netapp/models/snapshot_patch.rb +54 -0
  40. data/lib/2019-10-01/generated/azure_mgmt_netapp/models/snapshots_list.rb +55 -0
  41. data/lib/2019-10-01/generated/azure_mgmt_netapp/models/volume.rb +300 -0
  42. data/lib/2019-10-01/generated/azure_mgmt_netapp/models/volume_list.rb +55 -0
  43. data/lib/2019-10-01/generated/azure_mgmt_netapp/models/volume_patch.rb +147 -0
  44. data/lib/2019-10-01/generated/azure_mgmt_netapp/models/volume_patch_properties_export_policy.rb +58 -0
  45. data/lib/2019-10-01/generated/azure_mgmt_netapp/models/volume_properties_data_protection.rb +50 -0
  46. data/lib/2019-10-01/generated/azure_mgmt_netapp/models/volume_properties_export_policy.rb +58 -0
  47. data/lib/2019-10-01/generated/azure_mgmt_netapp/module_definition.rb +9 -0
  48. data/lib/2019-10-01/generated/azure_mgmt_netapp/mount_targets.rb +136 -0
  49. data/lib/2019-10-01/generated/azure_mgmt_netapp/net_app_resource.rb +291 -0
  50. data/lib/2019-10-01/generated/azure_mgmt_netapp/operations.rb +115 -0
  51. data/lib/2019-10-01/generated/azure_mgmt_netapp/pools.rb +675 -0
  52. data/lib/2019-10-01/generated/azure_mgmt_netapp/snapshots.rb +708 -0
  53. data/lib/2019-10-01/generated/azure_mgmt_netapp/volumes.rb +1228 -0
  54. data/lib/2019-11-01/generated/azure_mgmt_netapp.rb +70 -0
  55. data/lib/2019-11-01/generated/azure_mgmt_netapp/accounts.rb +651 -0
  56. data/lib/2019-11-01/generated/azure_mgmt_netapp/azure_net_app_files_management_client.rb +153 -0
  57. data/lib/2019-11-01/generated/azure_mgmt_netapp/models/active_directory.rb +139 -0
  58. data/lib/2019-11-01/generated/azure_mgmt_netapp/models/authorize_request.rb +46 -0
  59. data/lib/2019-11-01/generated/azure_mgmt_netapp/models/capacity_pool.rb +161 -0
  60. data/lib/2019-11-01/generated/azure_mgmt_netapp/models/capacity_pool_list.rb +55 -0
  61. data/lib/2019-11-01/generated/azure_mgmt_netapp/models/capacity_pool_patch.rb +133 -0
  62. data/lib/2019-11-01/generated/azure_mgmt_netapp/models/check_name_resource_types.rb +18 -0
  63. data/lib/2019-11-01/generated/azure_mgmt_netapp/models/dimension.rb +57 -0
  64. data/lib/2019-11-01/generated/azure_mgmt_netapp/models/endpoint_type.rb +16 -0
  65. data/lib/2019-11-01/generated/azure_mgmt_netapp/models/export_policy_rule.rb +113 -0
  66. data/lib/2019-11-01/generated/azure_mgmt_netapp/models/in_availability_reason_type.rb +16 -0
  67. data/lib/2019-11-01/generated/azure_mgmt_netapp/models/metric_specification.rb +145 -0
  68. data/lib/2019-11-01/generated/azure_mgmt_netapp/models/mirror_state.rb +17 -0
  69. data/lib/2019-11-01/generated/azure_mgmt_netapp/models/mount_target.rb +218 -0
  70. data/lib/2019-11-01/generated/azure_mgmt_netapp/models/mount_target_properties.rb +152 -0
  71. data/lib/2019-11-01/generated/azure_mgmt_netapp/models/net_app_account.rb +133 -0
  72. data/lib/2019-11-01/generated/azure_mgmt_netapp/models/net_app_account_list.rb +55 -0
  73. data/lib/2019-11-01/generated/azure_mgmt_netapp/models/net_app_account_patch.rb +133 -0
  74. data/lib/2019-11-01/generated/azure_mgmt_netapp/models/operation.rb +83 -0
  75. data/lib/2019-11-01/generated/azure_mgmt_netapp/models/operation_display.rb +79 -0
  76. data/lib/2019-11-01/generated/azure_mgmt_netapp/models/operation_list_result.rb +57 -0
  77. data/lib/2019-11-01/generated/azure_mgmt_netapp/models/relationship_status.rb +16 -0
  78. data/lib/2019-11-01/generated/azure_mgmt_netapp/models/replication_object.rb +94 -0
  79. data/lib/2019-11-01/generated/azure_mgmt_netapp/models/replication_schedule.rb +19 -0
  80. data/lib/2019-11-01/generated/azure_mgmt_netapp/models/replication_status.rb +93 -0
  81. data/lib/2019-11-01/generated/azure_mgmt_netapp/models/resource_name_availability.rb +78 -0
  82. data/lib/2019-11-01/generated/azure_mgmt_netapp/models/resource_name_availability_request.rb +72 -0
  83. data/lib/2019-11-01/generated/azure_mgmt_netapp/models/service_level.rb +17 -0
  84. data/lib/2019-11-01/generated/azure_mgmt_netapp/models/service_specification.rb +56 -0
  85. data/lib/2019-11-01/generated/azure_mgmt_netapp/models/snapshot.rb +139 -0
  86. data/lib/2019-11-01/generated/azure_mgmt_netapp/models/snapshots_list.rb +55 -0
  87. data/lib/2019-11-01/generated/azure_mgmt_netapp/models/volume.rb +315 -0
  88. data/lib/2019-11-01/generated/azure_mgmt_netapp/models/volume_list.rb +55 -0
  89. data/lib/2019-11-01/generated/azure_mgmt_netapp/models/volume_patch.rb +147 -0
  90. data/lib/2019-11-01/generated/azure_mgmt_netapp/models/volume_patch_properties_export_policy.rb +58 -0
  91. data/lib/2019-11-01/generated/azure_mgmt_netapp/models/volume_properties_data_protection.rb +50 -0
  92. data/lib/2019-11-01/generated/azure_mgmt_netapp/models/volume_properties_export_policy.rb +58 -0
  93. data/lib/2019-11-01/generated/azure_mgmt_netapp/models/volume_revert.rb +46 -0
  94. data/lib/2019-11-01/generated/azure_mgmt_netapp/module_definition.rb +9 -0
  95. data/lib/2019-11-01/generated/azure_mgmt_netapp/net_app_resource.rb +291 -0
  96. data/lib/2019-11-01/generated/azure_mgmt_netapp/operations.rb +115 -0
  97. data/lib/2019-11-01/generated/azure_mgmt_netapp/pools.rb +737 -0
  98. data/lib/2019-11-01/generated/azure_mgmt_netapp/snapshots.rb +794 -0
  99. data/lib/2019-11-01/generated/azure_mgmt_netapp/volumes.rb +1688 -0
  100. data/lib/2020-02-01/generated/azure_mgmt_netapp.rb +71 -0
  101. data/lib/2020-02-01/generated/azure_mgmt_netapp/accounts.rb +709 -0
  102. data/lib/2020-02-01/generated/azure_mgmt_netapp/azure_net_app_files_management_client.rb +153 -0
  103. data/lib/2020-02-01/generated/azure_mgmt_netapp/models/active_directory.rb +160 -0
  104. data/lib/2020-02-01/generated/azure_mgmt_netapp/models/authorize_request.rb +46 -0
  105. data/lib/2020-02-01/generated/azure_mgmt_netapp/models/capacity_pool.rb +161 -0
  106. data/lib/2020-02-01/generated/azure_mgmt_netapp/models/capacity_pool_list.rb +55 -0
  107. data/lib/2020-02-01/generated/azure_mgmt_netapp/models/capacity_pool_patch.rb +133 -0
  108. data/lib/2020-02-01/generated/azure_mgmt_netapp/models/check_name_resource_types.rb +18 -0
  109. data/lib/2020-02-01/generated/azure_mgmt_netapp/models/dimension.rb +57 -0
  110. data/lib/2020-02-01/generated/azure_mgmt_netapp/models/endpoint_type.rb +16 -0
  111. data/lib/2020-02-01/generated/azure_mgmt_netapp/models/export_policy_rule.rb +115 -0
  112. data/lib/2020-02-01/generated/azure_mgmt_netapp/models/in_availability_reason_type.rb +16 -0
  113. data/lib/2020-02-01/generated/azure_mgmt_netapp/models/metric_specification.rb +145 -0
  114. data/lib/2020-02-01/generated/azure_mgmt_netapp/models/mirror_state.rb +17 -0
  115. data/lib/2020-02-01/generated/azure_mgmt_netapp/models/mount_target.rb +218 -0
  116. data/lib/2020-02-01/generated/azure_mgmt_netapp/models/mount_target_properties.rb +152 -0
  117. data/lib/2020-02-01/generated/azure_mgmt_netapp/models/net_app_account.rb +133 -0
  118. data/lib/2020-02-01/generated/azure_mgmt_netapp/models/net_app_account_list.rb +55 -0
  119. data/lib/2020-02-01/generated/azure_mgmt_netapp/models/net_app_account_patch.rb +133 -0
  120. data/lib/2020-02-01/generated/azure_mgmt_netapp/models/operation.rb +83 -0
  121. data/lib/2020-02-01/generated/azure_mgmt_netapp/models/operation_display.rb +79 -0
  122. data/lib/2020-02-01/generated/azure_mgmt_netapp/models/operation_list_result.rb +57 -0
  123. data/lib/2020-02-01/generated/azure_mgmt_netapp/models/relationship_status.rb +16 -0
  124. data/lib/2020-02-01/generated/azure_mgmt_netapp/models/replication_object.rb +94 -0
  125. data/lib/2020-02-01/generated/azure_mgmt_netapp/models/replication_schedule.rb +19 -0
  126. data/lib/2020-02-01/generated/azure_mgmt_netapp/models/replication_status.rb +93 -0
  127. data/lib/2020-02-01/generated/azure_mgmt_netapp/models/resource_name_availability.rb +78 -0
  128. data/lib/2020-02-01/generated/azure_mgmt_netapp/models/resource_name_availability_request.rb +72 -0
  129. data/lib/2020-02-01/generated/azure_mgmt_netapp/models/service_level.rb +17 -0
  130. data/lib/2020-02-01/generated/azure_mgmt_netapp/models/service_specification.rb +56 -0
  131. data/lib/2020-02-01/generated/azure_mgmt_netapp/models/snapshot.rb +123 -0
  132. data/lib/2020-02-01/generated/azure_mgmt_netapp/models/snapshots_list.rb +55 -0
  133. data/lib/2020-02-01/generated/azure_mgmt_netapp/models/volume.rb +328 -0
  134. data/lib/2020-02-01/generated/azure_mgmt_netapp/models/volume_list.rb +55 -0
  135. data/lib/2020-02-01/generated/azure_mgmt_netapp/models/volume_patch.rb +147 -0
  136. data/lib/2020-02-01/generated/azure_mgmt_netapp/models/volume_patch_properties_export_policy.rb +58 -0
  137. data/lib/2020-02-01/generated/azure_mgmt_netapp/models/volume_properties_data_protection.rb +62 -0
  138. data/lib/2020-02-01/generated/azure_mgmt_netapp/models/volume_properties_export_policy.rb +58 -0
  139. data/lib/2020-02-01/generated/azure_mgmt_netapp/models/volume_revert.rb +46 -0
  140. data/lib/2020-02-01/generated/azure_mgmt_netapp/models/volume_snapshot_properties.rb +46 -0
  141. data/lib/2020-02-01/generated/azure_mgmt_netapp/module_definition.rb +9 -0
  142. data/lib/2020-02-01/generated/azure_mgmt_netapp/net_app_resource.rb +291 -0
  143. data/lib/2020-02-01/generated/azure_mgmt_netapp/operations.rb +115 -0
  144. data/lib/2020-02-01/generated/azure_mgmt_netapp/pools.rb +737 -0
  145. data/lib/2020-02-01/generated/azure_mgmt_netapp/snapshots.rb +794 -0
  146. data/lib/2020-02-01/generated/azure_mgmt_netapp/volumes.rb +1688 -0
  147. data/lib/azure_mgmt_netapp.rb +3 -0
  148. data/lib/profiles/latest/modules/netapp_profile_module.rb +120 -94
  149. data/lib/version.rb +1 -1
  150. metadata +144 -4
@@ -0,0 +1,1688 @@
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_02_01
7
+ #
8
+ # Microsoft NetApp Azure Resource Provider specification
9
+ #
10
+ class Volumes
11
+ include MsRestAzure
12
+
13
+ #
14
+ # Creates and initializes a new instance of the Volumes class.
15
+ # @param client service class for accessing basic functionality.
16
+ #
17
+ def initialize(client)
18
+ @client = client
19
+ end
20
+
21
+ # @return [AzureNetAppFilesManagementClient] reference to the AzureNetAppFilesManagementClient
22
+ attr_reader :client
23
+
24
+ #
25
+ # Describe all volumes
26
+ #
27
+ # List all volumes within the capacity pool
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 custom_headers [Hash{String => String}] A hash of custom headers that
33
+ # will be added to the HTTP request.
34
+ #
35
+ # @return [VolumeList] operation results.
36
+ #
37
+ def list(resource_group_name, account_name, pool_name, custom_headers:nil)
38
+ response = list_async(resource_group_name, account_name, pool_name, custom_headers:custom_headers).value!
39
+ response.body unless response.nil?
40
+ end
41
+
42
+ #
43
+ # Describe all volumes
44
+ #
45
+ # List all volumes within the capacity pool
46
+ #
47
+ # @param resource_group_name [String] The name of the resource group.
48
+ # @param account_name [String] The name of the NetApp account
49
+ # @param pool_name [String] The name of the capacity pool
50
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
51
+ # will be added to the HTTP request.
52
+ #
53
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
54
+ #
55
+ def list_with_http_info(resource_group_name, account_name, pool_name, custom_headers:nil)
56
+ list_async(resource_group_name, account_name, pool_name, custom_headers:custom_headers).value!
57
+ end
58
+
59
+ #
60
+ # Describe all volumes
61
+ #
62
+ # List all volumes within the capacity pool
63
+ #
64
+ # @param resource_group_name [String] The name of the resource group.
65
+ # @param account_name [String] The name of the NetApp account
66
+ # @param pool_name [String] The name of the capacity pool
67
+ # @param [Hash{String => String}] A hash of custom headers that will be added
68
+ # to the HTTP request.
69
+ #
70
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
71
+ #
72
+ def list_async(resource_group_name, account_name, pool_name, custom_headers:nil)
73
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
74
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
75
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'MaxLength': '90'" if !resource_group_name.nil? && resource_group_name.length > 90
76
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'MinLength': '1'" if !resource_group_name.nil? && resource_group_name.length < 1
77
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'Pattern': '^[-\w\._\(\)]+$'" if !resource_group_name.nil? && resource_group_name.match(Regexp.new('^^[-\w\._\(\)]+$$')).nil?
78
+ fail ArgumentError, 'account_name is nil' if account_name.nil?
79
+ fail ArgumentError, 'pool_name is nil' if pool_name.nil?
80
+ fail ArgumentError, "'pool_name' should satisfy the constraint - 'MaxLength': '64'" if !pool_name.nil? && pool_name.length > 64
81
+ fail ArgumentError, "'pool_name' should satisfy the constraint - 'MinLength': '1'" if !pool_name.nil? && pool_name.length < 1
82
+ 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?
83
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
84
+
85
+
86
+ request_headers = {}
87
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
88
+
89
+ # Set Headers
90
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
91
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
92
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes'
93
+
94
+ request_url = @base_url || @client.base_url
95
+
96
+ options = {
97
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
98
+ path_params: {'subscriptionId' => @client.subscription_id,'resourceGroupName' => resource_group_name,'accountName' => account_name,'poolName' => pool_name},
99
+ query_params: {'api-version' => @client.api_version},
100
+ headers: request_headers.merge(custom_headers || {}),
101
+ base_url: request_url
102
+ }
103
+ promise = @client.make_request_async(:get, path_template, options)
104
+
105
+ promise = promise.then do |result|
106
+ http_response = result.response
107
+ status_code = http_response.status
108
+ response_content = http_response.body
109
+ unless status_code == 200
110
+ error_model = JSON.load(response_content)
111
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
112
+ end
113
+
114
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
115
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
116
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
117
+ # Deserialize Response
118
+ if status_code == 200
119
+ begin
120
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
121
+ result_mapper = Azure::NetApp::Mgmt::V2020_02_01::Models::VolumeList.mapper()
122
+ result.body = @client.deserialize(result_mapper, parsed_response)
123
+ rescue Exception => e
124
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
125
+ end
126
+ end
127
+
128
+ result
129
+ end
130
+
131
+ promise.execute
132
+ end
133
+
134
+ #
135
+ # Describe a volume
136
+ #
137
+ # Get the details of the specified volume
138
+ #
139
+ # @param resource_group_name [String] The name of the resource group.
140
+ # @param account_name [String] The name of the NetApp account
141
+ # @param pool_name [String] The name of the capacity pool
142
+ # @param volume_name [String] The name of the volume
143
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
144
+ # will be added to the HTTP request.
145
+ #
146
+ # @return [Volume] operation results.
147
+ #
148
+ def get(resource_group_name, account_name, pool_name, volume_name, custom_headers:nil)
149
+ response = get_async(resource_group_name, account_name, pool_name, volume_name, custom_headers:custom_headers).value!
150
+ response.body unless response.nil?
151
+ end
152
+
153
+ #
154
+ # Describe a volume
155
+ #
156
+ # Get the details of the specified volume
157
+ #
158
+ # @param resource_group_name [String] The name of the resource group.
159
+ # @param account_name [String] The name of the NetApp account
160
+ # @param pool_name [String] The name of the capacity pool
161
+ # @param volume_name [String] The name of the volume
162
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
163
+ # will be added to the HTTP request.
164
+ #
165
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
166
+ #
167
+ def get_with_http_info(resource_group_name, account_name, pool_name, volume_name, custom_headers:nil)
168
+ get_async(resource_group_name, account_name, pool_name, volume_name, custom_headers:custom_headers).value!
169
+ end
170
+
171
+ #
172
+ # Describe a volume
173
+ #
174
+ # Get the details of the specified volume
175
+ #
176
+ # @param resource_group_name [String] The name of the resource group.
177
+ # @param account_name [String] The name of the NetApp account
178
+ # @param pool_name [String] The name of the capacity pool
179
+ # @param volume_name [String] The name of the volume
180
+ # @param [Hash{String => String}] A hash of custom headers that will be added
181
+ # to the HTTP request.
182
+ #
183
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
184
+ #
185
+ def get_async(resource_group_name, account_name, pool_name, volume_name, custom_headers:nil)
186
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
187
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
188
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'MaxLength': '90'" if !resource_group_name.nil? && resource_group_name.length > 90
189
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'MinLength': '1'" if !resource_group_name.nil? && resource_group_name.length < 1
190
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'Pattern': '^[-\w\._\(\)]+$'" if !resource_group_name.nil? && resource_group_name.match(Regexp.new('^^[-\w\._\(\)]+$$')).nil?
191
+ fail ArgumentError, 'account_name is nil' if account_name.nil?
192
+ fail ArgumentError, 'pool_name is nil' if pool_name.nil?
193
+ fail ArgumentError, "'pool_name' should satisfy the constraint - 'MaxLength': '64'" if !pool_name.nil? && pool_name.length > 64
194
+ fail ArgumentError, "'pool_name' should satisfy the constraint - 'MinLength': '1'" if !pool_name.nil? && pool_name.length < 1
195
+ 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?
196
+ fail ArgumentError, 'volume_name is nil' if volume_name.nil?
197
+ fail ArgumentError, "'volume_name' should satisfy the constraint - 'MaxLength': '64'" if !volume_name.nil? && volume_name.length > 64
198
+ fail ArgumentError, "'volume_name' should satisfy the constraint - 'MinLength': '1'" if !volume_name.nil? && volume_name.length < 1
199
+ 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?
200
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
201
+
202
+
203
+ request_headers = {}
204
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
205
+
206
+ # Set Headers
207
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
208
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
209
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}'
210
+
211
+ request_url = @base_url || @client.base_url
212
+
213
+ options = {
214
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
215
+ path_params: {'subscriptionId' => @client.subscription_id,'resourceGroupName' => resource_group_name,'accountName' => account_name,'poolName' => pool_name,'volumeName' => volume_name},
216
+ query_params: {'api-version' => @client.api_version},
217
+ headers: request_headers.merge(custom_headers || {}),
218
+ base_url: request_url
219
+ }
220
+ promise = @client.make_request_async(:get, path_template, options)
221
+
222
+ promise = promise.then do |result|
223
+ http_response = result.response
224
+ status_code = http_response.status
225
+ response_content = http_response.body
226
+ unless status_code == 200
227
+ error_model = JSON.load(response_content)
228
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
229
+ end
230
+
231
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
232
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
233
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
234
+ # Deserialize Response
235
+ if status_code == 200
236
+ begin
237
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
238
+ result_mapper = Azure::NetApp::Mgmt::V2020_02_01::Models::Volume.mapper()
239
+ result.body = @client.deserialize(result_mapper, parsed_response)
240
+ rescue Exception => e
241
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
242
+ end
243
+ end
244
+
245
+ result
246
+ end
247
+
248
+ promise.execute
249
+ end
250
+
251
+ #
252
+ # Create or Update a volume
253
+ #
254
+ # Create or update the specified volume within the capacity pool
255
+ #
256
+ # @param body [Volume] Volume object supplied in the body of the operation.
257
+ # @param resource_group_name [String] The name of the resource group.
258
+ # @param account_name [String] The name of the NetApp account
259
+ # @param pool_name [String] The name of the capacity pool
260
+ # @param volume_name [String] The name of the volume
261
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
262
+ # will be added to the HTTP request.
263
+ #
264
+ # @return [Volume] operation results.
265
+ #
266
+ def create_or_update(body, resource_group_name, account_name, pool_name, volume_name, custom_headers:nil)
267
+ response = create_or_update_async(body, resource_group_name, account_name, pool_name, volume_name, custom_headers:custom_headers).value!
268
+ response.body unless response.nil?
269
+ end
270
+
271
+ #
272
+ # @param body [Volume] Volume object supplied in the body of the operation.
273
+ # @param resource_group_name [String] The name of the resource group.
274
+ # @param account_name [String] The name of the NetApp account
275
+ # @param pool_name [String] The name of the capacity pool
276
+ # @param volume_name [String] The name of the volume
277
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
278
+ # will be added to the HTTP request.
279
+ #
280
+ # @return [Concurrent::Promise] promise which provides async access to http
281
+ # response.
282
+ #
283
+ def create_or_update_async(body, resource_group_name, account_name, pool_name, volume_name, custom_headers:nil)
284
+ # Send request
285
+ promise = begin_create_or_update_async(body, resource_group_name, account_name, pool_name, volume_name, custom_headers:custom_headers)
286
+
287
+ promise = promise.then do |response|
288
+ # Defining deserialization method.
289
+ deserialize_method = lambda do |parsed_response|
290
+ result_mapper = Azure::NetApp::Mgmt::V2020_02_01::Models::Volume.mapper()
291
+ parsed_response = @client.deserialize(result_mapper, parsed_response)
292
+ end
293
+
294
+ # Waiting for response.
295
+ @client.get_long_running_operation_result(response, deserialize_method)
296
+ end
297
+
298
+ promise
299
+ end
300
+
301
+ #
302
+ # Update a volume
303
+ #
304
+ # Patch the specified volume
305
+ #
306
+ # @param body [VolumePatch] Volume object supplied in the body of the
307
+ # operation.
308
+ # @param resource_group_name [String] The name of the resource group.
309
+ # @param account_name [String] The name of the NetApp account
310
+ # @param pool_name [String] The name of the capacity pool
311
+ # @param volume_name [String] The name of the volume
312
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
313
+ # will be added to the HTTP request.
314
+ #
315
+ # @return [Volume] operation results.
316
+ #
317
+ def update(body, resource_group_name, account_name, pool_name, volume_name, custom_headers:nil)
318
+ response = update_async(body, resource_group_name, account_name, pool_name, volume_name, custom_headers:custom_headers).value!
319
+ response.body unless response.nil?
320
+ end
321
+
322
+ #
323
+ # @param body [VolumePatch] Volume object supplied in the body of the
324
+ # operation.
325
+ # @param resource_group_name [String] The name of the resource group.
326
+ # @param account_name [String] The name of the NetApp account
327
+ # @param pool_name [String] The name of the capacity pool
328
+ # @param volume_name [String] The name of the volume
329
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
330
+ # will be added to the HTTP request.
331
+ #
332
+ # @return [Concurrent::Promise] promise which provides async access to http
333
+ # response.
334
+ #
335
+ def update_async(body, resource_group_name, account_name, pool_name, volume_name, custom_headers:nil)
336
+ # Send request
337
+ promise = begin_update_async(body, resource_group_name, account_name, pool_name, volume_name, custom_headers:custom_headers)
338
+
339
+ promise = promise.then do |response|
340
+ # Defining deserialization method.
341
+ deserialize_method = lambda do |parsed_response|
342
+ result_mapper = Azure::NetApp::Mgmt::V2020_02_01::Models::Volume.mapper()
343
+ parsed_response = @client.deserialize(result_mapper, parsed_response)
344
+ end
345
+
346
+ # Waiting for response.
347
+ @client.get_long_running_operation_result(response, deserialize_method)
348
+ end
349
+
350
+ promise
351
+ end
352
+
353
+ #
354
+ # Delete a volume
355
+ #
356
+ # Delete the specified volume
357
+ #
358
+ # @param resource_group_name [String] The name of the resource group.
359
+ # @param account_name [String] The name of the NetApp account
360
+ # @param pool_name [String] The name of the capacity pool
361
+ # @param volume_name [String] The name of the volume
362
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
363
+ # will be added to the HTTP request.
364
+ #
365
+ def delete(resource_group_name, account_name, pool_name, volume_name, custom_headers:nil)
366
+ response = delete_async(resource_group_name, account_name, pool_name, volume_name, custom_headers:custom_headers).value!
367
+ nil
368
+ end
369
+
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 custom_headers [Hash{String => String}] A hash of custom headers that
376
+ # will be added to the HTTP request.
377
+ #
378
+ # @return [Concurrent::Promise] promise which provides async access to http
379
+ # response.
380
+ #
381
+ def delete_async(resource_group_name, account_name, pool_name, volume_name, custom_headers:nil)
382
+ # Send request
383
+ promise = begin_delete_async(resource_group_name, account_name, pool_name, volume_name, custom_headers:custom_headers)
384
+
385
+ promise = promise.then do |response|
386
+ # Defining deserialization method.
387
+ deserialize_method = lambda do |parsed_response|
388
+ end
389
+
390
+ # Waiting for response.
391
+ @client.get_long_running_operation_result(response, deserialize_method)
392
+ end
393
+
394
+ promise
395
+ end
396
+
397
+ #
398
+ # Revert a volume to one of its snapshots
399
+ #
400
+ # Revert a volume to the snapshot specified in the body
401
+ #
402
+ # @param resource_group_name [String] The name of the resource group.
403
+ # @param account_name [String] The name of the NetApp account
404
+ # @param pool_name [String] The name of the capacity pool
405
+ # @param volume_name [String] The name of the volume
406
+ # @param body [VolumeRevert] Object for snapshot to revert supplied in the body
407
+ # of the operation.
408
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
409
+ # will be added to the HTTP request.
410
+ #
411
+ def revert(resource_group_name, account_name, pool_name, volume_name, body, custom_headers:nil)
412
+ response = revert_async(resource_group_name, account_name, pool_name, volume_name, body, custom_headers:custom_headers).value!
413
+ nil
414
+ end
415
+
416
+ #
417
+ # @param resource_group_name [String] The name of the resource group.
418
+ # @param account_name [String] The name of the NetApp account
419
+ # @param pool_name [String] The name of the capacity pool
420
+ # @param volume_name [String] The name of the volume
421
+ # @param body [VolumeRevert] Object for snapshot to revert supplied in the body
422
+ # of the operation.
423
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
424
+ # will be added to the HTTP request.
425
+ #
426
+ # @return [Concurrent::Promise] promise which provides async access to http
427
+ # response.
428
+ #
429
+ def revert_async(resource_group_name, account_name, pool_name, volume_name, body, custom_headers:nil)
430
+ # Send request
431
+ promise = begin_revert_async(resource_group_name, account_name, pool_name, volume_name, body, custom_headers:custom_headers)
432
+
433
+ promise = promise.then do |response|
434
+ # Defining deserialization method.
435
+ deserialize_method = lambda do |parsed_response|
436
+ end
437
+
438
+ # Waiting for response.
439
+ @client.get_long_running_operation_result(response, deserialize_method)
440
+ end
441
+
442
+ promise
443
+ end
444
+
445
+ #
446
+ # Break volume replication
447
+ #
448
+ # Break the replication connection on the destination volume
449
+ #
450
+ # @param resource_group_name [String] The name of the resource group.
451
+ # @param account_name [String] The name of the NetApp account
452
+ # @param pool_name [String] The name of the capacity pool
453
+ # @param volume_name [String] The name of the volume
454
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
455
+ # will be added to the HTTP request.
456
+ #
457
+ def break_replication(resource_group_name, account_name, pool_name, volume_name, custom_headers:nil)
458
+ response = break_replication_async(resource_group_name, account_name, pool_name, volume_name, custom_headers:custom_headers).value!
459
+ nil
460
+ end
461
+
462
+ #
463
+ # @param resource_group_name [String] The name of the resource group.
464
+ # @param account_name [String] The name of the NetApp account
465
+ # @param pool_name [String] The name of the capacity pool
466
+ # @param volume_name [String] The name of the volume
467
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
468
+ # will be added to the HTTP request.
469
+ #
470
+ # @return [Concurrent::Promise] promise which provides async access to http
471
+ # response.
472
+ #
473
+ def break_replication_async(resource_group_name, account_name, pool_name, volume_name, custom_headers:nil)
474
+ # Send request
475
+ promise = begin_break_replication_async(resource_group_name, account_name, pool_name, volume_name, custom_headers:custom_headers)
476
+
477
+ promise = promise.then do |response|
478
+ # Defining deserialization method.
479
+ deserialize_method = lambda do |parsed_response|
480
+ end
481
+
482
+ # Waiting for response.
483
+ @client.get_long_running_operation_result(response, deserialize_method)
484
+ end
485
+
486
+ promise
487
+ end
488
+
489
+ #
490
+ # Get volume replication status
491
+ #
492
+ # Get the status of the replication
493
+ #
494
+ # @param resource_group_name [String] The name of the resource group.
495
+ # @param account_name [String] The name of the NetApp account
496
+ # @param pool_name [String] The name of the capacity pool
497
+ # @param volume_name [String] The name of the volume
498
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
499
+ # will be added to the HTTP request.
500
+ #
501
+ # @return [ReplicationStatus] operation results.
502
+ #
503
+ def replication_status_method(resource_group_name, account_name, pool_name, volume_name, custom_headers:nil)
504
+ response = replication_status_method_async(resource_group_name, account_name, pool_name, volume_name, custom_headers:custom_headers).value!
505
+ response.body unless response.nil?
506
+ end
507
+
508
+ #
509
+ # Get volume replication status
510
+ #
511
+ # Get the status of the replication
512
+ #
513
+ # @param resource_group_name [String] The name of the resource group.
514
+ # @param account_name [String] The name of the NetApp account
515
+ # @param pool_name [String] The name of the capacity pool
516
+ # @param volume_name [String] The name of the volume
517
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
518
+ # will be added to the HTTP request.
519
+ #
520
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
521
+ #
522
+ def replication_status_method_with_http_info(resource_group_name, account_name, pool_name, volume_name, custom_headers:nil)
523
+ replication_status_method_async(resource_group_name, account_name, pool_name, volume_name, custom_headers:custom_headers).value!
524
+ end
525
+
526
+ #
527
+ # Get volume replication status
528
+ #
529
+ # Get the status of the replication
530
+ #
531
+ # @param resource_group_name [String] The name of the resource group.
532
+ # @param account_name [String] The name of the NetApp account
533
+ # @param pool_name [String] The name of the capacity pool
534
+ # @param volume_name [String] The name of the volume
535
+ # @param [Hash{String => String}] A hash of custom headers that will be added
536
+ # to the HTTP request.
537
+ #
538
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
539
+ #
540
+ def replication_status_method_async(resource_group_name, account_name, pool_name, volume_name, custom_headers:nil)
541
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
542
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
543
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'MaxLength': '90'" if !resource_group_name.nil? && resource_group_name.length > 90
544
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'MinLength': '1'" if !resource_group_name.nil? && resource_group_name.length < 1
545
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'Pattern': '^[-\w\._\(\)]+$'" if !resource_group_name.nil? && resource_group_name.match(Regexp.new('^^[-\w\._\(\)]+$$')).nil?
546
+ fail ArgumentError, 'account_name is nil' if account_name.nil?
547
+ fail ArgumentError, 'pool_name is nil' if pool_name.nil?
548
+ fail ArgumentError, "'pool_name' should satisfy the constraint - 'MaxLength': '64'" if !pool_name.nil? && pool_name.length > 64
549
+ fail ArgumentError, "'pool_name' should satisfy the constraint - 'MinLength': '1'" if !pool_name.nil? && pool_name.length < 1
550
+ 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?
551
+ fail ArgumentError, 'volume_name is nil' if volume_name.nil?
552
+ fail ArgumentError, "'volume_name' should satisfy the constraint - 'MaxLength': '64'" if !volume_name.nil? && volume_name.length > 64
553
+ fail ArgumentError, "'volume_name' should satisfy the constraint - 'MinLength': '1'" if !volume_name.nil? && volume_name.length < 1
554
+ 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?
555
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
556
+
557
+
558
+ request_headers = {}
559
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
560
+
561
+ # Set Headers
562
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
563
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
564
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/replicationStatus'
565
+
566
+ request_url = @base_url || @client.base_url
567
+
568
+ options = {
569
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
570
+ path_params: {'subscriptionId' => @client.subscription_id,'resourceGroupName' => resource_group_name,'accountName' => account_name,'poolName' => pool_name,'volumeName' => volume_name},
571
+ query_params: {'api-version' => @client.api_version},
572
+ headers: request_headers.merge(custom_headers || {}),
573
+ base_url: request_url
574
+ }
575
+ promise = @client.make_request_async(:get, path_template, options)
576
+
577
+ promise = promise.then do |result|
578
+ http_response = result.response
579
+ status_code = http_response.status
580
+ response_content = http_response.body
581
+ unless status_code == 200
582
+ error_model = JSON.load(response_content)
583
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
584
+ end
585
+
586
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
587
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
588
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
589
+ # Deserialize Response
590
+ if status_code == 200
591
+ begin
592
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
593
+ result_mapper = Azure::NetApp::Mgmt::V2020_02_01::Models::ReplicationStatus.mapper()
594
+ result.body = @client.deserialize(result_mapper, parsed_response)
595
+ rescue Exception => e
596
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
597
+ end
598
+ end
599
+
600
+ result
601
+ end
602
+
603
+ promise.execute
604
+ end
605
+
606
+ #
607
+ # Resync volume replication
608
+ #
609
+ # Resync the connection on the destination volume. If the operation is ran on
610
+ # the source volume it will reverse-resync the connection and sync from source
611
+ # to destination.
612
+ #
613
+ # @param resource_group_name [String] The name of the resource group.
614
+ # @param account_name [String] The name of the NetApp account
615
+ # @param pool_name [String] The name of the capacity pool
616
+ # @param volume_name [String] The name of the volume
617
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
618
+ # will be added to the HTTP request.
619
+ #
620
+ def resync_replication(resource_group_name, account_name, pool_name, volume_name, custom_headers:nil)
621
+ response = resync_replication_async(resource_group_name, account_name, pool_name, volume_name, custom_headers:custom_headers).value!
622
+ nil
623
+ end
624
+
625
+ #
626
+ # @param resource_group_name [String] The name of the resource group.
627
+ # @param account_name [String] The name of the NetApp account
628
+ # @param pool_name [String] The name of the capacity pool
629
+ # @param volume_name [String] The name of the volume
630
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
631
+ # will be added to the HTTP request.
632
+ #
633
+ # @return [Concurrent::Promise] promise which provides async access to http
634
+ # response.
635
+ #
636
+ def resync_replication_async(resource_group_name, account_name, pool_name, volume_name, custom_headers:nil)
637
+ # Send request
638
+ promise = begin_resync_replication_async(resource_group_name, account_name, pool_name, volume_name, custom_headers:custom_headers)
639
+
640
+ promise = promise.then do |response|
641
+ # Defining deserialization method.
642
+ deserialize_method = lambda do |parsed_response|
643
+ end
644
+
645
+ # Waiting for response.
646
+ @client.get_long_running_operation_result(response, deserialize_method)
647
+ end
648
+
649
+ promise
650
+ end
651
+
652
+ #
653
+ # Delete volume replication
654
+ #
655
+ # Delete the replication connection on the destination volume, and send release
656
+ # to the source replication
657
+ #
658
+ # @param resource_group_name [String] The name of the resource group.
659
+ # @param account_name [String] The name of the NetApp account
660
+ # @param pool_name [String] The name of the capacity pool
661
+ # @param volume_name [String] The name of the volume
662
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
663
+ # will be added to the HTTP request.
664
+ #
665
+ def delete_replication(resource_group_name, account_name, pool_name, volume_name, custom_headers:nil)
666
+ response = delete_replication_async(resource_group_name, account_name, pool_name, volume_name, custom_headers:custom_headers).value!
667
+ nil
668
+ end
669
+
670
+ #
671
+ # @param resource_group_name [String] The name of the resource group.
672
+ # @param account_name [String] The name of the NetApp account
673
+ # @param pool_name [String] The name of the capacity pool
674
+ # @param volume_name [String] The name of the volume
675
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
676
+ # will be added to the HTTP request.
677
+ #
678
+ # @return [Concurrent::Promise] promise which provides async access to http
679
+ # response.
680
+ #
681
+ def delete_replication_async(resource_group_name, account_name, pool_name, volume_name, custom_headers:nil)
682
+ # Send request
683
+ promise = begin_delete_replication_async(resource_group_name, account_name, pool_name, volume_name, custom_headers:custom_headers)
684
+
685
+ promise = promise.then do |response|
686
+ # Defining deserialization method.
687
+ deserialize_method = lambda do |parsed_response|
688
+ end
689
+
690
+ # Waiting for response.
691
+ @client.get_long_running_operation_result(response, deserialize_method)
692
+ end
693
+
694
+ promise
695
+ end
696
+
697
+ #
698
+ # Authorize source volume replication
699
+ #
700
+ # Authorize the replication connection on the source volume
701
+ #
702
+ # @param resource_group_name [String] The name of the resource group.
703
+ # @param account_name [String] The name of the NetApp account
704
+ # @param pool_name [String] The name of the capacity pool
705
+ # @param volume_name [String] The name of the volume
706
+ # @param body [AuthorizeRequest] Authorize request object supplied in the body
707
+ # of the operation.
708
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
709
+ # will be added to the HTTP request.
710
+ #
711
+ def authorize_replication(resource_group_name, account_name, pool_name, volume_name, body, custom_headers:nil)
712
+ response = authorize_replication_async(resource_group_name, account_name, pool_name, volume_name, body, custom_headers:custom_headers).value!
713
+ nil
714
+ end
715
+
716
+ #
717
+ # @param resource_group_name [String] The name of the resource group.
718
+ # @param account_name [String] The name of the NetApp account
719
+ # @param pool_name [String] The name of the capacity pool
720
+ # @param volume_name [String] The name of the volume
721
+ # @param body [AuthorizeRequest] Authorize request object supplied in the body
722
+ # of the operation.
723
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
724
+ # will be added to the HTTP request.
725
+ #
726
+ # @return [Concurrent::Promise] promise which provides async access to http
727
+ # response.
728
+ #
729
+ def authorize_replication_async(resource_group_name, account_name, pool_name, volume_name, body, custom_headers:nil)
730
+ # Send request
731
+ promise = begin_authorize_replication_async(resource_group_name, account_name, pool_name, volume_name, body, custom_headers:custom_headers)
732
+
733
+ promise = promise.then do |response|
734
+ # Defining deserialization method.
735
+ deserialize_method = lambda do |parsed_response|
736
+ end
737
+
738
+ # Waiting for response.
739
+ @client.get_long_running_operation_result(response, deserialize_method)
740
+ end
741
+
742
+ promise
743
+ end
744
+
745
+ #
746
+ # Create or Update a volume
747
+ #
748
+ # Create or update the specified volume within the capacity pool
749
+ #
750
+ # @param body [Volume] Volume object supplied in the body of the operation.
751
+ # @param resource_group_name [String] The name of the resource group.
752
+ # @param account_name [String] The name of the NetApp account
753
+ # @param pool_name [String] The name of the capacity pool
754
+ # @param volume_name [String] The name of the volume
755
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
756
+ # will be added to the HTTP request.
757
+ #
758
+ # @return [Volume] operation results.
759
+ #
760
+ def begin_create_or_update(body, resource_group_name, account_name, pool_name, volume_name, custom_headers:nil)
761
+ response = begin_create_or_update_async(body, resource_group_name, account_name, pool_name, volume_name, custom_headers:custom_headers).value!
762
+ response.body unless response.nil?
763
+ end
764
+
765
+ #
766
+ # Create or Update a volume
767
+ #
768
+ # Create or update the specified volume within the capacity pool
769
+ #
770
+ # @param body [Volume] Volume object supplied in the body of the operation.
771
+ # @param resource_group_name [String] The name of the resource group.
772
+ # @param account_name [String] The name of the NetApp account
773
+ # @param pool_name [String] The name of the capacity pool
774
+ # @param volume_name [String] The name of the volume
775
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
776
+ # will be added to the HTTP request.
777
+ #
778
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
779
+ #
780
+ def begin_create_or_update_with_http_info(body, resource_group_name, account_name, pool_name, volume_name, custom_headers:nil)
781
+ begin_create_or_update_async(body, resource_group_name, account_name, pool_name, volume_name, custom_headers:custom_headers).value!
782
+ end
783
+
784
+ #
785
+ # Create or Update a volume
786
+ #
787
+ # Create or update the specified volume within the capacity pool
788
+ #
789
+ # @param body [Volume] Volume object supplied in the body of the operation.
790
+ # @param resource_group_name [String] The name of the resource group.
791
+ # @param account_name [String] The name of the NetApp account
792
+ # @param pool_name [String] The name of the capacity pool
793
+ # @param volume_name [String] The name of the volume
794
+ # @param [Hash{String => String}] A hash of custom headers that will be added
795
+ # to the HTTP request.
796
+ #
797
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
798
+ #
799
+ def begin_create_or_update_async(body, resource_group_name, account_name, pool_name, volume_name, custom_headers:nil)
800
+ fail ArgumentError, 'body is nil' if body.nil?
801
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
802
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
803
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'MaxLength': '90'" if !resource_group_name.nil? && resource_group_name.length > 90
804
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'MinLength': '1'" if !resource_group_name.nil? && resource_group_name.length < 1
805
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'Pattern': '^[-\w\._\(\)]+$'" if !resource_group_name.nil? && resource_group_name.match(Regexp.new('^^[-\w\._\(\)]+$$')).nil?
806
+ fail ArgumentError, 'account_name is nil' if account_name.nil?
807
+ fail ArgumentError, 'pool_name is nil' if pool_name.nil?
808
+ fail ArgumentError, "'pool_name' should satisfy the constraint - 'MaxLength': '64'" if !pool_name.nil? && pool_name.length > 64
809
+ fail ArgumentError, "'pool_name' should satisfy the constraint - 'MinLength': '1'" if !pool_name.nil? && pool_name.length < 1
810
+ 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?
811
+ fail ArgumentError, 'volume_name is nil' if volume_name.nil?
812
+ fail ArgumentError, "'volume_name' should satisfy the constraint - 'MaxLength': '64'" if !volume_name.nil? && volume_name.length > 64
813
+ fail ArgumentError, "'volume_name' should satisfy the constraint - 'MinLength': '1'" if !volume_name.nil? && volume_name.length < 1
814
+ 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?
815
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
816
+
817
+
818
+ request_headers = {}
819
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
820
+
821
+ # Set Headers
822
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
823
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
824
+
825
+ # Serialize Request
826
+ request_mapper = Azure::NetApp::Mgmt::V2020_02_01::Models::Volume.mapper()
827
+ request_content = @client.serialize(request_mapper, body)
828
+ request_content = request_content != nil ? JSON.generate(request_content, quirks_mode: true) : nil
829
+
830
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}'
831
+
832
+ request_url = @base_url || @client.base_url
833
+
834
+ options = {
835
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
836
+ path_params: {'subscriptionId' => @client.subscription_id,'resourceGroupName' => resource_group_name,'accountName' => account_name,'poolName' => pool_name,'volumeName' => volume_name},
837
+ query_params: {'api-version' => @client.api_version},
838
+ body: request_content,
839
+ headers: request_headers.merge(custom_headers || {}),
840
+ base_url: request_url
841
+ }
842
+ promise = @client.make_request_async(:put, path_template, options)
843
+
844
+ promise = promise.then do |result|
845
+ http_response = result.response
846
+ status_code = http_response.status
847
+ response_content = http_response.body
848
+ unless status_code == 200 || status_code == 201 || status_code == 202
849
+ error_model = JSON.load(response_content)
850
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
851
+ end
852
+
853
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
854
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
855
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
856
+ # Deserialize Response
857
+ if status_code == 200
858
+ begin
859
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
860
+ result_mapper = Azure::NetApp::Mgmt::V2020_02_01::Models::Volume.mapper()
861
+ result.body = @client.deserialize(result_mapper, parsed_response)
862
+ rescue Exception => e
863
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
864
+ end
865
+ end
866
+ # Deserialize Response
867
+ if status_code == 201
868
+ begin
869
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
870
+ result_mapper = Azure::NetApp::Mgmt::V2020_02_01::Models::Volume.mapper()
871
+ result.body = @client.deserialize(result_mapper, parsed_response)
872
+ rescue Exception => e
873
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
874
+ end
875
+ end
876
+
877
+ result
878
+ end
879
+
880
+ promise.execute
881
+ end
882
+
883
+ #
884
+ # Update a volume
885
+ #
886
+ # Patch the specified volume
887
+ #
888
+ # @param body [VolumePatch] Volume object supplied in the body of the
889
+ # operation.
890
+ # @param resource_group_name [String] The name of the resource group.
891
+ # @param account_name [String] The name of the NetApp account
892
+ # @param pool_name [String] The name of the capacity pool
893
+ # @param volume_name [String] The name of the volume
894
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
895
+ # will be added to the HTTP request.
896
+ #
897
+ # @return [Volume] operation results.
898
+ #
899
+ def begin_update(body, resource_group_name, account_name, pool_name, volume_name, custom_headers:nil)
900
+ response = begin_update_async(body, resource_group_name, account_name, pool_name, volume_name, custom_headers:custom_headers).value!
901
+ response.body unless response.nil?
902
+ end
903
+
904
+ #
905
+ # Update a volume
906
+ #
907
+ # Patch the specified volume
908
+ #
909
+ # @param body [VolumePatch] Volume object supplied in the body of the
910
+ # operation.
911
+ # @param resource_group_name [String] The name of the resource group.
912
+ # @param account_name [String] The name of the NetApp account
913
+ # @param pool_name [String] The name of the capacity pool
914
+ # @param volume_name [String] The name of the volume
915
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
916
+ # will be added to the HTTP request.
917
+ #
918
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
919
+ #
920
+ def begin_update_with_http_info(body, resource_group_name, account_name, pool_name, volume_name, custom_headers:nil)
921
+ begin_update_async(body, resource_group_name, account_name, pool_name, volume_name, custom_headers:custom_headers).value!
922
+ end
923
+
924
+ #
925
+ # Update a volume
926
+ #
927
+ # Patch the specified volume
928
+ #
929
+ # @param body [VolumePatch] Volume object supplied in the body of the
930
+ # operation.
931
+ # @param resource_group_name [String] The name of the resource group.
932
+ # @param account_name [String] The name of the NetApp account
933
+ # @param pool_name [String] The name of the capacity pool
934
+ # @param volume_name [String] The name of the volume
935
+ # @param [Hash{String => String}] A hash of custom headers that will be added
936
+ # to the HTTP request.
937
+ #
938
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
939
+ #
940
+ def begin_update_async(body, resource_group_name, account_name, pool_name, volume_name, custom_headers:nil)
941
+ fail ArgumentError, 'body is nil' if body.nil?
942
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
943
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
944
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'MaxLength': '90'" if !resource_group_name.nil? && resource_group_name.length > 90
945
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'MinLength': '1'" if !resource_group_name.nil? && resource_group_name.length < 1
946
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'Pattern': '^[-\w\._\(\)]+$'" if !resource_group_name.nil? && resource_group_name.match(Regexp.new('^^[-\w\._\(\)]+$$')).nil?
947
+ fail ArgumentError, 'account_name is nil' if account_name.nil?
948
+ fail ArgumentError, 'pool_name is nil' if pool_name.nil?
949
+ fail ArgumentError, "'pool_name' should satisfy the constraint - 'MaxLength': '64'" if !pool_name.nil? && pool_name.length > 64
950
+ fail ArgumentError, "'pool_name' should satisfy the constraint - 'MinLength': '1'" if !pool_name.nil? && pool_name.length < 1
951
+ 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?
952
+ fail ArgumentError, 'volume_name is nil' if volume_name.nil?
953
+ fail ArgumentError, "'volume_name' should satisfy the constraint - 'MaxLength': '64'" if !volume_name.nil? && volume_name.length > 64
954
+ fail ArgumentError, "'volume_name' should satisfy the constraint - 'MinLength': '1'" if !volume_name.nil? && volume_name.length < 1
955
+ 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?
956
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
957
+
958
+
959
+ request_headers = {}
960
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
961
+
962
+ # Set Headers
963
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
964
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
965
+
966
+ # Serialize Request
967
+ request_mapper = Azure::NetApp::Mgmt::V2020_02_01::Models::VolumePatch.mapper()
968
+ request_content = @client.serialize(request_mapper, body)
969
+ request_content = request_content != nil ? JSON.generate(request_content, quirks_mode: true) : nil
970
+
971
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}'
972
+
973
+ request_url = @base_url || @client.base_url
974
+
975
+ options = {
976
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
977
+ path_params: {'subscriptionId' => @client.subscription_id,'resourceGroupName' => resource_group_name,'accountName' => account_name,'poolName' => pool_name,'volumeName' => volume_name},
978
+ query_params: {'api-version' => @client.api_version},
979
+ body: request_content,
980
+ headers: request_headers.merge(custom_headers || {}),
981
+ base_url: request_url
982
+ }
983
+ promise = @client.make_request_async(:patch, path_template, options)
984
+
985
+ promise = promise.then do |result|
986
+ http_response = result.response
987
+ status_code = http_response.status
988
+ response_content = http_response.body
989
+ unless status_code == 200 || status_code == 202
990
+ error_model = JSON.load(response_content)
991
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
992
+ end
993
+
994
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
995
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
996
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
997
+ # Deserialize Response
998
+ if status_code == 200
999
+ begin
1000
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
1001
+ result_mapper = Azure::NetApp::Mgmt::V2020_02_01::Models::Volume.mapper()
1002
+ result.body = @client.deserialize(result_mapper, parsed_response)
1003
+ rescue Exception => e
1004
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
1005
+ end
1006
+ end
1007
+
1008
+ result
1009
+ end
1010
+
1011
+ promise.execute
1012
+ end
1013
+
1014
+ #
1015
+ # Delete a volume
1016
+ #
1017
+ # Delete the specified volume
1018
+ #
1019
+ # @param resource_group_name [String] The name of the resource group.
1020
+ # @param account_name [String] The name of the NetApp account
1021
+ # @param pool_name [String] The name of the capacity pool
1022
+ # @param volume_name [String] The name of the volume
1023
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
1024
+ # will be added to the HTTP request.
1025
+ #
1026
+ #
1027
+ def begin_delete(resource_group_name, account_name, pool_name, volume_name, custom_headers:nil)
1028
+ response = begin_delete_async(resource_group_name, account_name, pool_name, volume_name, custom_headers:custom_headers).value!
1029
+ nil
1030
+ end
1031
+
1032
+ #
1033
+ # Delete a volume
1034
+ #
1035
+ # Delete the specified volume
1036
+ #
1037
+ # @param resource_group_name [String] The name of the resource group.
1038
+ # @param account_name [String] The name of the NetApp account
1039
+ # @param pool_name [String] The name of the capacity pool
1040
+ # @param volume_name [String] The name of the volume
1041
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
1042
+ # will be added to the HTTP request.
1043
+ #
1044
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
1045
+ #
1046
+ def begin_delete_with_http_info(resource_group_name, account_name, pool_name, volume_name, custom_headers:nil)
1047
+ begin_delete_async(resource_group_name, account_name, pool_name, volume_name, custom_headers:custom_headers).value!
1048
+ end
1049
+
1050
+ #
1051
+ # Delete a volume
1052
+ #
1053
+ # Delete the specified volume
1054
+ #
1055
+ # @param resource_group_name [String] The name of the resource group.
1056
+ # @param account_name [String] The name of the NetApp account
1057
+ # @param pool_name [String] The name of the capacity pool
1058
+ # @param volume_name [String] The name of the volume
1059
+ # @param [Hash{String => String}] A hash of custom headers that will be added
1060
+ # to the HTTP request.
1061
+ #
1062
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
1063
+ #
1064
+ def begin_delete_async(resource_group_name, account_name, pool_name, volume_name, custom_headers:nil)
1065
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
1066
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
1067
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'MaxLength': '90'" if !resource_group_name.nil? && resource_group_name.length > 90
1068
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'MinLength': '1'" if !resource_group_name.nil? && resource_group_name.length < 1
1069
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'Pattern': '^[-\w\._\(\)]+$'" if !resource_group_name.nil? && resource_group_name.match(Regexp.new('^^[-\w\._\(\)]+$$')).nil?
1070
+ fail ArgumentError, 'account_name is nil' if account_name.nil?
1071
+ fail ArgumentError, 'pool_name is nil' if pool_name.nil?
1072
+ fail ArgumentError, "'pool_name' should satisfy the constraint - 'MaxLength': '64'" if !pool_name.nil? && pool_name.length > 64
1073
+ fail ArgumentError, "'pool_name' should satisfy the constraint - 'MinLength': '1'" if !pool_name.nil? && pool_name.length < 1
1074
+ 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?
1075
+ fail ArgumentError, 'volume_name is nil' if volume_name.nil?
1076
+ fail ArgumentError, "'volume_name' should satisfy the constraint - 'MaxLength': '64'" if !volume_name.nil? && volume_name.length > 64
1077
+ fail ArgumentError, "'volume_name' should satisfy the constraint - 'MinLength': '1'" if !volume_name.nil? && volume_name.length < 1
1078
+ 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?
1079
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
1080
+
1081
+
1082
+ request_headers = {}
1083
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
1084
+
1085
+ # Set Headers
1086
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
1087
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
1088
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}'
1089
+
1090
+ request_url = @base_url || @client.base_url
1091
+
1092
+ options = {
1093
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
1094
+ path_params: {'subscriptionId' => @client.subscription_id,'resourceGroupName' => resource_group_name,'accountName' => account_name,'poolName' => pool_name,'volumeName' => volume_name},
1095
+ query_params: {'api-version' => @client.api_version},
1096
+ headers: request_headers.merge(custom_headers || {}),
1097
+ base_url: request_url
1098
+ }
1099
+ promise = @client.make_request_async(:delete, path_template, options)
1100
+
1101
+ promise = promise.then do |result|
1102
+ http_response = result.response
1103
+ status_code = http_response.status
1104
+ response_content = http_response.body
1105
+ unless status_code == 202 || status_code == 204
1106
+ error_model = JSON.load(response_content)
1107
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
1108
+ end
1109
+
1110
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
1111
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
1112
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
1113
+
1114
+ result
1115
+ end
1116
+
1117
+ promise.execute
1118
+ end
1119
+
1120
+ #
1121
+ # Revert a volume to one of its snapshots
1122
+ #
1123
+ # Revert a volume to the snapshot specified in the body
1124
+ #
1125
+ # @param resource_group_name [String] The name of the resource group.
1126
+ # @param account_name [String] The name of the NetApp account
1127
+ # @param pool_name [String] The name of the capacity pool
1128
+ # @param volume_name [String] The name of the volume
1129
+ # @param body [VolumeRevert] Object for snapshot to revert supplied in the body
1130
+ # of the operation.
1131
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
1132
+ # will be added to the HTTP request.
1133
+ #
1134
+ #
1135
+ def begin_revert(resource_group_name, account_name, pool_name, volume_name, body, custom_headers:nil)
1136
+ response = begin_revert_async(resource_group_name, account_name, pool_name, volume_name, body, custom_headers:custom_headers).value!
1137
+ nil
1138
+ end
1139
+
1140
+ #
1141
+ # Revert a volume to one of its snapshots
1142
+ #
1143
+ # Revert a volume to the snapshot specified in the body
1144
+ #
1145
+ # @param resource_group_name [String] The name of the resource group.
1146
+ # @param account_name [String] The name of the NetApp account
1147
+ # @param pool_name [String] The name of the capacity pool
1148
+ # @param volume_name [String] The name of the volume
1149
+ # @param body [VolumeRevert] Object for snapshot to revert supplied in the body
1150
+ # of the operation.
1151
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
1152
+ # will be added to the HTTP request.
1153
+ #
1154
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
1155
+ #
1156
+ def begin_revert_with_http_info(resource_group_name, account_name, pool_name, volume_name, body, custom_headers:nil)
1157
+ begin_revert_async(resource_group_name, account_name, pool_name, volume_name, body, custom_headers:custom_headers).value!
1158
+ end
1159
+
1160
+ #
1161
+ # Revert a volume to one of its snapshots
1162
+ #
1163
+ # Revert a volume to the snapshot specified in the body
1164
+ #
1165
+ # @param resource_group_name [String] The name of the resource group.
1166
+ # @param account_name [String] The name of the NetApp account
1167
+ # @param pool_name [String] The name of the capacity pool
1168
+ # @param volume_name [String] The name of the volume
1169
+ # @param body [VolumeRevert] Object for snapshot to revert supplied in the body
1170
+ # of the operation.
1171
+ # @param [Hash{String => String}] A hash of custom headers that will be added
1172
+ # to the HTTP request.
1173
+ #
1174
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
1175
+ #
1176
+ def begin_revert_async(resource_group_name, account_name, pool_name, volume_name, body, custom_headers:nil)
1177
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
1178
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
1179
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'MaxLength': '90'" if !resource_group_name.nil? && resource_group_name.length > 90
1180
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'MinLength': '1'" if !resource_group_name.nil? && resource_group_name.length < 1
1181
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'Pattern': '^[-\w\._\(\)]+$'" if !resource_group_name.nil? && resource_group_name.match(Regexp.new('^^[-\w\._\(\)]+$$')).nil?
1182
+ fail ArgumentError, 'account_name is nil' if account_name.nil?
1183
+ fail ArgumentError, 'pool_name is nil' if pool_name.nil?
1184
+ fail ArgumentError, "'pool_name' should satisfy the constraint - 'MaxLength': '64'" if !pool_name.nil? && pool_name.length > 64
1185
+ fail ArgumentError, "'pool_name' should satisfy the constraint - 'MinLength': '1'" if !pool_name.nil? && pool_name.length < 1
1186
+ 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?
1187
+ fail ArgumentError, 'volume_name is nil' if volume_name.nil?
1188
+ fail ArgumentError, "'volume_name' should satisfy the constraint - 'MaxLength': '64'" if !volume_name.nil? && volume_name.length > 64
1189
+ fail ArgumentError, "'volume_name' should satisfy the constraint - 'MinLength': '1'" if !volume_name.nil? && volume_name.length < 1
1190
+ 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?
1191
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
1192
+ fail ArgumentError, 'body is nil' if body.nil?
1193
+
1194
+
1195
+ request_headers = {}
1196
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
1197
+
1198
+ # Set Headers
1199
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
1200
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
1201
+
1202
+ # Serialize Request
1203
+ request_mapper = Azure::NetApp::Mgmt::V2020_02_01::Models::VolumeRevert.mapper()
1204
+ request_content = @client.serialize(request_mapper, body)
1205
+ request_content = request_content != nil ? JSON.generate(request_content, quirks_mode: true) : nil
1206
+
1207
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/revert'
1208
+
1209
+ request_url = @base_url || @client.base_url
1210
+
1211
+ options = {
1212
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
1213
+ path_params: {'subscriptionId' => @client.subscription_id,'resourceGroupName' => resource_group_name,'accountName' => account_name,'poolName' => pool_name,'volumeName' => volume_name},
1214
+ query_params: {'api-version' => @client.api_version},
1215
+ body: request_content,
1216
+ headers: request_headers.merge(custom_headers || {}),
1217
+ base_url: request_url
1218
+ }
1219
+ promise = @client.make_request_async(:post, path_template, options)
1220
+
1221
+ promise = promise.then do |result|
1222
+ http_response = result.response
1223
+ status_code = http_response.status
1224
+ response_content = http_response.body
1225
+ unless status_code == 200 || status_code == 202
1226
+ error_model = JSON.load(response_content)
1227
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
1228
+ end
1229
+
1230
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
1231
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
1232
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
1233
+
1234
+ result
1235
+ end
1236
+
1237
+ promise.execute
1238
+ end
1239
+
1240
+ #
1241
+ # Break volume replication
1242
+ #
1243
+ # Break the replication connection on the destination volume
1244
+ #
1245
+ # @param resource_group_name [String] The name of the resource group.
1246
+ # @param account_name [String] The name of the NetApp account
1247
+ # @param pool_name [String] The name of the capacity pool
1248
+ # @param volume_name [String] The name of the volume
1249
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
1250
+ # will be added to the HTTP request.
1251
+ #
1252
+ #
1253
+ def begin_break_replication(resource_group_name, account_name, pool_name, volume_name, custom_headers:nil)
1254
+ response = begin_break_replication_async(resource_group_name, account_name, pool_name, volume_name, custom_headers:custom_headers).value!
1255
+ nil
1256
+ end
1257
+
1258
+ #
1259
+ # Break volume replication
1260
+ #
1261
+ # Break the replication connection on the destination volume
1262
+ #
1263
+ # @param resource_group_name [String] The name of the resource group.
1264
+ # @param account_name [String] The name of the NetApp account
1265
+ # @param pool_name [String] The name of the capacity pool
1266
+ # @param volume_name [String] The name of the volume
1267
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
1268
+ # will be added to the HTTP request.
1269
+ #
1270
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
1271
+ #
1272
+ def begin_break_replication_with_http_info(resource_group_name, account_name, pool_name, volume_name, custom_headers:nil)
1273
+ begin_break_replication_async(resource_group_name, account_name, pool_name, volume_name, custom_headers:custom_headers).value!
1274
+ end
1275
+
1276
+ #
1277
+ # Break volume replication
1278
+ #
1279
+ # Break the replication connection on the destination volume
1280
+ #
1281
+ # @param resource_group_name [String] The name of the resource group.
1282
+ # @param account_name [String] The name of the NetApp account
1283
+ # @param pool_name [String] The name of the capacity pool
1284
+ # @param volume_name [String] The name of the volume
1285
+ # @param [Hash{String => String}] A hash of custom headers that will be added
1286
+ # to the HTTP request.
1287
+ #
1288
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
1289
+ #
1290
+ def begin_break_replication_async(resource_group_name, account_name, pool_name, volume_name, custom_headers:nil)
1291
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
1292
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
1293
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'MaxLength': '90'" if !resource_group_name.nil? && resource_group_name.length > 90
1294
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'MinLength': '1'" if !resource_group_name.nil? && resource_group_name.length < 1
1295
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'Pattern': '^[-\w\._\(\)]+$'" if !resource_group_name.nil? && resource_group_name.match(Regexp.new('^^[-\w\._\(\)]+$$')).nil?
1296
+ fail ArgumentError, 'account_name is nil' if account_name.nil?
1297
+ fail ArgumentError, 'pool_name is nil' if pool_name.nil?
1298
+ fail ArgumentError, "'pool_name' should satisfy the constraint - 'MaxLength': '64'" if !pool_name.nil? && pool_name.length > 64
1299
+ fail ArgumentError, "'pool_name' should satisfy the constraint - 'MinLength': '1'" if !pool_name.nil? && pool_name.length < 1
1300
+ 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?
1301
+ fail ArgumentError, 'volume_name is nil' if volume_name.nil?
1302
+ fail ArgumentError, "'volume_name' should satisfy the constraint - 'MaxLength': '64'" if !volume_name.nil? && volume_name.length > 64
1303
+ fail ArgumentError, "'volume_name' should satisfy the constraint - 'MinLength': '1'" if !volume_name.nil? && volume_name.length < 1
1304
+ 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?
1305
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
1306
+
1307
+
1308
+ request_headers = {}
1309
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
1310
+
1311
+ # Set Headers
1312
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
1313
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
1314
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/breakReplication'
1315
+
1316
+ request_url = @base_url || @client.base_url
1317
+
1318
+ options = {
1319
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
1320
+ path_params: {'subscriptionId' => @client.subscription_id,'resourceGroupName' => resource_group_name,'accountName' => account_name,'poolName' => pool_name,'volumeName' => volume_name},
1321
+ query_params: {'api-version' => @client.api_version},
1322
+ headers: request_headers.merge(custom_headers || {}),
1323
+ base_url: request_url
1324
+ }
1325
+ promise = @client.make_request_async(:post, path_template, options)
1326
+
1327
+ promise = promise.then do |result|
1328
+ http_response = result.response
1329
+ status_code = http_response.status
1330
+ response_content = http_response.body
1331
+ unless status_code == 200 || status_code == 202
1332
+ error_model = JSON.load(response_content)
1333
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
1334
+ end
1335
+
1336
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
1337
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
1338
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
1339
+
1340
+ result
1341
+ end
1342
+
1343
+ promise.execute
1344
+ end
1345
+
1346
+ #
1347
+ # Resync volume replication
1348
+ #
1349
+ # Resync the connection on the destination volume. If the operation is ran on
1350
+ # the source volume it will reverse-resync the connection and sync from source
1351
+ # to destination.
1352
+ #
1353
+ # @param resource_group_name [String] The name of the resource group.
1354
+ # @param account_name [String] The name of the NetApp account
1355
+ # @param pool_name [String] The name of the capacity pool
1356
+ # @param volume_name [String] The name of the volume
1357
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
1358
+ # will be added to the HTTP request.
1359
+ #
1360
+ #
1361
+ def begin_resync_replication(resource_group_name, account_name, pool_name, volume_name, custom_headers:nil)
1362
+ response = begin_resync_replication_async(resource_group_name, account_name, pool_name, volume_name, custom_headers:custom_headers).value!
1363
+ nil
1364
+ end
1365
+
1366
+ #
1367
+ # Resync volume replication
1368
+ #
1369
+ # Resync the connection on the destination volume. If the operation is ran on
1370
+ # the source volume it will reverse-resync the connection and sync from source
1371
+ # to destination.
1372
+ #
1373
+ # @param resource_group_name [String] The name of the resource group.
1374
+ # @param account_name [String] The name of the NetApp account
1375
+ # @param pool_name [String] The name of the capacity pool
1376
+ # @param volume_name [String] The name of the volume
1377
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
1378
+ # will be added to the HTTP request.
1379
+ #
1380
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
1381
+ #
1382
+ def begin_resync_replication_with_http_info(resource_group_name, account_name, pool_name, volume_name, custom_headers:nil)
1383
+ begin_resync_replication_async(resource_group_name, account_name, pool_name, volume_name, custom_headers:custom_headers).value!
1384
+ end
1385
+
1386
+ #
1387
+ # Resync volume replication
1388
+ #
1389
+ # Resync the connection on the destination volume. If the operation is ran on
1390
+ # the source volume it will reverse-resync the connection and sync from source
1391
+ # to destination.
1392
+ #
1393
+ # @param resource_group_name [String] The name of the resource group.
1394
+ # @param account_name [String] The name of the NetApp account
1395
+ # @param pool_name [String] The name of the capacity pool
1396
+ # @param volume_name [String] The name of the volume
1397
+ # @param [Hash{String => String}] A hash of custom headers that will be added
1398
+ # to the HTTP request.
1399
+ #
1400
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
1401
+ #
1402
+ def begin_resync_replication_async(resource_group_name, account_name, pool_name, volume_name, custom_headers:nil)
1403
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
1404
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
1405
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'MaxLength': '90'" if !resource_group_name.nil? && resource_group_name.length > 90
1406
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'MinLength': '1'" if !resource_group_name.nil? && resource_group_name.length < 1
1407
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'Pattern': '^[-\w\._\(\)]+$'" if !resource_group_name.nil? && resource_group_name.match(Regexp.new('^^[-\w\._\(\)]+$$')).nil?
1408
+ fail ArgumentError, 'account_name is nil' if account_name.nil?
1409
+ fail ArgumentError, 'pool_name is nil' if pool_name.nil?
1410
+ fail ArgumentError, "'pool_name' should satisfy the constraint - 'MaxLength': '64'" if !pool_name.nil? && pool_name.length > 64
1411
+ fail ArgumentError, "'pool_name' should satisfy the constraint - 'MinLength': '1'" if !pool_name.nil? && pool_name.length < 1
1412
+ 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?
1413
+ fail ArgumentError, 'volume_name is nil' if volume_name.nil?
1414
+ fail ArgumentError, "'volume_name' should satisfy the constraint - 'MaxLength': '64'" if !volume_name.nil? && volume_name.length > 64
1415
+ fail ArgumentError, "'volume_name' should satisfy the constraint - 'MinLength': '1'" if !volume_name.nil? && volume_name.length < 1
1416
+ 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?
1417
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
1418
+
1419
+
1420
+ request_headers = {}
1421
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
1422
+
1423
+ # Set Headers
1424
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
1425
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
1426
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/resyncReplication'
1427
+
1428
+ request_url = @base_url || @client.base_url
1429
+
1430
+ options = {
1431
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
1432
+ path_params: {'subscriptionId' => @client.subscription_id,'resourceGroupName' => resource_group_name,'accountName' => account_name,'poolName' => pool_name,'volumeName' => volume_name},
1433
+ query_params: {'api-version' => @client.api_version},
1434
+ headers: request_headers.merge(custom_headers || {}),
1435
+ base_url: request_url
1436
+ }
1437
+ promise = @client.make_request_async(:post, path_template, options)
1438
+
1439
+ promise = promise.then do |result|
1440
+ http_response = result.response
1441
+ status_code = http_response.status
1442
+ response_content = http_response.body
1443
+ unless status_code == 200 || status_code == 202
1444
+ error_model = JSON.load(response_content)
1445
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
1446
+ end
1447
+
1448
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
1449
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
1450
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
1451
+
1452
+ result
1453
+ end
1454
+
1455
+ promise.execute
1456
+ end
1457
+
1458
+ #
1459
+ # Delete volume replication
1460
+ #
1461
+ # Delete the replication connection on the destination volume, and send release
1462
+ # to the source replication
1463
+ #
1464
+ # @param resource_group_name [String] The name of the resource group.
1465
+ # @param account_name [String] The name of the NetApp account
1466
+ # @param pool_name [String] The name of the capacity pool
1467
+ # @param volume_name [String] The name of the volume
1468
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
1469
+ # will be added to the HTTP request.
1470
+ #
1471
+ #
1472
+ def begin_delete_replication(resource_group_name, account_name, pool_name, volume_name, custom_headers:nil)
1473
+ response = begin_delete_replication_async(resource_group_name, account_name, pool_name, volume_name, custom_headers:custom_headers).value!
1474
+ nil
1475
+ end
1476
+
1477
+ #
1478
+ # Delete volume replication
1479
+ #
1480
+ # Delete the replication connection on the destination volume, and send release
1481
+ # to the source replication
1482
+ #
1483
+ # @param resource_group_name [String] The name of the resource group.
1484
+ # @param account_name [String] The name of the NetApp account
1485
+ # @param pool_name [String] The name of the capacity pool
1486
+ # @param volume_name [String] The name of the volume
1487
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
1488
+ # will be added to the HTTP request.
1489
+ #
1490
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
1491
+ #
1492
+ def begin_delete_replication_with_http_info(resource_group_name, account_name, pool_name, volume_name, custom_headers:nil)
1493
+ begin_delete_replication_async(resource_group_name, account_name, pool_name, volume_name, custom_headers:custom_headers).value!
1494
+ end
1495
+
1496
+ #
1497
+ # Delete volume replication
1498
+ #
1499
+ # Delete the replication connection on the destination volume, and send release
1500
+ # to the source replication
1501
+ #
1502
+ # @param resource_group_name [String] The name of the resource group.
1503
+ # @param account_name [String] The name of the NetApp account
1504
+ # @param pool_name [String] The name of the capacity pool
1505
+ # @param volume_name [String] The name of the volume
1506
+ # @param [Hash{String => String}] A hash of custom headers that will be added
1507
+ # to the HTTP request.
1508
+ #
1509
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
1510
+ #
1511
+ def begin_delete_replication_async(resource_group_name, account_name, pool_name, volume_name, custom_headers:nil)
1512
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
1513
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
1514
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'MaxLength': '90'" if !resource_group_name.nil? && resource_group_name.length > 90
1515
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'MinLength': '1'" if !resource_group_name.nil? && resource_group_name.length < 1
1516
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'Pattern': '^[-\w\._\(\)]+$'" if !resource_group_name.nil? && resource_group_name.match(Regexp.new('^^[-\w\._\(\)]+$$')).nil?
1517
+ fail ArgumentError, 'account_name is nil' if account_name.nil?
1518
+ fail ArgumentError, 'pool_name is nil' if pool_name.nil?
1519
+ fail ArgumentError, "'pool_name' should satisfy the constraint - 'MaxLength': '64'" if !pool_name.nil? && pool_name.length > 64
1520
+ fail ArgumentError, "'pool_name' should satisfy the constraint - 'MinLength': '1'" if !pool_name.nil? && pool_name.length < 1
1521
+ 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?
1522
+ fail ArgumentError, 'volume_name is nil' if volume_name.nil?
1523
+ fail ArgumentError, "'volume_name' should satisfy the constraint - 'MaxLength': '64'" if !volume_name.nil? && volume_name.length > 64
1524
+ fail ArgumentError, "'volume_name' should satisfy the constraint - 'MinLength': '1'" if !volume_name.nil? && volume_name.length < 1
1525
+ 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?
1526
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
1527
+
1528
+
1529
+ request_headers = {}
1530
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
1531
+
1532
+ # Set Headers
1533
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
1534
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
1535
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/deleteReplication'
1536
+
1537
+ request_url = @base_url || @client.base_url
1538
+
1539
+ options = {
1540
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
1541
+ path_params: {'subscriptionId' => @client.subscription_id,'resourceGroupName' => resource_group_name,'accountName' => account_name,'poolName' => pool_name,'volumeName' => volume_name},
1542
+ query_params: {'api-version' => @client.api_version},
1543
+ headers: request_headers.merge(custom_headers || {}),
1544
+ base_url: request_url
1545
+ }
1546
+ promise = @client.make_request_async(:post, path_template, options)
1547
+
1548
+ promise = promise.then do |result|
1549
+ http_response = result.response
1550
+ status_code = http_response.status
1551
+ response_content = http_response.body
1552
+ unless status_code == 200 || status_code == 202
1553
+ error_model = JSON.load(response_content)
1554
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
1555
+ end
1556
+
1557
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
1558
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
1559
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
1560
+
1561
+ result
1562
+ end
1563
+
1564
+ promise.execute
1565
+ end
1566
+
1567
+ #
1568
+ # Authorize source volume replication
1569
+ #
1570
+ # Authorize the replication connection on the source volume
1571
+ #
1572
+ # @param resource_group_name [String] The name of the resource group.
1573
+ # @param account_name [String] The name of the NetApp account
1574
+ # @param pool_name [String] The name of the capacity pool
1575
+ # @param volume_name [String] The name of the volume
1576
+ # @param body [AuthorizeRequest] Authorize request object supplied in the body
1577
+ # of the operation.
1578
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
1579
+ # will be added to the HTTP request.
1580
+ #
1581
+ #
1582
+ def begin_authorize_replication(resource_group_name, account_name, pool_name, volume_name, body, custom_headers:nil)
1583
+ response = begin_authorize_replication_async(resource_group_name, account_name, pool_name, volume_name, body, custom_headers:custom_headers).value!
1584
+ nil
1585
+ end
1586
+
1587
+ #
1588
+ # Authorize source volume replication
1589
+ #
1590
+ # Authorize the replication connection on the source volume
1591
+ #
1592
+ # @param resource_group_name [String] The name of the resource group.
1593
+ # @param account_name [String] The name of the NetApp account
1594
+ # @param pool_name [String] The name of the capacity pool
1595
+ # @param volume_name [String] The name of the volume
1596
+ # @param body [AuthorizeRequest] Authorize request object supplied in the body
1597
+ # of the operation.
1598
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
1599
+ # will be added to the HTTP request.
1600
+ #
1601
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
1602
+ #
1603
+ def begin_authorize_replication_with_http_info(resource_group_name, account_name, pool_name, volume_name, body, custom_headers:nil)
1604
+ begin_authorize_replication_async(resource_group_name, account_name, pool_name, volume_name, body, custom_headers:custom_headers).value!
1605
+ end
1606
+
1607
+ #
1608
+ # Authorize source volume replication
1609
+ #
1610
+ # Authorize the replication connection on the source volume
1611
+ #
1612
+ # @param resource_group_name [String] The name of the resource group.
1613
+ # @param account_name [String] The name of the NetApp account
1614
+ # @param pool_name [String] The name of the capacity pool
1615
+ # @param volume_name [String] The name of the volume
1616
+ # @param body [AuthorizeRequest] Authorize request object supplied in the body
1617
+ # of the operation.
1618
+ # @param [Hash{String => String}] A hash of custom headers that will be added
1619
+ # to the HTTP request.
1620
+ #
1621
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
1622
+ #
1623
+ def begin_authorize_replication_async(resource_group_name, account_name, pool_name, volume_name, body, custom_headers:nil)
1624
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
1625
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
1626
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'MaxLength': '90'" if !resource_group_name.nil? && resource_group_name.length > 90
1627
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'MinLength': '1'" if !resource_group_name.nil? && resource_group_name.length < 1
1628
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'Pattern': '^[-\w\._\(\)]+$'" if !resource_group_name.nil? && resource_group_name.match(Regexp.new('^^[-\w\._\(\)]+$$')).nil?
1629
+ fail ArgumentError, 'account_name is nil' if account_name.nil?
1630
+ fail ArgumentError, 'pool_name is nil' if pool_name.nil?
1631
+ fail ArgumentError, "'pool_name' should satisfy the constraint - 'MaxLength': '64'" if !pool_name.nil? && pool_name.length > 64
1632
+ fail ArgumentError, "'pool_name' should satisfy the constraint - 'MinLength': '1'" if !pool_name.nil? && pool_name.length < 1
1633
+ 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?
1634
+ fail ArgumentError, 'volume_name is nil' if volume_name.nil?
1635
+ fail ArgumentError, "'volume_name' should satisfy the constraint - 'MaxLength': '64'" if !volume_name.nil? && volume_name.length > 64
1636
+ fail ArgumentError, "'volume_name' should satisfy the constraint - 'MinLength': '1'" if !volume_name.nil? && volume_name.length < 1
1637
+ 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?
1638
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
1639
+ fail ArgumentError, 'body is nil' if body.nil?
1640
+
1641
+
1642
+ request_headers = {}
1643
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
1644
+
1645
+ # Set Headers
1646
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
1647
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
1648
+
1649
+ # Serialize Request
1650
+ request_mapper = Azure::NetApp::Mgmt::V2020_02_01::Models::AuthorizeRequest.mapper()
1651
+ request_content = @client.serialize(request_mapper, body)
1652
+ request_content = request_content != nil ? JSON.generate(request_content, quirks_mode: true) : nil
1653
+
1654
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/authorizeReplication'
1655
+
1656
+ request_url = @base_url || @client.base_url
1657
+
1658
+ options = {
1659
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
1660
+ path_params: {'subscriptionId' => @client.subscription_id,'resourceGroupName' => resource_group_name,'accountName' => account_name,'poolName' => pool_name,'volumeName' => volume_name},
1661
+ query_params: {'api-version' => @client.api_version},
1662
+ body: request_content,
1663
+ headers: request_headers.merge(custom_headers || {}),
1664
+ base_url: request_url
1665
+ }
1666
+ promise = @client.make_request_async(:post, path_template, options)
1667
+
1668
+ promise = promise.then do |result|
1669
+ http_response = result.response
1670
+ status_code = http_response.status
1671
+ response_content = http_response.body
1672
+ unless status_code == 200 || status_code == 202
1673
+ error_model = JSON.load(response_content)
1674
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
1675
+ end
1676
+
1677
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
1678
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
1679
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
1680
+
1681
+ result
1682
+ end
1683
+
1684
+ promise.execute
1685
+ end
1686
+
1687
+ end
1688
+ end