aws-sdk-directconnect 1.40.0 → 1.41.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -26,9 +26,12 @@ module Aws::DirectConnect
26
26
  AmazonAddress = Shapes::StringShape.new(name: 'AmazonAddress')
27
27
  AssociateConnectionWithLagRequest = Shapes::StructureShape.new(name: 'AssociateConnectionWithLagRequest')
28
28
  AssociateHostedConnectionRequest = Shapes::StructureShape.new(name: 'AssociateHostedConnectionRequest')
29
+ AssociateMacSecKeyRequest = Shapes::StructureShape.new(name: 'AssociateMacSecKeyRequest')
30
+ AssociateMacSecKeyResponse = Shapes::StructureShape.new(name: 'AssociateMacSecKeyResponse')
29
31
  AssociateVirtualInterfaceRequest = Shapes::StructureShape.new(name: 'AssociateVirtualInterfaceRequest')
30
32
  AssociatedGateway = Shapes::StructureShape.new(name: 'AssociatedGateway')
31
33
  AssociatedGatewayId = Shapes::StringShape.new(name: 'AssociatedGatewayId')
34
+ AvailableMacSecPortSpeeds = Shapes::ListShape.new(name: 'AvailableMacSecPortSpeeds')
32
35
  AvailablePortSpeeds = Shapes::ListShape.new(name: 'AvailablePortSpeeds')
33
36
  AwsDevice = Shapes::StringShape.new(name: 'AwsDevice')
34
37
  AwsDeviceV2 = Shapes::StringShape.new(name: 'AwsDeviceV2')
@@ -42,6 +45,8 @@ module Aws::DirectConnect
42
45
  Bandwidth = Shapes::StringShape.new(name: 'Bandwidth')
43
46
  BooleanFlag = Shapes::BooleanShape.new(name: 'BooleanFlag')
44
47
  CIDR = Shapes::StringShape.new(name: 'CIDR')
48
+ Cak = Shapes::StringShape.new(name: 'Cak')
49
+ Ckn = Shapes::StringShape.new(name: 'Ckn')
45
50
  ConfirmConnectionRequest = Shapes::StructureShape.new(name: 'ConfirmConnectionRequest')
46
51
  ConfirmConnectionResponse = Shapes::StructureShape.new(name: 'ConfirmConnectionResponse')
47
52
  ConfirmPrivateVirtualInterfaceRequest = Shapes::StructureShape.new(name: 'ConfirmPrivateVirtualInterfaceRequest')
@@ -128,7 +133,10 @@ module Aws::DirectConnect
128
133
  DirectConnectGatewayState = Shapes::StringShape.new(name: 'DirectConnectGatewayState')
129
134
  DirectConnectServerException = Shapes::StructureShape.new(name: 'DirectConnectServerException')
130
135
  DisassociateConnectionFromLagRequest = Shapes::StructureShape.new(name: 'DisassociateConnectionFromLagRequest')
136
+ DisassociateMacSecKeyRequest = Shapes::StructureShape.new(name: 'DisassociateMacSecKeyRequest')
137
+ DisassociateMacSecKeyResponse = Shapes::StructureShape.new(name: 'DisassociateMacSecKeyResponse')
131
138
  DuplicateTagKeysException = Shapes::StructureShape.new(name: 'DuplicateTagKeysException')
139
+ EncryptionMode = Shapes::StringShape.new(name: 'EncryptionMode')
132
140
  EndTime = Shapes::TimestampShape.new(name: 'EndTime')
133
141
  ErrorMessage = Shapes::StringShape.new(name: 'ErrorMessage')
134
142
  FailureTestHistoryStatus = Shapes::StringShape.new(name: 'FailureTestHistoryStatus')
@@ -162,6 +170,9 @@ module Aws::DirectConnect
162
170
  Locations = Shapes::StructureShape.new(name: 'Locations')
163
171
  LongAsn = Shapes::IntegerShape.new(name: 'LongAsn')
164
172
  MTU = Shapes::IntegerShape.new(name: 'MTU')
173
+ MacSecCapable = Shapes::BooleanShape.new(name: 'MacSecCapable')
174
+ MacSecKey = Shapes::StructureShape.new(name: 'MacSecKey')
175
+ MacSecKeyList = Shapes::ListShape.new(name: 'MacSecKeyList')
165
176
  MaxResultSetSize = Shapes::IntegerShape.new(name: 'MaxResultSetSize')
166
177
  NewBGPPeer = Shapes::StructureShape.new(name: 'NewBGPPeer')
167
178
  NewPrivateVirtualInterface = Shapes::StructureShape.new(name: 'NewPrivateVirtualInterface')
@@ -173,10 +184,12 @@ module Aws::DirectConnect
173
184
  OwnerAccount = Shapes::StringShape.new(name: 'OwnerAccount')
174
185
  PaginationToken = Shapes::StringShape.new(name: 'PaginationToken')
175
186
  PartnerName = Shapes::StringShape.new(name: 'PartnerName')
187
+ PortEncryptionStatus = Shapes::StringShape.new(name: 'PortEncryptionStatus')
176
188
  PortSpeed = Shapes::StringShape.new(name: 'PortSpeed')
177
189
  ProviderList = Shapes::ListShape.new(name: 'ProviderList')
178
190
  ProviderName = Shapes::StringShape.new(name: 'ProviderName')
179
191
  Region = Shapes::StringShape.new(name: 'Region')
192
+ RequestMACSec = Shapes::BooleanShape.new(name: 'RequestMACSec')
180
193
  ResourceArn = Shapes::StringShape.new(name: 'ResourceArn')
181
194
  ResourceArnList = Shapes::ListShape.new(name: 'ResourceArnList')
182
195
  ResourceTag = Shapes::StructureShape.new(name: 'ResourceTag')
@@ -184,9 +197,12 @@ module Aws::DirectConnect
184
197
  RouteFilterPrefix = Shapes::StructureShape.new(name: 'RouteFilterPrefix')
185
198
  RouteFilterPrefixList = Shapes::ListShape.new(name: 'RouteFilterPrefixList')
186
199
  RouterConfig = Shapes::StringShape.new(name: 'RouterConfig')
200
+ SecretARN = Shapes::StringShape.new(name: 'SecretARN')
187
201
  StartBgpFailoverTestRequest = Shapes::StructureShape.new(name: 'StartBgpFailoverTestRequest')
188
202
  StartBgpFailoverTestResponse = Shapes::StructureShape.new(name: 'StartBgpFailoverTestResponse')
203
+ StartOnDate = Shapes::StringShape.new(name: 'StartOnDate')
189
204
  StartTime = Shapes::TimestampShape.new(name: 'StartTime')
205
+ State = Shapes::StringShape.new(name: 'State')
190
206
  StateChangeError = Shapes::StringShape.new(name: 'StateChangeError')
191
207
  StopBgpFailoverTestRequest = Shapes::StructureShape.new(name: 'StopBgpFailoverTestRequest')
192
208
  StopBgpFailoverTestResponse = Shapes::StructureShape.new(name: 'StopBgpFailoverTestResponse')
@@ -202,6 +218,7 @@ module Aws::DirectConnect
202
218
  TooManyTagsException = Shapes::StructureShape.new(name: 'TooManyTagsException')
203
219
  UntagResourceRequest = Shapes::StructureShape.new(name: 'UntagResourceRequest')
204
220
  UntagResourceResponse = Shapes::StructureShape.new(name: 'UntagResourceResponse')
221
+ UpdateConnectionRequest = Shapes::StructureShape.new(name: 'UpdateConnectionRequest')
205
222
  UpdateDirectConnectGatewayAssociationRequest = Shapes::StructureShape.new(name: 'UpdateDirectConnectGatewayAssociationRequest')
206
223
  UpdateDirectConnectGatewayAssociationResult = Shapes::StructureShape.new(name: 'UpdateDirectConnectGatewayAssociationResult')
207
224
  UpdateLagRequest = Shapes::StructureShape.new(name: 'UpdateLagRequest')
@@ -274,6 +291,16 @@ module Aws::DirectConnect
274
291
  AssociateHostedConnectionRequest.add_member(:parent_connection_id, Shapes::ShapeRef.new(shape: ConnectionId, required: true, location_name: "parentConnectionId"))
275
292
  AssociateHostedConnectionRequest.struct_class = Types::AssociateHostedConnectionRequest
276
293
 
294
+ AssociateMacSecKeyRequest.add_member(:connection_id, Shapes::ShapeRef.new(shape: ConnectionId, required: true, location_name: "connectionId"))
295
+ AssociateMacSecKeyRequest.add_member(:secret_arn, Shapes::ShapeRef.new(shape: SecretARN, location_name: "secretARN"))
296
+ AssociateMacSecKeyRequest.add_member(:ckn, Shapes::ShapeRef.new(shape: Ckn, location_name: "ckn"))
297
+ AssociateMacSecKeyRequest.add_member(:cak, Shapes::ShapeRef.new(shape: Cak, location_name: "cak"))
298
+ AssociateMacSecKeyRequest.struct_class = Types::AssociateMacSecKeyRequest
299
+
300
+ AssociateMacSecKeyResponse.add_member(:connection_id, Shapes::ShapeRef.new(shape: ConnectionId, location_name: "connectionId"))
301
+ AssociateMacSecKeyResponse.add_member(:mac_sec_keys, Shapes::ShapeRef.new(shape: MacSecKeyList, location_name: "macSecKeys"))
302
+ AssociateMacSecKeyResponse.struct_class = Types::AssociateMacSecKeyResponse
303
+
277
304
  AssociateVirtualInterfaceRequest.add_member(:virtual_interface_id, Shapes::ShapeRef.new(shape: VirtualInterfaceId, required: true, location_name: "virtualInterfaceId"))
278
305
  AssociateVirtualInterfaceRequest.add_member(:connection_id, Shapes::ShapeRef.new(shape: ConnectionId, required: true, location_name: "connectionId"))
279
306
  AssociateVirtualInterfaceRequest.struct_class = Types::AssociateVirtualInterfaceRequest
@@ -284,6 +311,8 @@ module Aws::DirectConnect
284
311
  AssociatedGateway.add_member(:region, Shapes::ShapeRef.new(shape: Region, location_name: "region"))
285
312
  AssociatedGateway.struct_class = Types::AssociatedGateway
286
313
 
314
+ AvailableMacSecPortSpeeds.member = Shapes::ShapeRef.new(shape: PortSpeed)
315
+
287
316
  AvailablePortSpeeds.member = Shapes::ShapeRef.new(shape: PortSpeed)
288
317
 
289
318
  BGPPeer.add_member(:bgp_peer_id, Shapes::ShapeRef.new(shape: BGPPeerId, location_name: "bgpPeerId"))
@@ -345,6 +374,10 @@ module Aws::DirectConnect
345
374
  Connection.add_member(:has_logical_redundancy, Shapes::ShapeRef.new(shape: HasLogicalRedundancy, location_name: "hasLogicalRedundancy"))
346
375
  Connection.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "tags"))
347
376
  Connection.add_member(:provider_name, Shapes::ShapeRef.new(shape: ProviderName, location_name: "providerName"))
377
+ Connection.add_member(:mac_sec_capable, Shapes::ShapeRef.new(shape: MacSecCapable, location_name: "macSecCapable"))
378
+ Connection.add_member(:port_encryption_status, Shapes::ShapeRef.new(shape: PortEncryptionStatus, location_name: "portEncryptionStatus"))
379
+ Connection.add_member(:encryption_mode, Shapes::ShapeRef.new(shape: EncryptionMode, location_name: "encryptionMode"))
380
+ Connection.add_member(:mac_sec_keys, Shapes::ShapeRef.new(shape: MacSecKeyList, location_name: "macSecKeys"))
348
381
  Connection.struct_class = Types::Connection
349
382
 
350
383
  ConnectionList.member = Shapes::ShapeRef.new(shape: Connection)
@@ -365,6 +398,7 @@ module Aws::DirectConnect
365
398
  CreateConnectionRequest.add_member(:lag_id, Shapes::ShapeRef.new(shape: LagId, location_name: "lagId"))
366
399
  CreateConnectionRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "tags"))
367
400
  CreateConnectionRequest.add_member(:provider_name, Shapes::ShapeRef.new(shape: ProviderName, location_name: "providerName"))
401
+ CreateConnectionRequest.add_member(:request_mac_sec, Shapes::ShapeRef.new(shape: RequestMACSec, location_name: "requestMACSec"))
368
402
  CreateConnectionRequest.struct_class = Types::CreateConnectionRequest
369
403
 
370
404
  CreateDirectConnectGatewayAssociationProposalRequest.add_member(:direct_connect_gateway_id, Shapes::ShapeRef.new(shape: DirectConnectGatewayId, required: true, location_name: "directConnectGatewayId"))
@@ -409,6 +443,7 @@ module Aws::DirectConnect
409
443
  CreateLagRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "tags"))
410
444
  CreateLagRequest.add_member(:child_connection_tags, Shapes::ShapeRef.new(shape: TagList, location_name: "childConnectionTags"))
411
445
  CreateLagRequest.add_member(:provider_name, Shapes::ShapeRef.new(shape: ProviderName, location_name: "providerName"))
446
+ CreateLagRequest.add_member(:request_mac_sec, Shapes::ShapeRef.new(shape: RequestMACSec, location_name: "requestMACSec"))
412
447
  CreateLagRequest.struct_class = Types::CreateLagRequest
413
448
 
414
449
  CreatePrivateVirtualInterfaceRequest.add_member(:connection_id, Shapes::ShapeRef.new(shape: ConnectionId, required: true, location_name: "connectionId"))
@@ -617,6 +652,14 @@ module Aws::DirectConnect
617
652
  DisassociateConnectionFromLagRequest.add_member(:lag_id, Shapes::ShapeRef.new(shape: LagId, required: true, location_name: "lagId"))
618
653
  DisassociateConnectionFromLagRequest.struct_class = Types::DisassociateConnectionFromLagRequest
619
654
 
655
+ DisassociateMacSecKeyRequest.add_member(:connection_id, Shapes::ShapeRef.new(shape: ConnectionId, required: true, location_name: "connectionId"))
656
+ DisassociateMacSecKeyRequest.add_member(:secret_arn, Shapes::ShapeRef.new(shape: SecretARN, required: true, location_name: "secretARN"))
657
+ DisassociateMacSecKeyRequest.struct_class = Types::DisassociateMacSecKeyRequest
658
+
659
+ DisassociateMacSecKeyResponse.add_member(:connection_id, Shapes::ShapeRef.new(shape: ConnectionId, location_name: "connectionId"))
660
+ DisassociateMacSecKeyResponse.add_member(:mac_sec_keys, Shapes::ShapeRef.new(shape: MacSecKeyList, location_name: "macSecKeys"))
661
+ DisassociateMacSecKeyResponse.struct_class = Types::DisassociateMacSecKeyResponse
662
+
620
663
  DuplicateTagKeysException.struct_class = Types::DuplicateTagKeysException
621
664
 
622
665
  Interconnect.add_member(:interconnect_id, Shapes::ShapeRef.new(shape: InterconnectId, location_name: "interconnectId"))
@@ -657,6 +700,9 @@ module Aws::DirectConnect
657
700
  Lag.add_member(:has_logical_redundancy, Shapes::ShapeRef.new(shape: HasLogicalRedundancy, location_name: "hasLogicalRedundancy"))
658
701
  Lag.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "tags"))
659
702
  Lag.add_member(:provider_name, Shapes::ShapeRef.new(shape: ProviderName, location_name: "providerName"))
703
+ Lag.add_member(:mac_sec_capable, Shapes::ShapeRef.new(shape: MacSecCapable, location_name: "macSecCapable"))
704
+ Lag.add_member(:encryption_mode, Shapes::ShapeRef.new(shape: EncryptionMode, location_name: "encryptionMode"))
705
+ Lag.add_member(:mac_sec_keys, Shapes::ShapeRef.new(shape: MacSecKeyList, location_name: "macSecKeys"))
660
706
  Lag.struct_class = Types::Lag
661
707
 
662
708
  LagList.member = Shapes::ShapeRef.new(shape: Lag)
@@ -685,6 +731,7 @@ module Aws::DirectConnect
685
731
  Location.add_member(:region, Shapes::ShapeRef.new(shape: Region, location_name: "region"))
686
732
  Location.add_member(:available_port_speeds, Shapes::ShapeRef.new(shape: AvailablePortSpeeds, location_name: "availablePortSpeeds"))
687
733
  Location.add_member(:available_providers, Shapes::ShapeRef.new(shape: ProviderList, location_name: "availableProviders"))
734
+ Location.add_member(:available_mac_sec_port_speeds, Shapes::ShapeRef.new(shape: AvailableMacSecPortSpeeds, location_name: "availableMacSecPortSpeeds"))
688
735
  Location.struct_class = Types::Location
689
736
 
690
737
  LocationList.member = Shapes::ShapeRef.new(shape: Location)
@@ -692,6 +739,14 @@ module Aws::DirectConnect
692
739
  Locations.add_member(:locations, Shapes::ShapeRef.new(shape: LocationList, location_name: "locations"))
693
740
  Locations.struct_class = Types::Locations
694
741
 
742
+ MacSecKey.add_member(:secret_arn, Shapes::ShapeRef.new(shape: SecretARN, location_name: "secretARN"))
743
+ MacSecKey.add_member(:ckn, Shapes::ShapeRef.new(shape: Ckn, location_name: "ckn"))
744
+ MacSecKey.add_member(:state, Shapes::ShapeRef.new(shape: State, location_name: "state"))
745
+ MacSecKey.add_member(:start_on, Shapes::ShapeRef.new(shape: StartOnDate, location_name: "startOn"))
746
+ MacSecKey.struct_class = Types::MacSecKey
747
+
748
+ MacSecKeyList.member = Shapes::ShapeRef.new(shape: MacSecKey)
749
+
695
750
  NewBGPPeer.add_member(:asn, Shapes::ShapeRef.new(shape: ASN, location_name: "asn"))
696
751
  NewBGPPeer.add_member(:auth_key, Shapes::ShapeRef.new(shape: BGPAuthKey, location_name: "authKey"))
697
752
  NewBGPPeer.add_member(:address_family, Shapes::ShapeRef.new(shape: AddressFamily, location_name: "addressFamily"))
@@ -819,6 +874,11 @@ module Aws::DirectConnect
819
874
 
820
875
  UntagResourceResponse.struct_class = Types::UntagResourceResponse
821
876
 
877
+ UpdateConnectionRequest.add_member(:connection_id, Shapes::ShapeRef.new(shape: ConnectionId, required: true, location_name: "connectionId"))
878
+ UpdateConnectionRequest.add_member(:connection_name, Shapes::ShapeRef.new(shape: ConnectionName, location_name: "connectionName"))
879
+ UpdateConnectionRequest.add_member(:encryption_mode, Shapes::ShapeRef.new(shape: EncryptionMode, location_name: "encryptionMode"))
880
+ UpdateConnectionRequest.struct_class = Types::UpdateConnectionRequest
881
+
822
882
  UpdateDirectConnectGatewayAssociationRequest.add_member(:association_id, Shapes::ShapeRef.new(shape: DirectConnectGatewayAssociationId, location_name: "associationId"))
823
883
  UpdateDirectConnectGatewayAssociationRequest.add_member(:add_allowed_prefixes_to_direct_connect_gateway, Shapes::ShapeRef.new(shape: RouteFilterPrefixList, location_name: "addAllowedPrefixesToDirectConnectGateway"))
824
884
  UpdateDirectConnectGatewayAssociationRequest.add_member(:remove_allowed_prefixes_to_direct_connect_gateway, Shapes::ShapeRef.new(shape: RouteFilterPrefixList, location_name: "removeAllowedPrefixesToDirectConnectGateway"))
@@ -830,6 +890,7 @@ module Aws::DirectConnect
830
890
  UpdateLagRequest.add_member(:lag_id, Shapes::ShapeRef.new(shape: LagId, required: true, location_name: "lagId"))
831
891
  UpdateLagRequest.add_member(:lag_name, Shapes::ShapeRef.new(shape: LagName, location_name: "lagName"))
832
892
  UpdateLagRequest.add_member(:minimum_links, Shapes::ShapeRef.new(shape: Count, location_name: "minimumLinks"))
893
+ UpdateLagRequest.add_member(:encryption_mode, Shapes::ShapeRef.new(shape: EncryptionMode, location_name: "encryptionMode"))
833
894
  UpdateLagRequest.struct_class = Types::UpdateLagRequest
834
895
 
835
896
  UpdateVirtualInterfaceAttributesRequest.add_member(:virtual_interface_id, Shapes::ShapeRef.new(shape: VirtualInterfaceId, required: true, location_name: "virtualInterfaceId"))
@@ -995,6 +1056,16 @@ module Aws::DirectConnect
995
1056
  o.errors << Shapes::ShapeRef.new(shape: DirectConnectClientException)
996
1057
  end)
997
1058
 
1059
+ api.add_operation(:associate_mac_sec_key, Seahorse::Model::Operation.new.tap do |o|
1060
+ o.name = "AssociateMacSecKey"
1061
+ o.http_method = "POST"
1062
+ o.http_request_uri = "/"
1063
+ o.input = Shapes::ShapeRef.new(shape: AssociateMacSecKeyRequest)
1064
+ o.output = Shapes::ShapeRef.new(shape: AssociateMacSecKeyResponse)
1065
+ o.errors << Shapes::ShapeRef.new(shape: DirectConnectServerException)
1066
+ o.errors << Shapes::ShapeRef.new(shape: DirectConnectClientException)
1067
+ end)
1068
+
998
1069
  api.add_operation(:associate_virtual_interface, Seahorse::Model::Operation.new.tap do |o|
999
1070
  o.name = "AssociateVirtualInterface"
1000
1071
  o.http_method = "POST"
@@ -1410,6 +1481,16 @@ module Aws::DirectConnect
1410
1481
  o.errors << Shapes::ShapeRef.new(shape: DirectConnectClientException)
1411
1482
  end)
1412
1483
 
1484
+ api.add_operation(:disassociate_mac_sec_key, Seahorse::Model::Operation.new.tap do |o|
1485
+ o.name = "DisassociateMacSecKey"
1486
+ o.http_method = "POST"
1487
+ o.http_request_uri = "/"
1488
+ o.input = Shapes::ShapeRef.new(shape: DisassociateMacSecKeyRequest)
1489
+ o.output = Shapes::ShapeRef.new(shape: DisassociateMacSecKeyResponse)
1490
+ o.errors << Shapes::ShapeRef.new(shape: DirectConnectServerException)
1491
+ o.errors << Shapes::ShapeRef.new(shape: DirectConnectClientException)
1492
+ end)
1493
+
1413
1494
  api.add_operation(:list_virtual_interface_test_history, Seahorse::Model::Operation.new.tap do |o|
1414
1495
  o.name = "ListVirtualInterfaceTestHistory"
1415
1496
  o.http_method = "POST"
@@ -1462,6 +1543,16 @@ module Aws::DirectConnect
1462
1543
  o.errors << Shapes::ShapeRef.new(shape: DirectConnectClientException)
1463
1544
  end)
1464
1545
 
1546
+ api.add_operation(:update_connection, Seahorse::Model::Operation.new.tap do |o|
1547
+ o.name = "UpdateConnection"
1548
+ o.http_method = "POST"
1549
+ o.http_request_uri = "/"
1550
+ o.input = Shapes::ShapeRef.new(shape: UpdateConnectionRequest)
1551
+ o.output = Shapes::ShapeRef.new(shape: Connection)
1552
+ o.errors << Shapes::ShapeRef.new(shape: DirectConnectServerException)
1553
+ o.errors << Shapes::ShapeRef.new(shape: DirectConnectClientException)
1554
+ end)
1555
+
1465
1556
  api.add_operation(:update_direct_connect_gateway_association, Seahorse::Model::Operation.new.tap do |o|
1466
1557
  o.name = "UpdateDirectConnectGatewayAssociation"
1467
1558
  o.http_method = "POST"
@@ -2,7 +2,7 @@
2
2
  # WARNING ABOUT GENERATED CODE
3
3
  #
4
4
  # This file is generated. See the contributing for info on making contributions:
5
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
6
6
  #
7
7
  # WARNING ABOUT GENERATED CODE
8
8
 
@@ -387,6 +387,89 @@ module Aws::DirectConnect
387
387
  include Aws::Structure
388
388
  end
389
389
 
390
+ # @note When making an API call, you may pass AssociateMacSecKeyRequest
391
+ # data as a hash:
392
+ #
393
+ # {
394
+ # connection_id: "ConnectionId", # required
395
+ # secret_arn: "SecretARN",
396
+ # ckn: "Ckn",
397
+ # cak: "Cak",
398
+ # }
399
+ #
400
+ # @!attribute [rw] connection_id
401
+ # The ID of the dedicated connection (dxcon-xxxx), or the ID of the
402
+ # LAG (dxlag-xxxx).
403
+ #
404
+ # You can use DescribeConnections or DescribeLags to retrieve
405
+ # connection ID.
406
+ # @return [String]
407
+ #
408
+ # @!attribute [rw] secret_arn
409
+ # The Amazon Resource Name (ARN) of the MAC Security (MACsec) secret
410
+ # key to associate with the dedicated connection.
411
+ #
412
+ # You can use DescribeConnections or DescribeLags to retrieve the MAC
413
+ # Security (MACsec) secret key.
414
+ #
415
+ # If you use this request parameter, you do not use the `ckn` and
416
+ # `cak` request parameters.
417
+ # @return [String]
418
+ #
419
+ # @!attribute [rw] ckn
420
+ # The MAC Security (MACsec) CKN to associate with the dedicated
421
+ # connection.
422
+ #
423
+ # You can create the CKN/CAK pair using an industry standard tool.
424
+ #
425
+ # The valid values are 64 hexadecimal characters (0-9, A-E).
426
+ #
427
+ # If you use this request parameter, you must use the `cak` request
428
+ # parameter and not use the `secretARN` request parameter.
429
+ # @return [String]
430
+ #
431
+ # @!attribute [rw] cak
432
+ # The MAC Security (MACsec) CAK to associate with the dedicated
433
+ # connection.
434
+ #
435
+ # You can create the CKN/CAK pair using an industry standard tool.
436
+ #
437
+ # The valid values are 64 hexadecimal characters (0-9, A-E).
438
+ #
439
+ # If you use this request parameter, you must use the `ckn` request
440
+ # parameter and not use the `secretARN` request parameter.
441
+ # @return [String]
442
+ #
443
+ # @see http://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/AssociateMacSecKeyRequest AWS API Documentation
444
+ #
445
+ class AssociateMacSecKeyRequest < Struct.new(
446
+ :connection_id,
447
+ :secret_arn,
448
+ :ckn,
449
+ :cak)
450
+ SENSITIVE = []
451
+ include Aws::Structure
452
+ end
453
+
454
+ # @!attribute [rw] connection_id
455
+ # The ID of the dedicated connection (dxcon-xxxx), or the ID of the
456
+ # LAG (dxlag-xxxx).
457
+ # @return [String]
458
+ #
459
+ # @!attribute [rw] mac_sec_keys
460
+ # The MAC Security (MACsec) security keys associated with the
461
+ # dedicated connection.
462
+ # @return [Array<Types::MacSecKey>]
463
+ #
464
+ # @see http://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/AssociateMacSecKeyResponse AWS API Documentation
465
+ #
466
+ class AssociateMacSecKeyResponse < Struct.new(
467
+ :connection_id,
468
+ :mac_sec_keys)
469
+ SENSITIVE = []
470
+ include Aws::Structure
471
+ end
472
+
390
473
  # @note When making an API call, you may pass AssociateVirtualInterfaceRequest
391
474
  # data as a hash:
392
475
  #
@@ -884,6 +967,29 @@ module Aws::DirectConnect
884
967
  # The name of the service provider associated with the connection.
885
968
  # @return [String]
886
969
  #
970
+ # @!attribute [rw] mac_sec_capable
971
+ # Indicates whether the connection supports MAC Security (MACsec).
972
+ # @return [Boolean]
973
+ #
974
+ # @!attribute [rw] port_encryption_status
975
+ # The MAC Security (MACsec) port link status of the connection.
976
+ #
977
+ # The valid values are `Encryption Up`, which means that there is an
978
+ # active Connection Key Name, or `Encryption Down`.
979
+ # @return [String]
980
+ #
981
+ # @!attribute [rw] encryption_mode
982
+ # The MAC Security (MACsec) connection encryption mode.
983
+ #
984
+ # The valid values are `no_encrypt`, `should_encrypt`, and
985
+ # `must_encrypt`.
986
+ # @return [String]
987
+ #
988
+ # @!attribute [rw] mac_sec_keys
989
+ # The MAC Security (MACsec) security keys associated with the
990
+ # connection.
991
+ # @return [Array<Types::MacSecKey>]
992
+ #
887
993
  # @see http://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/Connection AWS API Documentation
888
994
  #
889
995
  class Connection < Struct.new(
@@ -903,7 +1009,11 @@ module Aws::DirectConnect
903
1009
  :aws_device_v2,
904
1010
  :has_logical_redundancy,
905
1011
  :tags,
906
- :provider_name)
1012
+ :provider_name,
1013
+ :mac_sec_capable,
1014
+ :port_encryption_status,
1015
+ :encryption_mode,
1016
+ :mac_sec_keys)
907
1017
  SENSITIVE = []
908
1018
  include Aws::Structure
909
1019
  end
@@ -978,6 +1088,7 @@ module Aws::DirectConnect
978
1088
  # },
979
1089
  # ],
980
1090
  # provider_name: "ProviderName",
1091
+ # request_mac_sec: false,
981
1092
  # }
982
1093
  #
983
1094
  # @!attribute [rw] location
@@ -1005,6 +1116,19 @@ module Aws::DirectConnect
1005
1116
  # connection.
1006
1117
  # @return [String]
1007
1118
  #
1119
+ # @!attribute [rw] request_mac_sec
1120
+ # Indicates whether you want the connection to support MAC Security
1121
+ # (MACsec).
1122
+ #
1123
+ # MAC Security (MACsec) is only available on dedicated connections.
1124
+ # For information about MAC Security (MACsec) prerequisties, see
1125
+ # [MACsec prerequisties][1] in the *AWS Direct Connect User Guide*.
1126
+ #
1127
+ #
1128
+ #
1129
+ # [1]: https://docs.aws.amazon.com/directconnect/latest/UserGuide/direct-connect-mac-sec-getting-started.html#mac-sec-prerequisites
1130
+ # @return [Boolean]
1131
+ #
1008
1132
  # @see http://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/CreateConnectionRequest AWS API Documentation
1009
1133
  #
1010
1134
  class CreateConnectionRequest < Struct.new(
@@ -1013,7 +1137,8 @@ module Aws::DirectConnect
1013
1137
  :connection_name,
1014
1138
  :lag_id,
1015
1139
  :tags,
1016
- :provider_name)
1140
+ :provider_name,
1141
+ :request_mac_sec)
1017
1142
  SENSITIVE = []
1018
1143
  include Aws::Structure
1019
1144
  end
@@ -1261,6 +1386,7 @@ module Aws::DirectConnect
1261
1386
  # },
1262
1387
  # ],
1263
1388
  # provider_name: "ProviderName",
1389
+ # request_mac_sec: false,
1264
1390
  # }
1265
1391
  #
1266
1392
  # @!attribute [rw] number_of_connections
@@ -1297,6 +1423,21 @@ module Aws::DirectConnect
1297
1423
  # The name of the service provider associated with the LAG.
1298
1424
  # @return [String]
1299
1425
  #
1426
+ # @!attribute [rw] request_mac_sec
1427
+ # Indicates whether the connection will support MAC Security (MACsec).
1428
+ #
1429
+ # <note markdown="1"> All connections in the LAG must be capable of supporting MAC
1430
+ # Security (MACsec). For information about MAC Security (MACsec)
1431
+ # prerequisties, see [MACsec prerequisties][1] in the *AWS Direct
1432
+ # Connect User Guide*.
1433
+ #
1434
+ # </note>
1435
+ #
1436
+ #
1437
+ #
1438
+ # [1]: https://docs.aws.amazon.com/directconnect/latest/UserGuide/direct-connect-mac-sec-getting-started.html#mac-sec-prerequisites
1439
+ # @return [Boolean]
1440
+ #
1300
1441
  # @see http://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/CreateLagRequest AWS API Documentation
1301
1442
  #
1302
1443
  class CreateLagRequest < Struct.new(
@@ -1307,7 +1448,8 @@ module Aws::DirectConnect
1307
1448
  :connection_id,
1308
1449
  :tags,
1309
1450
  :child_connection_tags,
1310
- :provider_name)
1451
+ :provider_name,
1452
+ :request_mac_sec)
1311
1453
  SENSITIVE = []
1312
1454
  include Aws::Structure
1313
1455
  end
@@ -2583,6 +2725,58 @@ module Aws::DirectConnect
2583
2725
  include Aws::Structure
2584
2726
  end
2585
2727
 
2728
+ # @note When making an API call, you may pass DisassociateMacSecKeyRequest
2729
+ # data as a hash:
2730
+ #
2731
+ # {
2732
+ # connection_id: "ConnectionId", # required
2733
+ # secret_arn: "SecretARN", # required
2734
+ # }
2735
+ #
2736
+ # @!attribute [rw] connection_id
2737
+ # The ID of the dedicated connection (dxcon-xxxx), or the ID of the
2738
+ # LAG (dxlag-xxxx).
2739
+ #
2740
+ # You can use DescribeConnections or DescribeLags to retrieve
2741
+ # connection ID.
2742
+ # @return [String]
2743
+ #
2744
+ # @!attribute [rw] secret_arn
2745
+ # The Amazon Resource Name (ARN) of the MAC Security (MACsec) secret
2746
+ # key.
2747
+ #
2748
+ # You can use DescribeConnections to retrieve the ARN of the MAC
2749
+ # Security (MACsec) secret key.
2750
+ # @return [String]
2751
+ #
2752
+ # @see http://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DisassociateMacSecKeyRequest AWS API Documentation
2753
+ #
2754
+ class DisassociateMacSecKeyRequest < Struct.new(
2755
+ :connection_id,
2756
+ :secret_arn)
2757
+ SENSITIVE = []
2758
+ include Aws::Structure
2759
+ end
2760
+
2761
+ # @!attribute [rw] connection_id
2762
+ # The ID of the dedicated connection (dxcon-xxxx), or the ID of the
2763
+ # LAG (dxlag-xxxx).
2764
+ # @return [String]
2765
+ #
2766
+ # @!attribute [rw] mac_sec_keys
2767
+ # The MAC Security (MACsec) security keys no longer associated with
2768
+ # the dedicated connection.
2769
+ # @return [Array<Types::MacSecKey>]
2770
+ #
2771
+ # @see http://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DisassociateMacSecKeyResponse AWS API Documentation
2772
+ #
2773
+ class DisassociateMacSecKeyResponse < Struct.new(
2774
+ :connection_id,
2775
+ :mac_sec_keys)
2776
+ SENSITIVE = []
2777
+ include Aws::Structure
2778
+ end
2779
+
2586
2780
  # A tag key was specified more than once.
2587
2781
  #
2588
2782
  # @see http://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/DuplicateTagKeysException AWS API Documentation
@@ -2793,6 +2987,21 @@ module Aws::DirectConnect
2793
2987
  # The name of the service provider associated with the LAG.
2794
2988
  # @return [String]
2795
2989
  #
2990
+ # @!attribute [rw] mac_sec_capable
2991
+ # Indicates whether the LAG supports MAC Security (MACsec).
2992
+ # @return [Boolean]
2993
+ #
2994
+ # @!attribute [rw] encryption_mode
2995
+ # The LAG MAC Security (MACsec) encryption mode.
2996
+ #
2997
+ # The valid values are `no_encrypt`, `should_encrypt`, and
2998
+ # `must_encrypt`.
2999
+ # @return [String]
3000
+ #
3001
+ # @!attribute [rw] mac_sec_keys
3002
+ # The MAC Security (MACsec) security keys associated with the LAG.
3003
+ # @return [Array<Types::MacSecKey>]
3004
+ #
2796
3005
  # @see http://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/Lag AWS API Documentation
2797
3006
  #
2798
3007
  class Lag < Struct.new(
@@ -2812,7 +3021,10 @@ module Aws::DirectConnect
2812
3021
  :jumbo_frame_capable,
2813
3022
  :has_logical_redundancy,
2814
3023
  :tags,
2815
- :provider_name)
3024
+ :provider_name,
3025
+ :mac_sec_capable,
3026
+ :encryption_mode,
3027
+ :mac_sec_keys)
2816
3028
  SENSITIVE = []
2817
3029
  include Aws::Structure
2818
3030
  end
@@ -2946,6 +3158,10 @@ module Aws::DirectConnect
2946
3158
  # The name of the service provider for the location.
2947
3159
  # @return [Array<String>]
2948
3160
  #
3161
+ # @!attribute [rw] available_mac_sec_port_speeds
3162
+ # The available MAC Security (MACsec) port speeds for the location.
3163
+ # @return [Array<String>]
3164
+ #
2949
3165
  # @see http://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/Location AWS API Documentation
2950
3166
  #
2951
3167
  class Location < Struct.new(
@@ -2953,7 +3169,8 @@ module Aws::DirectConnect
2953
3169
  :location_name,
2954
3170
  :region,
2955
3171
  :available_port_speeds,
2956
- :available_providers)
3172
+ :available_providers,
3173
+ :available_mac_sec_port_speeds)
2957
3174
  SENSITIVE = []
2958
3175
  include Aws::Structure
2959
3176
  end
@@ -2970,6 +3187,51 @@ module Aws::DirectConnect
2970
3187
  include Aws::Structure
2971
3188
  end
2972
3189
 
3190
+ # Information about the MAC Security (MACsec) secret key.
3191
+ #
3192
+ # @!attribute [rw] secret_arn
3193
+ # The Amazon Resource Name (ARN) of the MAC Security (MACsec) secret
3194
+ # key.
3195
+ # @return [String]
3196
+ #
3197
+ # @!attribute [rw] ckn
3198
+ # The Connection Key Name (CKN) for the MAC Security secret key.
3199
+ # @return [String]
3200
+ #
3201
+ # @!attribute [rw] state
3202
+ # The state of the MAC Security (MACsec) secret key.
3203
+ #
3204
+ # The possible values are:
3205
+ #
3206
+ # * `associating`\: The MAC Security (MACsec) secret key is being
3207
+ # validated and not yet associated with the connection or LAG.
3208
+ #
3209
+ # * `associated`\: The MAC Security (MACsec) secret key is validated
3210
+ # and associated with the connection or LAG.
3211
+ #
3212
+ # * `disassociating`\: The MAC Security (MACsec) secret key is being
3213
+ # disassociated from the connection or LAG
3214
+ #
3215
+ # * `disassociated`\: The MAC Security (MACsec) secret key is no
3216
+ # longer associated with the connection or LAG.
3217
+ # @return [String]
3218
+ #
3219
+ # @!attribute [rw] start_on
3220
+ # The date that the MAC Security (MACsec) secret key takes effect. The
3221
+ # value is displayed in UTC format.
3222
+ # @return [String]
3223
+ #
3224
+ # @see http://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/MacSecKey AWS API Documentation
3225
+ #
3226
+ class MacSecKey < Struct.new(
3227
+ :secret_arn,
3228
+ :ckn,
3229
+ :state,
3230
+ :start_on)
3231
+ SENSITIVE = []
3232
+ include Aws::Structure
3233
+ end
3234
+
2973
3235
  # Information about a new BGP peer.
2974
3236
  #
2975
3237
  # @note When making an API call, you may pass NewBGPPeer
@@ -3757,6 +4019,42 @@ module Aws::DirectConnect
3757
4019
  #
3758
4020
  class UntagResourceResponse < Aws::EmptyStructure; end
3759
4021
 
4022
+ # @note When making an API call, you may pass UpdateConnectionRequest
4023
+ # data as a hash:
4024
+ #
4025
+ # {
4026
+ # connection_id: "ConnectionId", # required
4027
+ # connection_name: "ConnectionName",
4028
+ # encryption_mode: "EncryptionMode",
4029
+ # }
4030
+ #
4031
+ # @!attribute [rw] connection_id
4032
+ # The ID of the dedicated connection.
4033
+ #
4034
+ # You can use DescribeConnections to retrieve the connection ID.
4035
+ # @return [String]
4036
+ #
4037
+ # @!attribute [rw] connection_name
4038
+ # The name of the connection.
4039
+ # @return [String]
4040
+ #
4041
+ # @!attribute [rw] encryption_mode
4042
+ # The connection MAC Security (MACsec) encryption mode.
4043
+ #
4044
+ # The valid values are `no_encrypt`, `should_encrypt`, and
4045
+ # `must_encrypt`.
4046
+ # @return [String]
4047
+ #
4048
+ # @see http://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/UpdateConnectionRequest AWS API Documentation
4049
+ #
4050
+ class UpdateConnectionRequest < Struct.new(
4051
+ :connection_id,
4052
+ :connection_name,
4053
+ :encryption_mode)
4054
+ SENSITIVE = []
4055
+ include Aws::Structure
4056
+ end
4057
+
3760
4058
  # @note When making an API call, you may pass UpdateDirectConnectGatewayAssociationRequest
3761
4059
  # data as a hash:
3762
4060
  #
@@ -3817,6 +4115,7 @@ module Aws::DirectConnect
3817
4115
  # lag_id: "LagId", # required
3818
4116
  # lag_name: "LagName",
3819
4117
  # minimum_links: 1,
4118
+ # encryption_mode: "EncryptionMode",
3820
4119
  # }
3821
4120
  #
3822
4121
  # @!attribute [rw] lag_id
@@ -3832,12 +4131,19 @@ module Aws::DirectConnect
3832
4131
  # for the LAG itself to be operational.
3833
4132
  # @return [Integer]
3834
4133
  #
4134
+ # @!attribute [rw] encryption_mode
4135
+ # The LAG MAC Security (MACsec) encryption mode.
4136
+ #
4137
+ # AWS applies the value to all connections which are part of the LAG.
4138
+ # @return [String]
4139
+ #
3835
4140
  # @see http://docs.aws.amazon.com/goto/WebAPI/directconnect-2012-10-25/UpdateLagRequest AWS API Documentation
3836
4141
  #
3837
4142
  class UpdateLagRequest < Struct.new(
3838
4143
  :lag_id,
3839
4144
  :lag_name,
3840
- :minimum_links)
4145
+ :minimum_links,
4146
+ :encryption_mode)
3841
4147
  SENSITIVE = []
3842
4148
  include Aws::Structure
3843
4149
  end