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.
@@ -0,0 +1,7 @@
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
+
@@ -0,0 +1,23 @@
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
+ module Aws
9
+ module DirectConnect
10
+ module Errors
11
+
12
+ extend Aws::Errors::DynamicErrors
13
+
14
+ # Raised when calling #load or #data on a resource class that can not be
15
+ # loaded. This can happen when:
16
+ #
17
+ # * A resource class has identifiers, but no data attributes.
18
+ # * Resource data is only available when making an API call that
19
+ # enumerates all resources of that type.
20
+ class ResourceNotLoadable < RuntimeError; end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,25 @@
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
+ module Aws
9
+ module DirectConnect
10
+ class Resource
11
+
12
+ # @param options ({})
13
+ # @option options [Client] :client
14
+ def initialize(options = {})
15
+ @client = options[:client] || Client.new(options)
16
+ end
17
+
18
+ # @return [Client]
19
+ def client
20
+ @client
21
+ end
22
+
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,1669 @@
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
+ module Aws
9
+ module DirectConnect
10
+ module Types
11
+
12
+ # Container for the parameters to the AllocateConnectionOnInterconnect
13
+ # operation.
14
+ # @note When making an API call, pass AllocateConnectionOnInterconnectRequest
15
+ # data as a hash:
16
+ #
17
+ # {
18
+ # bandwidth: "Bandwidth", # required
19
+ # connection_name: "ConnectionName", # required
20
+ # owner_account: "OwnerAccount", # required
21
+ # interconnect_id: "InterconnectId", # required
22
+ # vlan: 1, # required
23
+ # }
24
+ # @!attribute [rw] bandwidth
25
+ # Bandwidth of the connection.
26
+ #
27
+ # Example: "*500Mbps*"
28
+ #
29
+ # Default: None
30
+ #
31
+ # Values: 50M, 100M, 200M, 300M, 400M, or 500M
32
+ # @return [String]
33
+ #
34
+ # @!attribute [rw] connection_name
35
+ # Name of the provisioned connection.
36
+ #
37
+ # Example: "*500M Connection to AWS*"
38
+ #
39
+ # Default: None
40
+ # @return [String]
41
+ #
42
+ # @!attribute [rw] owner_account
43
+ # Numeric account Id of the customer for whom the connection will be
44
+ # provisioned.
45
+ #
46
+ # Example: 123443215678
47
+ #
48
+ # Default: None
49
+ # @return [String]
50
+ #
51
+ # @!attribute [rw] interconnect_id
52
+ # ID of the interconnect on which the connection will be provisioned.
53
+ #
54
+ # Example: dxcon-456abc78
55
+ #
56
+ # Default: None
57
+ # @return [String]
58
+ #
59
+ # @!attribute [rw] vlan
60
+ # The dedicated VLAN provisioned to the connection.
61
+ #
62
+ # Example: 101
63
+ #
64
+ # Default: None
65
+ # @return [Integer]
66
+ class AllocateConnectionOnInterconnectRequest < Struct.new(
67
+ :bandwidth,
68
+ :connection_name,
69
+ :owner_account,
70
+ :interconnect_id,
71
+ :vlan)
72
+ include Aws::Structure
73
+ end
74
+
75
+ # Container for the parameters to the AllocatePrivateVirtualInterface
76
+ # operation.
77
+ # @note When making an API call, pass AllocatePrivateVirtualInterfaceRequest
78
+ # data as a hash:
79
+ #
80
+ # {
81
+ # connection_id: "ConnectionId", # required
82
+ # owner_account: "OwnerAccount", # required
83
+ # new_private_virtual_interface_allocation: { # required
84
+ # virtual_interface_name: "VirtualInterfaceName", # required
85
+ # vlan: 1, # required
86
+ # asn: 1, # required
87
+ # auth_key: "BGPAuthKey",
88
+ # amazon_address: "AmazonAddress",
89
+ # customer_address: "CustomerAddress",
90
+ # },
91
+ # }
92
+ # @!attribute [rw] connection_id
93
+ # The connection ID on which the private virtual interface is
94
+ # provisioned.
95
+ #
96
+ # Default: None
97
+ # @return [String]
98
+ #
99
+ # @!attribute [rw] owner_account
100
+ # The AWS account that will own the new private virtual interface.
101
+ #
102
+ # Default: None
103
+ # @return [String]
104
+ #
105
+ # @!attribute [rw] new_private_virtual_interface_allocation
106
+ # Detailed information for the private virtual interface to be
107
+ # provisioned.
108
+ #
109
+ # Default: None
110
+ # @return [Types::NewPrivateVirtualInterfaceAllocation]
111
+ class AllocatePrivateVirtualInterfaceRequest < Struct.new(
112
+ :connection_id,
113
+ :owner_account,
114
+ :new_private_virtual_interface_allocation)
115
+ include Aws::Structure
116
+ end
117
+
118
+ # Container for the parameters to the AllocatePublicVirtualInterface
119
+ # operation.
120
+ # @note When making an API call, pass AllocatePublicVirtualInterfaceRequest
121
+ # data as a hash:
122
+ #
123
+ # {
124
+ # connection_id: "ConnectionId", # required
125
+ # owner_account: "OwnerAccount", # required
126
+ # new_public_virtual_interface_allocation: { # required
127
+ # virtual_interface_name: "VirtualInterfaceName", # required
128
+ # vlan: 1, # required
129
+ # asn: 1, # required
130
+ # auth_key: "BGPAuthKey",
131
+ # amazon_address: "AmazonAddress", # required
132
+ # customer_address: "CustomerAddress", # required
133
+ # route_filter_prefixes: [ # required
134
+ # {
135
+ # cidr: "CIDR",
136
+ # },
137
+ # ],
138
+ # },
139
+ # }
140
+ # @!attribute [rw] connection_id
141
+ # The connection ID on which the public virtual interface is
142
+ # provisioned.
143
+ #
144
+ # Default: None
145
+ # @return [String]
146
+ #
147
+ # @!attribute [rw] owner_account
148
+ # The AWS account that will own the new public virtual interface.
149
+ #
150
+ # Default: None
151
+ # @return [String]
152
+ #
153
+ # @!attribute [rw] new_public_virtual_interface_allocation
154
+ # Detailed information for the public virtual interface to be
155
+ # provisioned.
156
+ #
157
+ # Default: None
158
+ # @return [Types::NewPublicVirtualInterfaceAllocation]
159
+ class AllocatePublicVirtualInterfaceRequest < Struct.new(
160
+ :connection_id,
161
+ :owner_account,
162
+ :new_public_virtual_interface_allocation)
163
+ include Aws::Structure
164
+ end
165
+
166
+ # Container for the parameters to the ConfirmConnection operation.
167
+ # @note When making an API call, pass ConfirmConnectionRequest
168
+ # data as a hash:
169
+ #
170
+ # {
171
+ # connection_id: "ConnectionId", # required
172
+ # }
173
+ # @!attribute [rw] connection_id
174
+ # ID of the connection.
175
+ #
176
+ # Example: dxcon-fg5678gh
177
+ #
178
+ # Default: None
179
+ # @return [String]
180
+ class ConfirmConnectionRequest < Struct.new(
181
+ :connection_id)
182
+ include Aws::Structure
183
+ end
184
+
185
+ # The response received when ConfirmConnection is called.
186
+ # @!attribute [rw] connection_state
187
+ # State of the connection.
188
+ #
189
+ # * **Ordering**\: The initial state of a hosted connection
190
+ # provisioned on an interconnect. The connection stays in the
191
+ # ordering state until the owner of the hosted connection confirms
192
+ # or declines the connection order.
193
+ #
194
+ # * **Requested**\: The initial state of a standard connection. The
195
+ # connection stays in the requested state until the Letter of
196
+ # Authorization (LOA) is sent to the customer.
197
+ #
198
+ # * **Pending**\: The connection has been approved, and is being
199
+ # initialized.
200
+ #
201
+ # * **Available**\: The network link is up, and the connection is
202
+ # ready for use.
203
+ #
204
+ # * **Down**\: The network link is down.
205
+ #
206
+ # * **Deleting**\: The connection is in the process of being deleted.
207
+ #
208
+ # * **Deleted**\: The connection has been deleted.
209
+ #
210
+ # * **Rejected**\: A hosted connection in the 'Ordering' state will
211
+ # enter the 'Rejected' state if it is deleted by the end customer.
212
+ # @return [String]
213
+ class ConfirmConnectionResponse < Struct.new(
214
+ :connection_state)
215
+ include Aws::Structure
216
+ end
217
+
218
+ # Container for the parameters to the ConfirmPrivateVirtualInterface
219
+ # operation.
220
+ # @note When making an API call, pass ConfirmPrivateVirtualInterfaceRequest
221
+ # data as a hash:
222
+ #
223
+ # {
224
+ # virtual_interface_id: "VirtualInterfaceId", # required
225
+ # virtual_gateway_id: "VirtualGatewayId", # required
226
+ # }
227
+ # @!attribute [rw] virtual_interface_id
228
+ # ID of the virtual interface.
229
+ #
230
+ # Example: dxvif-123dfg56
231
+ #
232
+ # Default: None
233
+ # @return [String]
234
+ #
235
+ # @!attribute [rw] virtual_gateway_id
236
+ # ID of the virtual private gateway that will be attached to the
237
+ # virtual interface.
238
+ #
239
+ # A virtual private gateway can be managed via the Amazon Virtual
240
+ # Private Cloud (VPC) console or the [EC2 CreateVpnGateway][1] action.
241
+ #
242
+ # Default: None
243
+ #
244
+ #
245
+ #
246
+ # [1]: http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CreateVpnGateway.html
247
+ # @return [String]
248
+ class ConfirmPrivateVirtualInterfaceRequest < Struct.new(
249
+ :virtual_interface_id,
250
+ :virtual_gateway_id)
251
+ include Aws::Structure
252
+ end
253
+
254
+ # The response received when ConfirmPrivateVirtualInterface is called.
255
+ # @!attribute [rw] virtual_interface_state
256
+ # State of the virtual interface.
257
+ #
258
+ # * **Confirming**\: The creation of the virtual interface is pending
259
+ # confirmation from the virtual interface owner. If the owner of the
260
+ # virtual interface is different from the owner of the connection on
261
+ # which it is provisioned, then the virtual interface will remain in
262
+ # this state until it is confirmed by the virtual interface owner.
263
+ #
264
+ # * **Verifying**\: This state only applies to public virtual
265
+ # interfaces. Each public virtual interface needs validation before
266
+ # the virtual interface can be created.
267
+ #
268
+ # * **Pending**\: A virtual interface is in this state from the time
269
+ # that it is created until the virtual interface is ready to forward
270
+ # traffic.
271
+ #
272
+ # * **Available**\: A virtual interface that is able to forward
273
+ # traffic.
274
+ #
275
+ # * **Down**\: A virtual interface that is BGP down.
276
+ #
277
+ # * **Deleting**\: A virtual interface is in this state immediately
278
+ # after calling *DeleteVirtualInterface* until it can no longer
279
+ # forward traffic.
280
+ #
281
+ # * **Deleted**\: A virtual interface that cannot forward traffic.
282
+ #
283
+ # * **Rejected**\: The virtual interface owner has declined creation
284
+ # of the virtual interface. If a virtual interface in the
285
+ # 'Confirming' state is deleted by the virtual interface owner,
286
+ # the virtual interface will enter the 'Rejected' state.
287
+ # @return [String]
288
+ class ConfirmPrivateVirtualInterfaceResponse < Struct.new(
289
+ :virtual_interface_state)
290
+ include Aws::Structure
291
+ end
292
+
293
+ # Container for the parameters to the ConfirmPublicVirtualInterface
294
+ # operation.
295
+ # @note When making an API call, pass ConfirmPublicVirtualInterfaceRequest
296
+ # data as a hash:
297
+ #
298
+ # {
299
+ # virtual_interface_id: "VirtualInterfaceId", # required
300
+ # }
301
+ # @!attribute [rw] virtual_interface_id
302
+ # ID of the virtual interface.
303
+ #
304
+ # Example: dxvif-123dfg56
305
+ #
306
+ # Default: None
307
+ # @return [String]
308
+ class ConfirmPublicVirtualInterfaceRequest < Struct.new(
309
+ :virtual_interface_id)
310
+ include Aws::Structure
311
+ end
312
+
313
+ # The response received when ConfirmPublicVirtualInterface is called.
314
+ # @!attribute [rw] virtual_interface_state
315
+ # State of the virtual interface.
316
+ #
317
+ # * **Confirming**\: The creation of the virtual interface is pending
318
+ # confirmation from the virtual interface owner. If the owner of the
319
+ # virtual interface is different from the owner of the connection on
320
+ # which it is provisioned, then the virtual interface will remain in
321
+ # this state until it is confirmed by the virtual interface owner.
322
+ #
323
+ # * **Verifying**\: This state only applies to public virtual
324
+ # interfaces. Each public virtual interface needs validation before
325
+ # the virtual interface can be created.
326
+ #
327
+ # * **Pending**\: A virtual interface is in this state from the time
328
+ # that it is created until the virtual interface is ready to forward
329
+ # traffic.
330
+ #
331
+ # * **Available**\: A virtual interface that is able to forward
332
+ # traffic.
333
+ #
334
+ # * **Down**\: A virtual interface that is BGP down.
335
+ #
336
+ # * **Deleting**\: A virtual interface is in this state immediately
337
+ # after calling *DeleteVirtualInterface* until it can no longer
338
+ # forward traffic.
339
+ #
340
+ # * **Deleted**\: A virtual interface that cannot forward traffic.
341
+ #
342
+ # * **Rejected**\: The virtual interface owner has declined creation
343
+ # of the virtual interface. If a virtual interface in the
344
+ # 'Confirming' state is deleted by the virtual interface owner,
345
+ # the virtual interface will enter the 'Rejected' state.
346
+ # @return [String]
347
+ class ConfirmPublicVirtualInterfaceResponse < Struct.new(
348
+ :virtual_interface_state)
349
+ include Aws::Structure
350
+ end
351
+
352
+ # A connection represents the physical network connection between the
353
+ # AWS Direct Connect location and the customer.
354
+ # @!attribute [rw] owner_account
355
+ # The AWS account that will own the new connection.
356
+ # @return [String]
357
+ #
358
+ # @!attribute [rw] connection_id
359
+ # ID of the connection.
360
+ #
361
+ # Example: dxcon-fg5678gh
362
+ #
363
+ # Default: None
364
+ # @return [String]
365
+ #
366
+ # @!attribute [rw] connection_name
367
+ # The name of the connection.
368
+ #
369
+ # Example: "*My Connection to AWS*"
370
+ #
371
+ # Default: None
372
+ # @return [String]
373
+ #
374
+ # @!attribute [rw] connection_state
375
+ # State of the connection.
376
+ #
377
+ # * **Ordering**\: The initial state of a hosted connection
378
+ # provisioned on an interconnect. The connection stays in the
379
+ # ordering state until the owner of the hosted connection confirms
380
+ # or declines the connection order.
381
+ #
382
+ # * **Requested**\: The initial state of a standard connection. The
383
+ # connection stays in the requested state until the Letter of
384
+ # Authorization (LOA) is sent to the customer.
385
+ #
386
+ # * **Pending**\: The connection has been approved, and is being
387
+ # initialized.
388
+ #
389
+ # * **Available**\: The network link is up, and the connection is
390
+ # ready for use.
391
+ #
392
+ # * **Down**\: The network link is down.
393
+ #
394
+ # * **Deleting**\: The connection is in the process of being deleted.
395
+ #
396
+ # * **Deleted**\: The connection has been deleted.
397
+ #
398
+ # * **Rejected**\: A hosted connection in the 'Ordering' state will
399
+ # enter the 'Rejected' state if it is deleted by the end customer.
400
+ # @return [String]
401
+ #
402
+ # @!attribute [rw] region
403
+ # The AWS region where the connection is located.
404
+ #
405
+ # Example: us-east-1
406
+ #
407
+ # Default: None
408
+ # @return [String]
409
+ #
410
+ # @!attribute [rw] location
411
+ # Where the connection is located.
412
+ #
413
+ # Example: EqSV5
414
+ #
415
+ # Default: None
416
+ # @return [String]
417
+ #
418
+ # @!attribute [rw] bandwidth
419
+ # Bandwidth of the connection.
420
+ #
421
+ # Example: 1Gbps (for regular connections), or 500Mbps (for hosted
422
+ # connections)
423
+ #
424
+ # Default: None
425
+ # @return [String]
426
+ #
427
+ # @!attribute [rw] vlan
428
+ # The VLAN ID.
429
+ #
430
+ # Example: 101
431
+ # @return [Integer]
432
+ #
433
+ # @!attribute [rw] partner_name
434
+ # The name of the AWS Direct Connect service provider associated with
435
+ # the connection.
436
+ # @return [String]
437
+ #
438
+ # @!attribute [rw] loa_issue_time
439
+ # The time of the most recent call to DescribeConnectionLoa for this
440
+ # Connection.
441
+ # @return [Time]
442
+ class Connection < Struct.new(
443
+ :owner_account,
444
+ :connection_id,
445
+ :connection_name,
446
+ :connection_state,
447
+ :region,
448
+ :location,
449
+ :bandwidth,
450
+ :vlan,
451
+ :partner_name,
452
+ :loa_issue_time)
453
+ include Aws::Structure
454
+ end
455
+
456
+ # A structure containing a list of connections.
457
+ # @!attribute [rw] connections
458
+ # A list of connections.
459
+ # @return [Array<Types::Connection>]
460
+ class Connections < Struct.new(
461
+ :connections)
462
+ include Aws::Structure
463
+ end
464
+
465
+ # Container for the parameters to the CreateConnection operation.
466
+ # @note When making an API call, pass CreateConnectionRequest
467
+ # data as a hash:
468
+ #
469
+ # {
470
+ # location: "LocationCode", # required
471
+ # bandwidth: "Bandwidth", # required
472
+ # connection_name: "ConnectionName", # required
473
+ # }
474
+ # @!attribute [rw] location
475
+ # Where the connection is located.
476
+ #
477
+ # Example: EqSV5
478
+ #
479
+ # Default: None
480
+ # @return [String]
481
+ #
482
+ # @!attribute [rw] bandwidth
483
+ # Bandwidth of the connection.
484
+ #
485
+ # Example: 1Gbps
486
+ #
487
+ # Default: None
488
+ # @return [String]
489
+ #
490
+ # @!attribute [rw] connection_name
491
+ # The name of the connection.
492
+ #
493
+ # Example: "*My Connection to AWS*"
494
+ #
495
+ # Default: None
496
+ # @return [String]
497
+ class CreateConnectionRequest < Struct.new(
498
+ :location,
499
+ :bandwidth,
500
+ :connection_name)
501
+ include Aws::Structure
502
+ end
503
+
504
+ # Container for the parameters to the CreateInterconnect operation.
505
+ # @note When making an API call, pass CreateInterconnectRequest
506
+ # data as a hash:
507
+ #
508
+ # {
509
+ # interconnect_name: "InterconnectName", # required
510
+ # bandwidth: "Bandwidth", # required
511
+ # location: "LocationCode", # required
512
+ # }
513
+ # @!attribute [rw] interconnect_name
514
+ # The name of the interconnect.
515
+ #
516
+ # Example: "*1G Interconnect to AWS*"
517
+ #
518
+ # Default: None
519
+ # @return [String]
520
+ #
521
+ # @!attribute [rw] bandwidth
522
+ # The port bandwidth
523
+ #
524
+ # Example: 1Gbps
525
+ #
526
+ # Default: None
527
+ #
528
+ # Available values: 1Gbps,10Gbps
529
+ # @return [String]
530
+ #
531
+ # @!attribute [rw] location
532
+ # Where the interconnect is located
533
+ #
534
+ # Example: EqSV5
535
+ #
536
+ # Default: None
537
+ # @return [String]
538
+ class CreateInterconnectRequest < Struct.new(
539
+ :interconnect_name,
540
+ :bandwidth,
541
+ :location)
542
+ include Aws::Structure
543
+ end
544
+
545
+ # Container for the parameters to the CreatePrivateVirtualInterface
546
+ # operation.
547
+ # @note When making an API call, pass CreatePrivateVirtualInterfaceRequest
548
+ # data as a hash:
549
+ #
550
+ # {
551
+ # connection_id: "ConnectionId", # required
552
+ # new_private_virtual_interface: { # required
553
+ # virtual_interface_name: "VirtualInterfaceName", # required
554
+ # vlan: 1, # required
555
+ # asn: 1, # required
556
+ # auth_key: "BGPAuthKey",
557
+ # amazon_address: "AmazonAddress",
558
+ # customer_address: "CustomerAddress",
559
+ # virtual_gateway_id: "VirtualGatewayId", # required
560
+ # },
561
+ # }
562
+ # @!attribute [rw] connection_id
563
+ # ID of the connection.
564
+ #
565
+ # Example: dxcon-fg5678gh
566
+ #
567
+ # Default: None
568
+ # @return [String]
569
+ #
570
+ # @!attribute [rw] new_private_virtual_interface
571
+ # Detailed information for the private virtual interface to be
572
+ # created.
573
+ #
574
+ # Default: None
575
+ # @return [Types::NewPrivateVirtualInterface]
576
+ class CreatePrivateVirtualInterfaceRequest < Struct.new(
577
+ :connection_id,
578
+ :new_private_virtual_interface)
579
+ include Aws::Structure
580
+ end
581
+
582
+ # Container for the parameters to the CreatePublicVirtualInterface
583
+ # operation.
584
+ # @note When making an API call, pass CreatePublicVirtualInterfaceRequest
585
+ # data as a hash:
586
+ #
587
+ # {
588
+ # connection_id: "ConnectionId", # required
589
+ # new_public_virtual_interface: { # required
590
+ # virtual_interface_name: "VirtualInterfaceName", # required
591
+ # vlan: 1, # required
592
+ # asn: 1, # required
593
+ # auth_key: "BGPAuthKey",
594
+ # amazon_address: "AmazonAddress", # required
595
+ # customer_address: "CustomerAddress", # required
596
+ # route_filter_prefixes: [ # required
597
+ # {
598
+ # cidr: "CIDR",
599
+ # },
600
+ # ],
601
+ # },
602
+ # }
603
+ # @!attribute [rw] connection_id
604
+ # ID of the connection.
605
+ #
606
+ # Example: dxcon-fg5678gh
607
+ #
608
+ # Default: None
609
+ # @return [String]
610
+ #
611
+ # @!attribute [rw] new_public_virtual_interface
612
+ # Detailed information for the public virtual interface to be created.
613
+ #
614
+ # Default: None
615
+ # @return [Types::NewPublicVirtualInterface]
616
+ class CreatePublicVirtualInterfaceRequest < Struct.new(
617
+ :connection_id,
618
+ :new_public_virtual_interface)
619
+ include Aws::Structure
620
+ end
621
+
622
+ # Container for the parameters to the DeleteConnection operation.
623
+ # @note When making an API call, pass DeleteConnectionRequest
624
+ # data as a hash:
625
+ #
626
+ # {
627
+ # connection_id: "ConnectionId", # required
628
+ # }
629
+ # @!attribute [rw] connection_id
630
+ # ID of the connection.
631
+ #
632
+ # Example: dxcon-fg5678gh
633
+ #
634
+ # Default: None
635
+ # @return [String]
636
+ class DeleteConnectionRequest < Struct.new(
637
+ :connection_id)
638
+ include Aws::Structure
639
+ end
640
+
641
+ # Container for the parameters to the DeleteInterconnect operation.
642
+ # @note When making an API call, pass DeleteInterconnectRequest
643
+ # data as a hash:
644
+ #
645
+ # {
646
+ # interconnect_id: "InterconnectId", # required
647
+ # }
648
+ # @!attribute [rw] interconnect_id
649
+ # The ID of the interconnect.
650
+ #
651
+ # Example: dxcon-abc123
652
+ # @return [String]
653
+ class DeleteInterconnectRequest < Struct.new(
654
+ :interconnect_id)
655
+ include Aws::Structure
656
+ end
657
+
658
+ # The response received when DeleteInterconnect is called.
659
+ # @!attribute [rw] interconnect_state
660
+ # State of the interconnect.
661
+ #
662
+ # * **Requested**\: The initial state of an interconnect. The
663
+ # interconnect stays in the requested state until the Letter of
664
+ # Authorization (LOA) is sent to the customer.
665
+ #
666
+ # * **Pending**&gt;\: The interconnect has been approved, and is being
667
+ # initialized.
668
+ #
669
+ # * **Available**\: The network link is up, and the interconnect is
670
+ # ready for use.
671
+ #
672
+ # * **Down**\: The network link is down.
673
+ #
674
+ # * **Deleting**\: The interconnect is in the process of being
675
+ # deleted.
676
+ #
677
+ # * **Deleted**\: The interconnect has been deleted.
678
+ # @return [String]
679
+ class DeleteInterconnectResponse < Struct.new(
680
+ :interconnect_state)
681
+ include Aws::Structure
682
+ end
683
+
684
+ # Container for the parameters to the DeleteVirtualInterface operation.
685
+ # @note When making an API call, pass DeleteVirtualInterfaceRequest
686
+ # data as a hash:
687
+ #
688
+ # {
689
+ # virtual_interface_id: "VirtualInterfaceId", # required
690
+ # }
691
+ # @!attribute [rw] virtual_interface_id
692
+ # ID of the virtual interface.
693
+ #
694
+ # Example: dxvif-123dfg56
695
+ #
696
+ # Default: None
697
+ # @return [String]
698
+ class DeleteVirtualInterfaceRequest < Struct.new(
699
+ :virtual_interface_id)
700
+ include Aws::Structure
701
+ end
702
+
703
+ # The response received when DeleteVirtualInterface is called.
704
+ # @!attribute [rw] virtual_interface_state
705
+ # State of the virtual interface.
706
+ #
707
+ # * **Confirming**\: The creation of the virtual interface is pending
708
+ # confirmation from the virtual interface owner. If the owner of the
709
+ # virtual interface is different from the owner of the connection on
710
+ # which it is provisioned, then the virtual interface will remain in
711
+ # this state until it is confirmed by the virtual interface owner.
712
+ #
713
+ # * **Verifying**\: This state only applies to public virtual
714
+ # interfaces. Each public virtual interface needs validation before
715
+ # the virtual interface can be created.
716
+ #
717
+ # * **Pending**\: A virtual interface is in this state from the time
718
+ # that it is created until the virtual interface is ready to forward
719
+ # traffic.
720
+ #
721
+ # * **Available**\: A virtual interface that is able to forward
722
+ # traffic.
723
+ #
724
+ # * **Down**\: A virtual interface that is BGP down.
725
+ #
726
+ # * **Deleting**\: A virtual interface is in this state immediately
727
+ # after calling *DeleteVirtualInterface* until it can no longer
728
+ # forward traffic.
729
+ #
730
+ # * **Deleted**\: A virtual interface that cannot forward traffic.
731
+ #
732
+ # * **Rejected**\: The virtual interface owner has declined creation
733
+ # of the virtual interface. If a virtual interface in the
734
+ # 'Confirming' state is deleted by the virtual interface owner,
735
+ # the virtual interface will enter the 'Rejected' state.
736
+ # @return [String]
737
+ class DeleteVirtualInterfaceResponse < Struct.new(
738
+ :virtual_interface_state)
739
+ include Aws::Structure
740
+ end
741
+
742
+ # Container for the parameters to the DescribeConnectionLoa operation.
743
+ # @note When making an API call, pass DescribeConnectionLoaRequest
744
+ # data as a hash:
745
+ #
746
+ # {
747
+ # connection_id: "ConnectionId", # required
748
+ # provider_name: "ProviderName",
749
+ # loa_content_type: "application/pdf", # accepts application/pdf
750
+ # }
751
+ # @!attribute [rw] connection_id
752
+ # ID of the connection.
753
+ #
754
+ # Example: dxcon-fg5678gh
755
+ #
756
+ # Default: None
757
+ # @return [String]
758
+ #
759
+ # @!attribute [rw] provider_name
760
+ # The name of the APN partner or service provider who establishes
761
+ # connectivity on your behalf. If you supply this parameter, the
762
+ # LOA-CFA lists the provider name alongside your company name as the
763
+ # requester of the cross connect.
764
+ #
765
+ # Default: None
766
+ # @return [String]
767
+ #
768
+ # @!attribute [rw] loa_content_type
769
+ # A standard media type indicating the content type of the LOA-CFA
770
+ # document. Currently, the only supported value is
771
+ # "application/pdf".
772
+ #
773
+ # Default: application/pdf
774
+ # @return [String]
775
+ class DescribeConnectionLoaRequest < Struct.new(
776
+ :connection_id,
777
+ :provider_name,
778
+ :loa_content_type)
779
+ include Aws::Structure
780
+ end
781
+
782
+ # The response received when DescribeConnectionLoa is called.
783
+ # @!attribute [rw] loa
784
+ # A structure containing the Letter of Authorization - Connecting
785
+ # Facility Assignment (LOA-CFA) for a connection.
786
+ # @return [Types::Loa]
787
+ class DescribeConnectionLoaResponse < Struct.new(
788
+ :loa)
789
+ include Aws::Structure
790
+ end
791
+
792
+ # Container for the parameters to the DescribeConnectionsOnInterconnect
793
+ # operation.
794
+ # @note When making an API call, pass DescribeConnectionsOnInterconnectRequest
795
+ # data as a hash:
796
+ #
797
+ # {
798
+ # interconnect_id: "InterconnectId", # required
799
+ # }
800
+ # @!attribute [rw] interconnect_id
801
+ # ID of the interconnect on which a list of connection is provisioned.
802
+ #
803
+ # Example: dxcon-abc123
804
+ #
805
+ # Default: None
806
+ # @return [String]
807
+ class DescribeConnectionsOnInterconnectRequest < Struct.new(
808
+ :interconnect_id)
809
+ include Aws::Structure
810
+ end
811
+
812
+ # Container for the parameters to the DescribeConnections operation.
813
+ # @note When making an API call, pass DescribeConnectionsRequest
814
+ # data as a hash:
815
+ #
816
+ # {
817
+ # connection_id: "ConnectionId",
818
+ # }
819
+ # @!attribute [rw] connection_id
820
+ # ID of the connection.
821
+ #
822
+ # Example: dxcon-fg5678gh
823
+ #
824
+ # Default: None
825
+ # @return [String]
826
+ class DescribeConnectionsRequest < Struct.new(
827
+ :connection_id)
828
+ include Aws::Structure
829
+ end
830
+
831
+ # Container for the parameters to the DescribeInterconnectLoa operation.
832
+ # @note When making an API call, pass DescribeInterconnectLoaRequest
833
+ # data as a hash:
834
+ #
835
+ # {
836
+ # interconnect_id: "InterconnectId", # required
837
+ # provider_name: "ProviderName",
838
+ # loa_content_type: "application/pdf", # accepts application/pdf
839
+ # }
840
+ # @!attribute [rw] interconnect_id
841
+ # The ID of the interconnect.
842
+ #
843
+ # Example: dxcon-abc123
844
+ # @return [String]
845
+ #
846
+ # @!attribute [rw] provider_name
847
+ # The name of the service provider who establishes connectivity on
848
+ # your behalf. If you supply this parameter, the LOA-CFA lists the
849
+ # provider name alongside your company name as the requester of the
850
+ # cross connect.
851
+ #
852
+ # Default: None
853
+ # @return [String]
854
+ #
855
+ # @!attribute [rw] loa_content_type
856
+ # A standard media type indicating the content type of the LOA-CFA
857
+ # document. Currently, the only supported value is
858
+ # "application/pdf".
859
+ #
860
+ # Default: application/pdf
861
+ # @return [String]
862
+ class DescribeInterconnectLoaRequest < Struct.new(
863
+ :interconnect_id,
864
+ :provider_name,
865
+ :loa_content_type)
866
+ include Aws::Structure
867
+ end
868
+
869
+ # The response received when DescribeInterconnectLoa is called.
870
+ # @!attribute [rw] loa
871
+ # A structure containing the Letter of Authorization - Connecting
872
+ # Facility Assignment (LOA-CFA) for a connection.
873
+ # @return [Types::Loa]
874
+ class DescribeInterconnectLoaResponse < Struct.new(
875
+ :loa)
876
+ include Aws::Structure
877
+ end
878
+
879
+ # Container for the parameters to the DescribeInterconnects operation.
880
+ # @note When making an API call, pass DescribeInterconnectsRequest
881
+ # data as a hash:
882
+ #
883
+ # {
884
+ # interconnect_id: "InterconnectId",
885
+ # }
886
+ # @!attribute [rw] interconnect_id
887
+ # The ID of the interconnect.
888
+ #
889
+ # Example: dxcon-abc123
890
+ # @return [String]
891
+ class DescribeInterconnectsRequest < Struct.new(
892
+ :interconnect_id)
893
+ include Aws::Structure
894
+ end
895
+
896
+ # Container for the parameters to the DescribeTags operation.
897
+ # @note When making an API call, pass DescribeTagsRequest
898
+ # data as a hash:
899
+ #
900
+ # {
901
+ # resource_arns: ["ResourceArn"], # required
902
+ # }
903
+ # @!attribute [rw] resource_arns
904
+ # The Amazon Resource Names (ARNs) of the Direct Connect resources.
905
+ # @return [Array<String>]
906
+ class DescribeTagsRequest < Struct.new(
907
+ :resource_arns)
908
+ include Aws::Structure
909
+ end
910
+
911
+ # The response received when DescribeTags is called.
912
+ # @!attribute [rw] resource_tags
913
+ # Information about the tags.
914
+ # @return [Array<Types::ResourceTag>]
915
+ class DescribeTagsResponse < Struct.new(
916
+ :resource_tags)
917
+ include Aws::Structure
918
+ end
919
+
920
+ # Container for the parameters to the DescribeVirtualInterfaces
921
+ # operation.
922
+ # @note When making an API call, pass DescribeVirtualInterfacesRequest
923
+ # data as a hash:
924
+ #
925
+ # {
926
+ # connection_id: "ConnectionId",
927
+ # virtual_interface_id: "VirtualInterfaceId",
928
+ # }
929
+ # @!attribute [rw] connection_id
930
+ # ID of the connection.
931
+ #
932
+ # Example: dxcon-fg5678gh
933
+ #
934
+ # Default: None
935
+ # @return [String]
936
+ #
937
+ # @!attribute [rw] virtual_interface_id
938
+ # ID of the virtual interface.
939
+ #
940
+ # Example: dxvif-123dfg56
941
+ #
942
+ # Default: None
943
+ # @return [String]
944
+ class DescribeVirtualInterfacesRequest < Struct.new(
945
+ :connection_id,
946
+ :virtual_interface_id)
947
+ include Aws::Structure
948
+ end
949
+
950
+ # An interconnect is a connection that can host other connections.
951
+ #
952
+ # Like a standard AWS Direct Connect connection, an interconnect
953
+ # represents the physical connection between an AWS Direct Connect
954
+ # partner's network and a specific Direct Connect location. An AWS
955
+ # Direct Connect partner who owns an interconnect can provision hosted
956
+ # connections on the interconnect for their end customers, thereby
957
+ # providing the end customers with connectivity to AWS services.
958
+ #
959
+ # The resources of the interconnect, including bandwidth and VLAN
960
+ # numbers, are shared by all of the hosted connections on the
961
+ # interconnect, and the owner of the interconnect determines how these
962
+ # resources are assigned.
963
+ # @!attribute [rw] interconnect_id
964
+ # The ID of the interconnect.
965
+ #
966
+ # Example: dxcon-abc123
967
+ # @return [String]
968
+ #
969
+ # @!attribute [rw] interconnect_name
970
+ # The name of the interconnect.
971
+ #
972
+ # Example: "*1G Interconnect to AWS*"
973
+ # @return [String]
974
+ #
975
+ # @!attribute [rw] interconnect_state
976
+ # State of the interconnect.
977
+ #
978
+ # * **Requested**\: The initial state of an interconnect. The
979
+ # interconnect stays in the requested state until the Letter of
980
+ # Authorization (LOA) is sent to the customer.
981
+ #
982
+ # * **Pending**&gt;\: The interconnect has been approved, and is being
983
+ # initialized.
984
+ #
985
+ # * **Available**\: The network link is up, and the interconnect is
986
+ # ready for use.
987
+ #
988
+ # * **Down**\: The network link is down.
989
+ #
990
+ # * **Deleting**\: The interconnect is in the process of being
991
+ # deleted.
992
+ #
993
+ # * **Deleted**\: The interconnect has been deleted.
994
+ # @return [String]
995
+ #
996
+ # @!attribute [rw] region
997
+ # The AWS region where the connection is located.
998
+ #
999
+ # Example: us-east-1
1000
+ #
1001
+ # Default: None
1002
+ # @return [String]
1003
+ #
1004
+ # @!attribute [rw] location
1005
+ # Where the connection is located.
1006
+ #
1007
+ # Example: EqSV5
1008
+ #
1009
+ # Default: None
1010
+ # @return [String]
1011
+ #
1012
+ # @!attribute [rw] bandwidth
1013
+ # Bandwidth of the connection.
1014
+ #
1015
+ # Example: 1Gbps
1016
+ #
1017
+ # Default: None
1018
+ # @return [String]
1019
+ #
1020
+ # @!attribute [rw] loa_issue_time
1021
+ # The time of the most recent call to DescribeInterconnectLoa for this
1022
+ # Interconnect.
1023
+ # @return [Time]
1024
+ class Interconnect < Struct.new(
1025
+ :interconnect_id,
1026
+ :interconnect_name,
1027
+ :interconnect_state,
1028
+ :region,
1029
+ :location,
1030
+ :bandwidth,
1031
+ :loa_issue_time)
1032
+ include Aws::Structure
1033
+ end
1034
+
1035
+ # A structure containing a list of interconnects.
1036
+ # @!attribute [rw] interconnects
1037
+ # A list of interconnects.
1038
+ # @return [Array<Types::Interconnect>]
1039
+ class Interconnects < Struct.new(
1040
+ :interconnects)
1041
+ include Aws::Structure
1042
+ end
1043
+
1044
+ # A structure containing the Letter of Authorization - Connecting
1045
+ # Facility Assignment (LOA-CFA) for a connection.
1046
+ # @!attribute [rw] loa_content
1047
+ # The binary contents of the LOA-CFA document.
1048
+ # @return [String]
1049
+ #
1050
+ # @!attribute [rw] loa_content_type
1051
+ # A standard media type indicating the content type of the LOA-CFA
1052
+ # document. Currently, the only supported value is
1053
+ # "application/pdf".
1054
+ #
1055
+ # Default: application/pdf
1056
+ # @return [String]
1057
+ class Loa < Struct.new(
1058
+ :loa_content,
1059
+ :loa_content_type)
1060
+ include Aws::Structure
1061
+ end
1062
+
1063
+ # An AWS Direct Connect location where connections and interconnects can
1064
+ # be requested.
1065
+ # @!attribute [rw] location_code
1066
+ # The code used to indicate the AWS Direct Connect location.
1067
+ # @return [String]
1068
+ #
1069
+ # @!attribute [rw] location_name
1070
+ # The name of the AWS Direct Connect location. The name includes the
1071
+ # colocation partner name and the physical site of the lit building.
1072
+ # @return [String]
1073
+ class Location < Struct.new(
1074
+ :location_code,
1075
+ :location_name)
1076
+ include Aws::Structure
1077
+ end
1078
+
1079
+ # A location is a network facility where AWS Direct Connect routers are
1080
+ # available to be connected. Generally, these are colocation hubs where
1081
+ # many network providers have equipment, and where cross connects can be
1082
+ # delivered. Locations include a name and facility code, and must be
1083
+ # provided when creating a connection.
1084
+ # @!attribute [rw] locations
1085
+ # A list of colocation hubs where network providers have equipment.
1086
+ # Most regions have multiple locations available.
1087
+ # @return [Array<Types::Location>]
1088
+ class Locations < Struct.new(
1089
+ :locations)
1090
+ include Aws::Structure
1091
+ end
1092
+
1093
+ # A structure containing information about a new private virtual
1094
+ # interface.
1095
+ # @note When making an API call, pass NewPrivateVirtualInterface
1096
+ # data as a hash:
1097
+ #
1098
+ # {
1099
+ # virtual_interface_name: "VirtualInterfaceName", # required
1100
+ # vlan: 1, # required
1101
+ # asn: 1, # required
1102
+ # auth_key: "BGPAuthKey",
1103
+ # amazon_address: "AmazonAddress",
1104
+ # customer_address: "CustomerAddress",
1105
+ # virtual_gateway_id: "VirtualGatewayId", # required
1106
+ # }
1107
+ # @!attribute [rw] virtual_interface_name
1108
+ # The name of the virtual interface assigned by the customer.
1109
+ #
1110
+ # Example: "My VPC"
1111
+ # @return [String]
1112
+ #
1113
+ # @!attribute [rw] vlan
1114
+ # The VLAN ID.
1115
+ #
1116
+ # Example: 101
1117
+ # @return [Integer]
1118
+ #
1119
+ # @!attribute [rw] asn
1120
+ # Autonomous system (AS) number for Border Gateway Protocol (BGP)
1121
+ # configuration.
1122
+ #
1123
+ # Example: 65000
1124
+ # @return [Integer]
1125
+ #
1126
+ # @!attribute [rw] auth_key
1127
+ # Authentication key for BGP configuration.
1128
+ #
1129
+ # Example: asdf34example
1130
+ # @return [String]
1131
+ #
1132
+ # @!attribute [rw] amazon_address
1133
+ # IP address assigned to the Amazon interface.
1134
+ #
1135
+ # Example: 192.168.1.1/30
1136
+ # @return [String]
1137
+ #
1138
+ # @!attribute [rw] customer_address
1139
+ # IP address assigned to the customer interface.
1140
+ #
1141
+ # Example: 192.168.1.2/30
1142
+ # @return [String]
1143
+ #
1144
+ # @!attribute [rw] virtual_gateway_id
1145
+ # The ID of the virtual private gateway to a VPC. This only applies to
1146
+ # private virtual interfaces.
1147
+ #
1148
+ # Example: vgw-123er56
1149
+ # @return [String]
1150
+ class NewPrivateVirtualInterface < Struct.new(
1151
+ :virtual_interface_name,
1152
+ :vlan,
1153
+ :asn,
1154
+ :auth_key,
1155
+ :amazon_address,
1156
+ :customer_address,
1157
+ :virtual_gateway_id)
1158
+ include Aws::Structure
1159
+ end
1160
+
1161
+ # A structure containing information about a private virtual interface
1162
+ # that will be provisioned on a connection.
1163
+ # @note When making an API call, pass NewPrivateVirtualInterfaceAllocation
1164
+ # data as a hash:
1165
+ #
1166
+ # {
1167
+ # virtual_interface_name: "VirtualInterfaceName", # required
1168
+ # vlan: 1, # required
1169
+ # asn: 1, # required
1170
+ # auth_key: "BGPAuthKey",
1171
+ # amazon_address: "AmazonAddress",
1172
+ # customer_address: "CustomerAddress",
1173
+ # }
1174
+ # @!attribute [rw] virtual_interface_name
1175
+ # The name of the virtual interface assigned by the customer.
1176
+ #
1177
+ # Example: "My VPC"
1178
+ # @return [String]
1179
+ #
1180
+ # @!attribute [rw] vlan
1181
+ # The VLAN ID.
1182
+ #
1183
+ # Example: 101
1184
+ # @return [Integer]
1185
+ #
1186
+ # @!attribute [rw] asn
1187
+ # Autonomous system (AS) number for Border Gateway Protocol (BGP)
1188
+ # configuration.
1189
+ #
1190
+ # Example: 65000
1191
+ # @return [Integer]
1192
+ #
1193
+ # @!attribute [rw] auth_key
1194
+ # Authentication key for BGP configuration.
1195
+ #
1196
+ # Example: asdf34example
1197
+ # @return [String]
1198
+ #
1199
+ # @!attribute [rw] amazon_address
1200
+ # IP address assigned to the Amazon interface.
1201
+ #
1202
+ # Example: 192.168.1.1/30
1203
+ # @return [String]
1204
+ #
1205
+ # @!attribute [rw] customer_address
1206
+ # IP address assigned to the customer interface.
1207
+ #
1208
+ # Example: 192.168.1.2/30
1209
+ # @return [String]
1210
+ class NewPrivateVirtualInterfaceAllocation < Struct.new(
1211
+ :virtual_interface_name,
1212
+ :vlan,
1213
+ :asn,
1214
+ :auth_key,
1215
+ :amazon_address,
1216
+ :customer_address)
1217
+ include Aws::Structure
1218
+ end
1219
+
1220
+ # A structure containing information about a new public virtual
1221
+ # interface.
1222
+ # @note When making an API call, pass NewPublicVirtualInterface
1223
+ # data as a hash:
1224
+ #
1225
+ # {
1226
+ # virtual_interface_name: "VirtualInterfaceName", # required
1227
+ # vlan: 1, # required
1228
+ # asn: 1, # required
1229
+ # auth_key: "BGPAuthKey",
1230
+ # amazon_address: "AmazonAddress", # required
1231
+ # customer_address: "CustomerAddress", # required
1232
+ # route_filter_prefixes: [ # required
1233
+ # {
1234
+ # cidr: "CIDR",
1235
+ # },
1236
+ # ],
1237
+ # }
1238
+ # @!attribute [rw] virtual_interface_name
1239
+ # The name of the virtual interface assigned by the customer.
1240
+ #
1241
+ # Example: "My VPC"
1242
+ # @return [String]
1243
+ #
1244
+ # @!attribute [rw] vlan
1245
+ # The VLAN ID.
1246
+ #
1247
+ # Example: 101
1248
+ # @return [Integer]
1249
+ #
1250
+ # @!attribute [rw] asn
1251
+ # Autonomous system (AS) number for Border Gateway Protocol (BGP)
1252
+ # configuration.
1253
+ #
1254
+ # Example: 65000
1255
+ # @return [Integer]
1256
+ #
1257
+ # @!attribute [rw] auth_key
1258
+ # Authentication key for BGP configuration.
1259
+ #
1260
+ # Example: asdf34example
1261
+ # @return [String]
1262
+ #
1263
+ # @!attribute [rw] amazon_address
1264
+ # IP address assigned to the Amazon interface.
1265
+ #
1266
+ # Example: 192.168.1.1/30
1267
+ # @return [String]
1268
+ #
1269
+ # @!attribute [rw] customer_address
1270
+ # IP address assigned to the customer interface.
1271
+ #
1272
+ # Example: 192.168.1.2/30
1273
+ # @return [String]
1274
+ #
1275
+ # @!attribute [rw] route_filter_prefixes
1276
+ # A list of routes to be advertised to the AWS network in this region
1277
+ # (public virtual interface).
1278
+ # @return [Array<Types::RouteFilterPrefix>]
1279
+ class NewPublicVirtualInterface < Struct.new(
1280
+ :virtual_interface_name,
1281
+ :vlan,
1282
+ :asn,
1283
+ :auth_key,
1284
+ :amazon_address,
1285
+ :customer_address,
1286
+ :route_filter_prefixes)
1287
+ include Aws::Structure
1288
+ end
1289
+
1290
+ # A structure containing information about a public virtual interface
1291
+ # that will be provisioned on a connection.
1292
+ # @note When making an API call, pass NewPublicVirtualInterfaceAllocation
1293
+ # data as a hash:
1294
+ #
1295
+ # {
1296
+ # virtual_interface_name: "VirtualInterfaceName", # required
1297
+ # vlan: 1, # required
1298
+ # asn: 1, # required
1299
+ # auth_key: "BGPAuthKey",
1300
+ # amazon_address: "AmazonAddress", # required
1301
+ # customer_address: "CustomerAddress", # required
1302
+ # route_filter_prefixes: [ # required
1303
+ # {
1304
+ # cidr: "CIDR",
1305
+ # },
1306
+ # ],
1307
+ # }
1308
+ # @!attribute [rw] virtual_interface_name
1309
+ # The name of the virtual interface assigned by the customer.
1310
+ #
1311
+ # Example: "My VPC"
1312
+ # @return [String]
1313
+ #
1314
+ # @!attribute [rw] vlan
1315
+ # The VLAN ID.
1316
+ #
1317
+ # Example: 101
1318
+ # @return [Integer]
1319
+ #
1320
+ # @!attribute [rw] asn
1321
+ # Autonomous system (AS) number for Border Gateway Protocol (BGP)
1322
+ # configuration.
1323
+ #
1324
+ # Example: 65000
1325
+ # @return [Integer]
1326
+ #
1327
+ # @!attribute [rw] auth_key
1328
+ # Authentication key for BGP configuration.
1329
+ #
1330
+ # Example: asdf34example
1331
+ # @return [String]
1332
+ #
1333
+ # @!attribute [rw] amazon_address
1334
+ # IP address assigned to the Amazon interface.
1335
+ #
1336
+ # Example: 192.168.1.1/30
1337
+ # @return [String]
1338
+ #
1339
+ # @!attribute [rw] customer_address
1340
+ # IP address assigned to the customer interface.
1341
+ #
1342
+ # Example: 192.168.1.2/30
1343
+ # @return [String]
1344
+ #
1345
+ # @!attribute [rw] route_filter_prefixes
1346
+ # A list of routes to be advertised to the AWS network in this region
1347
+ # (public virtual interface).
1348
+ # @return [Array<Types::RouteFilterPrefix>]
1349
+ class NewPublicVirtualInterfaceAllocation < Struct.new(
1350
+ :virtual_interface_name,
1351
+ :vlan,
1352
+ :asn,
1353
+ :auth_key,
1354
+ :amazon_address,
1355
+ :customer_address,
1356
+ :route_filter_prefixes)
1357
+ include Aws::Structure
1358
+ end
1359
+
1360
+ # The tags associated with a Direct Connect resource.
1361
+ # @!attribute [rw] resource_arn
1362
+ # The Amazon Resource Name (ARN) of the Direct Connect resource.
1363
+ # @return [String]
1364
+ #
1365
+ # @!attribute [rw] tags
1366
+ # The tags.
1367
+ # @return [Array<Types::Tag>]
1368
+ class ResourceTag < Struct.new(
1369
+ :resource_arn,
1370
+ :tags)
1371
+ include Aws::Structure
1372
+ end
1373
+
1374
+ # A route filter prefix that the customer can advertise through Border
1375
+ # Gateway Protocol (BGP) over a public virtual interface.
1376
+ # @note When making an API call, pass RouteFilterPrefix
1377
+ # data as a hash:
1378
+ #
1379
+ # {
1380
+ # cidr: "CIDR",
1381
+ # }
1382
+ # @!attribute [rw] cidr
1383
+ # CIDR notation for the advertised route. Multiple routes are
1384
+ # separated by commas.
1385
+ #
1386
+ # Example: 10.10.10.0/24,10.10.11.0/24
1387
+ # @return [String]
1388
+ class RouteFilterPrefix < Struct.new(
1389
+ :cidr)
1390
+ include Aws::Structure
1391
+ end
1392
+
1393
+ # Information about a tag.
1394
+ # @note When making an API call, pass Tag
1395
+ # data as a hash:
1396
+ #
1397
+ # {
1398
+ # key: "TagKey", # required
1399
+ # value: "TagValue",
1400
+ # }
1401
+ # @!attribute [rw] key
1402
+ # The key of the tag.
1403
+ # @return [String]
1404
+ #
1405
+ # @!attribute [rw] value
1406
+ # The value of the tag.
1407
+ # @return [String]
1408
+ class Tag < Struct.new(
1409
+ :key,
1410
+ :value)
1411
+ include Aws::Structure
1412
+ end
1413
+
1414
+ # Container for the parameters to the TagResource operation.
1415
+ # @note When making an API call, pass TagResourceRequest
1416
+ # data as a hash:
1417
+ #
1418
+ # {
1419
+ # resource_arn: "ResourceArn", # required
1420
+ # tags: [ # required
1421
+ # {
1422
+ # key: "TagKey", # required
1423
+ # value: "TagValue",
1424
+ # },
1425
+ # ],
1426
+ # }
1427
+ # @!attribute [rw] resource_arn
1428
+ # The Amazon Resource Name (ARN) of the Direct Connect resource.
1429
+ #
1430
+ # Example:
1431
+ # arn:aws:directconnect:us-east-1:123456789012:dxcon/dxcon-fg5678gh
1432
+ # @return [String]
1433
+ #
1434
+ # @!attribute [rw] tags
1435
+ # The list of tags to add.
1436
+ # @return [Array<Types::Tag>]
1437
+ class TagResourceRequest < Struct.new(
1438
+ :resource_arn,
1439
+ :tags)
1440
+ include Aws::Structure
1441
+ end
1442
+
1443
+ # The response received when TagResource is called.
1444
+ class TagResourceResponse < Aws::EmptyStructure; end
1445
+
1446
+ # Container for the parameters to the UntagResource operation.
1447
+ # @note When making an API call, pass UntagResourceRequest
1448
+ # data as a hash:
1449
+ #
1450
+ # {
1451
+ # resource_arn: "ResourceArn", # required
1452
+ # tag_keys: ["TagKey"], # required
1453
+ # }
1454
+ # @!attribute [rw] resource_arn
1455
+ # The Amazon Resource Name (ARN) of the Direct Connect resource.
1456
+ # @return [String]
1457
+ #
1458
+ # @!attribute [rw] tag_keys
1459
+ # The list of tag keys to remove.
1460
+ # @return [Array<String>]
1461
+ class UntagResourceRequest < Struct.new(
1462
+ :resource_arn,
1463
+ :tag_keys)
1464
+ include Aws::Structure
1465
+ end
1466
+
1467
+ # The response received when UntagResource is called.
1468
+ class UntagResourceResponse < Aws::EmptyStructure; end
1469
+
1470
+ # You can create one or more AWS Direct Connect private virtual
1471
+ # interfaces linking to your virtual private gateway.
1472
+ #
1473
+ # Virtual private gateways can be managed using the Amazon Virtual
1474
+ # Private Cloud (Amazon VPC) console or the [Amazon EC2 CreateVpnGateway
1475
+ # action][1].
1476
+ #
1477
+ #
1478
+ #
1479
+ # [1]: http://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-CreateVpnGateway.html
1480
+ # @!attribute [rw] virtual_gateway_id
1481
+ # The ID of the virtual private gateway to a VPC. This only applies to
1482
+ # private virtual interfaces.
1483
+ #
1484
+ # Example: vgw-123er56
1485
+ # @return [String]
1486
+ #
1487
+ # @!attribute [rw] virtual_gateway_state
1488
+ # State of the virtual private gateway.
1489
+ #
1490
+ # * **Pending**\: This is the initial state after calling
1491
+ # *CreateVpnGateway*.
1492
+ #
1493
+ # * **Available**\: Ready for use by a private virtual interface.
1494
+ #
1495
+ # * **Deleting**\: This is the initial state after calling
1496
+ # *DeleteVpnGateway*.
1497
+ #
1498
+ # * **Deleted**\: In this state, a private virtual interface is unable
1499
+ # to send traffic over this gateway.
1500
+ # @return [String]
1501
+ class VirtualGateway < Struct.new(
1502
+ :virtual_gateway_id,
1503
+ :virtual_gateway_state)
1504
+ include Aws::Structure
1505
+ end
1506
+
1507
+ # A structure containing a list of virtual private gateways.
1508
+ # @!attribute [rw] virtual_gateways
1509
+ # A list of virtual private gateways.
1510
+ # @return [Array<Types::VirtualGateway>]
1511
+ class VirtualGateways < Struct.new(
1512
+ :virtual_gateways)
1513
+ include Aws::Structure
1514
+ end
1515
+
1516
+ # A virtual interface (VLAN) transmits the traffic between the AWS
1517
+ # Direct Connect location and the customer.
1518
+ # @!attribute [rw] owner_account
1519
+ # The AWS account that will own the new virtual interface.
1520
+ # @return [String]
1521
+ #
1522
+ # @!attribute [rw] virtual_interface_id
1523
+ # ID of the virtual interface.
1524
+ #
1525
+ # Example: dxvif-123dfg56
1526
+ #
1527
+ # Default: None
1528
+ # @return [String]
1529
+ #
1530
+ # @!attribute [rw] location
1531
+ # Where the connection is located.
1532
+ #
1533
+ # Example: EqSV5
1534
+ #
1535
+ # Default: None
1536
+ # @return [String]
1537
+ #
1538
+ # @!attribute [rw] connection_id
1539
+ # ID of the connection.
1540
+ #
1541
+ # Example: dxcon-fg5678gh
1542
+ #
1543
+ # Default: None
1544
+ # @return [String]
1545
+ #
1546
+ # @!attribute [rw] virtual_interface_type
1547
+ # The type of virtual interface.
1548
+ #
1549
+ # Example: private (Amazon VPC) or public (Amazon S3, Amazon DynamoDB,
1550
+ # and so on.)
1551
+ # @return [String]
1552
+ #
1553
+ # @!attribute [rw] virtual_interface_name
1554
+ # The name of the virtual interface assigned by the customer.
1555
+ #
1556
+ # Example: "My VPC"
1557
+ # @return [String]
1558
+ #
1559
+ # @!attribute [rw] vlan
1560
+ # The VLAN ID.
1561
+ #
1562
+ # Example: 101
1563
+ # @return [Integer]
1564
+ #
1565
+ # @!attribute [rw] asn
1566
+ # Autonomous system (AS) number for Border Gateway Protocol (BGP)
1567
+ # configuration.
1568
+ #
1569
+ # Example: 65000
1570
+ # @return [Integer]
1571
+ #
1572
+ # @!attribute [rw] auth_key
1573
+ # Authentication key for BGP configuration.
1574
+ #
1575
+ # Example: asdf34example
1576
+ # @return [String]
1577
+ #
1578
+ # @!attribute [rw] amazon_address
1579
+ # IP address assigned to the Amazon interface.
1580
+ #
1581
+ # Example: 192.168.1.1/30
1582
+ # @return [String]
1583
+ #
1584
+ # @!attribute [rw] customer_address
1585
+ # IP address assigned to the customer interface.
1586
+ #
1587
+ # Example: 192.168.1.2/30
1588
+ # @return [String]
1589
+ #
1590
+ # @!attribute [rw] virtual_interface_state
1591
+ # State of the virtual interface.
1592
+ #
1593
+ # * **Confirming**\: The creation of the virtual interface is pending
1594
+ # confirmation from the virtual interface owner. If the owner of the
1595
+ # virtual interface is different from the owner of the connection on
1596
+ # which it is provisioned, then the virtual interface will remain in
1597
+ # this state until it is confirmed by the virtual interface owner.
1598
+ #
1599
+ # * **Verifying**\: This state only applies to public virtual
1600
+ # interfaces. Each public virtual interface needs validation before
1601
+ # the virtual interface can be created.
1602
+ #
1603
+ # * **Pending**\: A virtual interface is in this state from the time
1604
+ # that it is created until the virtual interface is ready to forward
1605
+ # traffic.
1606
+ #
1607
+ # * **Available**\: A virtual interface that is able to forward
1608
+ # traffic.
1609
+ #
1610
+ # * **Down**\: A virtual interface that is BGP down.
1611
+ #
1612
+ # * **Deleting**\: A virtual interface is in this state immediately
1613
+ # after calling *DeleteVirtualInterface* until it can no longer
1614
+ # forward traffic.
1615
+ #
1616
+ # * **Deleted**\: A virtual interface that cannot forward traffic.
1617
+ #
1618
+ # * **Rejected**\: The virtual interface owner has declined creation
1619
+ # of the virtual interface. If a virtual interface in the
1620
+ # 'Confirming' state is deleted by the virtual interface owner,
1621
+ # the virtual interface will enter the 'Rejected' state.
1622
+ # @return [String]
1623
+ #
1624
+ # @!attribute [rw] customer_router_config
1625
+ # Information for generating the customer router configuration.
1626
+ # @return [String]
1627
+ #
1628
+ # @!attribute [rw] virtual_gateway_id
1629
+ # The ID of the virtual private gateway to a VPC. This only applies to
1630
+ # private virtual interfaces.
1631
+ #
1632
+ # Example: vgw-123er56
1633
+ # @return [String]
1634
+ #
1635
+ # @!attribute [rw] route_filter_prefixes
1636
+ # A list of routes to be advertised to the AWS network in this region
1637
+ # (public virtual interface).
1638
+ # @return [Array<Types::RouteFilterPrefix>]
1639
+ class VirtualInterface < Struct.new(
1640
+ :owner_account,
1641
+ :virtual_interface_id,
1642
+ :location,
1643
+ :connection_id,
1644
+ :virtual_interface_type,
1645
+ :virtual_interface_name,
1646
+ :vlan,
1647
+ :asn,
1648
+ :auth_key,
1649
+ :amazon_address,
1650
+ :customer_address,
1651
+ :virtual_interface_state,
1652
+ :customer_router_config,
1653
+ :virtual_gateway_id,
1654
+ :route_filter_prefixes)
1655
+ include Aws::Structure
1656
+ end
1657
+
1658
+ # A structure containing a list of virtual interfaces.
1659
+ # @!attribute [rw] virtual_interfaces
1660
+ # A list of virtual interfaces.
1661
+ # @return [Array<Types::VirtualInterface>]
1662
+ class VirtualInterfaces < Struct.new(
1663
+ :virtual_interfaces)
1664
+ include Aws::Structure
1665
+ end
1666
+
1667
+ end
1668
+ end
1669
+ end