Skip to content

Commit d22f99d

Browse files
Enable MACSec support and features on Interconnects.
1 parent 9d892ee commit d22f99d

File tree

39 files changed

+723
-307
lines changed

39 files changed

+723
-307
lines changed

generator/ServiceModels/directconnect/directconnect-2012-10-25.api.json

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1199,7 +1199,8 @@
11991199
"macSecCapable":{"shape":"MacSecCapable"},
12001200
"portEncryptionStatus":{"shape":"PortEncryptionStatus"},
12011201
"encryptionMode":{"shape":"EncryptionMode"},
1202-
"macSecKeys":{"shape":"MacSecKeyList"}
1202+
"macSecKeys":{"shape":"MacSecKeyList"},
1203+
"partnerInterconnectMacSecCapable":{"shape":"PartnerInterconnectMacSecCapable"}
12031204
}
12041205
},
12051206
"ConnectionId":{"type":"string"},
@@ -1336,7 +1337,8 @@
13361337
"location":{"shape":"LocationCode"},
13371338
"lagId":{"shape":"LagId"},
13381339
"tags":{"shape":"TagList"},
1339-
"providerName":{"shape":"ProviderName"}
1340+
"providerName":{"shape":"ProviderName"},
1341+
"requestMACSec":{"shape":"RequestMACSec"}
13401342
}
13411343
},
13421344
"CreateLagRequest":{
@@ -1842,8 +1844,7 @@
18421844
},
18431845
"DuplicateTagKeysException":{
18441846
"type":"structure",
1845-
"members":{
1846-
},
1847+
"members":{},
18471848
"exception":true
18481849
},
18491850
"EnableSiteLink":{"type":"boolean"},
@@ -1885,7 +1886,11 @@
18851886
"awsLogicalDeviceId":{"shape":"AwsLogicalDeviceId"},
18861887
"hasLogicalRedundancy":{"shape":"HasLogicalRedundancy"},
18871888
"tags":{"shape":"TagList"},
1888-
"providerName":{"shape":"ProviderName"}
1889+
"providerName":{"shape":"ProviderName"},
1890+
"macSecCapable":{"shape":"MacSecCapable"},
1891+
"portEncryptionStatus":{"shape":"PortEncryptionStatus"},
1892+
"encryptionMode":{"shape":"EncryptionMode"},
1893+
"macSecKeys":{"shape":"MacSecKeyList"}
18891894
}
18901895
},
18911896
"InterconnectId":{"type":"string"},
@@ -2166,6 +2171,7 @@
21662171
},
21672172
"OwnerAccount":{"type":"string"},
21682173
"PaginationToken":{"type":"string"},
2174+
"PartnerInterconnectMacSecCapable":{"type":"boolean"},
21692175
"PartnerName":{"type":"string"},
21702176
"Platform":{"type":"string"},
21712177
"PortEncryptionStatus":{"type":"string"},
@@ -2291,8 +2297,7 @@
22912297
},
22922298
"TagResourceResponse":{
22932299
"type":"structure",
2294-
"members":{
2295-
}
2300+
"members":{}
22962301
},
22972302
"TagValue":{
22982303
"type":"string",
@@ -2307,8 +2312,7 @@
23072312
"TestId":{"type":"string"},
23082313
"TooManyTagsException":{
23092314
"type":"structure",
2310-
"members":{
2311-
},
2315+
"members":{},
23122316
"exception":true
23132317
},
23142318
"UntagResourceRequest":{
@@ -2324,8 +2328,7 @@
23242328
},
23252329
"UntagResourceResponse":{
23262330
"type":"structure",
2327-
"members":{
2328-
}
2331+
"members":{}
23292332
},
23302333
"UpdateConnectionRequest":{
23312334
"type":"structure",
@@ -2458,6 +2461,7 @@
24582461
"pending",
24592462
"available",
24602463
"down",
2464+
"testing",
24612465
"deleting",
24622466
"deleted",
24632467
"rejected",

generator/ServiceModels/directconnect/directconnect-2012-10-25.docs.json

Lines changed: 132 additions & 227 deletions
Large diffs are not rendered by default.
Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
{
22
"version": "1.0",
3-
"examples": {
4-
}
3+
"examples": {}
54
}

generator/ServiceModels/directconnect/directconnect-2012-10-25.normal.json

Lines changed: 44 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,7 @@
147147
{"shape":"DirectConnectServerException"},
148148
{"shape":"DirectConnectClientException"}
149149
],
150-
"documentation":"<p>Associates a MAC Security (MACsec) Connection Key Name (CKN)/ Connectivity Association Key (CAK) pair with an Direct Connect dedicated connection.</p> <p>You must supply either the <code>secretARN,</code> or the CKN/CAK (<code>ckn</code> and <code>cak</code>) pair in the request.</p> <p>For information about MAC Security (MACsec) key considerations, see <a href=\"https://docs.aws.amazon.com/directconnect/latest/UserGuide/direct-connect-mac-sec-getting-started.html#mac-sec-key-consideration\">MACsec pre-shared CKN/CAK key considerations </a> in the <i>Direct Connect User Guide</i>.</p>"
150+
"documentation":"<p>Associates a MAC Security (MACsec) Connection Key Name (CKN)/ Connectivity Association Key (CAK) pair with a Direct Connect connection.</p> <p>You must supply either the <code>secretARN,</code> or the CKN/CAK (<code>ckn</code> and <code>cak</code>) pair in the request.</p> <p>For information about MAC Security (MACsec) key considerations, see <a href=\"https://docs.aws.amazon.com/directconnect/latest/UserGuide/direct-connect-mac-sec-getting-started.html#mac-sec-key-consideration\">MACsec pre-shared CKN/CAK key considerations </a> in the <i>Direct Connect User Guide</i>.</p>"
151151
},
152152
"AssociateVirtualInterface":{
153153
"name":"AssociateVirtualInterface",
@@ -775,7 +775,7 @@
775775
{"shape":"DirectConnectServerException"},
776776
{"shape":"DirectConnectClientException"}
777777
],
778-
"documentation":"<p>Removes the association between a MAC Security (MACsec) security key and an Direct Connect dedicated connection.</p>"
778+
"documentation":"<p>Removes the association between a MAC Security (MACsec) security key and a Direct Connect connection.</p>"
779779
},
780780
"ListVirtualInterfaceTestHistory":{
781781
"name":"ListVirtualInterfaceTestHistory",
@@ -861,7 +861,7 @@
861861
{"shape":"DirectConnectServerException"},
862862
{"shape":"DirectConnectClientException"}
863863
],
864-
"documentation":"<p>Updates the Direct Connect dedicated connection configuration.</p> <p>You can update the following parameters for a connection:</p> <ul> <li> <p>The connection name</p> </li> <li> <p>The connection's MAC Security (MACsec) encryption mode.</p> </li> </ul>"
864+
"documentation":"<p>Updates the Direct Connect connection configuration.</p> <p>You can update the following parameters for a connection:</p> <ul> <li> <p>The connection name</p> </li> <li> <p>The connection's MAC Security (MACsec) encryption mode.</p> </li> </ul>"
865865
},
866866
"UpdateDirectConnectGateway":{
867867
"name":"UpdateDirectConnectGateway",
@@ -1156,19 +1156,19 @@
11561156
"members":{
11571157
"connectionId":{
11581158
"shape":"ConnectionId",
1159-
"documentation":"<p>The ID of the dedicated connection (dxcon-xxxx), or the ID of the LAG (dxlag-xxxx).</p> <p>You can use <a>DescribeConnections</a> or <a>DescribeLags</a> to retrieve connection ID.</p>"
1159+
"documentation":"<p>The ID of the dedicated connection (dxcon-xxxx), interconnect (dxcon-xxxx), or LAG (dxlag-xxxx).</p> <p>You can use <a>DescribeConnections</a>, <a>DescribeInterconnects</a>, or <a>DescribeLags</a> to retrieve connection ID.</p>"
11601160
},
11611161
"secretARN":{
11621162
"shape":"SecretARN",
1163-
"documentation":"<p>The Amazon Resource Name (ARN) of the MAC Security (MACsec) secret key to associate with the dedicated connection.</p> <p>You can use <a>DescribeConnections</a> or <a>DescribeLags</a> to retrieve the MAC Security (MACsec) secret key.</p> <p>If you use this request parameter, you do not use the <code>ckn</code> and <code>cak</code> request parameters.</p>"
1163+
"documentation":"<p>The Amazon Resource Name (ARN) of the MAC Security (MACsec) secret key to associate with the connection.</p> <p>You can use <a>DescribeConnections</a> or <a>DescribeLags</a> to retrieve the MAC Security (MACsec) secret key.</p> <p>If you use this request parameter, you do not use the <code>ckn</code> and <code>cak</code> request parameters.</p>"
11641164
},
11651165
"ckn":{
11661166
"shape":"Ckn",
1167-
"documentation":"<p>The MAC Security (MACsec) CKN to associate with the dedicated connection.</p> <p>You can create the CKN/CAK pair using an industry standard tool.</p> <p> The valid values are 64 hexadecimal characters (0-9, A-E).</p> <p>If you use this request parameter, you must use the <code>cak</code> request parameter and not use the <code>secretARN</code> request parameter.</p>"
1167+
"documentation":"<p>The MAC Security (MACsec) CKN to associate with the connection.</p> <p>You can create the CKN/CAK pair using an industry standard tool.</p> <p> The valid values are 64 hexadecimal characters (0-9, A-E).</p> <p>If you use this request parameter, you must use the <code>cak</code> request parameter and not use the <code>secretARN</code> request parameter.</p>"
11681168
},
11691169
"cak":{
11701170
"shape":"Cak",
1171-
"documentation":"<p>The MAC Security (MACsec) CAK to associate with the dedicated connection.</p> <p>You can create the CKN/CAK pair using an industry standard tool.</p> <p> The valid values are 64 hexadecimal characters (0-9, A-E).</p> <p>If you use this request parameter, you must use the <code>ckn</code> request parameter and not use the <code>secretARN</code> request parameter.</p>"
1171+
"documentation":"<p>The MAC Security (MACsec) CAK to associate with the connection.</p> <p>You can create the CKN/CAK pair using an industry standard tool.</p> <p> The valid values are 64 hexadecimal characters (0-9, A-E).</p> <p>If you use this request parameter, you must use the <code>ckn</code> request parameter and not use the <code>secretARN</code> request parameter.</p>"
11721172
}
11731173
}
11741174
},
@@ -1177,11 +1177,11 @@
11771177
"members":{
11781178
"connectionId":{
11791179
"shape":"ConnectionId",
1180-
"documentation":"<p>The ID of the dedicated connection (dxcon-xxxx), or the ID of the LAG (dxlag-xxxx).</p>"
1180+
"documentation":"<p>The ID of the dedicated connection (dxcon-xxxx), interconnect (dxcon-xxxx), or LAG (dxlag-xxxx).</p>"
11811181
},
11821182
"macSecKeys":{
11831183
"shape":"MacSecKeyList",
1184-
"documentation":"<p>The MAC Security (MACsec) security keys associated with the dedicated connection.</p>"
1184+
"documentation":"<p>The MAC Security (MACsec) security keys associated with the connection.</p>"
11851185
}
11861186
}
11871187
},
@@ -1535,6 +1535,10 @@
15351535
"macSecKeys":{
15361536
"shape":"MacSecKeyList",
15371537
"documentation":"<p>The MAC Security (MACsec) security keys associated with the connection.</p>"
1538+
},
1539+
"partnerInterconnectMacSecCapable":{
1540+
"shape":"PartnerInterconnectMacSecCapable",
1541+
"documentation":"<p>Indicates whether the interconnect hosting this connection supports MAC Security (MACsec).</p>"
15381542
}
15391543
},
15401544
"documentation":"<p>Information about an Direct Connect connection.</p>"
@@ -1637,7 +1641,7 @@
16371641
},
16381642
"requestMACSec":{
16391643
"shape":"RequestMACSec",
1640-
"documentation":"<p>Indicates whether you want the connection to support MAC Security (MACsec).</p> <p>MAC Security (MACsec) is only available on dedicated connections. For information about MAC Security (MACsec) prerequisties, see <a href=\"https://docs.aws.amazon.com/directconnect/latest/UserGuide/direct-connect-mac-sec-getting-started.html#mac-sec-prerequisites\">MACsec prerequisties</a> in the <i>Direct Connect User Guide</i>.</p>"
1644+
"documentation":"<p>Indicates whether you want the connection to support MAC Security (MACsec).</p> <p>MAC Security (MACsec) is unavailable on hosted connections. For information about MAC Security (MACsec) prerequisites, see <a href=\"https://docs.aws.amazon.com/directconnect/latest/UserGuide/MACSec.html\">MAC Security in Direct Connect</a> in the <i>Direct Connect User Guide</i>.</p>"
16411645
}
16421646
}
16431647
},
@@ -1769,6 +1773,10 @@
17691773
"providerName":{
17701774
"shape":"ProviderName",
17711775
"documentation":"<p>The name of the service provider associated with the interconnect.</p>"
1776+
},
1777+
"requestMACSec":{
1778+
"shape":"RequestMACSec",
1779+
"documentation":"<p>Indicates whether you want the interconnect to support MAC Security (MACsec).</p>"
17721780
}
17731781
}
17741782
},
@@ -2647,7 +2655,7 @@
26472655
"members":{
26482656
"connectionId":{
26492657
"shape":"ConnectionId",
2650-
"documentation":"<p>The ID of the dedicated connection (dxcon-xxxx), or the ID of the LAG (dxlag-xxxx).</p> <p>You can use <a>DescribeConnections</a> or <a>DescribeLags</a> to retrieve connection ID.</p>"
2658+
"documentation":"<p>The ID of the dedicated connection (dxcon-xxxx), interconnect (dxcon-xxxx), or LAG (dxlag-xxxx).</p> <p>You can use <a>DescribeConnections</a>, <a>DescribeInterconnects</a>, or <a>DescribeLags</a> to retrieve connection ID.</p>"
26512659
},
26522660
"secretARN":{
26532661
"shape":"SecretARN",
@@ -2660,18 +2668,17 @@
26602668
"members":{
26612669
"connectionId":{
26622670
"shape":"ConnectionId",
2663-
"documentation":"<p>The ID of the dedicated connection (dxcon-xxxx), or the ID of the LAG (dxlag-xxxx).</p>"
2671+
"documentation":"<p>The ID of the dedicated connection (dxcon-xxxx), interconnect (dxcon-xxxx), or LAG (dxlag-xxxx).</p>"
26642672
},
26652673
"macSecKeys":{
26662674
"shape":"MacSecKeyList",
2667-
"documentation":"<p>The MAC Security (MACsec) security keys no longer associated with the dedicated connection.</p>"
2675+
"documentation":"<p>The MAC Security (MACsec) security keys no longer associated with the connection.</p>"
26682676
}
26692677
}
26702678
},
26712679
"DuplicateTagKeysException":{
26722680
"type":"structure",
2673-
"members":{
2674-
},
2681+
"members":{},
26752682
"documentation":"<p>A tag key was specified more than once.</p>",
26762683
"exception":true
26772684
},
@@ -2759,6 +2766,22 @@
27592766
"providerName":{
27602767
"shape":"ProviderName",
27612768
"documentation":"<p>The name of the service provider associated with the interconnect.</p>"
2769+
},
2770+
"macSecCapable":{
2771+
"shape":"MacSecCapable",
2772+
"documentation":"<p>Indicates whether the interconnect supports MAC Security (MACsec).</p>"
2773+
},
2774+
"portEncryptionStatus":{
2775+
"shape":"PortEncryptionStatus",
2776+
"documentation":"<p>The MAC Security (MACsec) port link status.</p> <p>The valid values are <code>Encryption Up</code>, which means that there is an active Connection Key Name, or <code>Encryption Down</code>.</p>"
2777+
},
2778+
"encryptionMode":{
2779+
"shape":"EncryptionMode",
2780+
"documentation":"<p>The MAC Security (MACsec) encryption mode.</p> <p>The valid values are <code>no_encrypt</code>, <code>should_encrypt</code>, and <code>must_encrypt</code>.</p>"
2781+
},
2782+
"macSecKeys":{
2783+
"shape":"MacSecKeyList",
2784+
"documentation":"<p>The MAC Security (MACsec) security keys.</p>"
27622785
}
27632786
},
27642787
"documentation":"<p>Information about an interconnect.</p>"
@@ -3376,6 +3399,7 @@
33763399
},
33773400
"OwnerAccount":{"type":"string"},
33783401
"PaginationToken":{"type":"string"},
3402+
"PartnerInterconnectMacSecCapable":{"type":"boolean"},
33793403
"PartnerName":{"type":"string"},
33803404
"Platform":{"type":"string"},
33813405
"PortEncryptionStatus":{"type":"string"},
@@ -3562,8 +3586,7 @@
35623586
},
35633587
"TagResourceResponse":{
35643588
"type":"structure",
3565-
"members":{
3566-
}
3589+
"members":{}
35673590
},
35683591
"TagValue":{
35693592
"type":"string",
@@ -3578,8 +3601,7 @@
35783601
"TestId":{"type":"string"},
35793602
"TooManyTagsException":{
35803603
"type":"structure",
3581-
"members":{
3582-
},
3604+
"members":{},
35833605
"documentation":"<p>You have reached the limit on the number of tags that can be assigned.</p>",
35843606
"exception":true
35853607
},
@@ -3602,16 +3624,15 @@
36023624
},
36033625
"UntagResourceResponse":{
36043626
"type":"structure",
3605-
"members":{
3606-
}
3627+
"members":{}
36073628
},
36083629
"UpdateConnectionRequest":{
36093630
"type":"structure",
36103631
"required":["connectionId"],
36113632
"members":{
36123633
"connectionId":{
36133634
"shape":"ConnectionId",
3614-
"documentation":"<p>The ID of the dedicated connection.</p> <p>You can use <a>DescribeConnections</a> to retrieve the connection ID.</p>"
3635+
"documentation":"<p>The ID of the connection.</p> <p>You can use <a>DescribeConnections</a> to retrieve the connection ID.</p>"
36153636
},
36163637
"connectionName":{
36173638
"shape":"ConnectionName",
@@ -3879,6 +3900,7 @@
38793900
"pending",
38803901
"available",
38813902
"down",
3903+
"testing",
38823904
"deleting",
38833905
"deleted",
38843906
"rejected",

sdk/src/Services/DirectConnect/Generated/Model/AllocateConnectionOnInterconnectResponse.cs

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ public partial class AllocateConnectionOnInterconnectResponse : AmazonWebService
5050
private bool? _macSecCapable;
5151
private List<MacSecKey> _macSecKeys = AWSConfigs.InitializeCollections ? new List<MacSecKey>() : null;
5252
private string _ownerAccount;
53+
private bool? _partnerInterconnectMacSecCapable;
5354
private string _partnerName;
5455
private string _portEncryptionStatus;
5556
private string _providerName;
@@ -397,6 +398,24 @@ internal bool IsSetOwnerAccount()
397398
return this._ownerAccount != null;
398399
}
399400

401+
/// <summary>
402+
/// Gets and sets the property PartnerInterconnectMacSecCapable.
403+
/// <para>
404+
/// Indicates whether the interconnect hosting this connection supports MAC Security (MACsec).
405+
/// </para>
406+
/// </summary>
407+
public bool? PartnerInterconnectMacSecCapable
408+
{
409+
get { return this._partnerInterconnectMacSecCapable; }
410+
set { this._partnerInterconnectMacSecCapable = value; }
411+
}
412+
413+
// Check to see if PartnerInterconnectMacSecCapable property is set
414+
internal bool IsSetPartnerInterconnectMacSecCapable()
415+
{
416+
return this._partnerInterconnectMacSecCapable.HasValue;
417+
}
418+
400419
/// <summary>
401420
/// Gets and sets the property PartnerName.
402421
/// <para>

sdk/src/Services/DirectConnect/Generated/Model/AllocateHostedConnectionResponse.cs

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ public partial class AllocateHostedConnectionResponse : AmazonWebServiceResponse
5050
private bool? _macSecCapable;
5151
private List<MacSecKey> _macSecKeys = AWSConfigs.InitializeCollections ? new List<MacSecKey>() : null;
5252
private string _ownerAccount;
53+
private bool? _partnerInterconnectMacSecCapable;
5354
private string _partnerName;
5455
private string _portEncryptionStatus;
5556
private string _providerName;
@@ -397,6 +398,24 @@ internal bool IsSetOwnerAccount()
397398
return this._ownerAccount != null;
398399
}
399400

401+
/// <summary>
402+
/// Gets and sets the property PartnerInterconnectMacSecCapable.
403+
/// <para>
404+
/// Indicates whether the interconnect hosting this connection supports MAC Security (MACsec).
405+
/// </para>
406+
/// </summary>
407+
public bool? PartnerInterconnectMacSecCapable
408+
{
409+
get { return this._partnerInterconnectMacSecCapable; }
410+
set { this._partnerInterconnectMacSecCapable = value; }
411+
}
412+
413+
// Check to see if PartnerInterconnectMacSecCapable property is set
414+
internal bool IsSetPartnerInterconnectMacSecCapable()
415+
{
416+
return this._partnerInterconnectMacSecCapable.HasValue;
417+
}
418+
400419
/// <summary>
401420
/// Gets and sets the property PartnerName.
402421
/// <para>

sdk/src/Services/DirectConnect/Generated/Model/AssociateConnectionWithLagResponse.cs

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ public partial class AssociateConnectionWithLagResponse : AmazonWebServiceRespon
5050
private bool? _macSecCapable;
5151
private List<MacSecKey> _macSecKeys = AWSConfigs.InitializeCollections ? new List<MacSecKey>() : null;
5252
private string _ownerAccount;
53+
private bool? _partnerInterconnectMacSecCapable;
5354
private string _partnerName;
5455
private string _portEncryptionStatus;
5556
private string _providerName;
@@ -397,6 +398,24 @@ internal bool IsSetOwnerAccount()
397398
return this._ownerAccount != null;
398399
}
399400

401+
/// <summary>
402+
/// Gets and sets the property PartnerInterconnectMacSecCapable.
403+
/// <para>
404+
/// Indicates whether the interconnect hosting this connection supports MAC Security (MACsec).
405+
/// </para>
406+
/// </summary>
407+
public bool? PartnerInterconnectMacSecCapable
408+
{
409+
get { return this._partnerInterconnectMacSecCapable; }
410+
set { this._partnerInterconnectMacSecCapable = value; }
411+
}
412+
413+
// Check to see if PartnerInterconnectMacSecCapable property is set
414+
internal bool IsSetPartnerInterconnectMacSecCapable()
415+
{
416+
return this._partnerInterconnectMacSecCapable.HasValue;
417+
}
418+
400419
/// <summary>
401420
/// Gets and sets the property PartnerName.
402421
/// <para>

0 commit comments

Comments
 (0)