azure_mgmt_netapp 0.21.0 → 0.22.0

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