azure_mgmt_traffic_manager 0.14.0 → 0.15.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (85) hide show
  1. checksums.yaml +4 -4
  2. data/lib/2015-11-01/generated/azure_mgmt_traffic_manager.rb +37 -0
  3. data/lib/2015-11-01/generated/azure_mgmt_traffic_manager/endpoints.rb +482 -0
  4. data/lib/2015-11-01/generated/azure_mgmt_traffic_manager/models/check_traffic_manager_relative_dns_name_availability_parameters.rb +55 -0
  5. data/lib/2015-11-01/generated/azure_mgmt_traffic_manager/models/dns_config.rb +71 -0
  6. data/lib/2015-11-01/generated/azure_mgmt_traffic_manager/models/endpoint.rb +161 -0
  7. data/lib/2015-11-01/generated/azure_mgmt_traffic_manager/models/monitor_config.rb +79 -0
  8. data/lib/2015-11-01/generated/azure_mgmt_traffic_manager/models/profile.rb +145 -0
  9. data/lib/{generated → 2015-11-01/generated}/azure_mgmt_traffic_manager/models/profile_list_result.rb +1 -1
  10. data/lib/2015-11-01/generated/azure_mgmt_traffic_manager/models/resource.rb +95 -0
  11. data/lib/{generated → 2015-11-01/generated}/azure_mgmt_traffic_manager/models/traffic_manager_name_availability.rb +1 -1
  12. data/lib/2015-11-01/generated/azure_mgmt_traffic_manager/module_definition.rb +9 -0
  13. data/lib/2015-11-01/generated/azure_mgmt_traffic_manager/profiles.rb +708 -0
  14. data/lib/2015-11-01/generated/azure_mgmt_traffic_manager/traffic_manager_management_client.rb +135 -0
  15. data/lib/{generated → 2015-11-01/generated}/azure_mgmt_traffic_manager/version.rb +2 -2
  16. data/lib/2017-03-01/generated/azure_mgmt_traffic_manager.rb +41 -0
  17. data/lib/2017-03-01/generated/azure_mgmt_traffic_manager/endpoints.rb +503 -0
  18. data/lib/{generated → 2017-03-01/generated}/azure_mgmt_traffic_manager/geographic_hierarchies.rb +4 -4
  19. data/lib/2017-03-01/generated/azure_mgmt_traffic_manager/models/check_traffic_manager_relative_dns_name_availability_parameters.rb +55 -0
  20. data/lib/{generated → 2017-03-01/generated}/azure_mgmt_traffic_manager/models/delete_operation_result.rb +1 -1
  21. data/lib/2017-03-01/generated/azure_mgmt_traffic_manager/models/dns_config.rb +71 -0
  22. data/lib/2017-03-01/generated/azure_mgmt_traffic_manager/models/endpoint.rb +181 -0
  23. data/lib/2017-03-01/generated/azure_mgmt_traffic_manager/models/monitor_config.rb +79 -0
  24. data/lib/2017-03-01/generated/azure_mgmt_traffic_manager/models/profile.rb +145 -0
  25. data/lib/2017-03-01/generated/azure_mgmt_traffic_manager/models/profile_list_result.rb +52 -0
  26. data/lib/{generated → 2017-03-01/generated}/azure_mgmt_traffic_manager/models/region.rb +1 -1
  27. data/lib/2017-03-01/generated/azure_mgmt_traffic_manager/models/resource.rb +94 -0
  28. data/lib/2017-03-01/generated/azure_mgmt_traffic_manager/models/traffic_manager_geographic_hierarchy.rb +92 -0
  29. data/lib/2017-03-01/generated/azure_mgmt_traffic_manager/models/traffic_manager_name_availability.rb +87 -0
  30. data/lib/2017-03-01/generated/azure_mgmt_traffic_manager/module_definition.rb +9 -0
  31. data/lib/2017-03-01/generated/azure_mgmt_traffic_manager/profiles.rb +729 -0
  32. data/lib/{generated → 2017-03-01/generated}/azure_mgmt_traffic_manager/traffic_manager_management_client.rb +7 -11
  33. data/lib/{generated/azure_mgmt_traffic_manager/module_definition.rb → 2017-03-01/generated/azure_mgmt_traffic_manager/version.rb} +3 -3
  34. data/lib/2017-05-01/generated/azure_mgmt_traffic_manager.rb +50 -0
  35. data/lib/{generated → 2017-05-01/generated}/azure_mgmt_traffic_manager/endpoints.rb +16 -16
  36. data/lib/2017-05-01/generated/azure_mgmt_traffic_manager/geographic_hierarchies.rb +109 -0
  37. data/lib/{generated → 2017-05-01/generated}/azure_mgmt_traffic_manager/models/check_traffic_manager_relative_dns_name_availability_parameters.rb +1 -1
  38. data/lib/2017-05-01/generated/azure_mgmt_traffic_manager/models/delete_operation_result.rb +45 -0
  39. data/lib/{generated → 2017-05-01/generated}/azure_mgmt_traffic_manager/models/dns_config.rb +1 -1
  40. data/lib/{generated → 2017-05-01/generated}/azure_mgmt_traffic_manager/models/endpoint.rb +1 -1
  41. data/lib/{generated → 2017-05-01/generated}/azure_mgmt_traffic_manager/models/endpoint_monitor_status.rb +1 -1
  42. data/lib/{generated → 2017-05-01/generated}/azure_mgmt_traffic_manager/models/endpoint_status.rb +1 -1
  43. data/lib/{generated → 2017-05-01/generated}/azure_mgmt_traffic_manager/models/monitor_config.rb +1 -1
  44. data/lib/{generated → 2017-05-01/generated}/azure_mgmt_traffic_manager/models/monitor_protocol.rb +1 -1
  45. data/lib/{generated → 2017-05-01/generated}/azure_mgmt_traffic_manager/models/profile.rb +1 -1
  46. data/lib/2017-05-01/generated/azure_mgmt_traffic_manager/models/profile_list_result.rb +52 -0
  47. data/lib/{generated → 2017-05-01/generated}/azure_mgmt_traffic_manager/models/profile_monitor_status.rb +1 -1
  48. data/lib/{generated → 2017-05-01/generated}/azure_mgmt_traffic_manager/models/profile_status.rb +1 -1
  49. data/lib/{generated → 2017-05-01/generated}/azure_mgmt_traffic_manager/models/proxy_resource.rb +1 -1
  50. data/lib/2017-05-01/generated/azure_mgmt_traffic_manager/models/region.rb +74 -0
  51. data/lib/{generated → 2017-05-01/generated}/azure_mgmt_traffic_manager/models/resource.rb +1 -1
  52. data/lib/{generated → 2017-05-01/generated}/azure_mgmt_traffic_manager/models/tracked_resource.rb +1 -1
  53. data/lib/{generated → 2017-05-01/generated}/azure_mgmt_traffic_manager/models/traffic_manager_geographic_hierarchy.rb +1 -1
  54. data/lib/2017-05-01/generated/azure_mgmt_traffic_manager/models/traffic_manager_name_availability.rb +87 -0
  55. data/lib/{generated → 2017-05-01/generated}/azure_mgmt_traffic_manager/models/traffic_manager_user_metrics_key_model.rb +1 -1
  56. data/lib/{generated → 2017-05-01/generated}/azure_mgmt_traffic_manager/models/traffic_routing_method.rb +1 -1
  57. data/lib/2017-05-01/generated/azure_mgmt_traffic_manager/module_definition.rb +9 -0
  58. data/lib/{generated → 2017-05-01/generated}/azure_mgmt_traffic_manager/profiles.rb +26 -26
  59. data/lib/2017-05-01/generated/azure_mgmt_traffic_manager/traffic_manager_management_client.rb +139 -0
  60. data/lib/2017-05-01/generated/azure_mgmt_traffic_manager/version.rb +8 -0
  61. data/lib/2017-09-01-preview/generated/azure_mgmt_traffic_manager.rb +38 -0
  62. data/lib/{generated → 2017-09-01-preview/generated}/azure_mgmt_traffic_manager/heat_map.rb +4 -4
  63. data/lib/2017-09-01-preview/generated/azure_mgmt_traffic_manager/models/delete_operation_result.rb +45 -0
  64. data/lib/{generated → 2017-09-01-preview/generated}/azure_mgmt_traffic_manager/models/heat_map_endpoint.rb +1 -1
  65. data/lib/{generated → 2017-09-01-preview/generated}/azure_mgmt_traffic_manager/models/heat_map_model.rb +1 -1
  66. data/lib/2017-09-01-preview/generated/azure_mgmt_traffic_manager/models/proxy_resource.rb +59 -0
  67. data/lib/{generated → 2017-09-01-preview/generated}/azure_mgmt_traffic_manager/models/query_experience.rb +1 -1
  68. data/lib/2017-09-01-preview/generated/azure_mgmt_traffic_manager/models/resource.rb +69 -0
  69. data/lib/2017-09-01-preview/generated/azure_mgmt_traffic_manager/models/tracked_resource.rb +85 -0
  70. data/lib/{generated → 2017-09-01-preview/generated}/azure_mgmt_traffic_manager/models/traffic_flow.rb +1 -1
  71. data/lib/2017-09-01-preview/generated/azure_mgmt_traffic_manager/models/traffic_manager_user_metrics_key_model.rb +69 -0
  72. data/lib/2017-09-01-preview/generated/azure_mgmt_traffic_manager/module_definition.rb +9 -0
  73. data/lib/2017-09-01-preview/generated/azure_mgmt_traffic_manager/traffic_manager_management_client.rb +135 -0
  74. data/lib/{generated → 2017-09-01-preview/generated}/azure_mgmt_traffic_manager/traffic_manager_user_metrics_keys.rb +10 -10
  75. data/lib/2017-09-01-preview/generated/azure_mgmt_traffic_manager/version.rb +8 -0
  76. data/lib/azure_mgmt_traffic_manager.rb +5 -1
  77. data/lib/module_definition.rb +9 -0
  78. data/lib/profiles/common/configurable.rb +73 -0
  79. data/lib/profiles/common/default.rb +68 -0
  80. data/lib/profiles/latest/modules/trafficmanager_profile_module.rb +151 -0
  81. data/lib/profiles/latest/trafficmanager_latest_profile_client.rb +33 -0
  82. data/lib/profiles/latest/trafficmanager_module_definition.rb +9 -0
  83. data/lib/version.rb +7 -0
  84. metadata +83 -35
  85. data/lib/generated/azure_mgmt_traffic_manager.rb +0 -56
@@ -3,7 +3,7 @@
3
3
  # Changes may cause incorrect behavior and will be lost if the code is
4
4
  # regenerated.
5
5
 
6
- module Azure::ARM::TrafficManager
6
+ module Azure::TrafficManager::Mgmt::V2015_11_01
7
7
  module Models
8
8
  #
9
9
  # The list Traffic Manager profiles operation response.
@@ -0,0 +1,95 @@
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::TrafficManager::Mgmt::V2015_11_01
7
+ module Models
8
+ #
9
+ # Model object.
10
+ #
11
+ #
12
+ class Resource
13
+
14
+ include MsRestAzure
15
+
16
+ # @return [String] Resource Id
17
+ attr_accessor :id
18
+
19
+ # @return [String] Resource name
20
+ attr_accessor :name
21
+
22
+ # @return [String] Resource type
23
+ attr_accessor :type
24
+
25
+ # @return [String] Resource location
26
+ attr_accessor :location
27
+
28
+ # @return [Hash{String => String}] Resource tags
29
+ attr_accessor :tags
30
+
31
+
32
+ #
33
+ # Mapper for Resource class as Ruby Hash.
34
+ # This will be used for serialization/deserialization.
35
+ #
36
+ def self.mapper()
37
+ {
38
+ required: false,
39
+ serialized_name: 'Resource',
40
+ type: {
41
+ name: 'Composite',
42
+ class_name: 'Resource',
43
+ model_properties: {
44
+ id: {
45
+ required: false,
46
+ read_only: true,
47
+ serialized_name: 'id',
48
+ type: {
49
+ name: 'String'
50
+ }
51
+ },
52
+ name: {
53
+ required: false,
54
+ read_only: true,
55
+ serialized_name: 'name',
56
+ type: {
57
+ name: 'String'
58
+ }
59
+ },
60
+ type: {
61
+ required: false,
62
+ read_only: true,
63
+ serialized_name: 'type',
64
+ type: {
65
+ name: 'String'
66
+ }
67
+ },
68
+ location: {
69
+ required: false,
70
+ serialized_name: 'location',
71
+ type: {
72
+ name: 'String'
73
+ }
74
+ },
75
+ tags: {
76
+ required: false,
77
+ serialized_name: 'tags',
78
+ type: {
79
+ name: 'Dictionary',
80
+ value: {
81
+ required: false,
82
+ serialized_name: 'StringElementType',
83
+ type: {
84
+ name: 'String'
85
+ }
86
+ }
87
+ }
88
+ }
89
+ }
90
+ }
91
+ }
92
+ end
93
+ end
94
+ end
95
+ end
@@ -3,7 +3,7 @@
3
3
  # Changes may cause incorrect behavior and will be lost if the code is
4
4
  # regenerated.
5
5
 
6
- module Azure::ARM::TrafficManager
6
+ module Azure::TrafficManager::Mgmt::V2015_11_01
7
7
  module Models
8
8
  #
9
9
  # Class representing a Traffic Manager Name Availability response.
@@ -0,0 +1,9 @@
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 end
7
+ module Azure::TrafficManager end
8
+ module Azure::TrafficManager::Mgmt end
9
+ module Azure::TrafficManager::Mgmt::V2015_11_01 end
@@ -0,0 +1,708 @@
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::TrafficManager::Mgmt::V2015_11_01
7
+ #
8
+ # Profiles
9
+ #
10
+ class Profiles
11
+ include MsRestAzure
12
+
13
+ #
14
+ # Creates and initializes a new instance of the Profiles class.
15
+ # @param client service class for accessing basic functionality.
16
+ #
17
+ def initialize(client)
18
+ @client = client
19
+ end
20
+
21
+ # @return [TrafficManagerManagementClient] reference to the TrafficManagerManagementClient
22
+ attr_reader :client
23
+
24
+ #
25
+ # Checks the availability of a Traffic Manager Relative DNS name.
26
+ #
27
+ # @param parameters [CheckTrafficManagerRelativeDnsNameAvailabilityParameters]
28
+ # The Traffic Manager name parameters supplied to the
29
+ # CheckTrafficManagerNameAvailability operation.
30
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
31
+ # will be added to the HTTP request.
32
+ #
33
+ # @return [TrafficManagerNameAvailability] operation results.
34
+ #
35
+ def check_traffic_manager_relative_dns_name_availability(parameters, custom_headers = nil)
36
+ response = check_traffic_manager_relative_dns_name_availability_async(parameters, custom_headers).value!
37
+ response.body unless response.nil?
38
+ end
39
+
40
+ #
41
+ # Checks the availability of a Traffic Manager Relative DNS name.
42
+ #
43
+ # @param parameters [CheckTrafficManagerRelativeDnsNameAvailabilityParameters]
44
+ # The Traffic Manager name parameters supplied to the
45
+ # CheckTrafficManagerNameAvailability operation.
46
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
47
+ # will be added to the HTTP request.
48
+ #
49
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
50
+ #
51
+ def check_traffic_manager_relative_dns_name_availability_with_http_info(parameters, custom_headers = nil)
52
+ check_traffic_manager_relative_dns_name_availability_async(parameters, custom_headers).value!
53
+ end
54
+
55
+ #
56
+ # Checks the availability of a Traffic Manager Relative DNS name.
57
+ #
58
+ # @param parameters [CheckTrafficManagerRelativeDnsNameAvailabilityParameters]
59
+ # The Traffic Manager name parameters supplied to the
60
+ # CheckTrafficManagerNameAvailability operation.
61
+ # @param [Hash{String => String}] A hash of custom headers that will be added
62
+ # to the HTTP request.
63
+ #
64
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
65
+ #
66
+ def check_traffic_manager_relative_dns_name_availability_async(parameters, custom_headers = nil)
67
+ fail ArgumentError, 'parameters is nil' if parameters.nil?
68
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
69
+
70
+
71
+ request_headers = {}
72
+
73
+ # Set Headers
74
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
75
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
76
+
77
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
78
+
79
+ # Serialize Request
80
+ request_mapper = Azure::TrafficManager::Mgmt::V2015_11_01::Models::CheckTrafficManagerRelativeDnsNameAvailabilityParameters.mapper()
81
+ request_content = @client.serialize(request_mapper, parameters)
82
+ request_content = request_content != nil ? JSON.generate(request_content, quirks_mode: true) : nil
83
+
84
+ path_template = 'providers/Microsoft.Network/checkTrafficManagerNameAvailability'
85
+
86
+ request_url = @base_url || @client.base_url
87
+
88
+ options = {
89
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
90
+ query_params: {'api-version' => @client.api_version},
91
+ body: request_content,
92
+ headers: request_headers.merge(custom_headers || {}),
93
+ base_url: request_url
94
+ }
95
+ promise = @client.make_request_async(:post, path_template, options)
96
+
97
+ promise = promise.then do |result|
98
+ http_response = result.response
99
+ status_code = http_response.status
100
+ response_content = http_response.body
101
+ unless status_code == 200
102
+ error_model = JSON.load(response_content)
103
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
104
+ end
105
+
106
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
107
+ # Deserialize Response
108
+ if status_code == 200
109
+ begin
110
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
111
+ result_mapper = Azure::TrafficManager::Mgmt::V2015_11_01::Models::TrafficManagerNameAvailability.mapper()
112
+ result.body = @client.deserialize(result_mapper, parsed_response)
113
+ rescue Exception => e
114
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
115
+ end
116
+ end
117
+
118
+ result
119
+ end
120
+
121
+ promise.execute
122
+ end
123
+
124
+ #
125
+ # Lists all Traffic Manager profiles within a resource group.
126
+ #
127
+ # @param resource_group_name [String] The name of the resource group containing
128
+ # the Traffic Manager profiles to be listed.
129
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
130
+ # will be added to the HTTP request.
131
+ #
132
+ # @return [ProfileListResult] operation results.
133
+ #
134
+ def list_all_in_resource_group(resource_group_name, custom_headers = nil)
135
+ response = list_all_in_resource_group_async(resource_group_name, custom_headers).value!
136
+ response.body unless response.nil?
137
+ end
138
+
139
+ #
140
+ # Lists all Traffic Manager profiles within a resource group.
141
+ #
142
+ # @param resource_group_name [String] The name of the resource group containing
143
+ # the Traffic Manager profiles to be listed.
144
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
145
+ # will be added to the HTTP request.
146
+ #
147
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
148
+ #
149
+ def list_all_in_resource_group_with_http_info(resource_group_name, custom_headers = nil)
150
+ list_all_in_resource_group_async(resource_group_name, custom_headers).value!
151
+ end
152
+
153
+ #
154
+ # Lists all Traffic Manager profiles within a resource group.
155
+ #
156
+ # @param resource_group_name [String] The name of the resource group containing
157
+ # the Traffic Manager profiles to be listed.
158
+ # @param [Hash{String => String}] A hash of custom headers that will be added
159
+ # to the HTTP request.
160
+ #
161
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
162
+ #
163
+ def list_all_in_resource_group_async(resource_group_name, custom_headers = nil)
164
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
165
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
166
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
167
+
168
+
169
+ request_headers = {}
170
+
171
+ # Set Headers
172
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
173
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
174
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficmanagerprofiles'
175
+
176
+ request_url = @base_url || @client.base_url
177
+
178
+ options = {
179
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
180
+ path_params: {'resourceGroupName' => resource_group_name,'subscriptionId' => @client.subscription_id},
181
+ query_params: {'api-version' => @client.api_version},
182
+ headers: request_headers.merge(custom_headers || {}),
183
+ base_url: request_url
184
+ }
185
+ promise = @client.make_request_async(:get, path_template, options)
186
+
187
+ promise = promise.then do |result|
188
+ http_response = result.response
189
+ status_code = http_response.status
190
+ response_content = http_response.body
191
+ unless status_code == 200
192
+ error_model = JSON.load(response_content)
193
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
194
+ end
195
+
196
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
197
+ # Deserialize Response
198
+ if status_code == 200
199
+ begin
200
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
201
+ result_mapper = Azure::TrafficManager::Mgmt::V2015_11_01::Models::ProfileListResult.mapper()
202
+ result.body = @client.deserialize(result_mapper, parsed_response)
203
+ rescue Exception => e
204
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
205
+ end
206
+ end
207
+
208
+ result
209
+ end
210
+
211
+ promise.execute
212
+ end
213
+
214
+ #
215
+ # Lists all Traffic Manager profiles within a subscription.
216
+ #
217
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
218
+ # will be added to the HTTP request.
219
+ #
220
+ # @return [ProfileListResult] operation results.
221
+ #
222
+ def list_all(custom_headers = nil)
223
+ response = list_all_async(custom_headers).value!
224
+ response.body unless response.nil?
225
+ end
226
+
227
+ #
228
+ # Lists all Traffic Manager profiles within a subscription.
229
+ #
230
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
231
+ # will be added to the HTTP request.
232
+ #
233
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
234
+ #
235
+ def list_all_with_http_info(custom_headers = nil)
236
+ list_all_async(custom_headers).value!
237
+ end
238
+
239
+ #
240
+ # Lists all Traffic Manager profiles within a subscription.
241
+ #
242
+ # @param [Hash{String => String}] A hash of custom headers that will be added
243
+ # to the HTTP request.
244
+ #
245
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
246
+ #
247
+ def list_all_async(custom_headers = nil)
248
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
249
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
250
+
251
+
252
+ request_headers = {}
253
+
254
+ # Set Headers
255
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
256
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
257
+ path_template = 'subscriptions/{subscriptionId}/providers/Microsoft.Network/trafficmanagerprofiles'
258
+
259
+ request_url = @base_url || @client.base_url
260
+
261
+ options = {
262
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
263
+ path_params: {'subscriptionId' => @client.subscription_id},
264
+ query_params: {'api-version' => @client.api_version},
265
+ headers: request_headers.merge(custom_headers || {}),
266
+ base_url: request_url
267
+ }
268
+ promise = @client.make_request_async(:get, path_template, options)
269
+
270
+ promise = promise.then do |result|
271
+ http_response = result.response
272
+ status_code = http_response.status
273
+ response_content = http_response.body
274
+ unless status_code == 200
275
+ error_model = JSON.load(response_content)
276
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
277
+ end
278
+
279
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
280
+ # Deserialize Response
281
+ if status_code == 200
282
+ begin
283
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
284
+ result_mapper = Azure::TrafficManager::Mgmt::V2015_11_01::Models::ProfileListResult.mapper()
285
+ result.body = @client.deserialize(result_mapper, parsed_response)
286
+ rescue Exception => e
287
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
288
+ end
289
+ end
290
+
291
+ result
292
+ end
293
+
294
+ promise.execute
295
+ end
296
+
297
+ #
298
+ # Gets a Traffic Manager profile.
299
+ #
300
+ # @param resource_group_name [String] The name of the resource group containing
301
+ # the Traffic Manager profile.
302
+ # @param profile_name [String] The name of the Traffic Manager profile.
303
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
304
+ # will be added to the HTTP request.
305
+ #
306
+ # @return [Profile] operation results.
307
+ #
308
+ def get(resource_group_name, profile_name, custom_headers = nil)
309
+ response = get_async(resource_group_name, profile_name, custom_headers).value!
310
+ response.body unless response.nil?
311
+ end
312
+
313
+ #
314
+ # Gets a Traffic Manager profile.
315
+ #
316
+ # @param resource_group_name [String] The name of the resource group containing
317
+ # the Traffic Manager profile.
318
+ # @param profile_name [String] The name of the Traffic Manager profile.
319
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
320
+ # will be added to the HTTP request.
321
+ #
322
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
323
+ #
324
+ def get_with_http_info(resource_group_name, profile_name, custom_headers = nil)
325
+ get_async(resource_group_name, profile_name, custom_headers).value!
326
+ end
327
+
328
+ #
329
+ # Gets a Traffic Manager profile.
330
+ #
331
+ # @param resource_group_name [String] The name of the resource group containing
332
+ # the Traffic Manager profile.
333
+ # @param profile_name [String] The name of the Traffic Manager profile.
334
+ # @param [Hash{String => String}] A hash of custom headers that will be added
335
+ # to the HTTP request.
336
+ #
337
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
338
+ #
339
+ def get_async(resource_group_name, profile_name, custom_headers = nil)
340
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
341
+ fail ArgumentError, 'profile_name is nil' if profile_name.nil?
342
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
343
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
344
+
345
+
346
+ request_headers = {}
347
+
348
+ # Set Headers
349
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
350
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
351
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficmanagerprofiles/{profileName}'
352
+
353
+ request_url = @base_url || @client.base_url
354
+
355
+ options = {
356
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
357
+ path_params: {'resourceGroupName' => resource_group_name,'profileName' => profile_name,'subscriptionId' => @client.subscription_id},
358
+ query_params: {'api-version' => @client.api_version},
359
+ headers: request_headers.merge(custom_headers || {}),
360
+ base_url: request_url
361
+ }
362
+ promise = @client.make_request_async(:get, path_template, options)
363
+
364
+ promise = promise.then do |result|
365
+ http_response = result.response
366
+ status_code = http_response.status
367
+ response_content = http_response.body
368
+ unless status_code == 200
369
+ error_model = JSON.load(response_content)
370
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
371
+ end
372
+
373
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
374
+ # Deserialize Response
375
+ if status_code == 200
376
+ begin
377
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
378
+ result_mapper = Azure::TrafficManager::Mgmt::V2015_11_01::Models::Profile.mapper()
379
+ result.body = @client.deserialize(result_mapper, parsed_response)
380
+ rescue Exception => e
381
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
382
+ end
383
+ end
384
+
385
+ result
386
+ end
387
+
388
+ promise.execute
389
+ end
390
+
391
+ #
392
+ # Create or update a Traffic Manager profile.
393
+ #
394
+ # @param resource_group_name [String] The name of the resource group containing
395
+ # the Traffic Manager profile.
396
+ # @param profile_name [String] The name of the Traffic Manager profile.
397
+ # @param parameters [Profile] The Traffic Manager profile parameters supplied
398
+ # to the CreateOrUpdate operation.
399
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
400
+ # will be added to the HTTP request.
401
+ #
402
+ # @return [Profile] operation results.
403
+ #
404
+ def create_or_update(resource_group_name, profile_name, parameters, custom_headers = nil)
405
+ response = create_or_update_async(resource_group_name, profile_name, parameters, custom_headers).value!
406
+ response.body unless response.nil?
407
+ end
408
+
409
+ #
410
+ # Create or update a Traffic Manager profile.
411
+ #
412
+ # @param resource_group_name [String] The name of the resource group containing
413
+ # the Traffic Manager profile.
414
+ # @param profile_name [String] The name of the Traffic Manager profile.
415
+ # @param parameters [Profile] The Traffic Manager profile parameters supplied
416
+ # to the CreateOrUpdate operation.
417
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
418
+ # will be added to the HTTP request.
419
+ #
420
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
421
+ #
422
+ def create_or_update_with_http_info(resource_group_name, profile_name, parameters, custom_headers = nil)
423
+ create_or_update_async(resource_group_name, profile_name, parameters, custom_headers).value!
424
+ end
425
+
426
+ #
427
+ # Create or update a Traffic Manager profile.
428
+ #
429
+ # @param resource_group_name [String] The name of the resource group containing
430
+ # the Traffic Manager profile.
431
+ # @param profile_name [String] The name of the Traffic Manager profile.
432
+ # @param parameters [Profile] The Traffic Manager profile parameters supplied
433
+ # to the CreateOrUpdate operation.
434
+ # @param [Hash{String => String}] A hash of custom headers that will be added
435
+ # to the HTTP request.
436
+ #
437
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
438
+ #
439
+ def create_or_update_async(resource_group_name, profile_name, parameters, custom_headers = nil)
440
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
441
+ fail ArgumentError, 'profile_name is nil' if profile_name.nil?
442
+ fail ArgumentError, 'parameters is nil' if parameters.nil?
443
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
444
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
445
+
446
+
447
+ request_headers = {}
448
+
449
+ # Set Headers
450
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
451
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
452
+
453
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
454
+
455
+ # Serialize Request
456
+ request_mapper = Azure::TrafficManager::Mgmt::V2015_11_01::Models::Profile.mapper()
457
+ request_content = @client.serialize(request_mapper, parameters)
458
+ request_content = request_content != nil ? JSON.generate(request_content, quirks_mode: true) : nil
459
+
460
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficmanagerprofiles/{profileName}'
461
+
462
+ request_url = @base_url || @client.base_url
463
+
464
+ options = {
465
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
466
+ path_params: {'resourceGroupName' => resource_group_name,'profileName' => profile_name,'subscriptionId' => @client.subscription_id},
467
+ query_params: {'api-version' => @client.api_version},
468
+ body: request_content,
469
+ headers: request_headers.merge(custom_headers || {}),
470
+ base_url: request_url
471
+ }
472
+ promise = @client.make_request_async(:put, path_template, options)
473
+
474
+ promise = promise.then do |result|
475
+ http_response = result.response
476
+ status_code = http_response.status
477
+ response_content = http_response.body
478
+ unless status_code == 200 || status_code == 201
479
+ error_model = JSON.load(response_content)
480
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
481
+ end
482
+
483
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
484
+ # Deserialize Response
485
+ if status_code == 200
486
+ begin
487
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
488
+ result_mapper = Azure::TrafficManager::Mgmt::V2015_11_01::Models::Profile.mapper()
489
+ result.body = @client.deserialize(result_mapper, parsed_response)
490
+ rescue Exception => e
491
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
492
+ end
493
+ end
494
+ # Deserialize Response
495
+ if status_code == 201
496
+ begin
497
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
498
+ result_mapper = Azure::TrafficManager::Mgmt::V2015_11_01::Models::Profile.mapper()
499
+ result.body = @client.deserialize(result_mapper, parsed_response)
500
+ rescue Exception => e
501
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
502
+ end
503
+ end
504
+
505
+ result
506
+ end
507
+
508
+ promise.execute
509
+ end
510
+
511
+ #
512
+ # Deletes a Traffic Manager profile.
513
+ #
514
+ # @param resource_group_name [String] The name of the resource group containing
515
+ # the Traffic Manager profile to be deleted.
516
+ # @param profile_name [String] The name of the Traffic Manager profile to be
517
+ # deleted.
518
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
519
+ # will be added to the HTTP request.
520
+ #
521
+ #
522
+ def delete(resource_group_name, profile_name, custom_headers = nil)
523
+ response = delete_async(resource_group_name, profile_name, custom_headers).value!
524
+ nil
525
+ end
526
+
527
+ #
528
+ # Deletes a Traffic Manager profile.
529
+ #
530
+ # @param resource_group_name [String] The name of the resource group containing
531
+ # the Traffic Manager profile to be deleted.
532
+ # @param profile_name [String] The name of the Traffic Manager profile to be
533
+ # deleted.
534
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
535
+ # will be added to the HTTP request.
536
+ #
537
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
538
+ #
539
+ def delete_with_http_info(resource_group_name, profile_name, custom_headers = nil)
540
+ delete_async(resource_group_name, profile_name, custom_headers).value!
541
+ end
542
+
543
+ #
544
+ # Deletes a Traffic Manager profile.
545
+ #
546
+ # @param resource_group_name [String] The name of the resource group containing
547
+ # the Traffic Manager profile to be deleted.
548
+ # @param profile_name [String] The name of the Traffic Manager profile to be
549
+ # deleted.
550
+ # @param [Hash{String => String}] A hash of custom headers that will be added
551
+ # to the HTTP request.
552
+ #
553
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
554
+ #
555
+ def delete_async(resource_group_name, profile_name, custom_headers = nil)
556
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
557
+ fail ArgumentError, 'profile_name is nil' if profile_name.nil?
558
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
559
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
560
+
561
+
562
+ request_headers = {}
563
+
564
+ # Set Headers
565
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
566
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
567
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficmanagerprofiles/{profileName}'
568
+
569
+ request_url = @base_url || @client.base_url
570
+
571
+ options = {
572
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
573
+ path_params: {'resourceGroupName' => resource_group_name,'profileName' => profile_name,'subscriptionId' => @client.subscription_id},
574
+ query_params: {'api-version' => @client.api_version},
575
+ headers: request_headers.merge(custom_headers || {}),
576
+ base_url: request_url
577
+ }
578
+ promise = @client.make_request_async(:delete, path_template, options)
579
+
580
+ promise = promise.then do |result|
581
+ http_response = result.response
582
+ status_code = http_response.status
583
+ response_content = http_response.body
584
+ unless status_code == 200 || status_code == 204
585
+ error_model = JSON.load(response_content)
586
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
587
+ end
588
+
589
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
590
+
591
+ result
592
+ end
593
+
594
+ promise.execute
595
+ end
596
+
597
+ #
598
+ # Update a Traffic Manager profile.
599
+ #
600
+ # @param resource_group_name [String] The name of the resource group containing
601
+ # the Traffic Manager profile.
602
+ # @param profile_name [String] The name of the Traffic Manager profile.
603
+ # @param parameters [Profile] The Traffic Manager profile parameters supplied
604
+ # to the Update operation.
605
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
606
+ # will be added to the HTTP request.
607
+ #
608
+ # @return [Profile] operation results.
609
+ #
610
+ def update(resource_group_name, profile_name, parameters, custom_headers = nil)
611
+ response = update_async(resource_group_name, profile_name, parameters, custom_headers).value!
612
+ response.body unless response.nil?
613
+ end
614
+
615
+ #
616
+ # Update a Traffic Manager profile.
617
+ #
618
+ # @param resource_group_name [String] The name of the resource group containing
619
+ # the Traffic Manager profile.
620
+ # @param profile_name [String] The name of the Traffic Manager profile.
621
+ # @param parameters [Profile] The Traffic Manager profile parameters supplied
622
+ # to the Update operation.
623
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
624
+ # will be added to the HTTP request.
625
+ #
626
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
627
+ #
628
+ def update_with_http_info(resource_group_name, profile_name, parameters, custom_headers = nil)
629
+ update_async(resource_group_name, profile_name, parameters, custom_headers).value!
630
+ end
631
+
632
+ #
633
+ # Update a Traffic Manager profile.
634
+ #
635
+ # @param resource_group_name [String] The name of the resource group containing
636
+ # the Traffic Manager profile.
637
+ # @param profile_name [String] The name of the Traffic Manager profile.
638
+ # @param parameters [Profile] The Traffic Manager profile parameters supplied
639
+ # to the Update operation.
640
+ # @param [Hash{String => String}] A hash of custom headers that will be added
641
+ # to the HTTP request.
642
+ #
643
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
644
+ #
645
+ def update_async(resource_group_name, profile_name, parameters, custom_headers = nil)
646
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
647
+ fail ArgumentError, 'profile_name is nil' if profile_name.nil?
648
+ fail ArgumentError, 'parameters is nil' if parameters.nil?
649
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
650
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
651
+
652
+
653
+ request_headers = {}
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
+
659
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
660
+
661
+ # Serialize Request
662
+ request_mapper = Azure::TrafficManager::Mgmt::V2015_11_01::Models::Profile.mapper()
663
+ request_content = @client.serialize(request_mapper, parameters)
664
+ request_content = request_content != nil ? JSON.generate(request_content, quirks_mode: true) : nil
665
+
666
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficmanagerprofiles/{profileName}'
667
+
668
+ request_url = @base_url || @client.base_url
669
+
670
+ options = {
671
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
672
+ path_params: {'resourceGroupName' => resource_group_name,'profileName' => profile_name,'subscriptionId' => @client.subscription_id},
673
+ query_params: {'api-version' => @client.api_version},
674
+ body: request_content,
675
+ headers: request_headers.merge(custom_headers || {}),
676
+ base_url: request_url
677
+ }
678
+ promise = @client.make_request_async(:patch, path_template, options)
679
+
680
+ promise = promise.then do |result|
681
+ http_response = result.response
682
+ status_code = http_response.status
683
+ response_content = http_response.body
684
+ unless status_code == 200
685
+ error_model = JSON.load(response_content)
686
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
687
+ end
688
+
689
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
690
+ # Deserialize Response
691
+ if status_code == 200
692
+ begin
693
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
694
+ result_mapper = Azure::TrafficManager::Mgmt::V2015_11_01::Models::Profile.mapper()
695
+ result.body = @client.deserialize(result_mapper, parsed_response)
696
+ rescue Exception => e
697
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
698
+ end
699
+ end
700
+
701
+ result
702
+ end
703
+
704
+ promise.execute
705
+ end
706
+
707
+ end
708
+ end