aws-sdk-directconnect 1.40.0 → 1.41.0

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