1// Code generated by smithy-go-codegen DO NOT EDIT.
2
3package types
4
5import (
6	"time"
7)
8
9// Information about the associated gateway.
10type AssociatedGateway struct {
11
12	// The ID of the associated gateway.
13	Id *string
14
15	// The ID of the AWS account that owns the associated virtual private gateway or
16	// transit gateway.
17	OwnerAccount *string
18
19	// The Region where the associated gateway is located.
20	Region *string
21
22	// The type of associated gateway.
23	Type GatewayType
24}
25
26// Information about a BGP peer.
27type BGPPeer struct {
28
29	// The address family for the BGP peer.
30	AddressFamily AddressFamily
31
32	// The IP address assigned to the Amazon interface.
33	AmazonAddress *string
34
35	// The autonomous system (AS) number for Border Gateway Protocol (BGP)
36	// configuration.
37	Asn int32
38
39	// The authentication key for BGP configuration. This string has a minimum length
40	// of 6 characters and and a maximun lenth of 80 characters.
41	AuthKey *string
42
43	// The Direct Connect endpoint on which the BGP peer terminates.
44	AwsDeviceV2 *string
45
46	// The ID of the BGP peer.
47	BgpPeerId *string
48
49	// The state of the BGP peer. The following are the possible values:
50	//
51	// * verifying:
52	// The BGP peering addresses or ASN require validation before the BGP peer can be
53	// created. This state applies only to public virtual interfaces.
54	//
55	// * pending: The
56	// BGP peer is created, and remains in this state until it is ready to be
57	// established.
58	//
59	// * available: The BGP peer is ready to be established.
60	//
61	// * deleting:
62	// The BGP peer is being deleted.
63	//
64	// * deleted: The BGP peer is deleted and cannot be
65	// established.
66	BgpPeerState BGPPeerState
67
68	// The status of the BGP peer. The following are the possible values:
69	//
70	// * up: The
71	// BGP peer is established. This state does not indicate the state of the routing
72	// function. Ensure that you are receiving routes over the BGP session.
73	//
74	// * down:
75	// The BGP peer is down.
76	//
77	// * unknown: The BGP peer status is not available.
78	BgpStatus BGPStatus
79
80	// The IP address assigned to the customer interface.
81	CustomerAddress *string
82}
83
84// Information about an AWS Direct Connect connection.
85type Connection struct {
86
87	// The Direct Connect endpoint on which the physical connection terminates.
88	//
89	// Deprecated: This member has been deprecated.
90	AwsDevice *string
91
92	// The Direct Connect endpoint on which the physical connection terminates.
93	AwsDeviceV2 *string
94
95	// The bandwidth of the connection.
96	Bandwidth *string
97
98	// The ID of the connection.
99	ConnectionId *string
100
101	// The name of the connection.
102	ConnectionName *string
103
104	// The state of the connection. The following are the possible values:
105	//
106	// * ordering:
107	// The initial state of a hosted connection provisioned on an interconnect. The
108	// connection stays in the ordering state until the owner of the hosted connection
109	// confirms or declines the connection order.
110	//
111	// * requested: The initial state of a
112	// standard connection. The connection stays in the requested state until the
113	// Letter of Authorization (LOA) is sent to the customer.
114	//
115	// * pending: The
116	// connection has been approved and is being initialized.
117	//
118	// * available: The network
119	// link is up and the connection is ready for use.
120	//
121	// * down: The network link is
122	// down.
123	//
124	// * deleting: The connection is being deleted.
125	//
126	// * deleted: The connection
127	// has been deleted.
128	//
129	// * rejected: A hosted connection in the ordering state enters
130	// the rejected state if it is deleted by the customer.
131	//
132	// * unknown: The state of
133	// the connection is not available.
134	ConnectionState ConnectionState
135
136	// The MAC Security (MACsec) connection encryption mode. The valid values are
137	// no_encrypt, should_encrypt, and must_encrypt.
138	EncryptionMode *string
139
140	// Indicates whether the connection supports a secondary BGP peer in the same
141	// address family (IPv4/IPv6).
142	HasLogicalRedundancy HasLogicalRedundancy
143
144	// Indicates whether jumbo frames (9001 MTU) are supported.
145	JumboFrameCapable *bool
146
147	// The ID of the LAG.
148	LagId *string
149
150	// The time of the most recent call to DescribeLoa for this connection.
151	LoaIssueTime *time.Time
152
153	// The location of the connection.
154	Location *string
155
156	// Indicates whether the connection supports MAC Security (MACsec).
157	MacSecCapable *bool
158
159	// The MAC Security (MACsec) security keys associated with the connection.
160	MacSecKeys []MacSecKey
161
162	// The ID of the AWS account that owns the connection.
163	OwnerAccount *string
164
165	// The name of the AWS Direct Connect service provider associated with the
166	// connection.
167	PartnerName *string
168
169	// The MAC Security (MACsec) port link status of the connection. The valid values
170	// are Encryption Up, which means that there is an active Connection Key Name, or
171	// Encryption Down.
172	PortEncryptionStatus *string
173
174	// The name of the service provider associated with the connection.
175	ProviderName *string
176
177	// The AWS Region where the connection is located.
178	Region *string
179
180	// The tags associated with the connection.
181	Tags []Tag
182
183	// The ID of the VLAN.
184	Vlan int32
185}
186
187// Information about a Direct Connect gateway, which enables you to connect virtual
188// interfaces and virtual private gateway or transit gateways.
189type DirectConnectGateway struct {
190
191	// The autonomous system number (ASN) for the Amazon side of the connection.
192	AmazonSideAsn *int64
193
194	// The ID of the Direct Connect gateway.
195	DirectConnectGatewayId *string
196
197	// The name of the Direct Connect gateway.
198	DirectConnectGatewayName *string
199
200	// The state of the Direct Connect gateway. The following are the possible
201	// values:
202	//
203	// * pending: The initial state after calling
204	// CreateDirectConnectGateway.
205	//
206	// * available: The Direct Connect gateway is ready
207	// for use.
208	//
209	// * deleting: The initial state after calling
210	// DeleteDirectConnectGateway.
211	//
212	// * deleted: The Direct Connect gateway is deleted
213	// and cannot pass traffic.
214	DirectConnectGatewayState DirectConnectGatewayState
215
216	// The ID of the AWS account that owns the Direct Connect gateway.
217	OwnerAccount *string
218
219	// The error message if the state of an object failed to advance.
220	StateChangeError *string
221}
222
223// Information about an association between a Direct Connect gateway and a virtual
224// private gateway or transit gateway.
225type DirectConnectGatewayAssociation struct {
226
227	// The Amazon VPC prefixes to advertise to the Direct Connect gateway.
228	AllowedPrefixesToDirectConnectGateway []RouteFilterPrefix
229
230	// Information about the associated gateway.
231	AssociatedGateway *AssociatedGateway
232
233	// The ID of the Direct Connect gateway association.
234	AssociationId *string
235
236	// The state of the association. The following are the possible values:
237	//
238	// *
239	// associating: The initial state after calling
240	// CreateDirectConnectGatewayAssociation.
241	//
242	// * associated: The Direct Connect gateway
243	// and virtual private gateway or transit gateway are successfully associated and
244	// ready to pass traffic.
245	//
246	// * disassociating: The initial state after calling
247	// DeleteDirectConnectGatewayAssociation.
248	//
249	// * disassociated: The virtual private
250	// gateway or transit gateway is disassociated from the Direct Connect gateway.
251	// Traffic flow between the Direct Connect gateway and virtual private gateway or
252	// transit gateway is stopped.
253	AssociationState DirectConnectGatewayAssociationState
254
255	// The ID of the Direct Connect gateway.
256	DirectConnectGatewayId *string
257
258	// The ID of the AWS account that owns the associated gateway.
259	DirectConnectGatewayOwnerAccount *string
260
261	// The error message if the state of an object failed to advance.
262	StateChangeError *string
263
264	// The ID of the virtual private gateway. Applies only to private virtual
265	// interfaces.
266	VirtualGatewayId *string
267
268	// The ID of the AWS account that owns the virtual private gateway.
269	VirtualGatewayOwnerAccount *string
270
271	// The AWS Region where the virtual private gateway is located.
272	//
273	// Deprecated: This member has been deprecated.
274	VirtualGatewayRegion *string
275}
276
277// Information about the proposal request to attach a virtual private gateway to a
278// Direct Connect gateway.
279type DirectConnectGatewayAssociationProposal struct {
280
281	// Information about the associated gateway.
282	AssociatedGateway *AssociatedGateway
283
284	// The ID of the Direct Connect gateway.
285	DirectConnectGatewayId *string
286
287	// The ID of the AWS account that owns the Direct Connect gateway.
288	DirectConnectGatewayOwnerAccount *string
289
290	// The existing Amazon VPC prefixes advertised to the Direct Connect gateway.
291	ExistingAllowedPrefixesToDirectConnectGateway []RouteFilterPrefix
292
293	// The ID of the association proposal.
294	ProposalId *string
295
296	// The state of the proposal. The following are possible values:
297	//
298	// * accepted: The
299	// proposal has been accepted. The Direct Connect gateway association is available
300	// to use in this state.
301	//
302	// * deleted: The proposal has been deleted by the owner
303	// that made the proposal. The Direct Connect gateway association cannot be used in
304	// this state.
305	//
306	// * requested: The proposal has been requested. The Direct Connect
307	// gateway association cannot be used in this state.
308	ProposalState DirectConnectGatewayAssociationProposalState
309
310	// The Amazon VPC prefixes to advertise to the Direct Connect gateway.
311	RequestedAllowedPrefixesToDirectConnectGateway []RouteFilterPrefix
312}
313
314// Information about an attachment between a Direct Connect gateway and a virtual
315// interface.
316type DirectConnectGatewayAttachment struct {
317
318	// The state of the attachment. The following are the possible values:
319	//
320	// *
321	// attaching: The initial state after a virtual interface is created using the
322	// Direct Connect gateway.
323	//
324	// * attached: The Direct Connect gateway and virtual
325	// interface are attached and ready to pass traffic.
326	//
327	// * detaching: The initial
328	// state after calling DeleteVirtualInterface.
329	//
330	// * detached: The virtual interface
331	// is detached from the Direct Connect gateway. Traffic flow between the Direct
332	// Connect gateway and virtual interface is stopped.
333	AttachmentState DirectConnectGatewayAttachmentState
334
335	// The type of attachment.
336	AttachmentType DirectConnectGatewayAttachmentType
337
338	// The ID of the Direct Connect gateway.
339	DirectConnectGatewayId *string
340
341	// The error message if the state of an object failed to advance.
342	StateChangeError *string
343
344	// The ID of the virtual interface.
345	VirtualInterfaceId *string
346
347	// The ID of the AWS account that owns the virtual interface.
348	VirtualInterfaceOwnerAccount *string
349
350	// The AWS Region where the virtual interface is located.
351	VirtualInterfaceRegion *string
352}
353
354// Information about an interconnect.
355type Interconnect struct {
356
357	// The Direct Connect endpoint on which the physical connection terminates.
358	//
359	// Deprecated: This member has been deprecated.
360	AwsDevice *string
361
362	// The Direct Connect endpoint on which the physical connection terminates.
363	AwsDeviceV2 *string
364
365	// The bandwidth of the connection.
366	Bandwidth *string
367
368	// Indicates whether the interconnect supports a secondary BGP in the same address
369	// family (IPv4/IPv6).
370	HasLogicalRedundancy HasLogicalRedundancy
371
372	// The ID of the interconnect.
373	InterconnectId *string
374
375	// The name of the interconnect.
376	InterconnectName *string
377
378	// The state of the interconnect. The following are the possible values:
379	//
380	// *
381	// requested: The initial state of an interconnect. The interconnect stays in the
382	// requested state until the Letter of Authorization (LOA) is sent to the
383	// customer.
384	//
385	// * pending: The interconnect is approved, and is being initialized.
386	//
387	// *
388	// available: The network link is up, and the interconnect is ready for use.
389	//
390	// *
391	// down: The network link is down.
392	//
393	// * deleting: The interconnect is being
394	// deleted.
395	//
396	// * deleted: The interconnect is deleted.
397	//
398	// * unknown: The state of the
399	// interconnect is not available.
400	InterconnectState InterconnectState
401
402	// Indicates whether jumbo frames (9001 MTU) are supported.
403	JumboFrameCapable *bool
404
405	// The ID of the LAG.
406	LagId *string
407
408	// The time of the most recent call to DescribeLoa for this connection.
409	LoaIssueTime *time.Time
410
411	// The location of the connection.
412	Location *string
413
414	// The name of the service provider associated with the interconnect.
415	ProviderName *string
416
417	// The AWS Region where the connection is located.
418	Region *string
419
420	// The tags associated with the interconnect.
421	Tags []Tag
422}
423
424// Information about a link aggregation group (LAG).
425type Lag struct {
426
427	// Indicates whether the LAG can host other connections.
428	AllowsHostedConnections bool
429
430	// The AWS Direct Connect endpoint that hosts the LAG.
431	//
432	// Deprecated: This member has been deprecated.
433	AwsDevice *string
434
435	// The AWS Direct Connect endpoint that hosts the LAG.
436	AwsDeviceV2 *string
437
438	// The connections bundled by the LAG.
439	Connections []Connection
440
441	// The individual bandwidth of the physical connections bundled by the LAG. The
442	// possible values are 1Gbps and 10Gbps.
443	ConnectionsBandwidth *string
444
445	// The LAG MAC Security (MACsec) encryption mode. The valid values are no_encrypt,
446	// should_encrypt, and must_encrypt.
447	EncryptionMode *string
448
449	// Indicates whether the LAG supports a secondary BGP peer in the same address
450	// family (IPv4/IPv6).
451	HasLogicalRedundancy HasLogicalRedundancy
452
453	// Indicates whether jumbo frames (9001 MTU) are supported.
454	JumboFrameCapable *bool
455
456	// The ID of the LAG.
457	LagId *string
458
459	// The name of the LAG.
460	LagName *string
461
462	// The state of the LAG. The following are the possible values:
463	//
464	// * requested: The
465	// initial state of a LAG. The LAG stays in the requested state until the Letter of
466	// Authorization (LOA) is available.
467	//
468	// * pending: The LAG has been approved and is
469	// being initialized.
470	//
471	// * available: The network link is established and the LAG is
472	// ready for use.
473	//
474	// * down: The network link is down.
475	//
476	// * deleting: The LAG is being
477	// deleted.
478	//
479	// * deleted: The LAG is deleted.
480	//
481	// * unknown: The state of the LAG is not
482	// available.
483	LagState LagState
484
485	// The location of the LAG.
486	Location *string
487
488	// Indicates whether the LAG supports MAC Security (MACsec).
489	MacSecCapable *bool
490
491	// The MAC Security (MACsec) security keys associated with the LAG.
492	MacSecKeys []MacSecKey
493
494	// The minimum number of physical dedicated connections that must be operational
495	// for the LAG itself to be operational.
496	MinimumLinks int32
497
498	// The number of physical dedicated connections bundled by the LAG, up to a maximum
499	// of 10.
500	NumberOfConnections int32
501
502	// The ID of the AWS account that owns the LAG.
503	OwnerAccount *string
504
505	// The name of the service provider associated with the LAG.
506	ProviderName *string
507
508	// The AWS Region where the connection is located.
509	Region *string
510
511	// The tags associated with the LAG.
512	Tags []Tag
513}
514
515// Information about a Letter of Authorization - Connecting Facility Assignment
516// (LOA-CFA) for a connection.
517type Loa struct {
518
519	// The binary contents of the LOA-CFA document.
520	LoaContent []byte
521
522	// The standard media type for the LOA-CFA document. The only supported value is
523	// application/pdf.
524	LoaContentType LoaContentType
525}
526
527// Information about an AWS Direct Connect location.
528type Location struct {
529
530	// The available MAC Security (MACsec) port speeds for the location.
531	AvailableMacSecPortSpeeds []string
532
533	// The available port speeds for the location.
534	AvailablePortSpeeds []string
535
536	// The name of the service provider for the location.
537	AvailableProviders []string
538
539	// The code for the location.
540	LocationCode *string
541
542	// The name of the location. This includes the name of the colocation partner and
543	// the physical site of the building.
544	LocationName *string
545
546	// The AWS Region for the location.
547	Region *string
548}
549
550// Information about the MAC Security (MACsec) secret key.
551type MacSecKey struct {
552
553	// The Connection Key Name (CKN) for the MAC Security secret key.
554	Ckn *string
555
556	// The Amazon Resource Name (ARN) of the MAC Security (MACsec) secret key.
557	SecretARN *string
558
559	// The date that the MAC Security (MACsec) secret key takes effect. The value is
560	// displayed in UTC format.
561	StartOn *string
562
563	// The state of the MAC Security (MACsec) secret key. The possible values are:
564	//
565	// *
566	// associating: The MAC Security (MACsec) secret key is being validated and not yet
567	// associated with the connection or LAG.
568	//
569	// * associated: The MAC Security (MACsec)
570	// secret key is validated and associated with the connection or LAG.
571	//
572	// *
573	// disassociating: The MAC Security (MACsec) secret key is being disassociated from
574	// the connection or LAG
575	//
576	// * disassociated: The MAC Security (MACsec) secret key is
577	// no longer associated with the connection or LAG.
578	State *string
579}
580
581// Information about a new BGP peer.
582type NewBGPPeer struct {
583
584	// The address family for the BGP peer.
585	AddressFamily AddressFamily
586
587	// The IP address assigned to the Amazon interface.
588	AmazonAddress *string
589
590	// The autonomous system (AS) number for Border Gateway Protocol (BGP)
591	// configuration.
592	Asn int32
593
594	// The authentication key for BGP configuration. This string has a minimum length
595	// of 6 characters and and a maximun lenth of 80 characters.
596	AuthKey *string
597
598	// The IP address assigned to the customer interface.
599	CustomerAddress *string
600}
601
602// Information about a private virtual interface.
603type NewPrivateVirtualInterface struct {
604
605	// The autonomous system (AS) number for Border Gateway Protocol (BGP)
606	// configuration. The valid values are 1-2147483647.
607	//
608	// This member is required.
609	Asn int32
610
611	// The name of the virtual interface assigned by the customer network. The name has
612	// a maximum of 100 characters. The following are valid characters: a-z, 0-9 and a
613	// hyphen (-).
614	//
615	// This member is required.
616	VirtualInterfaceName *string
617
618	// The ID of the VLAN.
619	//
620	// This member is required.
621	Vlan int32
622
623	// The address family for the BGP peer.
624	AddressFamily AddressFamily
625
626	// The IP address assigned to the Amazon interface.
627	AmazonAddress *string
628
629	// The authentication key for BGP configuration. This string has a minimum length
630	// of 6 characters and and a maximun lenth of 80 characters.
631	AuthKey *string
632
633	// The IP address assigned to the customer interface.
634	CustomerAddress *string
635
636	// The ID of the Direct Connect gateway.
637	DirectConnectGatewayId *string
638
639	// The maximum transmission unit (MTU), in bytes. The supported values are 1500 and
640	// 9001. The default value is 1500.
641	Mtu *int32
642
643	// The tags associated with the private virtual interface.
644	Tags []Tag
645
646	// The ID of the virtual private gateway.
647	VirtualGatewayId *string
648}
649
650// Information about a private virtual interface to be provisioned on a connection.
651type NewPrivateVirtualInterfaceAllocation struct {
652
653	// The autonomous system (AS) number for Border Gateway Protocol (BGP)
654	// configuration. The valid values are 1-2147483647.
655	//
656	// This member is required.
657	Asn int32
658
659	// The name of the virtual interface assigned by the customer network. The name has
660	// a maximum of 100 characters. The following are valid characters: a-z, 0-9 and a
661	// hyphen (-).
662	//
663	// This member is required.
664	VirtualInterfaceName *string
665
666	// The ID of the VLAN.
667	//
668	// This member is required.
669	Vlan int32
670
671	// The address family for the BGP peer.
672	AddressFamily AddressFamily
673
674	// The IP address assigned to the Amazon interface.
675	AmazonAddress *string
676
677	// The authentication key for BGP configuration. This string has a minimum length
678	// of 6 characters and and a maximun lenth of 80 characters.
679	AuthKey *string
680
681	// The IP address assigned to the customer interface.
682	CustomerAddress *string
683
684	// The maximum transmission unit (MTU), in bytes. The supported values are 1500 and
685	// 9001. The default value is 1500.
686	Mtu *int32
687
688	// The tags associated with the private virtual interface.
689	Tags []Tag
690}
691
692// Information about a public virtual interface.
693type NewPublicVirtualInterface struct {
694
695	// The autonomous system (AS) number for Border Gateway Protocol (BGP)
696	// configuration. The valid values are 1-2147483647.
697	//
698	// This member is required.
699	Asn int32
700
701	// The name of the virtual interface assigned by the customer network. The name has
702	// a maximum of 100 characters. The following are valid characters: a-z, 0-9 and a
703	// hyphen (-).
704	//
705	// This member is required.
706	VirtualInterfaceName *string
707
708	// The ID of the VLAN.
709	//
710	// This member is required.
711	Vlan int32
712
713	// The address family for the BGP peer.
714	AddressFamily AddressFamily
715
716	// The IP address assigned to the Amazon interface.
717	AmazonAddress *string
718
719	// The authentication key for BGP configuration. This string has a minimum length
720	// of 6 characters and and a maximun lenth of 80 characters.
721	AuthKey *string
722
723	// The IP address assigned to the customer interface.
724	CustomerAddress *string
725
726	// The routes to be advertised to the AWS network in this Region. Applies to public
727	// virtual interfaces.
728	RouteFilterPrefixes []RouteFilterPrefix
729
730	// The tags associated with the public virtual interface.
731	Tags []Tag
732}
733
734// Information about a public virtual interface to be provisioned on a connection.
735type NewPublicVirtualInterfaceAllocation struct {
736
737	// The autonomous system (AS) number for Border Gateway Protocol (BGP)
738	// configuration. The valid values are 1-2147483647.
739	//
740	// This member is required.
741	Asn int32
742
743	// The name of the virtual interface assigned by the customer network. The name has
744	// a maximum of 100 characters. The following are valid characters: a-z, 0-9 and a
745	// hyphen (-).
746	//
747	// This member is required.
748	VirtualInterfaceName *string
749
750	// The ID of the VLAN.
751	//
752	// This member is required.
753	Vlan int32
754
755	// The address family for the BGP peer.
756	AddressFamily AddressFamily
757
758	// The IP address assigned to the Amazon interface.
759	AmazonAddress *string
760
761	// The authentication key for BGP configuration. This string has a minimum length
762	// of 6 characters and and a maximun lenth of 80 characters.
763	AuthKey *string
764
765	// The IP address assigned to the customer interface.
766	CustomerAddress *string
767
768	// The routes to be advertised to the AWS network in this Region. Applies to public
769	// virtual interfaces.
770	RouteFilterPrefixes []RouteFilterPrefix
771
772	// The tags associated with the public virtual interface.
773	Tags []Tag
774}
775
776// Information about a transit virtual interface.
777type NewTransitVirtualInterface struct {
778
779	// The address family for the BGP peer.
780	AddressFamily AddressFamily
781
782	// The IP address assigned to the Amazon interface.
783	AmazonAddress *string
784
785	// The autonomous system (AS) number for Border Gateway Protocol (BGP)
786	// configuration. The valid values are 1-2147483647.
787	Asn int32
788
789	// The authentication key for BGP configuration. This string has a minimum length
790	// of 6 characters and and a maximun lenth of 80 characters.
791	AuthKey *string
792
793	// The IP address assigned to the customer interface.
794	CustomerAddress *string
795
796	// The ID of the Direct Connect gateway.
797	DirectConnectGatewayId *string
798
799	// The maximum transmission unit (MTU), in bytes. The supported values are 1500 and
800	// 9001. The default value is 1500.
801	Mtu *int32
802
803	// The tags associated with the transitive virtual interface.
804	Tags []Tag
805
806	// The name of the virtual interface assigned by the customer network. The name has
807	// a maximum of 100 characters. The following are valid characters: a-z, 0-9 and a
808	// hyphen (-).
809	VirtualInterfaceName *string
810
811	// The ID of the VLAN.
812	Vlan int32
813}
814
815// Information about a transit virtual interface to be provisioned on a connection.
816type NewTransitVirtualInterfaceAllocation struct {
817
818	// The address family for the BGP peer.
819	AddressFamily AddressFamily
820
821	// The IP address assigned to the Amazon interface.
822	AmazonAddress *string
823
824	// The autonomous system (AS) number for Border Gateway Protocol (BGP)
825	// configuration. The valid values are 1-2147483647.
826	Asn int32
827
828	// The authentication key for BGP configuration. This string has a minimum length
829	// of 6 characters and and a maximun lenth of 80 characters.
830	AuthKey *string
831
832	// The IP address assigned to the customer interface.
833	CustomerAddress *string
834
835	// The maximum transmission unit (MTU), in bytes. The supported values are 1500 and
836	// 9001. The default value is 1500.
837	Mtu *int32
838
839	// The tags associated with the transitive virtual interface.
840	Tags []Tag
841
842	// The name of the virtual interface assigned by the customer network. The name has
843	// a maximum of 100 characters. The following are valid characters: a-z, 0-9 and a
844	// hyphen (-).
845	VirtualInterfaceName *string
846
847	// The ID of the VLAN.
848	Vlan int32
849}
850
851// Information about a tag associated with an AWS Direct Connect resource.
852type ResourceTag struct {
853
854	// The Amazon Resource Name (ARN) of the resource.
855	ResourceArn *string
856
857	// The tags.
858	Tags []Tag
859}
860
861// Information about a route filter prefix that a customer can advertise through
862// Border Gateway Protocol (BGP) over a public virtual interface.
863type RouteFilterPrefix struct {
864
865	// The CIDR block for the advertised route. Separate multiple routes using commas.
866	// An IPv6 CIDR must use /64 or shorter.
867	Cidr *string
868}
869
870// Information about a tag.
871type Tag struct {
872
873	// The key.
874	//
875	// This member is required.
876	Key *string
877
878	// The value.
879	Value *string
880}
881
882// Information about a virtual private gateway for a private virtual interface.
883type VirtualGateway struct {
884
885	// The ID of the virtual private gateway.
886	VirtualGatewayId *string
887
888	// The state of the virtual private gateway. The following are the possible
889	// values:
890	//
891	// * pending: Initial state after creating the virtual private gateway.
892	//
893	// *
894	// available: Ready for use by a private virtual interface.
895	//
896	// * deleting: Initial
897	// state after deleting the virtual private gateway.
898	//
899	// * deleted: The virtual
900	// private gateway is deleted. The private virtual interface is unable to send
901	// traffic over this gateway.
902	VirtualGatewayState *string
903}
904
905// Information about a virtual interface.
906type VirtualInterface struct {
907
908	// The address family for the BGP peer.
909	AddressFamily AddressFamily
910
911	// The IP address assigned to the Amazon interface.
912	AmazonAddress *string
913
914	// The autonomous system number (ASN) for the Amazon side of the connection.
915	AmazonSideAsn *int64
916
917	// The autonomous system (AS) number for Border Gateway Protocol (BGP)
918	// configuration. The valid values are 1-2147483647.
919	Asn int32
920
921	// The authentication key for BGP configuration. This string has a minimum length
922	// of 6 characters and and a maximun lenth of 80 characters.
923	AuthKey *string
924
925	// The Direct Connect endpoint on which the virtual interface terminates.
926	AwsDeviceV2 *string
927
928	// The BGP peers configured on this virtual interface.
929	BgpPeers []BGPPeer
930
931	// The ID of the connection.
932	ConnectionId *string
933
934	// The IP address assigned to the customer interface.
935	CustomerAddress *string
936
937	// The customer router configuration.
938	CustomerRouterConfig *string
939
940	// The ID of the Direct Connect gateway.
941	DirectConnectGatewayId *string
942
943	// Indicates whether jumbo frames (9001 MTU) are supported.
944	JumboFrameCapable *bool
945
946	// The location of the connection.
947	Location *string
948
949	// The maximum transmission unit (MTU), in bytes. The supported values are 1500 and
950	// 9001. The default value is 1500.
951	Mtu *int32
952
953	// The ID of the AWS account that owns the virtual interface.
954	OwnerAccount *string
955
956	// The AWS Region where the virtual interface is located.
957	Region *string
958
959	// The routes to be advertised to the AWS network in this Region. Applies to public
960	// virtual interfaces.
961	RouteFilterPrefixes []RouteFilterPrefix
962
963	// The tags associated with the virtual interface.
964	Tags []Tag
965
966	// The ID of the virtual private gateway. Applies only to private virtual
967	// interfaces.
968	VirtualGatewayId *string
969
970	// The ID of the virtual interface.
971	VirtualInterfaceId *string
972
973	// The name of the virtual interface assigned by the customer network. The name has
974	// a maximum of 100 characters. The following are valid characters: a-z, 0-9 and a
975	// hyphen (-).
976	VirtualInterfaceName *string
977
978	// The state of the virtual interface. The following are the possible values:
979	//
980	// *
981	// confirming: The creation of the virtual interface is pending confirmation from
982	// the virtual interface owner. If the owner of the virtual interface is different
983	// from the owner of the connection on which it is provisioned, then the virtual
984	// interface will remain in this state until it is confirmed by the virtual
985	// interface owner.
986	//
987	// * verifying: This state only applies to public virtual
988	// interfaces. Each public virtual interface needs validation before the virtual
989	// interface can be created.
990	//
991	// * pending: A virtual interface is in this state from
992	// the time that it is created until the virtual interface is ready to forward
993	// traffic.
994	//
995	// * available: A virtual interface that is able to forward traffic.
996	//
997	// *
998	// down: A virtual interface that is BGP down.
999	//
1000	// * deleting: A virtual interface is
1001	// in this state immediately after calling DeleteVirtualInterface until it can no
1002	// longer forward traffic.
1003	//
1004	// * deleted: A virtual interface that cannot forward
1005	// traffic.
1006	//
1007	// * rejected: The virtual interface owner has declined creation of the
1008	// virtual interface. If a virtual interface in the Confirming state is deleted by
1009	// the virtual interface owner, the virtual interface enters the Rejected state.
1010	//
1011	// *
1012	// unknown: The state of the virtual interface is not available.
1013	VirtualInterfaceState VirtualInterfaceState
1014
1015	// The type of virtual interface. The possible values are private and public.
1016	VirtualInterfaceType *string
1017
1018	// The ID of the VLAN.
1019	Vlan int32
1020}
1021
1022// Information about the virtual interface failover test.
1023type VirtualInterfaceTestHistory struct {
1024
1025	// The BGP peers that were put in the DOWN state as part of the virtual interface
1026	// failover test.
1027	BgpPeers []string
1028
1029	// The time that the virtual interface moves out of the DOWN state.
1030	EndTime *time.Time
1031
1032	// The owner ID of the tested virtual interface.
1033	OwnerAccount *string
1034
1035	// The time that the virtual interface moves to the DOWN state.
1036	StartTime *time.Time
1037
1038	// The status of the virtual interface failover test.
1039	Status *string
1040
1041	// The time that the virtual interface failover test ran in minutes.
1042	TestDurationInMinutes *int32
1043
1044	// The ID of the virtual interface failover test.
1045	TestId *string
1046
1047	// The ID of the tested virtual interface.
1048	VirtualInterfaceId *string
1049}
1050