aws-sdk-directconnect 1.0.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
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