azure_mgmt_network 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (123) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +10 -0
  3. data/.rspec +3 -0
  4. data/.travis.yml +3 -0
  5. data/Gemfile +15 -0
  6. data/LICENSE.txt +21 -0
  7. data/README.md +131 -0
  8. data/Rakefile +5 -0
  9. data/azure_mgmt_network.gemspec +39 -0
  10. data/lib/azure_mgmt_network.rb +139 -0
  11. data/lib/azure_mgmt_network/Models/address_space.rb +60 -0
  12. data/lib/azure_mgmt_network/Models/application_gateway.rb +104 -0
  13. data/lib/azure_mgmt_network/Models/application_gateway_backend_address.rb +67 -0
  14. data/lib/azure_mgmt_network/Models/application_gateway_backend_address_pool.rb +90 -0
  15. data/lib/azure_mgmt_network/Models/application_gateway_backend_address_pool_properties_format.rb +121 -0
  16. data/lib/azure_mgmt_network/Models/application_gateway_backend_http_settings.rb +90 -0
  17. data/lib/azure_mgmt_network/Models/application_gateway_backend_http_settings_properties_format.rb +98 -0
  18. data/lib/azure_mgmt_network/Models/application_gateway_cookie_based_affinity.rb +16 -0
  19. data/lib/azure_mgmt_network/Models/application_gateway_frontend_ip_configuration.rb +91 -0
  20. data/lib/azure_mgmt_network/Models/application_gateway_frontend_ip_configuration_properties_format.rb +117 -0
  21. data/lib/azure_mgmt_network/Models/application_gateway_frontend_port.rb +90 -0
  22. data/lib/azure_mgmt_network/Models/application_gateway_frontend_port_properties_format.rb +70 -0
  23. data/lib/azure_mgmt_network/Models/application_gateway_http_listener.rb +90 -0
  24. data/lib/azure_mgmt_network/Models/application_gateway_http_listener_properties_format.rb +124 -0
  25. data/lib/azure_mgmt_network/Models/application_gateway_ip_configuration.rb +90 -0
  26. data/lib/azure_mgmt_network/Models/application_gateway_ip_configuration_properties_format.rb +77 -0
  27. data/lib/azure_mgmt_network/Models/application_gateway_list_result.rb +88 -0
  28. data/lib/azure_mgmt_network/Models/application_gateway_operational_state.rb +18 -0
  29. data/lib/azure_mgmt_network/Models/application_gateway_properties_format.rb +338 -0
  30. data/lib/azure_mgmt_network/Models/application_gateway_protocol.rb +16 -0
  31. data/lib/azure_mgmt_network/Models/application_gateway_request_routing_rule.rb +90 -0
  32. data/lib/azure_mgmt_network/Models/application_gateway_request_routing_rule_properties_format.rb +124 -0
  33. data/lib/azure_mgmt_network/Models/application_gateway_request_routing_rule_type.rb +15 -0
  34. data/lib/azure_mgmt_network/Models/application_gateway_sku.rb +88 -0
  35. data/lib/azure_mgmt_network/Models/application_gateway_sku_name.rb +17 -0
  36. data/lib/azure_mgmt_network/Models/application_gateway_ssl_certificate.rb +90 -0
  37. data/lib/azure_mgmt_network/Models/application_gateway_ssl_certificate_properties_format.rb +87 -0
  38. data/lib/azure_mgmt_network/Models/application_gateway_tier.rb +15 -0
  39. data/lib/azure_mgmt_network/Models/azure_async_operation_result.rb +85 -0
  40. data/lib/azure_mgmt_network/Models/backend_address_pool.rb +90 -0
  41. data/lib/azure_mgmt_network/Models/backend_address_pool_properties_format.rb +120 -0
  42. data/lib/azure_mgmt_network/Models/connection_reset_shared_key.rb +64 -0
  43. data/lib/azure_mgmt_network/Models/connection_reset_shared_key_properties_format.rb +60 -0
  44. data/lib/azure_mgmt_network/Models/connection_shared_key.rb +58 -0
  45. data/lib/azure_mgmt_network/Models/dhcp_options.rb +60 -0
  46. data/lib/azure_mgmt_network/Models/dns_name_availability_result.rb +58 -0
  47. data/lib/azure_mgmt_network/Models/error.rb +114 -0
  48. data/lib/azure_mgmt_network/Models/error_details.rb +76 -0
  49. data/lib/azure_mgmt_network/Models/frontend_ip_configuration.rb +90 -0
  50. data/lib/azure_mgmt_network/Models/frontend_ip_configuration_properties_format.rb +181 -0
  51. data/lib/azure_mgmt_network/Models/inbound_nat_rule.rb +90 -0
  52. data/lib/azure_mgmt_network/Models/inbound_nat_rule_properties_format.rb +163 -0
  53. data/lib/azure_mgmt_network/Models/ip_allocation_method.rb +16 -0
  54. data/lib/azure_mgmt_network/Models/load_balancer.rb +104 -0
  55. data/lib/azure_mgmt_network/Models/load_balancer_list_result.rb +88 -0
  56. data/lib/azure_mgmt_network/Models/load_balancer_properties_format.rb +210 -0
  57. data/lib/azure_mgmt_network/Models/load_balancing_rule.rb +90 -0
  58. data/lib/azure_mgmt_network/Models/load_balancing_rule_properties_format.rb +195 -0
  59. data/lib/azure_mgmt_network/Models/load_distribution.rb +17 -0
  60. data/lib/azure_mgmt_network/Models/local_network_gateway.rb +104 -0
  61. data/lib/azure_mgmt_network/Models/local_network_gateway_list_result.rb +88 -0
  62. data/lib/azure_mgmt_network/Models/local_network_gateway_properties_format.rb +83 -0
  63. data/lib/azure_mgmt_network/Models/network_interface.rb +104 -0
  64. data/lib/azure_mgmt_network/Models/network_interface_dns_settings.rb +89 -0
  65. data/lib/azure_mgmt_network/Models/network_interface_ip_configuration.rb +90 -0
  66. data/lib/azure_mgmt_network/Models/network_interface_ip_configuration_properties_format.rb +179 -0
  67. data/lib/azure_mgmt_network/Models/network_interface_list_result.rb +88 -0
  68. data/lib/azure_mgmt_network/Models/network_interface_properties_format.rb +158 -0
  69. data/lib/azure_mgmt_network/Models/network_security_group.rb +104 -0
  70. data/lib/azure_mgmt_network/Models/network_security_group_list_result.rb +88 -0
  71. data/lib/azure_mgmt_network/Models/network_security_group_properties_format.rb +181 -0
  72. data/lib/azure_mgmt_network/Models/operation_status.rb +17 -0
  73. data/lib/azure_mgmt_network/Models/probe.rb +90 -0
  74. data/lib/azure_mgmt_network/Models/probe_properties_format.rb +157 -0
  75. data/lib/azure_mgmt_network/Models/probe_protocol.rb +16 -0
  76. data/lib/azure_mgmt_network/Models/public_ip_address.rb +104 -0
  77. data/lib/azure_mgmt_network/Models/public_ip_address_dns_settings.rb +85 -0
  78. data/lib/azure_mgmt_network/Models/public_ip_address_list_result.rb +88 -0
  79. data/lib/azure_mgmt_network/Models/public_ip_address_properties_format.rb +126 -0
  80. data/lib/azure_mgmt_network/Models/security_rule.rb +90 -0
  81. data/lib/azure_mgmt_network/Models/security_rule_access.rb +16 -0
  82. data/lib/azure_mgmt_network/Models/security_rule_direction.rb +16 -0
  83. data/lib/azure_mgmt_network/Models/security_rule_list_result.rb +89 -0
  84. data/lib/azure_mgmt_network/Models/security_rule_properties_format.rb +174 -0
  85. data/lib/azure_mgmt_network/Models/security_rule_protocol.rb +17 -0
  86. data/lib/azure_mgmt_network/Models/subnet.rb +90 -0
  87. data/lib/azure_mgmt_network/Models/subnet_list_result.rb +88 -0
  88. data/lib/azure_mgmt_network/Models/subnet_properties_format.rb +115 -0
  89. data/lib/azure_mgmt_network/Models/transport_protocol.rb +16 -0
  90. data/lib/azure_mgmt_network/Models/usage.rb +98 -0
  91. data/lib/azure_mgmt_network/Models/usage_name.rb +68 -0
  92. data/lib/azure_mgmt_network/Models/usage_unit.rb +15 -0
  93. data/lib/azure_mgmt_network/Models/usages_list_result.rb +78 -0
  94. data/lib/azure_mgmt_network/Models/virtual_network.rb +104 -0
  95. data/lib/azure_mgmt_network/Models/virtual_network_gateway.rb +104 -0
  96. data/lib/azure_mgmt_network/Models/virtual_network_gateway_connection.rb +104 -0
  97. data/lib/azure_mgmt_network/Models/virtual_network_gateway_connection_list_result.rb +89 -0
  98. data/lib/azure_mgmt_network/Models/virtual_network_gateway_connection_properties_format.rb +141 -0
  99. data/lib/azure_mgmt_network/Models/virtual_network_gateway_connection_type.rb +18 -0
  100. data/lib/azure_mgmt_network/Models/virtual_network_gateway_ip_configuration.rb +90 -0
  101. data/lib/azure_mgmt_network/Models/virtual_network_gateway_ip_configuration_properties_format.rb +117 -0
  102. data/lib/azure_mgmt_network/Models/virtual_network_gateway_list_result.rb +88 -0
  103. data/lib/azure_mgmt_network/Models/virtual_network_gateway_properties_format.rb +126 -0
  104. data/lib/azure_mgmt_network/Models/virtual_network_gateway_type.rb +15 -0
  105. data/lib/azure_mgmt_network/Models/virtual_network_list_result.rb +88 -0
  106. data/lib/azure_mgmt_network/Models/virtual_network_properties_format.rb +123 -0
  107. data/lib/azure_mgmt_network/Models/vpn_type.rb +16 -0
  108. data/lib/azure_mgmt_network/application_gateways.rb +915 -0
  109. data/lib/azure_mgmt_network/load_balancers.rb +709 -0
  110. data/lib/azure_mgmt_network/local_network_gateways.rb +550 -0
  111. data/lib/azure_mgmt_network/module_definition.rb +6 -0
  112. data/lib/azure_mgmt_network/network_interfaces.rb +709 -0
  113. data/lib/azure_mgmt_network/network_resource_provider_client.rb +195 -0
  114. data/lib/azure_mgmt_network/network_security_groups.rb +718 -0
  115. data/lib/azure_mgmt_network/public_ip_addresses.rb +711 -0
  116. data/lib/azure_mgmt_network/security_rules.rb +563 -0
  117. data/lib/azure_mgmt_network/subnets.rb +552 -0
  118. data/lib/azure_mgmt_network/usages.rb +113 -0
  119. data/lib/azure_mgmt_network/version.rb +6 -0
  120. data/lib/azure_mgmt_network/virtual_network_gateway_connections.rb +945 -0
  121. data/lib/azure_mgmt_network/virtual_network_gateways.rb +686 -0
  122. data/lib/azure_mgmt_network/virtual_networks.rb +707 -0
  123. metadata +311 -0
@@ -0,0 +1,113 @@
1
+ # encoding: utf-8
2
+ # Code generated by Microsoft (R) AutoRest Code Generator 0.11.0.0
3
+ # Changes may cause incorrect behavior and will be lost if the code is
4
+ # regenerated.
5
+
6
+ module Azure::ARM::Network
7
+ #
8
+ # Usages
9
+ #
10
+ class Usages
11
+ include Azure::ARM::Network::Models
12
+ include MsRestAzure
13
+
14
+ #
15
+ # Creates and initializes a new instance of the Usages 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 NetworkResourceProviderClient
23
+ attr_reader :client
24
+
25
+ #
26
+ # Lists compute usages for a subscription.
27
+ # @param location [String] The location upon which resource usage is queried.
28
+ # @param [Hash{String => String}] The hash of custom headers need to be
29
+ # applied to HTTP request.
30
+ #
31
+ # @return [Concurrent::Promise] Promise object which allows to get HTTP
32
+ # response.
33
+ #
34
+ def list(location, custom_headers = nil)
35
+ fail ArgumentError, 'location is nil' if location.nil?
36
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
37
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
38
+ # Construct URL
39
+ path = "/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/usages"
40
+ path['{location}'] = ERB::Util.url_encode(location) if path.include?('{location}')
41
+ path['{subscriptionId}'] = ERB::Util.url_encode(@client.subscription_id) if path.include?('{subscriptionId}')
42
+ url = URI.join(@client.base_url, path)
43
+ properties = {}
44
+ properties['api-version'] = ERB::Util.url_encode(@client.api_version.to_s) unless @client.api_version.nil?
45
+ unless url.query.nil?
46
+ url.query.split('&').each do |url_item|
47
+ url_items_parts = url_item.split('=')
48
+ properties[url_items_parts[0]] = url_items_parts[1]
49
+ end
50
+ end
51
+ properties.reject!{ |key, value| value.nil? }
52
+ url.query = properties.map{ |key, value| "#{key}=#{value}" }.compact.join('&')
53
+ fail URI::Error unless url.to_s =~ /\A#{URI::regexp}\z/
54
+ corrected_url = url.to_s.gsub(/([^:])\/\//, '\1/')
55
+ url = URI.parse(corrected_url)
56
+
57
+ connection = Faraday.new(:url => url) do |faraday|
58
+ faraday.use MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02
59
+ faraday.use :cookie_jar
60
+ faraday.adapter Faraday.default_adapter
61
+ end
62
+ request_headers = Hash.new
63
+
64
+ # Set Headers
65
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
66
+ request_headers["accept-language"] = @client.accept_language unless @client.accept_language.nil?
67
+
68
+ unless custom_headers.nil?
69
+ custom_headers.each do |key, value|
70
+ request_headers[key] = value
71
+ end
72
+ end
73
+
74
+ # Send Request
75
+ promise = Concurrent::Promise.new do
76
+ connection.get do |request|
77
+ request.headers = request_headers
78
+ @client.credentials.sign_request(request) unless @client.credentials.nil?
79
+ end
80
+ end
81
+
82
+ promise = promise.then do |http_response|
83
+ status_code = http_response.status
84
+ response_content = http_response.body
85
+ unless (status_code == 200)
86
+ error_model = JSON.load(response_content)
87
+ fail MsRestAzure::AzureOperationError.new(connection, http_response, error_model)
88
+ end
89
+
90
+ # Create Result
91
+ result = MsRestAzure::AzureOperationResponse.new(connection, http_response)
92
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
93
+ # Deserialize Response
94
+ if status_code == 200
95
+ begin
96
+ parsed_response = JSON.load(response_content) unless response_content.to_s.empty?
97
+ unless parsed_response.nil?
98
+ parsed_response = UsagesListResult.deserialize_object(parsed_response)
99
+ end
100
+ result.body = parsed_response
101
+ rescue Exception => e
102
+ fail MsRest::DeserializationError.new("Error occured in deserializing the response", e.message, e.backtrace, response_content)
103
+ end
104
+ end
105
+
106
+ result
107
+ end
108
+
109
+ promise.execute
110
+ end
111
+
112
+ end
113
+ end
@@ -0,0 +1,6 @@
1
+ # Copyright (c) Microsoft Corporation. All rights reserved.
2
+ # Licensed under the MIT License. See License.txt in the project root for license information.
3
+
4
+ module Azure::ARM::Network
5
+ VERSION = '0.1.0'
6
+ end
@@ -0,0 +1,945 @@
1
+ # encoding: utf-8
2
+ # Code generated by Microsoft (R) AutoRest Code Generator 0.11.0.0
3
+ # Changes may cause incorrect behavior and will be lost if the code is
4
+ # regenerated.
5
+
6
+ module Azure::ARM::Network
7
+ #
8
+ # VirtualNetworkGatewayConnections
9
+ #
10
+ class VirtualNetworkGatewayConnections
11
+ include Azure::ARM::Network::Models
12
+ include MsRestAzure
13
+
14
+ #
15
+ # Creates and initializes a new instance of the VirtualNetworkGatewayConnections 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 NetworkResourceProviderClient
23
+ attr_reader :client
24
+
25
+ #
26
+ # The Put VirtualNetworkGatewayConnection operation creates/updates a virtual
27
+ # network gateway connection in the specified resource group through Network
28
+ # resource provider.
29
+ # @param resource_group_name [String] The name of the resource group.
30
+ # @param virtual_network_gateway_connection_name [String] The name of the
31
+ # virtual network gateway conenction.
32
+ # @param parameters [VirtualNetworkGatewayConnection] Parameters supplied to
33
+ # the Begin Create or update Virtual Network Gateway connection operation
34
+ # through Network resource provider.
35
+ # @param @client.api_version [String] Client Api Version.
36
+ # @param @client.subscription_id [String] Gets subscription credentials which
37
+ # uniquely identify Microsoft Azure subscription. The subscription ID forms
38
+ # part of the URI for every service call.
39
+ # @param @client.accept_language [String] Gets or sets the preferred language
40
+ # for the response.
41
+ #
42
+ # @return [Concurrent::Promise] promise which provides async access to http
43
+ # response.
44
+ #
45
+ def create_or_update(resource_group_name, virtual_network_gateway_connection_name, parameters, custom_headers = nil)
46
+ # Send request
47
+ promise = begin_create_or_update(resource_group_name, virtual_network_gateway_connection_name, parameters, custom_headers)
48
+
49
+ promise = promise.then do |response|
50
+ # Defining deserialization method.
51
+ deserialize_method = lambda do |parsed_response|
52
+ unless parsed_response.nil?
53
+ parsed_response = VirtualNetworkGatewayConnection.deserialize_object(parsed_response)
54
+ end
55
+ end
56
+
57
+ # Waiting for response.
58
+ @client.get_put_operation_result(response, custom_headers, deserialize_method)
59
+ end
60
+
61
+ promise
62
+ end
63
+
64
+ #
65
+ # The Put VirtualNetworkGatewayConnection operation creates/updates a virtual
66
+ # network gateway connection in the specified resource group through Network
67
+ # resource provider.
68
+ # @param resource_group_name [String] The name of the resource group.
69
+ # @param virtual_network_gateway_connection_name [String] The name of the
70
+ # virtual network gateway conenction.
71
+ # @param parameters [VirtualNetworkGatewayConnection] Parameters supplied to
72
+ # the Begin Create or update Virtual Network Gateway connection operation
73
+ # through Network resource provider.
74
+ # @param [Hash{String => String}] The hash of custom headers need to be
75
+ # applied to HTTP request.
76
+ #
77
+ # @return [Concurrent::Promise] Promise object which allows to get HTTP
78
+ # response.
79
+ #
80
+ def begin_create_or_update(resource_group_name, virtual_network_gateway_connection_name, parameters, custom_headers = nil)
81
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
82
+ fail ArgumentError, 'virtual_network_gateway_connection_name is nil' if virtual_network_gateway_connection_name.nil?
83
+ fail ArgumentError, 'parameters is nil' if parameters.nil?
84
+ parameters.validate unless parameters.nil?
85
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
86
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
87
+ # Construct URL
88
+ path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}"
89
+ path['{resourceGroupName}'] = ERB::Util.url_encode(resource_group_name) if path.include?('{resourceGroupName}')
90
+ path['{virtualNetworkGatewayConnectionName}'] = ERB::Util.url_encode(virtual_network_gateway_connection_name) if path.include?('{virtualNetworkGatewayConnectionName}')
91
+ path['{subscriptionId}'] = ERB::Util.url_encode(@client.subscription_id) if path.include?('{subscriptionId}')
92
+ url = URI.join(@client.base_url, path)
93
+ properties = {}
94
+ properties['api-version'] = ERB::Util.url_encode(@client.api_version.to_s) unless @client.api_version.nil?
95
+ unless url.query.nil?
96
+ url.query.split('&').each do |url_item|
97
+ url_items_parts = url_item.split('=')
98
+ properties[url_items_parts[0]] = url_items_parts[1]
99
+ end
100
+ end
101
+ properties.reject!{ |key, value| value.nil? }
102
+ url.query = properties.map{ |key, value| "#{key}=#{value}" }.compact.join('&')
103
+ fail URI::Error unless url.to_s =~ /\A#{URI::regexp}\z/
104
+ corrected_url = url.to_s.gsub(/([^:])\/\//, '\1/')
105
+ url = URI.parse(corrected_url)
106
+
107
+ connection = Faraday.new(:url => url) do |faraday|
108
+ faraday.use MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02
109
+ faraday.use :cookie_jar
110
+ faraday.adapter Faraday.default_adapter
111
+ end
112
+ request_headers = Hash.new
113
+
114
+ # Set Headers
115
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
116
+ request_headers["accept-language"] = @client.accept_language unless @client.accept_language.nil?
117
+
118
+ unless custom_headers.nil?
119
+ custom_headers.each do |key, value|
120
+ request_headers[key] = value
121
+ end
122
+ end
123
+
124
+ # Serialize Request
125
+ request_headers['Content-Type'] = 'application/json'
126
+ unless parameters.nil?
127
+ parameters = VirtualNetworkGatewayConnection.serialize_object(parameters)
128
+ end
129
+ request_content = JSON.generate(parameters, quirks_mode: true)
130
+
131
+ # Send Request
132
+ promise = Concurrent::Promise.new do
133
+ connection.put do |request|
134
+ request.headers = request_headers
135
+ request.body = request_content
136
+ @client.credentials.sign_request(request) unless @client.credentials.nil?
137
+ end
138
+ end
139
+
140
+ promise = promise.then do |http_response|
141
+ status_code = http_response.status
142
+ response_content = http_response.body
143
+ unless (status_code == 200 || status_code == 201)
144
+ error_model = JSON.load(response_content)
145
+ fail MsRestAzure::AzureOperationError.new(connection, http_response, error_model)
146
+ end
147
+
148
+ # Create Result
149
+ result = MsRestAzure::AzureOperationResponse.new(connection, http_response)
150
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
151
+ # Deserialize Response
152
+ if status_code == 200
153
+ begin
154
+ parsed_response = JSON.load(response_content) unless response_content.to_s.empty?
155
+ unless parsed_response.nil?
156
+ parsed_response = VirtualNetworkGatewayConnection.deserialize_object(parsed_response)
157
+ end
158
+ result.body = parsed_response
159
+ rescue Exception => e
160
+ fail MsRest::DeserializationError.new("Error occured in deserializing the response", e.message, e.backtrace, response_content)
161
+ end
162
+ end
163
+ # Deserialize Response
164
+ if status_code == 201
165
+ begin
166
+ parsed_response = JSON.load(response_content) unless response_content.to_s.empty?
167
+ unless parsed_response.nil?
168
+ parsed_response = VirtualNetworkGatewayConnection.deserialize_object(parsed_response)
169
+ end
170
+ result.body = parsed_response
171
+ rescue Exception => e
172
+ fail MsRest::DeserializationError.new("Error occured in deserializing the response", e.message, e.backtrace, response_content)
173
+ end
174
+ end
175
+
176
+ result
177
+ end
178
+
179
+ promise.execute
180
+ end
181
+
182
+ #
183
+ # The Get VirtualNetworkGatewayConnection operation retrieves information
184
+ # about the specified virtual network gateway connection through Network
185
+ # resource provider.
186
+ # @param resource_group_name [String] The name of the resource group.
187
+ # @param virtual_network_gateway_connection_name [String] The name of the
188
+ # virtual network gateway connection.
189
+ # @param [Hash{String => String}] The hash of custom headers need to be
190
+ # applied to HTTP request.
191
+ #
192
+ # @return [Concurrent::Promise] Promise object which allows to get HTTP
193
+ # response.
194
+ #
195
+ def get(resource_group_name, virtual_network_gateway_connection_name, custom_headers = nil)
196
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
197
+ fail ArgumentError, 'virtual_network_gateway_connection_name is nil' if virtual_network_gateway_connection_name.nil?
198
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
199
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
200
+ # Construct URL
201
+ path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}"
202
+ path['{resourceGroupName}'] = ERB::Util.url_encode(resource_group_name) if path.include?('{resourceGroupName}')
203
+ path['{virtualNetworkGatewayConnectionName}'] = ERB::Util.url_encode(virtual_network_gateway_connection_name) if path.include?('{virtualNetworkGatewayConnectionName}')
204
+ path['{subscriptionId}'] = ERB::Util.url_encode(@client.subscription_id) if path.include?('{subscriptionId}')
205
+ url = URI.join(@client.base_url, path)
206
+ properties = {}
207
+ properties['api-version'] = ERB::Util.url_encode(@client.api_version.to_s) unless @client.api_version.nil?
208
+ unless url.query.nil?
209
+ url.query.split('&').each do |url_item|
210
+ url_items_parts = url_item.split('=')
211
+ properties[url_items_parts[0]] = url_items_parts[1]
212
+ end
213
+ end
214
+ properties.reject!{ |key, value| value.nil? }
215
+ url.query = properties.map{ |key, value| "#{key}=#{value}" }.compact.join('&')
216
+ fail URI::Error unless url.to_s =~ /\A#{URI::regexp}\z/
217
+ corrected_url = url.to_s.gsub(/([^:])\/\//, '\1/')
218
+ url = URI.parse(corrected_url)
219
+
220
+ connection = Faraday.new(:url => url) do |faraday|
221
+ faraday.use MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02
222
+ faraday.use :cookie_jar
223
+ faraday.adapter Faraday.default_adapter
224
+ end
225
+ request_headers = Hash.new
226
+
227
+ # Set Headers
228
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
229
+ request_headers["accept-language"] = @client.accept_language unless @client.accept_language.nil?
230
+
231
+ unless custom_headers.nil?
232
+ custom_headers.each do |key, value|
233
+ request_headers[key] = value
234
+ end
235
+ end
236
+
237
+ # Send Request
238
+ promise = Concurrent::Promise.new do
239
+ connection.get do |request|
240
+ request.headers = request_headers
241
+ @client.credentials.sign_request(request) unless @client.credentials.nil?
242
+ end
243
+ end
244
+
245
+ promise = promise.then do |http_response|
246
+ status_code = http_response.status
247
+ response_content = http_response.body
248
+ unless (status_code == 200)
249
+ error_model = JSON.load(response_content)
250
+ fail MsRestAzure::AzureOperationError.new(connection, http_response, error_model)
251
+ end
252
+
253
+ # Create Result
254
+ result = MsRestAzure::AzureOperationResponse.new(connection, http_response)
255
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
256
+ # Deserialize Response
257
+ if status_code == 200
258
+ begin
259
+ parsed_response = JSON.load(response_content) unless response_content.to_s.empty?
260
+ unless parsed_response.nil?
261
+ parsed_response = VirtualNetworkGatewayConnection.deserialize_object(parsed_response)
262
+ end
263
+ result.body = parsed_response
264
+ rescue Exception => e
265
+ fail MsRest::DeserializationError.new("Error occured in deserializing the response", e.message, e.backtrace, response_content)
266
+ end
267
+ end
268
+
269
+ result
270
+ end
271
+
272
+ promise.execute
273
+ end
274
+
275
+ #
276
+ # The Delete VirtualNetworkGatewayConnection operation deletes the specifed
277
+ # virtual network Gateway connection through Network resource provider.
278
+ # @param resource_group_name [String] The name of the resource group.
279
+ # @param virtual_network_gateway_connection_name [String] The name of the
280
+ # virtual network gateway connection.
281
+ # @return [Concurrent::Promise] promise which provides async access to http
282
+ # response.
283
+ #
284
+ def delete(resource_group_name, virtual_network_gateway_connection_name, custom_headers = nil)
285
+ # Send request
286
+ promise = begin_delete(resource_group_name, virtual_network_gateway_connection_name, custom_headers)
287
+
288
+ promise = promise.then do |response|
289
+ # Defining deserialization method.
290
+ deserialize_method = lambda do |parsed_response|
291
+ end
292
+
293
+ # Waiting for response.
294
+ @client.get_post_or_delete_operation_result(response, nil, deserialize_method)
295
+ end
296
+
297
+ promise
298
+ end
299
+
300
+ #
301
+ # The Delete VirtualNetworkGatewayConnection operation deletes the specifed
302
+ # virtual network Gateway connection through Network resource provider.
303
+ # @param resource_group_name [String] The name of the resource group.
304
+ # @param virtual_network_gateway_connection_name [String] The name of the
305
+ # virtual network gateway connection.
306
+ # @param [Hash{String => String}] The hash of custom headers need to be
307
+ # applied to HTTP request.
308
+ #
309
+ # @return [Concurrent::Promise] Promise object which allows to get HTTP
310
+ # response.
311
+ #
312
+ def begin_delete(resource_group_name, virtual_network_gateway_connection_name, custom_headers = nil)
313
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
314
+ fail ArgumentError, 'virtual_network_gateway_connection_name is nil' if virtual_network_gateway_connection_name.nil?
315
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
316
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
317
+ # Construct URL
318
+ path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/"
319
+ path['{resourceGroupName}'] = ERB::Util.url_encode(resource_group_name) if path.include?('{resourceGroupName}')
320
+ path['{virtualNetworkGatewayConnectionName}'] = ERB::Util.url_encode(virtual_network_gateway_connection_name) if path.include?('{virtualNetworkGatewayConnectionName}')
321
+ path['{subscriptionId}'] = ERB::Util.url_encode(@client.subscription_id) if path.include?('{subscriptionId}')
322
+ url = URI.join(@client.base_url, path)
323
+ properties = {}
324
+ properties['api-version'] = ERB::Util.url_encode(@client.api_version.to_s) unless @client.api_version.nil?
325
+ unless url.query.nil?
326
+ url.query.split('&').each do |url_item|
327
+ url_items_parts = url_item.split('=')
328
+ properties[url_items_parts[0]] = url_items_parts[1]
329
+ end
330
+ end
331
+ properties.reject!{ |key, value| value.nil? }
332
+ url.query = properties.map{ |key, value| "#{key}=#{value}" }.compact.join('&')
333
+ fail URI::Error unless url.to_s =~ /\A#{URI::regexp}\z/
334
+ corrected_url = url.to_s.gsub(/([^:])\/\//, '\1/')
335
+ url = URI.parse(corrected_url)
336
+
337
+ connection = Faraday.new(:url => url) do |faraday|
338
+ faraday.use MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02
339
+ faraday.use :cookie_jar
340
+ faraday.adapter Faraday.default_adapter
341
+ end
342
+ request_headers = Hash.new
343
+
344
+ # Set Headers
345
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
346
+ request_headers["accept-language"] = @client.accept_language unless @client.accept_language.nil?
347
+
348
+ unless custom_headers.nil?
349
+ custom_headers.each do |key, value|
350
+ request_headers[key] = value
351
+ end
352
+ end
353
+
354
+ # Send Request
355
+ promise = Concurrent::Promise.new do
356
+ connection.delete do |request|
357
+ request.headers = request_headers
358
+ @client.credentials.sign_request(request) unless @client.credentials.nil?
359
+ end
360
+ end
361
+
362
+ promise = promise.then do |http_response|
363
+ status_code = http_response.status
364
+ response_content = http_response.body
365
+ unless (status_code == 200 || status_code == 202 || status_code == 204)
366
+ fail MsRestAzure::AzureOperationError.new(connection, http_response)
367
+ end
368
+
369
+ # Create Result
370
+ result = MsRestAzure::AzureOperationResponse.new(connection, http_response)
371
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
372
+
373
+ result
374
+ end
375
+
376
+ promise.execute
377
+ end
378
+
379
+ #
380
+ # The Get VirtualNetworkGatewayConnectionSharedKey operation retrieves
381
+ # information about the specified virtual network gateway connection shared
382
+ # key through Network resource provider.
383
+ # @param resource_group_name [String] The name of the resource group.
384
+ # @param virtual_network_gateway_connection_name [String] The virtual network
385
+ # gateway connection shared key name.
386
+ # @param [Hash{String => String}] The hash of custom headers need to be
387
+ # applied to HTTP request.
388
+ #
389
+ # @return [Concurrent::Promise] Promise object which allows to get HTTP
390
+ # response.
391
+ #
392
+ def get_shared_key(resource_group_name, virtual_network_gateway_connection_name, custom_headers = nil)
393
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
394
+ fail ArgumentError, 'virtual_network_gateway_connection_name is nil' if virtual_network_gateway_connection_name.nil?
395
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
396
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
397
+ # Construct URL
398
+ path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/sharedkey"
399
+ path['{resourceGroupName}'] = ERB::Util.url_encode(resource_group_name) if path.include?('{resourceGroupName}')
400
+ path['{virtualNetworkGatewayConnectionName}'] = ERB::Util.url_encode(virtual_network_gateway_connection_name) if path.include?('{virtualNetworkGatewayConnectionName}')
401
+ path['{subscriptionId}'] = ERB::Util.url_encode(@client.subscription_id) if path.include?('{subscriptionId}')
402
+ url = URI.join(@client.base_url, path)
403
+ properties = {}
404
+ properties['api-version'] = ERB::Util.url_encode(@client.api_version.to_s) unless @client.api_version.nil?
405
+ unless url.query.nil?
406
+ url.query.split('&').each do |url_item|
407
+ url_items_parts = url_item.split('=')
408
+ properties[url_items_parts[0]] = url_items_parts[1]
409
+ end
410
+ end
411
+ properties.reject!{ |key, value| value.nil? }
412
+ url.query = properties.map{ |key, value| "#{key}=#{value}" }.compact.join('&')
413
+ fail URI::Error unless url.to_s =~ /\A#{URI::regexp}\z/
414
+ corrected_url = url.to_s.gsub(/([^:])\/\//, '\1/')
415
+ url = URI.parse(corrected_url)
416
+
417
+ connection = Faraday.new(:url => url) do |faraday|
418
+ faraday.use MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02
419
+ faraday.use :cookie_jar
420
+ faraday.adapter Faraday.default_adapter
421
+ end
422
+ request_headers = Hash.new
423
+
424
+ # Set Headers
425
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
426
+ request_headers["accept-language"] = @client.accept_language unless @client.accept_language.nil?
427
+
428
+ unless custom_headers.nil?
429
+ custom_headers.each do |key, value|
430
+ request_headers[key] = value
431
+ end
432
+ end
433
+
434
+ # Send Request
435
+ promise = Concurrent::Promise.new do
436
+ connection.get do |request|
437
+ request.headers = request_headers
438
+ @client.credentials.sign_request(request) unless @client.credentials.nil?
439
+ end
440
+ end
441
+
442
+ promise = promise.then do |http_response|
443
+ status_code = http_response.status
444
+ response_content = http_response.body
445
+ unless (status_code == 200)
446
+ error_model = JSON.load(response_content)
447
+ fail MsRestAzure::AzureOperationError.new(connection, http_response, error_model)
448
+ end
449
+
450
+ # Create Result
451
+ result = MsRestAzure::AzureOperationResponse.new(connection, http_response)
452
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
453
+ # Deserialize Response
454
+ if status_code == 200
455
+ begin
456
+ parsed_response = JSON.load(response_content) unless response_content.to_s.empty?
457
+ unless parsed_response.nil?
458
+ parsed_response = ConnectionSharedKey.deserialize_object(parsed_response)
459
+ end
460
+ result.body = parsed_response
461
+ rescue Exception => e
462
+ fail MsRest::DeserializationError.new("Error occured in deserializing the response", e.message, e.backtrace, response_content)
463
+ end
464
+ end
465
+
466
+ result
467
+ end
468
+
469
+ promise.execute
470
+ end
471
+
472
+ #
473
+ # The Put VirtualNetworkGatewayConnectionSharedKey operation sets the virtual
474
+ # network gateway connection shared key for passed virtual network gateway
475
+ # connection in the specified resource group through Network resource
476
+ # provider.
477
+ # @param resource_group_name [String] The name of the resource group.
478
+ # @param virtual_network_gateway_connection_name [String] The virtual network
479
+ # gateway connection name.
480
+ # @param parameters [ConnectionSharedKey] Parameters supplied to the Begin Set
481
+ # Virtual Network Gateway conection Shared key operation throughNetwork
482
+ # resource provider.
483
+ # @param @client.api_version [String] Client Api Version.
484
+ # @param @client.subscription_id [String] Gets subscription credentials which
485
+ # uniquely identify Microsoft Azure subscription. The subscription ID forms
486
+ # part of the URI for every service call.
487
+ # @param @client.accept_language [String] Gets or sets the preferred language
488
+ # for the response.
489
+ #
490
+ # @return [Concurrent::Promise] promise which provides async access to http
491
+ # response.
492
+ #
493
+ def set_shared_key(resource_group_name, virtual_network_gateway_connection_name, parameters, custom_headers = nil)
494
+ # Send request
495
+ promise = begin_set_shared_key(resource_group_name, virtual_network_gateway_connection_name, parameters, custom_headers)
496
+
497
+ promise = promise.then do |response|
498
+ # Defining deserialization method.
499
+ deserialize_method = lambda do |parsed_response|
500
+ unless parsed_response.nil?
501
+ parsed_response = ConnectionSharedKey.deserialize_object(parsed_response)
502
+ end
503
+ end
504
+
505
+ # Waiting for response.
506
+ @client.get_put_operation_result(response, custom_headers, deserialize_method)
507
+ end
508
+
509
+ promise
510
+ end
511
+
512
+ #
513
+ # The Put VirtualNetworkGatewayConnectionSharedKey operation sets the virtual
514
+ # network gateway connection shared key for passed virtual network gateway
515
+ # connection in the specified resource group through Network resource
516
+ # provider.
517
+ # @param resource_group_name [String] The name of the resource group.
518
+ # @param virtual_network_gateway_connection_name [String] The virtual network
519
+ # gateway connection name.
520
+ # @param parameters [ConnectionSharedKey] Parameters supplied to the Begin Set
521
+ # Virtual Network Gateway conection Shared key operation throughNetwork
522
+ # resource provider.
523
+ # @param [Hash{String => String}] The hash of custom headers need to be
524
+ # applied to HTTP request.
525
+ #
526
+ # @return [Concurrent::Promise] Promise object which allows to get HTTP
527
+ # response.
528
+ #
529
+ def begin_set_shared_key(resource_group_name, virtual_network_gateway_connection_name, parameters, custom_headers = nil)
530
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
531
+ fail ArgumentError, 'virtual_network_gateway_connection_name is nil' if virtual_network_gateway_connection_name.nil?
532
+ fail ArgumentError, 'parameters is nil' if parameters.nil?
533
+ parameters.validate unless parameters.nil?
534
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
535
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
536
+ # Construct URL
537
+ path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/sharedkey"
538
+ path['{resourceGroupName}'] = ERB::Util.url_encode(resource_group_name) if path.include?('{resourceGroupName}')
539
+ path['{virtualNetworkGatewayConnectionName}'] = ERB::Util.url_encode(virtual_network_gateway_connection_name) if path.include?('{virtualNetworkGatewayConnectionName}')
540
+ path['{subscriptionId}'] = ERB::Util.url_encode(@client.subscription_id) if path.include?('{subscriptionId}')
541
+ url = URI.join(@client.base_url, path)
542
+ properties = {}
543
+ properties['api-version'] = ERB::Util.url_encode(@client.api_version.to_s) unless @client.api_version.nil?
544
+ unless url.query.nil?
545
+ url.query.split('&').each do |url_item|
546
+ url_items_parts = url_item.split('=')
547
+ properties[url_items_parts[0]] = url_items_parts[1]
548
+ end
549
+ end
550
+ properties.reject!{ |key, value| value.nil? }
551
+ url.query = properties.map{ |key, value| "#{key}=#{value}" }.compact.join('&')
552
+ fail URI::Error unless url.to_s =~ /\A#{URI::regexp}\z/
553
+ corrected_url = url.to_s.gsub(/([^:])\/\//, '\1/')
554
+ url = URI.parse(corrected_url)
555
+
556
+ connection = Faraday.new(:url => url) do |faraday|
557
+ faraday.use MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02
558
+ faraday.use :cookie_jar
559
+ faraday.adapter Faraday.default_adapter
560
+ end
561
+ request_headers = Hash.new
562
+
563
+ # Set Headers
564
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
565
+ request_headers["accept-language"] = @client.accept_language unless @client.accept_language.nil?
566
+
567
+ unless custom_headers.nil?
568
+ custom_headers.each do |key, value|
569
+ request_headers[key] = value
570
+ end
571
+ end
572
+
573
+ # Serialize Request
574
+ request_headers['Content-Type'] = 'application/json'
575
+ unless parameters.nil?
576
+ parameters = ConnectionSharedKey.serialize_object(parameters)
577
+ end
578
+ request_content = JSON.generate(parameters, quirks_mode: true)
579
+
580
+ # Send Request
581
+ promise = Concurrent::Promise.new do
582
+ connection.put do |request|
583
+ request.headers = request_headers
584
+ request.body = request_content
585
+ @client.credentials.sign_request(request) unless @client.credentials.nil?
586
+ end
587
+ end
588
+
589
+ promise = promise.then do |http_response|
590
+ status_code = http_response.status
591
+ response_content = http_response.body
592
+ unless (status_code == 200 || status_code == 201)
593
+ error_model = JSON.load(response_content)
594
+ fail MsRestAzure::AzureOperationError.new(connection, http_response, error_model)
595
+ end
596
+
597
+ # Create Result
598
+ result = MsRestAzure::AzureOperationResponse.new(connection, http_response)
599
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
600
+ # Deserialize Response
601
+ if status_code == 200
602
+ begin
603
+ parsed_response = JSON.load(response_content) unless response_content.to_s.empty?
604
+ unless parsed_response.nil?
605
+ parsed_response = ConnectionSharedKey.deserialize_object(parsed_response)
606
+ end
607
+ result.body = parsed_response
608
+ rescue Exception => e
609
+ fail MsRest::DeserializationError.new("Error occured in deserializing the response", e.message, e.backtrace, response_content)
610
+ end
611
+ end
612
+ # Deserialize Response
613
+ if status_code == 201
614
+ begin
615
+ parsed_response = JSON.load(response_content) unless response_content.to_s.empty?
616
+ unless parsed_response.nil?
617
+ parsed_response = ConnectionSharedKey.deserialize_object(parsed_response)
618
+ end
619
+ result.body = parsed_response
620
+ rescue Exception => e
621
+ fail MsRest::DeserializationError.new("Error occured in deserializing the response", e.message, e.backtrace, response_content)
622
+ end
623
+ end
624
+
625
+ result
626
+ end
627
+
628
+ promise.execute
629
+ end
630
+
631
+ #
632
+ # The List VirtualNetworkGatewayConnections operation retrieves all the
633
+ # virtual network gateways connections created.
634
+ # @param resource_group_name [String] The name of the resource group.
635
+ # @param [Hash{String => String}] The hash of custom headers need to be
636
+ # applied to HTTP request.
637
+ #
638
+ # @return [Concurrent::Promise] Promise object which allows to get HTTP
639
+ # response.
640
+ #
641
+ def list(resource_group_name, custom_headers = nil)
642
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
643
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
644
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
645
+ # Construct URL
646
+ path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections"
647
+ path['{resourceGroupName}'] = ERB::Util.url_encode(resource_group_name) if path.include?('{resourceGroupName}')
648
+ path['{subscriptionId}'] = ERB::Util.url_encode(@client.subscription_id) if path.include?('{subscriptionId}')
649
+ url = URI.join(@client.base_url, path)
650
+ properties = {}
651
+ properties['api-version'] = ERB::Util.url_encode(@client.api_version.to_s) unless @client.api_version.nil?
652
+ unless url.query.nil?
653
+ url.query.split('&').each do |url_item|
654
+ url_items_parts = url_item.split('=')
655
+ properties[url_items_parts[0]] = url_items_parts[1]
656
+ end
657
+ end
658
+ properties.reject!{ |key, value| value.nil? }
659
+ url.query = properties.map{ |key, value| "#{key}=#{value}" }.compact.join('&')
660
+ fail URI::Error unless url.to_s =~ /\A#{URI::regexp}\z/
661
+ corrected_url = url.to_s.gsub(/([^:])\/\//, '\1/')
662
+ url = URI.parse(corrected_url)
663
+
664
+ connection = Faraday.new(:url => url) do |faraday|
665
+ faraday.use MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02
666
+ faraday.use :cookie_jar
667
+ faraday.adapter Faraday.default_adapter
668
+ end
669
+ request_headers = Hash.new
670
+
671
+ # Set Headers
672
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
673
+ request_headers["accept-language"] = @client.accept_language unless @client.accept_language.nil?
674
+
675
+ unless custom_headers.nil?
676
+ custom_headers.each do |key, value|
677
+ request_headers[key] = value
678
+ end
679
+ end
680
+
681
+ # Send Request
682
+ promise = Concurrent::Promise.new do
683
+ connection.get do |request|
684
+ request.headers = request_headers
685
+ @client.credentials.sign_request(request) unless @client.credentials.nil?
686
+ end
687
+ end
688
+
689
+ promise = promise.then do |http_response|
690
+ status_code = http_response.status
691
+ response_content = http_response.body
692
+ unless (status_code == 200)
693
+ error_model = JSON.load(response_content)
694
+ fail MsRestAzure::AzureOperationError.new(connection, http_response, error_model)
695
+ end
696
+
697
+ # Create Result
698
+ result = MsRestAzure::AzureOperationResponse.new(connection, http_response)
699
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
700
+ # Deserialize Response
701
+ if status_code == 200
702
+ begin
703
+ parsed_response = JSON.load(response_content) unless response_content.to_s.empty?
704
+ unless parsed_response.nil?
705
+ parsed_response = VirtualNetworkGatewayConnectionListResult.deserialize_object(parsed_response)
706
+ end
707
+ result.body = parsed_response
708
+ rescue Exception => e
709
+ fail MsRest::DeserializationError.new("Error occured in deserializing the response", e.message, e.backtrace, response_content)
710
+ end
711
+ end
712
+
713
+ result
714
+ end
715
+
716
+ promise.execute
717
+ end
718
+
719
+ #
720
+ # The VirtualNetworkGatewayConnectionResetSharedKey operation resets the
721
+ # virtual network gateway connection shared key for passed virtual network
722
+ # gateway connection in the specified resource group through Network resource
723
+ # provider.
724
+ # @param resource_group_name [String] The name of the resource group.
725
+ # @param virtual_network_gateway_connection_name [String] The virtual network
726
+ # gateway connection reset shared key Name.
727
+ # @param parameters [ConnectionResetSharedKey] Parameters supplied to the
728
+ # Begin Reset Virtual Network Gateway connection shared key operation through
729
+ # Network resource provider.
730
+ # @return [Concurrent::Promise] promise which provides async access to http
731
+ # response.
732
+ #
733
+ def reset_shared_key(resource_group_name, virtual_network_gateway_connection_name, parameters, custom_headers = nil)
734
+ # Send request
735
+ promise = begin_reset_shared_key(resource_group_name, virtual_network_gateway_connection_name, parameters, custom_headers)
736
+
737
+ promise = promise.then do |response|
738
+ # Defining deserialization method.
739
+ deserialize_method = lambda do |parsed_response|
740
+ unless parsed_response.nil?
741
+ parsed_response = ConnectionResetSharedKey.deserialize_object(parsed_response)
742
+ end
743
+ end
744
+
745
+ # Waiting for response.
746
+ @client.get_post_or_delete_operation_result(response, nil, deserialize_method)
747
+ end
748
+
749
+ promise
750
+ end
751
+
752
+ #
753
+ # The VirtualNetworkGatewayConnectionResetSharedKey operation resets the
754
+ # virtual network gateway connection shared key for passed virtual network
755
+ # gateway connection in the specified resource group through Network resource
756
+ # provider.
757
+ # @param resource_group_name [String] The name of the resource group.
758
+ # @param virtual_network_gateway_connection_name [String] The virtual network
759
+ # gateway connection reset shared key Name.
760
+ # @param parameters [ConnectionResetSharedKey] Parameters supplied to the
761
+ # Begin Reset Virtual Network Gateway connection shared key operation through
762
+ # Network resource provider.
763
+ # @param [Hash{String => String}] The hash of custom headers need to be
764
+ # applied to HTTP request.
765
+ #
766
+ # @return [Concurrent::Promise] Promise object which allows to get HTTP
767
+ # response.
768
+ #
769
+ def begin_reset_shared_key(resource_group_name, virtual_network_gateway_connection_name, parameters, custom_headers = nil)
770
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
771
+ fail ArgumentError, 'virtual_network_gateway_connection_name is nil' if virtual_network_gateway_connection_name.nil?
772
+ fail ArgumentError, 'parameters is nil' if parameters.nil?
773
+ parameters.validate unless parameters.nil?
774
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
775
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
776
+ # Construct URL
777
+ path = "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/sharedkey/reset"
778
+ path['{resourceGroupName}'] = ERB::Util.url_encode(resource_group_name) if path.include?('{resourceGroupName}')
779
+ path['{virtualNetworkGatewayConnectionName}'] = ERB::Util.url_encode(virtual_network_gateway_connection_name) if path.include?('{virtualNetworkGatewayConnectionName}')
780
+ path['{subscriptionId}'] = ERB::Util.url_encode(@client.subscription_id) if path.include?('{subscriptionId}')
781
+ url = URI.join(@client.base_url, path)
782
+ properties = {}
783
+ properties['api-version'] = ERB::Util.url_encode(@client.api_version.to_s) unless @client.api_version.nil?
784
+ unless url.query.nil?
785
+ url.query.split('&').each do |url_item|
786
+ url_items_parts = url_item.split('=')
787
+ properties[url_items_parts[0]] = url_items_parts[1]
788
+ end
789
+ end
790
+ properties.reject!{ |key, value| value.nil? }
791
+ url.query = properties.map{ |key, value| "#{key}=#{value}" }.compact.join('&')
792
+ fail URI::Error unless url.to_s =~ /\A#{URI::regexp}\z/
793
+ corrected_url = url.to_s.gsub(/([^:])\/\//, '\1/')
794
+ url = URI.parse(corrected_url)
795
+
796
+ connection = Faraday.new(:url => url) do |faraday|
797
+ faraday.use MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02
798
+ faraday.use :cookie_jar
799
+ faraday.adapter Faraday.default_adapter
800
+ end
801
+ request_headers = Hash.new
802
+
803
+ # Set Headers
804
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
805
+ request_headers["accept-language"] = @client.accept_language unless @client.accept_language.nil?
806
+
807
+ unless custom_headers.nil?
808
+ custom_headers.each do |key, value|
809
+ request_headers[key] = value
810
+ end
811
+ end
812
+
813
+ # Serialize Request
814
+ request_headers['Content-Type'] = 'application/json'
815
+ unless parameters.nil?
816
+ parameters = ConnectionResetSharedKey.serialize_object(parameters)
817
+ end
818
+ request_content = JSON.generate(parameters, quirks_mode: true)
819
+
820
+ # Send Request
821
+ promise = Concurrent::Promise.new do
822
+ connection.post do |request|
823
+ request.headers = request_headers
824
+ request.body = request_content
825
+ @client.credentials.sign_request(request) unless @client.credentials.nil?
826
+ end
827
+ end
828
+
829
+ promise = promise.then do |http_response|
830
+ status_code = http_response.status
831
+ response_content = http_response.body
832
+ unless (status_code == 200 || status_code == 202)
833
+ error_model = JSON.load(response_content)
834
+ fail MsRestAzure::AzureOperationError.new(connection, http_response, error_model)
835
+ end
836
+
837
+ # Create Result
838
+ result = MsRestAzure::AzureOperationResponse.new(connection, http_response)
839
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
840
+ # Deserialize Response
841
+ if status_code == 200
842
+ begin
843
+ parsed_response = JSON.load(response_content) unless response_content.to_s.empty?
844
+ unless parsed_response.nil?
845
+ parsed_response = ConnectionResetSharedKey.deserialize_object(parsed_response)
846
+ end
847
+ result.body = parsed_response
848
+ rescue Exception => e
849
+ fail MsRest::DeserializationError.new("Error occured in deserializing the response", e.message, e.backtrace, response_content)
850
+ end
851
+ end
852
+
853
+ result
854
+ end
855
+
856
+ promise.execute
857
+ end
858
+
859
+ #
860
+ # The List VirtualNetworkGatewayConnections operation retrieves all the
861
+ # virtual network gateways connections created.
862
+ # @param next_page_link [String] The NextLink from the previous successful
863
+ # call to List operation.
864
+ # @param [Hash{String => String}] The hash of custom headers need to be
865
+ # applied to HTTP request.
866
+ #
867
+ # @return [Concurrent::Promise] Promise object which allows to get HTTP
868
+ # response.
869
+ #
870
+ def list_next(next_page_link, custom_headers = nil)
871
+ fail ArgumentError, 'next_page_link is nil' if next_page_link.nil?
872
+ # Construct URL
873
+ path = "{nextLink}"
874
+ path['{nextLink}'] = next_page_link if path.include?('{nextLink}')
875
+ url = URI.parse(path)
876
+ properties = {}
877
+ unless url.query.nil?
878
+ url.query.split('&').each do |url_item|
879
+ url_items_parts = url_item.split('=')
880
+ properties[url_items_parts[0]] = url_items_parts[1]
881
+ end
882
+ end
883
+ properties.reject!{ |key, value| value.nil? }
884
+ url.query = properties.map{ |key, value| "#{key}=#{value}" }.compact.join('&')
885
+ fail URI::Error unless url.to_s =~ /\A#{URI::regexp}\z/
886
+ corrected_url = url.to_s.gsub(/([^:])\/\//, '\1/')
887
+ url = URI.parse(corrected_url)
888
+
889
+ connection = Faraday.new(:url => url) do |faraday|
890
+ faraday.use MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02
891
+ faraday.use :cookie_jar
892
+ faraday.adapter Faraday.default_adapter
893
+ end
894
+ request_headers = Hash.new
895
+
896
+ # Set Headers
897
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
898
+ request_headers["accept-language"] = @client.accept_language unless @client.accept_language.nil?
899
+
900
+ unless custom_headers.nil?
901
+ custom_headers.each do |key, value|
902
+ request_headers[key] = value
903
+ end
904
+ end
905
+
906
+ # Send Request
907
+ promise = Concurrent::Promise.new do
908
+ connection.get do |request|
909
+ request.headers = request_headers
910
+ @client.credentials.sign_request(request) unless @client.credentials.nil?
911
+ end
912
+ end
913
+
914
+ promise = promise.then do |http_response|
915
+ status_code = http_response.status
916
+ response_content = http_response.body
917
+ unless (status_code == 200)
918
+ error_model = JSON.load(response_content)
919
+ fail MsRestAzure::AzureOperationError.new(connection, http_response, error_model)
920
+ end
921
+
922
+ # Create Result
923
+ result = MsRestAzure::AzureOperationResponse.new(connection, http_response)
924
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
925
+ # Deserialize Response
926
+ if status_code == 200
927
+ begin
928
+ parsed_response = JSON.load(response_content) unless response_content.to_s.empty?
929
+ unless parsed_response.nil?
930
+ parsed_response = VirtualNetworkGatewayConnectionListResult.deserialize_object(parsed_response)
931
+ end
932
+ result.body = parsed_response
933
+ rescue Exception => e
934
+ fail MsRest::DeserializationError.new("Error occured in deserializing the response", e.message, e.backtrace, response_content)
935
+ end
936
+ end
937
+
938
+ result
939
+ end
940
+
941
+ promise.execute
942
+ end
943
+
944
+ end
945
+ end