azure_mgmt_traffic_manager 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 459861bcf3628f7f4372dd222c4a23c7231c0d91
4
+ data.tar.gz: fcc309b4309cf35f43758f6baa848180fb802fe7
5
+ SHA512:
6
+ metadata.gz: 72cbf2ed5293f5d00ae90f40c951bf71710fa733d2c2288b7da909fa1d3afdf12595cb23cf297232fc3e3dfa222b46a2c76e9bcb609ecd44b5efc7f0e17f0452
7
+ data.tar.gz: 314f004ba29ecbd3d4d783eed5acf5dfd293783fcf7b6c4cad53997a8b39dddf6bcb53f57eb062784199a0e6ea215f7863afbc4ccc5f9062162474199e70d988
data/.rspec ADDED
@@ -0,0 +1,3 @@
1
+ --require spec_helper
2
+ --color
3
+ --format documentation
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2015 Microsoft Corporation
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.
@@ -0,0 +1,5 @@
1
+ # encoding: utf-8
2
+ # Copyright (c) Microsoft Corporation. All rights reserved.
3
+ # Licensed under the MIT License. See License.txt in the project root for license information.
4
+
5
+ require "bundler/gem_tasks"
@@ -0,0 +1,34 @@
1
+ # encoding: utf-8
2
+ # Copyright (c) Microsoft Corporation. All rights reserved.
3
+ # Licensed under the MIT License. See License.txt in the project root for license information.
4
+
5
+ lib = File.expand_path('../lib', __FILE__)
6
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
7
+
8
+ require 'generated/azure_mgmt_traffic_manager/module_definition'
9
+ require 'generated/azure_mgmt_traffic_manager/version'
10
+
11
+ Gem::Specification.new do |spec|
12
+ spec.name = 'azure_mgmt_traffic_manager'
13
+ spec.version = Azure::ARM::TrafficManager::VERSION
14
+ spec.authors = 'Microsoft Corporation'
15
+ spec.email = 'azrubyteam@microsoft.com'
16
+ spec.description = 'Microsoft Azure Traffic Management Client Library for Ruby'
17
+ spec.summary = 'Official Ruby client library to consume Microsoft Azure Traffic Management services.'
18
+ spec.homepage = 'https://aka.ms/azure-sdk-for-ruby'
19
+ spec.license = 'MIT'
20
+
21
+ spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
22
+ spec.bindir = 'bin'
23
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
24
+ spec.require_paths = ['lib']
25
+
26
+ spec.required_ruby_version = '>= 1.9.3'
27
+
28
+ spec.add_development_dependency 'bundler', '~> 1.9'
29
+ spec.add_development_dependency 'rake', '~> 10'
30
+ spec.add_development_dependency 'rspec', '~> 3'
31
+ spec.add_development_dependency 'dotenv', '~> 2'
32
+
33
+ spec.add_runtime_dependency 'ms_rest_azure', '~> 0.3.0'
34
+ end
@@ -0,0 +1,5 @@
1
+ # encoding: utf-8
2
+ # Copyright (c) Microsoft Corporation. All rights reserved.
3
+ # Licensed under the MIT License. See License.txt in the project root for license information.
4
+
5
+ require 'generated/azure_mgmt_traffic_manager'
@@ -0,0 +1,36 @@
1
+ # encoding: utf-8
2
+ # Code generated by Microsoft (R) AutoRest Code Generator 0.17.0.0
3
+ # Changes may cause incorrect behavior and will be lost if the code is
4
+ # regenerated.
5
+
6
+ require 'uri'
7
+ require 'cgi'
8
+ require 'date'
9
+ require 'json'
10
+ require 'base64'
11
+ require 'erb'
12
+ require 'securerandom'
13
+ require 'time'
14
+ require 'timeliness'
15
+ require 'faraday'
16
+ require 'faraday-cookie_jar'
17
+ require 'concurrent'
18
+ require 'ms_rest'
19
+ require 'generated/azure_mgmt_traffic_manager/module_definition'
20
+ require 'ms_rest_azure'
21
+
22
+ module Azure::ARM::TrafficManager
23
+ autoload :Endpoints, 'generated/azure_mgmt_traffic_manager/endpoints.rb'
24
+ autoload :Profiles, 'generated/azure_mgmt_traffic_manager/profiles.rb'
25
+ autoload :TrafficManagerManagementClient, 'generated/azure_mgmt_traffic_manager/traffic_manager_management_client.rb'
26
+
27
+ module Models
28
+ autoload :Endpoint, 'generated/azure_mgmt_traffic_manager/models/endpoint.rb'
29
+ autoload :CheckTrafficManagerRelativeDnsNameAvailabilityParameters, 'generated/azure_mgmt_traffic_manager/models/check_traffic_manager_relative_dns_name_availability_parameters.rb'
30
+ autoload :DnsConfig, 'generated/azure_mgmt_traffic_manager/models/dns_config.rb'
31
+ autoload :MonitorConfig, 'generated/azure_mgmt_traffic_manager/models/monitor_config.rb'
32
+ autoload :ProfileListResult, 'generated/azure_mgmt_traffic_manager/models/profile_list_result.rb'
33
+ autoload :TrafficManagerNameAvailability, 'generated/azure_mgmt_traffic_manager/models/traffic_manager_name_availability.rb'
34
+ autoload :Profile, 'generated/azure_mgmt_traffic_manager/models/profile.rb'
35
+ end
36
+ end
@@ -0,0 +1,495 @@
1
+ # encoding: utf-8
2
+ # Code generated by Microsoft (R) AutoRest Code Generator 0.17.0.0
3
+ # Changes may cause incorrect behavior and will be lost if the code is
4
+ # regenerated.
5
+
6
+ module Azure::ARM::TrafficManager
7
+ #
8
+ # Endpoints
9
+ #
10
+ class Endpoints
11
+ include Azure::ARM::TrafficManager::Models
12
+ include MsRestAzure
13
+
14
+ #
15
+ # Creates and initializes a new instance of the Endpoints class.
16
+ # @param client service class for accessing basic functionality.
17
+ #
18
+ def initialize(client)
19
+ @client = client
20
+ end
21
+
22
+ # @return reference to the TrafficManagerManagementClient
23
+ attr_reader :client
24
+
25
+ #
26
+ # Update a Traffic Manager endpoint.
27
+ #
28
+ # @param resource_group_name [String] The name of the resource group
29
+ # containing the Traffic Manager endpoint to be updated.
30
+ # @param profile_name [String] The name of the Traffic Manager profile.
31
+ # @param endpoint_type [String] The type of the Traffic Manager endpoint to be
32
+ # updated.
33
+ # @param endpoint_name [String] The name of the Traffic Manager endpoint to be
34
+ # updated.
35
+ # @param parameters [Endpoint] The Traffic Manager endpoint parameters
36
+ # supplied to the Update operation.
37
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
38
+ # will be added to the HTTP request.
39
+ #
40
+ # @return [Endpoint] operation results.
41
+ #
42
+ def update(resource_group_name, profile_name, endpoint_type, endpoint_name, parameters, custom_headers = nil)
43
+ response = update_async(resource_group_name, profile_name, endpoint_type, endpoint_name, parameters, custom_headers).value!
44
+ response.body unless response.nil?
45
+ end
46
+
47
+ #
48
+ # Update a Traffic Manager endpoint.
49
+ #
50
+ # @param resource_group_name [String] The name of the resource group
51
+ # containing the Traffic Manager endpoint to be updated.
52
+ # @param profile_name [String] The name of the Traffic Manager profile.
53
+ # @param endpoint_type [String] The type of the Traffic Manager endpoint to be
54
+ # updated.
55
+ # @param endpoint_name [String] The name of the Traffic Manager endpoint to be
56
+ # updated.
57
+ # @param parameters [Endpoint] The Traffic Manager endpoint parameters
58
+ # supplied to the Update operation.
59
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
60
+ # will be added to the HTTP request.
61
+ #
62
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
63
+ #
64
+ def update_with_http_info(resource_group_name, profile_name, endpoint_type, endpoint_name, parameters, custom_headers = nil)
65
+ update_async(resource_group_name, profile_name, endpoint_type, endpoint_name, parameters, custom_headers).value!
66
+ end
67
+
68
+ #
69
+ # Update a Traffic Manager endpoint.
70
+ #
71
+ # @param resource_group_name [String] The name of the resource group
72
+ # containing the Traffic Manager endpoint to be updated.
73
+ # @param profile_name [String] The name of the Traffic Manager profile.
74
+ # @param endpoint_type [String] The type of the Traffic Manager endpoint to be
75
+ # updated.
76
+ # @param endpoint_name [String] The name of the Traffic Manager endpoint to be
77
+ # updated.
78
+ # @param parameters [Endpoint] The Traffic Manager endpoint parameters
79
+ # supplied to the Update operation.
80
+ # @param [Hash{String => String}] A hash of custom headers that will be added
81
+ # to the HTTP request.
82
+ #
83
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
84
+ #
85
+ def update_async(resource_group_name, profile_name, endpoint_type, endpoint_name, parameters, custom_headers = nil)
86
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
87
+ fail ArgumentError, 'profile_name is nil' if profile_name.nil?
88
+ fail ArgumentError, 'endpoint_type is nil' if endpoint_type.nil?
89
+ fail ArgumentError, 'endpoint_name is nil' if endpoint_name.nil?
90
+ fail ArgumentError, 'parameters is nil' if parameters.nil?
91
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
92
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
93
+
94
+
95
+ request_headers = {}
96
+
97
+ # Set Headers
98
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
99
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
100
+
101
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
102
+
103
+ # Serialize Request
104
+ request_mapper = Endpoint.mapper()
105
+ request_content = @client.serialize(request_mapper, parameters, 'parameters')
106
+ request_content = request_content != nil ? JSON.generate(request_content, quirks_mode: true) : nil
107
+
108
+ path_template = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficmanagerprofiles/{profileName}/{endpointType}/{endpointName}'
109
+ options = {
110
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
111
+ path_params: {'resourceGroupName' => resource_group_name,'profileName' => profile_name,'endpointType' => endpoint_type,'endpointName' => endpoint_name,'subscriptionId' => @client.subscription_id},
112
+ query_params: {'api-version' => @client.api_version},
113
+ body: request_content,
114
+ headers: request_headers.merge(custom_headers || {})
115
+ }
116
+
117
+ request_url = @base_url || @client.base_url
118
+
119
+ request = MsRest::HttpOperationRequest.new(request_url, path_template, :patch, options)
120
+ promise = request.run_promise do |req|
121
+ @client.credentials.sign_request(req) unless @client.credentials.nil?
122
+ end
123
+
124
+ promise = promise.then do |http_response|
125
+ status_code = http_response.status
126
+ response_content = http_response.body
127
+ unless status_code == 200
128
+ error_model = JSON.load(response_content)
129
+ fail MsRestAzure::AzureOperationError.new(request, http_response, error_model)
130
+ end
131
+
132
+ # Create Result
133
+ result = MsRestAzure::AzureOperationResponse.new(request, http_response)
134
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
135
+ # Deserialize Response
136
+ if status_code == 200
137
+ begin
138
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
139
+ result_mapper = Endpoint.mapper()
140
+ result.body = @client.deserialize(result_mapper, parsed_response, 'result.body')
141
+ rescue Exception => e
142
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
143
+ end
144
+ end
145
+
146
+ result
147
+ end
148
+
149
+ promise.execute
150
+ end
151
+
152
+ #
153
+ # Gets a Traffic Manager endpoint.
154
+ #
155
+ # @param resource_group_name [String] The name of the resource group
156
+ # containing the Traffic Manager endpoint.
157
+ # @param profile_name [String] The name of the Traffic Manager profile.
158
+ # @param endpoint_type [String] The type of the Traffic Manager endpoint.
159
+ # @param endpoint_name [String] The name of the Traffic Manager endpoint.
160
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
161
+ # will be added to the HTTP request.
162
+ #
163
+ # @return [Endpoint] operation results.
164
+ #
165
+ def get(resource_group_name, profile_name, endpoint_type, endpoint_name, custom_headers = nil)
166
+ response = get_async(resource_group_name, profile_name, endpoint_type, endpoint_name, custom_headers).value!
167
+ response.body unless response.nil?
168
+ end
169
+
170
+ #
171
+ # Gets a Traffic Manager endpoint.
172
+ #
173
+ # @param resource_group_name [String] The name of the resource group
174
+ # containing the Traffic Manager endpoint.
175
+ # @param profile_name [String] The name of the Traffic Manager profile.
176
+ # @param endpoint_type [String] The type of the Traffic Manager endpoint.
177
+ # @param endpoint_name [String] The name of the Traffic Manager endpoint.
178
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
179
+ # will be added to the HTTP request.
180
+ #
181
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
182
+ #
183
+ def get_with_http_info(resource_group_name, profile_name, endpoint_type, endpoint_name, custom_headers = nil)
184
+ get_async(resource_group_name, profile_name, endpoint_type, endpoint_name, custom_headers).value!
185
+ end
186
+
187
+ #
188
+ # Gets a Traffic Manager endpoint.
189
+ #
190
+ # @param resource_group_name [String] The name of the resource group
191
+ # containing the Traffic Manager endpoint.
192
+ # @param profile_name [String] The name of the Traffic Manager profile.
193
+ # @param endpoint_type [String] The type of the Traffic Manager endpoint.
194
+ # @param endpoint_name [String] The name of the Traffic Manager endpoint.
195
+ # @param [Hash{String => String}] A hash of custom headers that will be added
196
+ # to the HTTP request.
197
+ #
198
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
199
+ #
200
+ def get_async(resource_group_name, profile_name, endpoint_type, endpoint_name, custom_headers = nil)
201
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
202
+ fail ArgumentError, 'profile_name is nil' if profile_name.nil?
203
+ fail ArgumentError, 'endpoint_type is nil' if endpoint_type.nil?
204
+ fail ArgumentError, 'endpoint_name is nil' if endpoint_name.nil?
205
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
206
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
207
+
208
+
209
+ request_headers = {}
210
+
211
+ # Set Headers
212
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
213
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
214
+ path_template = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficmanagerprofiles/{profileName}/{endpointType}/{endpointName}'
215
+ options = {
216
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
217
+ path_params: {'resourceGroupName' => resource_group_name,'profileName' => profile_name,'endpointType' => endpoint_type,'endpointName' => endpoint_name,'subscriptionId' => @client.subscription_id},
218
+ query_params: {'api-version' => @client.api_version},
219
+ headers: request_headers.merge(custom_headers || {})
220
+ }
221
+
222
+ request_url = @base_url || @client.base_url
223
+
224
+ request = MsRest::HttpOperationRequest.new(request_url, path_template, :get, options)
225
+ promise = request.run_promise do |req|
226
+ @client.credentials.sign_request(req) unless @client.credentials.nil?
227
+ end
228
+
229
+ promise = promise.then do |http_response|
230
+ status_code = http_response.status
231
+ response_content = http_response.body
232
+ unless status_code == 200
233
+ error_model = JSON.load(response_content)
234
+ fail MsRestAzure::AzureOperationError.new(request, http_response, error_model)
235
+ end
236
+
237
+ # Create Result
238
+ result = MsRestAzure::AzureOperationResponse.new(request, http_response)
239
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
240
+ # Deserialize Response
241
+ if status_code == 200
242
+ begin
243
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
244
+ result_mapper = Endpoint.mapper()
245
+ result.body = @client.deserialize(result_mapper, parsed_response, 'result.body')
246
+ rescue Exception => e
247
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
248
+ end
249
+ end
250
+
251
+ result
252
+ end
253
+
254
+ promise.execute
255
+ end
256
+
257
+ #
258
+ # Create or update a Traffic Manager endpoint.
259
+ #
260
+ # @param resource_group_name [String] The name of the resource group
261
+ # containing the Traffic Manager endpoint to be created or updated.
262
+ # @param profile_name [String] The name of the Traffic Manager profile.
263
+ # @param endpoint_type [String] The type of the Traffic Manager endpoint to be
264
+ # created or updated.
265
+ # @param endpoint_name [String] The name of the Traffic Manager endpoint to be
266
+ # created or updated.
267
+ # @param parameters [Endpoint] The Traffic Manager endpoint parameters
268
+ # supplied to the CreateOrUpdate operation.
269
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
270
+ # will be added to the HTTP request.
271
+ #
272
+ # @return [Endpoint] operation results.
273
+ #
274
+ def create_or_update(resource_group_name, profile_name, endpoint_type, endpoint_name, parameters, custom_headers = nil)
275
+ response = create_or_update_async(resource_group_name, profile_name, endpoint_type, endpoint_name, parameters, custom_headers).value!
276
+ response.body unless response.nil?
277
+ end
278
+
279
+ #
280
+ # Create or update a Traffic Manager endpoint.
281
+ #
282
+ # @param resource_group_name [String] The name of the resource group
283
+ # containing the Traffic Manager endpoint to be created or updated.
284
+ # @param profile_name [String] The name of the Traffic Manager profile.
285
+ # @param endpoint_type [String] The type of the Traffic Manager endpoint to be
286
+ # created or updated.
287
+ # @param endpoint_name [String] The name of the Traffic Manager endpoint to be
288
+ # created or updated.
289
+ # @param parameters [Endpoint] The Traffic Manager endpoint parameters
290
+ # supplied to the CreateOrUpdate operation.
291
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
292
+ # will be added to the HTTP request.
293
+ #
294
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
295
+ #
296
+ def create_or_update_with_http_info(resource_group_name, profile_name, endpoint_type, endpoint_name, parameters, custom_headers = nil)
297
+ create_or_update_async(resource_group_name, profile_name, endpoint_type, endpoint_name, parameters, custom_headers).value!
298
+ end
299
+
300
+ #
301
+ # Create or update a Traffic Manager endpoint.
302
+ #
303
+ # @param resource_group_name [String] The name of the resource group
304
+ # containing the Traffic Manager endpoint to be created or updated.
305
+ # @param profile_name [String] The name of the Traffic Manager profile.
306
+ # @param endpoint_type [String] The type of the Traffic Manager endpoint to be
307
+ # created or updated.
308
+ # @param endpoint_name [String] The name of the Traffic Manager endpoint to be
309
+ # created or updated.
310
+ # @param parameters [Endpoint] The Traffic Manager endpoint parameters
311
+ # supplied to the CreateOrUpdate operation.
312
+ # @param [Hash{String => String}] A hash of custom headers that will be added
313
+ # to the HTTP request.
314
+ #
315
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
316
+ #
317
+ def create_or_update_async(resource_group_name, profile_name, endpoint_type, endpoint_name, parameters, custom_headers = nil)
318
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
319
+ fail ArgumentError, 'profile_name is nil' if profile_name.nil?
320
+ fail ArgumentError, 'endpoint_type is nil' if endpoint_type.nil?
321
+ fail ArgumentError, 'endpoint_name is nil' if endpoint_name.nil?
322
+ fail ArgumentError, 'parameters is nil' if parameters.nil?
323
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
324
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
325
+
326
+
327
+ request_headers = {}
328
+
329
+ # Set Headers
330
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
331
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
332
+
333
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
334
+
335
+ # Serialize Request
336
+ request_mapper = Endpoint.mapper()
337
+ request_content = @client.serialize(request_mapper, parameters, 'parameters')
338
+ request_content = request_content != nil ? JSON.generate(request_content, quirks_mode: true) : nil
339
+
340
+ path_template = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficmanagerprofiles/{profileName}/{endpointType}/{endpointName}'
341
+ options = {
342
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
343
+ path_params: {'resourceGroupName' => resource_group_name,'profileName' => profile_name,'endpointType' => endpoint_type,'endpointName' => endpoint_name,'subscriptionId' => @client.subscription_id},
344
+ query_params: {'api-version' => @client.api_version},
345
+ body: request_content,
346
+ headers: request_headers.merge(custom_headers || {})
347
+ }
348
+
349
+ request_url = @base_url || @client.base_url
350
+
351
+ request = MsRest::HttpOperationRequest.new(request_url, path_template, :put, options)
352
+ promise = request.run_promise do |req|
353
+ @client.credentials.sign_request(req) unless @client.credentials.nil?
354
+ end
355
+
356
+ promise = promise.then do |http_response|
357
+ status_code = http_response.status
358
+ response_content = http_response.body
359
+ unless status_code == 200 || status_code == 201
360
+ error_model = JSON.load(response_content)
361
+ fail MsRestAzure::AzureOperationError.new(request, http_response, error_model)
362
+ end
363
+
364
+ # Create Result
365
+ result = MsRestAzure::AzureOperationResponse.new(request, http_response)
366
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
367
+ # Deserialize Response
368
+ if status_code == 200
369
+ begin
370
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
371
+ result_mapper = Endpoint.mapper()
372
+ result.body = @client.deserialize(result_mapper, parsed_response, 'result.body')
373
+ rescue Exception => e
374
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
375
+ end
376
+ end
377
+ # Deserialize Response
378
+ if status_code == 201
379
+ begin
380
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
381
+ result_mapper = Endpoint.mapper()
382
+ result.body = @client.deserialize(result_mapper, parsed_response, 'result.body')
383
+ rescue Exception => e
384
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
385
+ end
386
+ end
387
+
388
+ result
389
+ end
390
+
391
+ promise.execute
392
+ end
393
+
394
+ #
395
+ # Deletes a Traffic Manager endpoint.
396
+ #
397
+ # @param resource_group_name [String] The name of the resource group
398
+ # containing the Traffic Manager endpoint to be deleted.
399
+ # @param profile_name [String] The name of the Traffic Manager profile.
400
+ # @param endpoint_type [String] The type of the Traffic Manager endpoint to be
401
+ # deleted.
402
+ # @param endpoint_name [String] The name of the Traffic Manager endpoint to be
403
+ # deleted.
404
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
405
+ # will be added to the HTTP request.
406
+ #
407
+ #
408
+ def delete(resource_group_name, profile_name, endpoint_type, endpoint_name, custom_headers = nil)
409
+ response = delete_async(resource_group_name, profile_name, endpoint_type, endpoint_name, custom_headers).value!
410
+ nil
411
+ end
412
+
413
+ #
414
+ # Deletes a Traffic Manager endpoint.
415
+ #
416
+ # @param resource_group_name [String] The name of the resource group
417
+ # containing the Traffic Manager endpoint to be deleted.
418
+ # @param profile_name [String] The name of the Traffic Manager profile.
419
+ # @param endpoint_type [String] The type of the Traffic Manager endpoint to be
420
+ # deleted.
421
+ # @param endpoint_name [String] The name of the Traffic Manager endpoint to be
422
+ # deleted.
423
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
424
+ # will be added to the HTTP request.
425
+ #
426
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
427
+ #
428
+ def delete_with_http_info(resource_group_name, profile_name, endpoint_type, endpoint_name, custom_headers = nil)
429
+ delete_async(resource_group_name, profile_name, endpoint_type, endpoint_name, custom_headers).value!
430
+ end
431
+
432
+ #
433
+ # Deletes a Traffic Manager endpoint.
434
+ #
435
+ # @param resource_group_name [String] The name of the resource group
436
+ # containing the Traffic Manager endpoint to be deleted.
437
+ # @param profile_name [String] The name of the Traffic Manager profile.
438
+ # @param endpoint_type [String] The type of the Traffic Manager endpoint to be
439
+ # deleted.
440
+ # @param endpoint_name [String] The name of the Traffic Manager endpoint to be
441
+ # deleted.
442
+ # @param [Hash{String => String}] A hash of custom headers that will be added
443
+ # to the HTTP request.
444
+ #
445
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
446
+ #
447
+ def delete_async(resource_group_name, profile_name, endpoint_type, endpoint_name, custom_headers = nil)
448
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
449
+ fail ArgumentError, 'profile_name is nil' if profile_name.nil?
450
+ fail ArgumentError, 'endpoint_type is nil' if endpoint_type.nil?
451
+ fail ArgumentError, 'endpoint_name is nil' if endpoint_name.nil?
452
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
453
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
454
+
455
+
456
+ request_headers = {}
457
+
458
+ # Set Headers
459
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
460
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
461
+ path_template = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficmanagerprofiles/{profileName}/{endpointType}/{endpointName}'
462
+ options = {
463
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
464
+ path_params: {'resourceGroupName' => resource_group_name,'profileName' => profile_name,'endpointType' => endpoint_type,'endpointName' => endpoint_name,'subscriptionId' => @client.subscription_id},
465
+ query_params: {'api-version' => @client.api_version},
466
+ headers: request_headers.merge(custom_headers || {})
467
+ }
468
+
469
+ request_url = @base_url || @client.base_url
470
+
471
+ request = MsRest::HttpOperationRequest.new(request_url, path_template, :delete, options)
472
+ promise = request.run_promise do |req|
473
+ @client.credentials.sign_request(req) unless @client.credentials.nil?
474
+ end
475
+
476
+ promise = promise.then do |http_response|
477
+ status_code = http_response.status
478
+ response_content = http_response.body
479
+ unless status_code == 200 || status_code == 204
480
+ error_model = JSON.load(response_content)
481
+ fail MsRestAzure::AzureOperationError.new(request, http_response, error_model)
482
+ end
483
+
484
+ # Create Result
485
+ result = MsRestAzure::AzureOperationResponse.new(request, http_response)
486
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
487
+
488
+ result
489
+ end
490
+
491
+ promise.execute
492
+ end
493
+
494
+ end
495
+ end