aws-sdk-directconnect 1.0.0.rc1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 6df95fe19faa82998edb1b4e52d00f2e8a177f51
4
+ data.tar.gz: 950fd6f2f1411cde6f18b8aa3c528ad3b29d5e97
5
+ SHA512:
6
+ metadata.gz: 9543253de1b7840561d9273f9ca90e0ca6e0563f90aa98b88e8c6dcad8e52c0e72deb78892464e25492f729624b7585d21e0386317ccf6126a11bfe93788dacc
7
+ data.tar.gz: 263f37d94666662da55d4588dedca83a9f2410d145b13899f99d03ca375550c7cc23aa9a028e968e96d1108e17f9912fb8a91e77b6a7d8e3cca9f71760cd9bca
@@ -0,0 +1,47 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing for info on making contributions:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ require 'aws-sdk-core'
9
+ require 'aws-sigv4'
10
+
11
+ require_relative 'aws-sdk-directconnect/types'
12
+ require_relative 'aws-sdk-directconnect/client_api'
13
+ require_relative 'aws-sdk-directconnect/client'
14
+ require_relative 'aws-sdk-directconnect/errors'
15
+ require_relative 'aws-sdk-directconnect/resource'
16
+ require_relative 'aws-sdk-directconnect/customizations'
17
+
18
+ # This module provides support for AWS Direct Connect. This module is available in the
19
+ # `aws-sdk-directconnect` gem.
20
+ #
21
+ # # Client
22
+ #
23
+ # The {Client} class provides one method for each API operation. Operation
24
+ # methods each accept a hash of request parameters and return a response
25
+ # structure.
26
+ #
27
+ # See {Client} for more information.
28
+ #
29
+ # # Errors
30
+ #
31
+ # Errors returned from AWS Direct Connect all
32
+ # extend {Errors::ServiceError}.
33
+ #
34
+ # begin
35
+ # # do stuff
36
+ # rescue Aws::DirectConnect::Errors::ServiceError
37
+ # # rescues all service API errors
38
+ # end
39
+ #
40
+ # See {Errors} for more information.
41
+ #
42
+ # @service
43
+ module Aws::DirectConnect
44
+
45
+ GEM_VERSION = '1.0.0.rc1'
46
+
47
+ end
@@ -0,0 +1,1299 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing for info on making contributions:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ require 'seahorse/client/plugins/content_length.rb'
9
+ require 'aws-sdk-core/plugins/credentials_configuration.rb'
10
+ require 'aws-sdk-core/plugins/logging.rb'
11
+ require 'aws-sdk-core/plugins/param_converter.rb'
12
+ require 'aws-sdk-core/plugins/param_validator.rb'
13
+ require 'aws-sdk-core/plugins/user_agent.rb'
14
+ require 'aws-sdk-core/plugins/helpful_socket_errors.rb'
15
+ require 'aws-sdk-core/plugins/retry_errors.rb'
16
+ require 'aws-sdk-core/plugins/global_configuration.rb'
17
+ require 'aws-sdk-core/plugins/regional_endpoint.rb'
18
+ require 'aws-sdk-core/plugins/response_paging.rb'
19
+ require 'aws-sdk-core/plugins/stub_responses.rb'
20
+ require 'aws-sdk-core/plugins/idempotency_token.rb'
21
+ require 'aws-sdk-core/plugins/signature_v4.rb'
22
+ require 'aws-sdk-core/plugins/protocols/json_rpc.rb'
23
+
24
+ Aws::Plugins::GlobalConfiguration.add_identifier(:directconnect)
25
+
26
+ module Aws
27
+ module DirectConnect
28
+ class Client < Seahorse::Client::Base
29
+
30
+ include Aws::ClientStubs
31
+
32
+ @identifier = :directconnect
33
+
34
+ set_api(ClientApi::API)
35
+
36
+ add_plugin(Seahorse::Client::Plugins::ContentLength)
37
+ add_plugin(Aws::Plugins::CredentialsConfiguration)
38
+ add_plugin(Aws::Plugins::Logging)
39
+ add_plugin(Aws::Plugins::ParamConverter)
40
+ add_plugin(Aws::Plugins::ParamValidator)
41
+ add_plugin(Aws::Plugins::UserAgent)
42
+ add_plugin(Aws::Plugins::HelpfulSocketErrors)
43
+ add_plugin(Aws::Plugins::RetryErrors)
44
+ add_plugin(Aws::Plugins::GlobalConfiguration)
45
+ add_plugin(Aws::Plugins::RegionalEndpoint)
46
+ add_plugin(Aws::Plugins::ResponsePaging)
47
+ add_plugin(Aws::Plugins::StubResponses)
48
+ add_plugin(Aws::Plugins::IdempotencyToken)
49
+ add_plugin(Aws::Plugins::SignatureV4)
50
+ add_plugin(Aws::Plugins::Protocols::JsonRpc)
51
+
52
+ # @option options [required, Aws::CredentialProvider] :credentials
53
+ # Your AWS credentials. This can be an instance of any one of the
54
+ # following classes:
55
+ #
56
+ # * `Aws::Credentials` - Used for configuring static, non-refreshing
57
+ # credentials.
58
+ #
59
+ # * `Aws::InstanceProfileCredentials` - Used for loading credentials
60
+ # from an EC2 IMDS on an EC2 instance.
61
+ #
62
+ # * `Aws::SharedCredentials` - Used for loading credentials from a
63
+ # shared file, such as `~/.aws/config`.
64
+ #
65
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
66
+ #
67
+ # When `:credentials` are not configured directly, the following
68
+ # locations will be searched for credentials:
69
+ #
70
+ # * `Aws.config[:credentials]`
71
+ # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
72
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
73
+ # * `~/.aws/credentials`
74
+ # * `~/.aws/config`
75
+ # * EC2 IMDS instance profile - When used by default, the timeouts are
76
+ # very aggressive. Construct and pass an instance of
77
+ # `Aws::InstanceProfileCredentails` to enable retries and extended
78
+ # timeouts.
79
+ # @option options [required, String] :region
80
+ # The AWS region to connect to. The configured `:region` is
81
+ # used to determine the service `:endpoint`. When not passed,
82
+ # a default `:region` is search for in the following locations:
83
+ #
84
+ # * `Aws.config[:region]`
85
+ # * `ENV['AWS_REGION']`
86
+ # * `ENV['AMAZON_REGION']`
87
+ # * `ENV['AWS_DEFAULT_REGION']`
88
+ # * `~/.aws/credentials`
89
+ # * `~/.aws/config`
90
+ # @option options [String] :access_key_id
91
+ # @option options [Boolean] :convert_params (true)
92
+ # When `true`, an attempt is made to coerce request parameters into
93
+ # the required types.
94
+ # @option options [String] :endpoint
95
+ # The client endpoint is normally constructed from the `:region`
96
+ # option. You should only configure an `:endpoint` when connecting
97
+ # to test endpoints. This should be avalid HTTP(S) URI.
98
+ # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
99
+ # The log formatter.
100
+ # @option options [Symbol] :log_level (:info)
101
+ # The log level to send messages to the `:logger` at.
102
+ # @option options [Logger] :logger
103
+ # The Logger instance to send log messages to. If this option
104
+ # is not set, logging will be disabled.
105
+ # @option options [String] :profile ("default")
106
+ # Used when loading credentials from the shared credentials file
107
+ # at HOME/.aws/credentials. When not specified, 'default' is used.
108
+ # @option options [Integer] :retry_limit (3)
109
+ # The maximum number of times to retry failed requests. Only
110
+ # ~ 500 level server errors and certain ~ 400 level client errors
111
+ # are retried. Generally, these are throttling errors, data
112
+ # checksum errors, networking errors, timeout errors and auth
113
+ # errors from expired credentials.
114
+ # @option options [String] :secret_access_key
115
+ # @option options [String] :session_token
116
+ # @option options [Boolean] :simple_json (false)
117
+ # Disables request parameter conversion, validation, and formatting.
118
+ # Also disable response data type conversions. This option is useful
119
+ # when you want to ensure the highest level of performance by
120
+ # avoiding overhead of walking request parameters and response data
121
+ # structures.
122
+ #
123
+ # When `:simple_json` is enabled, the request parameters hash must
124
+ # be formatted exactly as the DynamoDB API expects.
125
+ # @option options [Boolean] :stub_responses (false)
126
+ # Causes the client to return stubbed responses. By default
127
+ # fake responses are generated and returned. You can specify
128
+ # the response data to return or errors to raise by calling
129
+ # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
130
+ #
131
+ # ** Please note ** When response stubbing is enabled, no HTTP
132
+ # requests are made, and retries are disabled.
133
+ # @option options [Boolean] :validate_params (true)
134
+ # When `true`, request parameters are validated before
135
+ # sending the request.
136
+ def initialize(*args)
137
+ super
138
+ end
139
+
140
+ # @!group API Operations
141
+
142
+ # Creates a hosted connection on an interconnect.
143
+ #
144
+ # Allocates a VLAN number and a specified amount of bandwidth for use by
145
+ # a hosted connection on the given interconnect.
146
+ #
147
+ # <note markdown="1"> This is intended for use by AWS Direct Connect partners only.
148
+ #
149
+ # </note>
150
+ # @option params [required, String] :bandwidth
151
+ # Bandwidth of the connection.
152
+ #
153
+ # Example: "*500Mbps*"
154
+ #
155
+ # Default: None
156
+ #
157
+ # Values: 50M, 100M, 200M, 300M, 400M, or 500M
158
+ # @option params [required, String] :connection_name
159
+ # Name of the provisioned connection.
160
+ #
161
+ # Example: "*500M Connection to AWS*"
162
+ #
163
+ # Default: None
164
+ # @option params [required, String] :owner_account
165
+ # Numeric account Id of the customer for whom the connection will be
166
+ # provisioned.
167
+ #
168
+ # Example: 123443215678
169
+ #
170
+ # Default: None
171
+ # @option params [required, String] :interconnect_id
172
+ # ID of the interconnect on which the connection will be provisioned.
173
+ #
174
+ # Example: dxcon-456abc78
175
+ #
176
+ # Default: None
177
+ # @option params [required, Integer] :vlan
178
+ # The dedicated VLAN provisioned to the connection.
179
+ #
180
+ # Example: 101
181
+ #
182
+ # Default: None
183
+ # @return [Types::Connection] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
184
+ #
185
+ # * {Types::Connection#owner_account #ownerAccount} => String
186
+ # * {Types::Connection#connection_id #connectionId} => String
187
+ # * {Types::Connection#connection_name #connectionName} => String
188
+ # * {Types::Connection#connection_state #connectionState} => String
189
+ # * {Types::Connection#region #region} => String
190
+ # * {Types::Connection#location #location} => String
191
+ # * {Types::Connection#bandwidth #bandwidth} => String
192
+ # * {Types::Connection#vlan #vlan} => Integer
193
+ # * {Types::Connection#partner_name #partnerName} => String
194
+ # * {Types::Connection#loa_issue_time #loaIssueTime} => Time
195
+ #
196
+ # @example Request syntax with placeholder values
197
+ # resp = client.allocate_connection_on_interconnect({
198
+ # bandwidth: "Bandwidth", # required
199
+ # connection_name: "ConnectionName", # required
200
+ # owner_account: "OwnerAccount", # required
201
+ # interconnect_id: "InterconnectId", # required
202
+ # vlan: 1, # required
203
+ # })
204
+ #
205
+ # @example Response structure
206
+ # resp.owner_account #=> String
207
+ # resp.connection_id #=> String
208
+ # resp.connection_name #=> String
209
+ # resp.connection_state #=> String, one of "ordering", "requested", "pending", "available", "down", "deleting", "deleted", "rejected"
210
+ # resp.region #=> String
211
+ # resp.location #=> String
212
+ # resp.bandwidth #=> String
213
+ # resp.vlan #=> Integer
214
+ # resp.partner_name #=> String
215
+ # resp.loa_issue_time #=> Time
216
+ # @overload allocate_connection_on_interconnect(params = {})
217
+ # @param [Hash] params ({})
218
+ def allocate_connection_on_interconnect(params = {}, options = {})
219
+ req = build_request(:allocate_connection_on_interconnect, params)
220
+ req.send_request(options)
221
+ end
222
+
223
+ # Provisions a private virtual interface to be owned by a different
224
+ # customer.
225
+ #
226
+ # The owner of a connection calls this function to provision a private
227
+ # virtual interface which will be owned by another AWS customer.
228
+ #
229
+ # Virtual interfaces created using this function must be confirmed by
230
+ # the virtual interface owner by calling ConfirmPrivateVirtualInterface.
231
+ # Until this step has been completed, the virtual interface will be in
232
+ # 'Confirming' state, and will not be available for handling traffic.
233
+ # @option params [required, String] :connection_id
234
+ # The connection ID on which the private virtual interface is
235
+ # provisioned.
236
+ #
237
+ # Default: None
238
+ # @option params [required, String] :owner_account
239
+ # The AWS account that will own the new private virtual interface.
240
+ #
241
+ # Default: None
242
+ # @option params [required, Types::NewPrivateVirtualInterfaceAllocation] :new_private_virtual_interface_allocation
243
+ # Detailed information for the private virtual interface to be
244
+ # provisioned.
245
+ #
246
+ # Default: None
247
+ # @return [Types::VirtualInterface] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
248
+ #
249
+ # * {Types::VirtualInterface#owner_account #ownerAccount} => String
250
+ # * {Types::VirtualInterface#virtual_interface_id #virtualInterfaceId} => String
251
+ # * {Types::VirtualInterface#location #location} => String
252
+ # * {Types::VirtualInterface#connection_id #connectionId} => String
253
+ # * {Types::VirtualInterface#virtual_interface_type #virtualInterfaceType} => String
254
+ # * {Types::VirtualInterface#virtual_interface_name #virtualInterfaceName} => String
255
+ # * {Types::VirtualInterface#vlan #vlan} => Integer
256
+ # * {Types::VirtualInterface#asn #asn} => Integer
257
+ # * {Types::VirtualInterface#auth_key #authKey} => String
258
+ # * {Types::VirtualInterface#amazon_address #amazonAddress} => String
259
+ # * {Types::VirtualInterface#customer_address #customerAddress} => String
260
+ # * {Types::VirtualInterface#virtual_interface_state #virtualInterfaceState} => String
261
+ # * {Types::VirtualInterface#customer_router_config #customerRouterConfig} => String
262
+ # * {Types::VirtualInterface#virtual_gateway_id #virtualGatewayId} => String
263
+ # * {Types::VirtualInterface#route_filter_prefixes #routeFilterPrefixes} => Array&lt;Types::RouteFilterPrefix&gt;
264
+ #
265
+ # @example Request syntax with placeholder values
266
+ # resp = client.allocate_private_virtual_interface({
267
+ # connection_id: "ConnectionId", # required
268
+ # owner_account: "OwnerAccount", # required
269
+ # new_private_virtual_interface_allocation: { # required
270
+ # virtual_interface_name: "VirtualInterfaceName", # required
271
+ # vlan: 1, # required
272
+ # asn: 1, # required
273
+ # auth_key: "BGPAuthKey",
274
+ # amazon_address: "AmazonAddress",
275
+ # customer_address: "CustomerAddress",
276
+ # },
277
+ # })
278
+ #
279
+ # @example Response structure
280
+ # resp.owner_account #=> String
281
+ # resp.virtual_interface_id #=> String
282
+ # resp.location #=> String
283
+ # resp.connection_id #=> String
284
+ # resp.virtual_interface_type #=> String
285
+ # resp.virtual_interface_name #=> String
286
+ # resp.vlan #=> Integer
287
+ # resp.asn #=> Integer
288
+ # resp.auth_key #=> String
289
+ # resp.amazon_address #=> String
290
+ # resp.customer_address #=> String
291
+ # resp.virtual_interface_state #=> String, one of "confirming", "verifying", "pending", "available", "down", "deleting", "deleted", "rejected"
292
+ # resp.customer_router_config #=> String
293
+ # resp.virtual_gateway_id #=> String
294
+ # resp.route_filter_prefixes #=> Array
295
+ # resp.route_filter_prefixes[0].cidr #=> String
296
+ # @overload allocate_private_virtual_interface(params = {})
297
+ # @param [Hash] params ({})
298
+ def allocate_private_virtual_interface(params = {}, options = {})
299
+ req = build_request(:allocate_private_virtual_interface, params)
300
+ req.send_request(options)
301
+ end
302
+
303
+ # Provisions a public virtual interface to be owned by a different
304
+ # customer.
305
+ #
306
+ # The owner of a connection calls this function to provision a public
307
+ # virtual interface which will be owned by another AWS customer.
308
+ #
309
+ # Virtual interfaces created using this function must be confirmed by
310
+ # the virtual interface owner by calling ConfirmPublicVirtualInterface.
311
+ # Until this step has been completed, the virtual interface will be in
312
+ # 'Confirming' state, and will not be available for handling traffic.
313
+ # @option params [required, String] :connection_id
314
+ # The connection ID on which the public virtual interface is
315
+ # provisioned.
316
+ #
317
+ # Default: None
318
+ # @option params [required, String] :owner_account
319
+ # The AWS account that will own the new public virtual interface.
320
+ #
321
+ # Default: None
322
+ # @option params [required, Types::NewPublicVirtualInterfaceAllocation] :new_public_virtual_interface_allocation
323
+ # Detailed information for the public virtual interface to be
324
+ # provisioned.
325
+ #
326
+ # Default: None
327
+ # @return [Types::VirtualInterface] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
328
+ #
329
+ # * {Types::VirtualInterface#owner_account #ownerAccount} => String
330
+ # * {Types::VirtualInterface#virtual_interface_id #virtualInterfaceId} => String
331
+ # * {Types::VirtualInterface#location #location} => String
332
+ # * {Types::VirtualInterface#connection_id #connectionId} => String
333
+ # * {Types::VirtualInterface#virtual_interface_type #virtualInterfaceType} => String
334
+ # * {Types::VirtualInterface#virtual_interface_name #virtualInterfaceName} => String
335
+ # * {Types::VirtualInterface#vlan #vlan} => Integer
336
+ # * {Types::VirtualInterface#asn #asn} => Integer
337
+ # * {Types::VirtualInterface#auth_key #authKey} => String
338
+ # * {Types::VirtualInterface#amazon_address #amazonAddress} => String
339
+ # * {Types::VirtualInterface#customer_address #customerAddress} => String
340
+ # * {Types::VirtualInterface#virtual_interface_state #virtualInterfaceState} => String
341
+ # * {Types::VirtualInterface#customer_router_config #customerRouterConfig} => String
342
+ # * {Types::VirtualInterface#virtual_gateway_id #virtualGatewayId} => String
343
+ # * {Types::VirtualInterface#route_filter_prefixes #routeFilterPrefixes} => Array&lt;Types::RouteFilterPrefix&gt;
344
+ #
345
+ # @example Request syntax with placeholder values
346
+ # resp = client.allocate_public_virtual_interface({
347
+ # connection_id: "ConnectionId", # required
348
+ # owner_account: "OwnerAccount", # required
349
+ # new_public_virtual_interface_allocation: { # required
350
+ # virtual_interface_name: "VirtualInterfaceName", # required
351
+ # vlan: 1, # required
352
+ # asn: 1, # required
353
+ # auth_key: "BGPAuthKey",
354
+ # amazon_address: "AmazonAddress", # required
355
+ # customer_address: "CustomerAddress", # required
356
+ # route_filter_prefixes: [ # required
357
+ # {
358
+ # cidr: "CIDR",
359
+ # },
360
+ # ],
361
+ # },
362
+ # })
363
+ #
364
+ # @example Response structure
365
+ # resp.owner_account #=> String
366
+ # resp.virtual_interface_id #=> String
367
+ # resp.location #=> String
368
+ # resp.connection_id #=> String
369
+ # resp.virtual_interface_type #=> String
370
+ # resp.virtual_interface_name #=> String
371
+ # resp.vlan #=> Integer
372
+ # resp.asn #=> Integer
373
+ # resp.auth_key #=> String
374
+ # resp.amazon_address #=> String
375
+ # resp.customer_address #=> String
376
+ # resp.virtual_interface_state #=> String, one of "confirming", "verifying", "pending", "available", "down", "deleting", "deleted", "rejected"
377
+ # resp.customer_router_config #=> String
378
+ # resp.virtual_gateway_id #=> String
379
+ # resp.route_filter_prefixes #=> Array
380
+ # resp.route_filter_prefixes[0].cidr #=> String
381
+ # @overload allocate_public_virtual_interface(params = {})
382
+ # @param [Hash] params ({})
383
+ def allocate_public_virtual_interface(params = {}, options = {})
384
+ req = build_request(:allocate_public_virtual_interface, params)
385
+ req.send_request(options)
386
+ end
387
+
388
+ # Confirm the creation of a hosted connection on an interconnect.
389
+ #
390
+ # Upon creation, the hosted connection is initially in the 'Ordering'
391
+ # state, and will remain in this state until the owner calls
392
+ # ConfirmConnection to confirm creation of the hosted connection.
393
+ # @option params [required, String] :connection_id
394
+ # ID of the connection.
395
+ #
396
+ # Example: dxcon-fg5678gh
397
+ #
398
+ # Default: None
399
+ # @return [Types::ConfirmConnectionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
400
+ #
401
+ # * {Types::ConfirmConnectionResponse#connection_state #connectionState} => String
402
+ #
403
+ # @example Request syntax with placeholder values
404
+ # resp = client.confirm_connection({
405
+ # connection_id: "ConnectionId", # required
406
+ # })
407
+ #
408
+ # @example Response structure
409
+ # resp.connection_state #=> String, one of "ordering", "requested", "pending", "available", "down", "deleting", "deleted", "rejected"
410
+ # @overload confirm_connection(params = {})
411
+ # @param [Hash] params ({})
412
+ def confirm_connection(params = {}, options = {})
413
+ req = build_request(:confirm_connection, params)
414
+ req.send_request(options)
415
+ end
416
+
417
+ # Accept ownership of a private virtual interface created by another
418
+ # customer.
419
+ #
420
+ # After the virtual interface owner calls this function, the virtual
421
+ # interface will be created and attached to the given virtual private
422
+ # gateway, and will be available for handling traffic.
423
+ # @option params [required, String] :virtual_interface_id
424
+ # ID of the virtual interface.
425
+ #
426
+ # Example: dxvif-123dfg56
427
+ #
428
+ # Default: None
429
+ # @option params [required, String] :virtual_gateway_id
430
+ # ID of the virtual private gateway that will be attached to the virtual
431
+ # interface.
432
+ #
433
+ # A virtual private gateway can be managed via the Amazon Virtual
434
+ # Private Cloud (VPC) console or the [EC2 CreateVpnGateway][1] action.
435
+ #
436
+ # Default: None
437
+ #
438
+ #
439
+ #
440
+ # [1]: http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CreateVpnGateway.html
441
+ # @return [Types::ConfirmPrivateVirtualInterfaceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
442
+ #
443
+ # * {Types::ConfirmPrivateVirtualInterfaceResponse#virtual_interface_state #virtualInterfaceState} => String
444
+ #
445
+ # @example Request syntax with placeholder values
446
+ # resp = client.confirm_private_virtual_interface({
447
+ # virtual_interface_id: "VirtualInterfaceId", # required
448
+ # virtual_gateway_id: "VirtualGatewayId", # required
449
+ # })
450
+ #
451
+ # @example Response structure
452
+ # resp.virtual_interface_state #=> String, one of "confirming", "verifying", "pending", "available", "down", "deleting", "deleted", "rejected"
453
+ # @overload confirm_private_virtual_interface(params = {})
454
+ # @param [Hash] params ({})
455
+ def confirm_private_virtual_interface(params = {}, options = {})
456
+ req = build_request(:confirm_private_virtual_interface, params)
457
+ req.send_request(options)
458
+ end
459
+
460
+ # Accept ownership of a public virtual interface created by another
461
+ # customer.
462
+ #
463
+ # After the virtual interface owner calls this function, the specified
464
+ # virtual interface will be created and made available for handling
465
+ # traffic.
466
+ # @option params [required, String] :virtual_interface_id
467
+ # ID of the virtual interface.
468
+ #
469
+ # Example: dxvif-123dfg56
470
+ #
471
+ # Default: None
472
+ # @return [Types::ConfirmPublicVirtualInterfaceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
473
+ #
474
+ # * {Types::ConfirmPublicVirtualInterfaceResponse#virtual_interface_state #virtualInterfaceState} => String
475
+ #
476
+ # @example Request syntax with placeholder values
477
+ # resp = client.confirm_public_virtual_interface({
478
+ # virtual_interface_id: "VirtualInterfaceId", # required
479
+ # })
480
+ #
481
+ # @example Response structure
482
+ # resp.virtual_interface_state #=> String, one of "confirming", "verifying", "pending", "available", "down", "deleting", "deleted", "rejected"
483
+ # @overload confirm_public_virtual_interface(params = {})
484
+ # @param [Hash] params ({})
485
+ def confirm_public_virtual_interface(params = {}, options = {})
486
+ req = build_request(:confirm_public_virtual_interface, params)
487
+ req.send_request(options)
488
+ end
489
+
490
+ # Creates a new connection between the customer network and a specific
491
+ # AWS Direct Connect location.
492
+ #
493
+ # A connection links your internal network to an AWS Direct Connect
494
+ # location over a standard 1 gigabit or 10 gigabit Ethernet fiber-optic
495
+ # cable. One end of the cable is connected to your router, the other to
496
+ # an AWS Direct Connect router. An AWS Direct Connect location provides
497
+ # access to Amazon Web Services in the region it is associated with. You
498
+ # can establish connections with AWS Direct Connect locations in
499
+ # multiple regions, but a connection in one region does not provide
500
+ # connectivity to other regions.
501
+ # @option params [required, String] :location
502
+ # Where the connection is located.
503
+ #
504
+ # Example: EqSV5
505
+ #
506
+ # Default: None
507
+ # @option params [required, String] :bandwidth
508
+ # Bandwidth of the connection.
509
+ #
510
+ # Example: 1Gbps
511
+ #
512
+ # Default: None
513
+ # @option params [required, String] :connection_name
514
+ # The name of the connection.
515
+ #
516
+ # Example: "*My Connection to AWS*"
517
+ #
518
+ # Default: None
519
+ # @return [Types::Connection] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
520
+ #
521
+ # * {Types::Connection#owner_account #ownerAccount} => String
522
+ # * {Types::Connection#connection_id #connectionId} => String
523
+ # * {Types::Connection#connection_name #connectionName} => String
524
+ # * {Types::Connection#connection_state #connectionState} => String
525
+ # * {Types::Connection#region #region} => String
526
+ # * {Types::Connection#location #location} => String
527
+ # * {Types::Connection#bandwidth #bandwidth} => String
528
+ # * {Types::Connection#vlan #vlan} => Integer
529
+ # * {Types::Connection#partner_name #partnerName} => String
530
+ # * {Types::Connection#loa_issue_time #loaIssueTime} => Time
531
+ #
532
+ # @example Request syntax with placeholder values
533
+ # resp = client.create_connection({
534
+ # location: "LocationCode", # required
535
+ # bandwidth: "Bandwidth", # required
536
+ # connection_name: "ConnectionName", # required
537
+ # })
538
+ #
539
+ # @example Response structure
540
+ # resp.owner_account #=> String
541
+ # resp.connection_id #=> String
542
+ # resp.connection_name #=> String
543
+ # resp.connection_state #=> String, one of "ordering", "requested", "pending", "available", "down", "deleting", "deleted", "rejected"
544
+ # resp.region #=> String
545
+ # resp.location #=> String
546
+ # resp.bandwidth #=> String
547
+ # resp.vlan #=> Integer
548
+ # resp.partner_name #=> String
549
+ # resp.loa_issue_time #=> Time
550
+ # @overload create_connection(params = {})
551
+ # @param [Hash] params ({})
552
+ def create_connection(params = {}, options = {})
553
+ req = build_request(:create_connection, params)
554
+ req.send_request(options)
555
+ end
556
+
557
+ # Creates a new interconnect between a AWS Direct Connect partner's
558
+ # network and a specific AWS Direct Connect location.
559
+ #
560
+ # An interconnect is a connection which is capable of hosting other
561
+ # connections. The AWS Direct Connect partner can use an interconnect to
562
+ # provide sub-1Gbps AWS Direct Connect service to tier 2 customers who
563
+ # do not have their own connections. Like a standard connection, an
564
+ # interconnect links the AWS Direct Connect partner's network to an AWS
565
+ # Direct Connect location over a standard 1 Gbps or 10 Gbps Ethernet
566
+ # fiber-optic cable. One end is connected to the partner's router, the
567
+ # other to an AWS Direct Connect router.
568
+ #
569
+ # For each end customer, the AWS Direct Connect partner provisions a
570
+ # connection on their interconnect by calling
571
+ # AllocateConnectionOnInterconnect. The end customer can then connect to
572
+ # AWS resources by creating a virtual interface on their connection,
573
+ # using the VLAN assigned to them by the AWS Direct Connect partner.
574
+ #
575
+ # <note markdown="1"> This is intended for use by AWS Direct Connect partners only.
576
+ #
577
+ # </note>
578
+ # @option params [required, String] :interconnect_name
579
+ # The name of the interconnect.
580
+ #
581
+ # Example: "*1G Interconnect to AWS*"
582
+ #
583
+ # Default: None
584
+ # @option params [required, String] :bandwidth
585
+ # The port bandwidth
586
+ #
587
+ # Example: 1Gbps
588
+ #
589
+ # Default: None
590
+ #
591
+ # Available values: 1Gbps,10Gbps
592
+ # @option params [required, String] :location
593
+ # Where the interconnect is located
594
+ #
595
+ # Example: EqSV5
596
+ #
597
+ # Default: None
598
+ # @return [Types::Interconnect] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
599
+ #
600
+ # * {Types::Interconnect#interconnect_id #interconnectId} => String
601
+ # * {Types::Interconnect#interconnect_name #interconnectName} => String
602
+ # * {Types::Interconnect#interconnect_state #interconnectState} => String
603
+ # * {Types::Interconnect#region #region} => String
604
+ # * {Types::Interconnect#location #location} => String
605
+ # * {Types::Interconnect#bandwidth #bandwidth} => String
606
+ # * {Types::Interconnect#loa_issue_time #loaIssueTime} => Time
607
+ #
608
+ # @example Request syntax with placeholder values
609
+ # resp = client.create_interconnect({
610
+ # interconnect_name: "InterconnectName", # required
611
+ # bandwidth: "Bandwidth", # required
612
+ # location: "LocationCode", # required
613
+ # })
614
+ #
615
+ # @example Response structure
616
+ # resp.interconnect_id #=> String
617
+ # resp.interconnect_name #=> String
618
+ # resp.interconnect_state #=> String, one of "requested", "pending", "available", "down", "deleting", "deleted"
619
+ # resp.region #=> String
620
+ # resp.location #=> String
621
+ # resp.bandwidth #=> String
622
+ # resp.loa_issue_time #=> Time
623
+ # @overload create_interconnect(params = {})
624
+ # @param [Hash] params ({})
625
+ def create_interconnect(params = {}, options = {})
626
+ req = build_request(:create_interconnect, params)
627
+ req.send_request(options)
628
+ end
629
+
630
+ # Creates a new private virtual interface. A virtual interface is the
631
+ # VLAN that transports AWS Direct Connect traffic. A private virtual
632
+ # interface supports sending traffic to a single virtual private cloud
633
+ # (VPC).
634
+ # @option params [required, String] :connection_id
635
+ # ID of the connection.
636
+ #
637
+ # Example: dxcon-fg5678gh
638
+ #
639
+ # Default: None
640
+ # @option params [required, Types::NewPrivateVirtualInterface] :new_private_virtual_interface
641
+ # Detailed information for the private virtual interface to be created.
642
+ #
643
+ # Default: None
644
+ # @return [Types::VirtualInterface] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
645
+ #
646
+ # * {Types::VirtualInterface#owner_account #ownerAccount} => String
647
+ # * {Types::VirtualInterface#virtual_interface_id #virtualInterfaceId} => String
648
+ # * {Types::VirtualInterface#location #location} => String
649
+ # * {Types::VirtualInterface#connection_id #connectionId} => String
650
+ # * {Types::VirtualInterface#virtual_interface_type #virtualInterfaceType} => String
651
+ # * {Types::VirtualInterface#virtual_interface_name #virtualInterfaceName} => String
652
+ # * {Types::VirtualInterface#vlan #vlan} => Integer
653
+ # * {Types::VirtualInterface#asn #asn} => Integer
654
+ # * {Types::VirtualInterface#auth_key #authKey} => String
655
+ # * {Types::VirtualInterface#amazon_address #amazonAddress} => String
656
+ # * {Types::VirtualInterface#customer_address #customerAddress} => String
657
+ # * {Types::VirtualInterface#virtual_interface_state #virtualInterfaceState} => String
658
+ # * {Types::VirtualInterface#customer_router_config #customerRouterConfig} => String
659
+ # * {Types::VirtualInterface#virtual_gateway_id #virtualGatewayId} => String
660
+ # * {Types::VirtualInterface#route_filter_prefixes #routeFilterPrefixes} => Array&lt;Types::RouteFilterPrefix&gt;
661
+ #
662
+ # @example Request syntax with placeholder values
663
+ # resp = client.create_private_virtual_interface({
664
+ # connection_id: "ConnectionId", # required
665
+ # new_private_virtual_interface: { # required
666
+ # virtual_interface_name: "VirtualInterfaceName", # required
667
+ # vlan: 1, # required
668
+ # asn: 1, # required
669
+ # auth_key: "BGPAuthKey",
670
+ # amazon_address: "AmazonAddress",
671
+ # customer_address: "CustomerAddress",
672
+ # virtual_gateway_id: "VirtualGatewayId", # required
673
+ # },
674
+ # })
675
+ #
676
+ # @example Response structure
677
+ # resp.owner_account #=> String
678
+ # resp.virtual_interface_id #=> String
679
+ # resp.location #=> String
680
+ # resp.connection_id #=> String
681
+ # resp.virtual_interface_type #=> String
682
+ # resp.virtual_interface_name #=> String
683
+ # resp.vlan #=> Integer
684
+ # resp.asn #=> Integer
685
+ # resp.auth_key #=> String
686
+ # resp.amazon_address #=> String
687
+ # resp.customer_address #=> String
688
+ # resp.virtual_interface_state #=> String, one of "confirming", "verifying", "pending", "available", "down", "deleting", "deleted", "rejected"
689
+ # resp.customer_router_config #=> String
690
+ # resp.virtual_gateway_id #=> String
691
+ # resp.route_filter_prefixes #=> Array
692
+ # resp.route_filter_prefixes[0].cidr #=> String
693
+ # @overload create_private_virtual_interface(params = {})
694
+ # @param [Hash] params ({})
695
+ def create_private_virtual_interface(params = {}, options = {})
696
+ req = build_request(:create_private_virtual_interface, params)
697
+ req.send_request(options)
698
+ end
699
+
700
+ # Creates a new public virtual interface. A virtual interface is the
701
+ # VLAN that transports AWS Direct Connect traffic. A public virtual
702
+ # interface supports sending traffic to public services of AWS such as
703
+ # Amazon Simple Storage Service (Amazon S3).
704
+ # @option params [required, String] :connection_id
705
+ # ID of the connection.
706
+ #
707
+ # Example: dxcon-fg5678gh
708
+ #
709
+ # Default: None
710
+ # @option params [required, Types::NewPublicVirtualInterface] :new_public_virtual_interface
711
+ # Detailed information for the public virtual interface to be created.
712
+ #
713
+ # Default: None
714
+ # @return [Types::VirtualInterface] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
715
+ #
716
+ # * {Types::VirtualInterface#owner_account #ownerAccount} => String
717
+ # * {Types::VirtualInterface#virtual_interface_id #virtualInterfaceId} => String
718
+ # * {Types::VirtualInterface#location #location} => String
719
+ # * {Types::VirtualInterface#connection_id #connectionId} => String
720
+ # * {Types::VirtualInterface#virtual_interface_type #virtualInterfaceType} => String
721
+ # * {Types::VirtualInterface#virtual_interface_name #virtualInterfaceName} => String
722
+ # * {Types::VirtualInterface#vlan #vlan} => Integer
723
+ # * {Types::VirtualInterface#asn #asn} => Integer
724
+ # * {Types::VirtualInterface#auth_key #authKey} => String
725
+ # * {Types::VirtualInterface#amazon_address #amazonAddress} => String
726
+ # * {Types::VirtualInterface#customer_address #customerAddress} => String
727
+ # * {Types::VirtualInterface#virtual_interface_state #virtualInterfaceState} => String
728
+ # * {Types::VirtualInterface#customer_router_config #customerRouterConfig} => String
729
+ # * {Types::VirtualInterface#virtual_gateway_id #virtualGatewayId} => String
730
+ # * {Types::VirtualInterface#route_filter_prefixes #routeFilterPrefixes} => Array&lt;Types::RouteFilterPrefix&gt;
731
+ #
732
+ # @example Request syntax with placeholder values
733
+ # resp = client.create_public_virtual_interface({
734
+ # connection_id: "ConnectionId", # required
735
+ # new_public_virtual_interface: { # required
736
+ # virtual_interface_name: "VirtualInterfaceName", # required
737
+ # vlan: 1, # required
738
+ # asn: 1, # required
739
+ # auth_key: "BGPAuthKey",
740
+ # amazon_address: "AmazonAddress", # required
741
+ # customer_address: "CustomerAddress", # required
742
+ # route_filter_prefixes: [ # required
743
+ # {
744
+ # cidr: "CIDR",
745
+ # },
746
+ # ],
747
+ # },
748
+ # })
749
+ #
750
+ # @example Response structure
751
+ # resp.owner_account #=> String
752
+ # resp.virtual_interface_id #=> String
753
+ # resp.location #=> String
754
+ # resp.connection_id #=> String
755
+ # resp.virtual_interface_type #=> String
756
+ # resp.virtual_interface_name #=> String
757
+ # resp.vlan #=> Integer
758
+ # resp.asn #=> Integer
759
+ # resp.auth_key #=> String
760
+ # resp.amazon_address #=> String
761
+ # resp.customer_address #=> String
762
+ # resp.virtual_interface_state #=> String, one of "confirming", "verifying", "pending", "available", "down", "deleting", "deleted", "rejected"
763
+ # resp.customer_router_config #=> String
764
+ # resp.virtual_gateway_id #=> String
765
+ # resp.route_filter_prefixes #=> Array
766
+ # resp.route_filter_prefixes[0].cidr #=> String
767
+ # @overload create_public_virtual_interface(params = {})
768
+ # @param [Hash] params ({})
769
+ def create_public_virtual_interface(params = {}, options = {})
770
+ req = build_request(:create_public_virtual_interface, params)
771
+ req.send_request(options)
772
+ end
773
+
774
+ # Deletes the connection.
775
+ #
776
+ # Deleting a connection only stops the AWS Direct Connect port hour and
777
+ # data transfer charges. You need to cancel separately with the
778
+ # providers any services or charges for cross-connects or network
779
+ # circuits that connect you to the AWS Direct Connect location.
780
+ # @option params [required, String] :connection_id
781
+ # ID of the connection.
782
+ #
783
+ # Example: dxcon-fg5678gh
784
+ #
785
+ # Default: None
786
+ # @return [Types::Connection] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
787
+ #
788
+ # * {Types::Connection#owner_account #ownerAccount} => String
789
+ # * {Types::Connection#connection_id #connectionId} => String
790
+ # * {Types::Connection#connection_name #connectionName} => String
791
+ # * {Types::Connection#connection_state #connectionState} => String
792
+ # * {Types::Connection#region #region} => String
793
+ # * {Types::Connection#location #location} => String
794
+ # * {Types::Connection#bandwidth #bandwidth} => String
795
+ # * {Types::Connection#vlan #vlan} => Integer
796
+ # * {Types::Connection#partner_name #partnerName} => String
797
+ # * {Types::Connection#loa_issue_time #loaIssueTime} => Time
798
+ #
799
+ # @example Request syntax with placeholder values
800
+ # resp = client.delete_connection({
801
+ # connection_id: "ConnectionId", # required
802
+ # })
803
+ #
804
+ # @example Response structure
805
+ # resp.owner_account #=> String
806
+ # resp.connection_id #=> String
807
+ # resp.connection_name #=> String
808
+ # resp.connection_state #=> String, one of "ordering", "requested", "pending", "available", "down", "deleting", "deleted", "rejected"
809
+ # resp.region #=> String
810
+ # resp.location #=> String
811
+ # resp.bandwidth #=> String
812
+ # resp.vlan #=> Integer
813
+ # resp.partner_name #=> String
814
+ # resp.loa_issue_time #=> Time
815
+ # @overload delete_connection(params = {})
816
+ # @param [Hash] params ({})
817
+ def delete_connection(params = {}, options = {})
818
+ req = build_request(:delete_connection, params)
819
+ req.send_request(options)
820
+ end
821
+
822
+ # Deletes the specified interconnect.
823
+ #
824
+ # <note markdown="1"> This is intended for use by AWS Direct Connect partners only.
825
+ #
826
+ # </note>
827
+ # @option params [required, String] :interconnect_id
828
+ # The ID of the interconnect.
829
+ #
830
+ # Example: dxcon-abc123
831
+ # @return [Types::DeleteInterconnectResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
832
+ #
833
+ # * {Types::DeleteInterconnectResponse#interconnect_state #interconnectState} => String
834
+ #
835
+ # @example Request syntax with placeholder values
836
+ # resp = client.delete_interconnect({
837
+ # interconnect_id: "InterconnectId", # required
838
+ # })
839
+ #
840
+ # @example Response structure
841
+ # resp.interconnect_state #=> String, one of "requested", "pending", "available", "down", "deleting", "deleted"
842
+ # @overload delete_interconnect(params = {})
843
+ # @param [Hash] params ({})
844
+ def delete_interconnect(params = {}, options = {})
845
+ req = build_request(:delete_interconnect, params)
846
+ req.send_request(options)
847
+ end
848
+
849
+ # Deletes a virtual interface.
850
+ # @option params [required, String] :virtual_interface_id
851
+ # ID of the virtual interface.
852
+ #
853
+ # Example: dxvif-123dfg56
854
+ #
855
+ # Default: None
856
+ # @return [Types::DeleteVirtualInterfaceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
857
+ #
858
+ # * {Types::DeleteVirtualInterfaceResponse#virtual_interface_state #virtualInterfaceState} => String
859
+ #
860
+ # @example Request syntax with placeholder values
861
+ # resp = client.delete_virtual_interface({
862
+ # virtual_interface_id: "VirtualInterfaceId", # required
863
+ # })
864
+ #
865
+ # @example Response structure
866
+ # resp.virtual_interface_state #=> String, one of "confirming", "verifying", "pending", "available", "down", "deleting", "deleted", "rejected"
867
+ # @overload delete_virtual_interface(params = {})
868
+ # @param [Hash] params ({})
869
+ def delete_virtual_interface(params = {}, options = {})
870
+ req = build_request(:delete_virtual_interface, params)
871
+ req.send_request(options)
872
+ end
873
+
874
+ # Returns the LOA-CFA for a Connection.
875
+ #
876
+ # The Letter of Authorization - Connecting Facility Assignment (LOA-CFA)
877
+ # is a document that your APN partner or service provider uses when
878
+ # establishing your cross connect to AWS at the colocation facility. For
879
+ # more information, see [Requesting Cross Connects at AWS Direct Connect
880
+ # Locations][1] in the AWS Direct Connect user guide.
881
+ #
882
+ #
883
+ #
884
+ # [1]: http://docs.aws.amazon.com/directconnect/latest/UserGuide/Colocation.html
885
+ # @option params [required, String] :connection_id
886
+ # ID of the connection.
887
+ #
888
+ # Example: dxcon-fg5678gh
889
+ #
890
+ # Default: None
891
+ # @option params [String] :provider_name
892
+ # The name of the APN partner or service provider who establishes
893
+ # connectivity on your behalf. If you supply this parameter, the LOA-CFA
894
+ # lists the provider name alongside your company name as the requester
895
+ # of the cross connect.
896
+ #
897
+ # Default: None
898
+ # @option params [String] :loa_content_type
899
+ # A standard media type indicating the content type of the LOA-CFA
900
+ # document. Currently, the only supported value is "application/pdf".
901
+ #
902
+ # Default: application/pdf
903
+ # @return [Types::DescribeConnectionLoaResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
904
+ #
905
+ # * {Types::DescribeConnectionLoaResponse#loa #loa} => Types::Loa
906
+ #
907
+ # @example Request syntax with placeholder values
908
+ # resp = client.describe_connection_loa({
909
+ # connection_id: "ConnectionId", # required
910
+ # provider_name: "ProviderName",
911
+ # loa_content_type: "application/pdf", # accepts application/pdf
912
+ # })
913
+ #
914
+ # @example Response structure
915
+ # resp.loa.loa_content #=> String
916
+ # resp.loa.loa_content_type #=> String, one of "application/pdf"
917
+ # @overload describe_connection_loa(params = {})
918
+ # @param [Hash] params ({})
919
+ def describe_connection_loa(params = {}, options = {})
920
+ req = build_request(:describe_connection_loa, params)
921
+ req.send_request(options)
922
+ end
923
+
924
+ # Displays all connections in this region.
925
+ #
926
+ # If a connection ID is provided, the call returns only that particular
927
+ # connection.
928
+ # @option params [String] :connection_id
929
+ # ID of the connection.
930
+ #
931
+ # Example: dxcon-fg5678gh
932
+ #
933
+ # Default: None
934
+ # @return [Types::Connections] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
935
+ #
936
+ # * {Types::Connections#connections #connections} => Array&lt;Types::Connection&gt;
937
+ #
938
+ # @example Request syntax with placeholder values
939
+ # resp = client.describe_connections({
940
+ # connection_id: "ConnectionId",
941
+ # })
942
+ #
943
+ # @example Response structure
944
+ # resp.connections #=> Array
945
+ # resp.connections[0].owner_account #=> String
946
+ # resp.connections[0].connection_id #=> String
947
+ # resp.connections[0].connection_name #=> String
948
+ # resp.connections[0].connection_state #=> String, one of "ordering", "requested", "pending", "available", "down", "deleting", "deleted", "rejected"
949
+ # resp.connections[0].region #=> String
950
+ # resp.connections[0].location #=> String
951
+ # resp.connections[0].bandwidth #=> String
952
+ # resp.connections[0].vlan #=> Integer
953
+ # resp.connections[0].partner_name #=> String
954
+ # resp.connections[0].loa_issue_time #=> Time
955
+ # @overload describe_connections(params = {})
956
+ # @param [Hash] params ({})
957
+ def describe_connections(params = {}, options = {})
958
+ req = build_request(:describe_connections, params)
959
+ req.send_request(options)
960
+ end
961
+
962
+ # Return a list of connections that have been provisioned on the given
963
+ # interconnect.
964
+ #
965
+ # <note markdown="1"> This is intended for use by AWS Direct Connect partners only.
966
+ #
967
+ # </note>
968
+ # @option params [required, String] :interconnect_id
969
+ # ID of the interconnect on which a list of connection is provisioned.
970
+ #
971
+ # Example: dxcon-abc123
972
+ #
973
+ # Default: None
974
+ # @return [Types::Connections] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
975
+ #
976
+ # * {Types::Connections#connections #connections} => Array&lt;Types::Connection&gt;
977
+ #
978
+ # @example Request syntax with placeholder values
979
+ # resp = client.describe_connections_on_interconnect({
980
+ # interconnect_id: "InterconnectId", # required
981
+ # })
982
+ #
983
+ # @example Response structure
984
+ # resp.connections #=> Array
985
+ # resp.connections[0].owner_account #=> String
986
+ # resp.connections[0].connection_id #=> String
987
+ # resp.connections[0].connection_name #=> String
988
+ # resp.connections[0].connection_state #=> String, one of "ordering", "requested", "pending", "available", "down", "deleting", "deleted", "rejected"
989
+ # resp.connections[0].region #=> String
990
+ # resp.connections[0].location #=> String
991
+ # resp.connections[0].bandwidth #=> String
992
+ # resp.connections[0].vlan #=> Integer
993
+ # resp.connections[0].partner_name #=> String
994
+ # resp.connections[0].loa_issue_time #=> Time
995
+ # @overload describe_connections_on_interconnect(params = {})
996
+ # @param [Hash] params ({})
997
+ def describe_connections_on_interconnect(params = {}, options = {})
998
+ req = build_request(:describe_connections_on_interconnect, params)
999
+ req.send_request(options)
1000
+ end
1001
+
1002
+ # Returns the LOA-CFA for an Interconnect.
1003
+ #
1004
+ # The Letter of Authorization - Connecting Facility Assignment (LOA-CFA)
1005
+ # is a document that is used when establishing your cross connect to AWS
1006
+ # at the colocation facility. For more information, see [Requesting
1007
+ # Cross Connects at AWS Direct Connect Locations][1] in the AWS Direct
1008
+ # Connect user guide.
1009
+ #
1010
+ #
1011
+ #
1012
+ # [1]: http://docs.aws.amazon.com/directconnect/latest/UserGuide/Colocation.html
1013
+ # @option params [required, String] :interconnect_id
1014
+ # The ID of the interconnect.
1015
+ #
1016
+ # Example: dxcon-abc123
1017
+ # @option params [String] :provider_name
1018
+ # The name of the service provider who establishes connectivity on your
1019
+ # behalf. If you supply this parameter, the LOA-CFA lists the provider
1020
+ # name alongside your company name as the requester of the cross
1021
+ # connect.
1022
+ #
1023
+ # Default: None
1024
+ # @option params [String] :loa_content_type
1025
+ # A standard media type indicating the content type of the LOA-CFA
1026
+ # document. Currently, the only supported value is "application/pdf".
1027
+ #
1028
+ # Default: application/pdf
1029
+ # @return [Types::DescribeInterconnectLoaResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1030
+ #
1031
+ # * {Types::DescribeInterconnectLoaResponse#loa #loa} => Types::Loa
1032
+ #
1033
+ # @example Request syntax with placeholder values
1034
+ # resp = client.describe_interconnect_loa({
1035
+ # interconnect_id: "InterconnectId", # required
1036
+ # provider_name: "ProviderName",
1037
+ # loa_content_type: "application/pdf", # accepts application/pdf
1038
+ # })
1039
+ #
1040
+ # @example Response structure
1041
+ # resp.loa.loa_content #=> String
1042
+ # resp.loa.loa_content_type #=> String, one of "application/pdf"
1043
+ # @overload describe_interconnect_loa(params = {})
1044
+ # @param [Hash] params ({})
1045
+ def describe_interconnect_loa(params = {}, options = {})
1046
+ req = build_request(:describe_interconnect_loa, params)
1047
+ req.send_request(options)
1048
+ end
1049
+
1050
+ # Returns a list of interconnects owned by the AWS account.
1051
+ #
1052
+ # If an interconnect ID is provided, it will only return this particular
1053
+ # interconnect.
1054
+ # @option params [String] :interconnect_id
1055
+ # The ID of the interconnect.
1056
+ #
1057
+ # Example: dxcon-abc123
1058
+ # @return [Types::Interconnects] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1059
+ #
1060
+ # * {Types::Interconnects#interconnects #interconnects} => Array&lt;Types::Interconnect&gt;
1061
+ #
1062
+ # @example Request syntax with placeholder values
1063
+ # resp = client.describe_interconnects({
1064
+ # interconnect_id: "InterconnectId",
1065
+ # })
1066
+ #
1067
+ # @example Response structure
1068
+ # resp.interconnects #=> Array
1069
+ # resp.interconnects[0].interconnect_id #=> String
1070
+ # resp.interconnects[0].interconnect_name #=> String
1071
+ # resp.interconnects[0].interconnect_state #=> String, one of "requested", "pending", "available", "down", "deleting", "deleted"
1072
+ # resp.interconnects[0].region #=> String
1073
+ # resp.interconnects[0].location #=> String
1074
+ # resp.interconnects[0].bandwidth #=> String
1075
+ # resp.interconnects[0].loa_issue_time #=> Time
1076
+ # @overload describe_interconnects(params = {})
1077
+ # @param [Hash] params ({})
1078
+ def describe_interconnects(params = {}, options = {})
1079
+ req = build_request(:describe_interconnects, params)
1080
+ req.send_request(options)
1081
+ end
1082
+
1083
+ # Returns the list of AWS Direct Connect locations in the current AWS
1084
+ # region. These are the locations that may be selected when calling
1085
+ # CreateConnection or CreateInterconnect.
1086
+ # @return [Types::Locations] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1087
+ #
1088
+ # * {Types::Locations#locations #locations} => Array&lt;Types::Location&gt;
1089
+ #
1090
+ # @example Response structure
1091
+ # resp.locations #=> Array
1092
+ # resp.locations[0].location_code #=> String
1093
+ # resp.locations[0].location_name #=> String
1094
+ # @overload describe_locations(params = {})
1095
+ # @param [Hash] params ({})
1096
+ def describe_locations(params = {}, options = {})
1097
+ req = build_request(:describe_locations, params)
1098
+ req.send_request(options)
1099
+ end
1100
+
1101
+ # Describes the tags associated with the specified Direct Connect
1102
+ # resources.
1103
+ # @option params [required, Array<String>] :resource_arns
1104
+ # The Amazon Resource Names (ARNs) of the Direct Connect resources.
1105
+ # @return [Types::DescribeTagsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1106
+ #
1107
+ # * {Types::DescribeTagsResponse#resource_tags #resourceTags} => Array&lt;Types::ResourceTag&gt;
1108
+ #
1109
+ # @example Request syntax with placeholder values
1110
+ # resp = client.describe_tags({
1111
+ # resource_arns: ["ResourceArn"], # required
1112
+ # })
1113
+ #
1114
+ # @example Response structure
1115
+ # resp.resource_tags #=> Array
1116
+ # resp.resource_tags[0].resource_arn #=> String
1117
+ # resp.resource_tags[0].tags #=> Array
1118
+ # resp.resource_tags[0].tags[0].key #=> String
1119
+ # resp.resource_tags[0].tags[0].value #=> String
1120
+ # @overload describe_tags(params = {})
1121
+ # @param [Hash] params ({})
1122
+ def describe_tags(params = {}, options = {})
1123
+ req = build_request(:describe_tags, params)
1124
+ req.send_request(options)
1125
+ end
1126
+
1127
+ # Returns a list of virtual private gateways owned by the AWS account.
1128
+ #
1129
+ # You can create one or more AWS Direct Connect private virtual
1130
+ # interfaces linking to a virtual private gateway. A virtual private
1131
+ # gateway can be managed via Amazon Virtual Private Cloud (VPC) console
1132
+ # or the [EC2 CreateVpnGateway][1] action.
1133
+ #
1134
+ #
1135
+ #
1136
+ # [1]: http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CreateVpnGateway.html
1137
+ # @return [Types::VirtualGateways] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1138
+ #
1139
+ # * {Types::VirtualGateways#virtual_gateways #virtualGateways} => Array&lt;Types::VirtualGateway&gt;
1140
+ #
1141
+ # @example Response structure
1142
+ # resp.virtual_gateways #=> Array
1143
+ # resp.virtual_gateways[0].virtual_gateway_id #=> String
1144
+ # resp.virtual_gateways[0].virtual_gateway_state #=> String
1145
+ # @overload describe_virtual_gateways(params = {})
1146
+ # @param [Hash] params ({})
1147
+ def describe_virtual_gateways(params = {}, options = {})
1148
+ req = build_request(:describe_virtual_gateways, params)
1149
+ req.send_request(options)
1150
+ end
1151
+
1152
+ # Displays all virtual interfaces for an AWS account. Virtual interfaces
1153
+ # deleted fewer than 15 minutes before DescribeVirtualInterfaces is
1154
+ # called are also returned. If a connection ID is included then only
1155
+ # virtual interfaces associated with this connection will be returned.
1156
+ # If a virtual interface ID is included then only a single virtual
1157
+ # interface will be returned.
1158
+ #
1159
+ # A virtual interface (VLAN) transmits the traffic between the AWS
1160
+ # Direct Connect location and the customer.
1161
+ #
1162
+ # If a connection ID is provided, only virtual interfaces provisioned on
1163
+ # the specified connection will be returned. If a virtual interface ID
1164
+ # is provided, only this particular virtual interface will be returned.
1165
+ # @option params [String] :connection_id
1166
+ # ID of the connection.
1167
+ #
1168
+ # Example: dxcon-fg5678gh
1169
+ #
1170
+ # Default: None
1171
+ # @option params [String] :virtual_interface_id
1172
+ # ID of the virtual interface.
1173
+ #
1174
+ # Example: dxvif-123dfg56
1175
+ #
1176
+ # Default: None
1177
+ # @return [Types::VirtualInterfaces] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1178
+ #
1179
+ # * {Types::VirtualInterfaces#virtual_interfaces #virtualInterfaces} => Array&lt;Types::VirtualInterface&gt;
1180
+ #
1181
+ # @example Request syntax with placeholder values
1182
+ # resp = client.describe_virtual_interfaces({
1183
+ # connection_id: "ConnectionId",
1184
+ # virtual_interface_id: "VirtualInterfaceId",
1185
+ # })
1186
+ #
1187
+ # @example Response structure
1188
+ # resp.virtual_interfaces #=> Array
1189
+ # resp.virtual_interfaces[0].owner_account #=> String
1190
+ # resp.virtual_interfaces[0].virtual_interface_id #=> String
1191
+ # resp.virtual_interfaces[0].location #=> String
1192
+ # resp.virtual_interfaces[0].connection_id #=> String
1193
+ # resp.virtual_interfaces[0].virtual_interface_type #=> String
1194
+ # resp.virtual_interfaces[0].virtual_interface_name #=> String
1195
+ # resp.virtual_interfaces[0].vlan #=> Integer
1196
+ # resp.virtual_interfaces[0].asn #=> Integer
1197
+ # resp.virtual_interfaces[0].auth_key #=> String
1198
+ # resp.virtual_interfaces[0].amazon_address #=> String
1199
+ # resp.virtual_interfaces[0].customer_address #=> String
1200
+ # resp.virtual_interfaces[0].virtual_interface_state #=> String, one of "confirming", "verifying", "pending", "available", "down", "deleting", "deleted", "rejected"
1201
+ # resp.virtual_interfaces[0].customer_router_config #=> String
1202
+ # resp.virtual_interfaces[0].virtual_gateway_id #=> String
1203
+ # resp.virtual_interfaces[0].route_filter_prefixes #=> Array
1204
+ # resp.virtual_interfaces[0].route_filter_prefixes[0].cidr #=> String
1205
+ # @overload describe_virtual_interfaces(params = {})
1206
+ # @param [Hash] params ({})
1207
+ def describe_virtual_interfaces(params = {}, options = {})
1208
+ req = build_request(:describe_virtual_interfaces, params)
1209
+ req.send_request(options)
1210
+ end
1211
+
1212
+ # Adds the specified tags to the specified Direct Connect resource. Each
1213
+ # Direct Connect resource can have a maximum of 50 tags.
1214
+ #
1215
+ # Each tag consists of a key and an optional value. If a tag with the
1216
+ # same key is already associated with the Direct Connect resource, this
1217
+ # action updates its value.
1218
+ # @option params [required, String] :resource_arn
1219
+ # The Amazon Resource Name (ARN) of the Direct Connect resource.
1220
+ #
1221
+ # Example:
1222
+ # arn:aws:directconnect:us-east-1:123456789012:dxcon/dxcon-fg5678gh
1223
+ # @option params [required, Array<Types::Tag>] :tags
1224
+ # The list of tags to add.
1225
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1226
+ #
1227
+ # @example Request syntax with placeholder values
1228
+ # resp = client.tag_resource({
1229
+ # resource_arn: "ResourceArn", # required
1230
+ # tags: [ # required
1231
+ # {
1232
+ # key: "TagKey", # required
1233
+ # value: "TagValue",
1234
+ # },
1235
+ # ],
1236
+ # })
1237
+ # @overload tag_resource(params = {})
1238
+ # @param [Hash] params ({})
1239
+ def tag_resource(params = {}, options = {})
1240
+ req = build_request(:tag_resource, params)
1241
+ req.send_request(options)
1242
+ end
1243
+
1244
+ # Removes one or more tags from the specified Direct Connect resource.
1245
+ # @option params [required, String] :resource_arn
1246
+ # The Amazon Resource Name (ARN) of the Direct Connect resource.
1247
+ # @option params [required, Array<String>] :tag_keys
1248
+ # The list of tag keys to remove.
1249
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1250
+ #
1251
+ # @example Request syntax with placeholder values
1252
+ # resp = client.untag_resource({
1253
+ # resource_arn: "ResourceArn", # required
1254
+ # tag_keys: ["TagKey"], # required
1255
+ # })
1256
+ # @overload untag_resource(params = {})
1257
+ # @param [Hash] params ({})
1258
+ def untag_resource(params = {}, options = {})
1259
+ req = build_request(:untag_resource, params)
1260
+ req.send_request(options)
1261
+ end
1262
+
1263
+ # @!endgroup
1264
+
1265
+ # @param params ({})
1266
+ # @api private
1267
+ def build_request(operation_name, params = {})
1268
+ handlers = @handlers.for(operation_name)
1269
+ context = Seahorse::Client::RequestContext.new(
1270
+ operation_name: operation_name,
1271
+ operation: config.api.operation(operation_name),
1272
+ client: self,
1273
+ params: params,
1274
+ config: config)
1275
+ context[:gem_name] = 'aws-sdk-directconnect'
1276
+ context[:gem_version] = '1.0.0.rc1'
1277
+ Seahorse::Client::Request.new(handlers, context)
1278
+ end
1279
+
1280
+ # @api private
1281
+ # @deprecated
1282
+ def waiter_names
1283
+ []
1284
+ end
1285
+
1286
+ class << self
1287
+
1288
+ # @api private
1289
+ attr_reader :identifier
1290
+
1291
+ # @api private
1292
+ def errors_module
1293
+ Errors
1294
+ end
1295
+
1296
+ end
1297
+ end
1298
+ end
1299
+ end