aws-sdk-directconnect 1.0.0.rc1

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