aws-sdk-ec2 1.205.0 → 1.210.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -201,6 +201,8 @@ module Aws::EC2
201
201
  ClassicLoadBalancersConfig = Shapes::StructureShape.new(name: 'ClassicLoadBalancersConfig')
202
202
  ClientCertificateRevocationListStatus = Shapes::StructureShape.new(name: 'ClientCertificateRevocationListStatus')
203
203
  ClientCertificateRevocationListStatusCode = Shapes::StringShape.new(name: 'ClientCertificateRevocationListStatusCode')
204
+ ClientConnectOptions = Shapes::StructureShape.new(name: 'ClientConnectOptions')
205
+ ClientConnectResponseOptions = Shapes::StructureShape.new(name: 'ClientConnectResponseOptions')
204
206
  ClientData = Shapes::StructureShape.new(name: 'ClientData')
205
207
  ClientVpnAssociationId = Shapes::StringShape.new(name: 'ClientVpnAssociationId')
206
208
  ClientVpnAuthentication = Shapes::StructureShape.new(name: 'ClientVpnAuthentication')
@@ -215,6 +217,8 @@ module Aws::EC2
215
217
  ClientVpnConnectionStatus = Shapes::StructureShape.new(name: 'ClientVpnConnectionStatus')
216
218
  ClientVpnConnectionStatusCode = Shapes::StringShape.new(name: 'ClientVpnConnectionStatusCode')
217
219
  ClientVpnEndpoint = Shapes::StructureShape.new(name: 'ClientVpnEndpoint')
220
+ ClientVpnEndpointAttributeStatus = Shapes::StructureShape.new(name: 'ClientVpnEndpointAttributeStatus')
221
+ ClientVpnEndpointAttributeStatusCode = Shapes::StringShape.new(name: 'ClientVpnEndpointAttributeStatusCode')
218
222
  ClientVpnEndpointId = Shapes::StringShape.new(name: 'ClientVpnEndpointId')
219
223
  ClientVpnEndpointIdList = Shapes::ListShape.new(name: 'ClientVpnEndpointIdList')
220
224
  ClientVpnEndpointStatus = Shapes::StructureShape.new(name: 'ClientVpnEndpointStatus')
@@ -385,6 +389,7 @@ module Aws::EC2
385
389
  DateTime = Shapes::TimestampShape.new(name: 'DateTime')
386
390
  DedicatedHostFlag = Shapes::BooleanShape.new(name: 'DedicatedHostFlag')
387
391
  DedicatedHostId = Shapes::StringShape.new(name: 'DedicatedHostId')
392
+ DefaultNetworkCardIndex = Shapes::IntegerShape.new(name: 'DefaultNetworkCardIndex')
388
393
  DefaultRouteTableAssociationValue = Shapes::StringShape.new(name: 'DefaultRouteTableAssociationValue')
389
394
  DefaultRouteTablePropagationValue = Shapes::StringShape.new(name: 'DefaultRouteTablePropagationValue')
390
395
  DefaultTargetCapacityType = Shapes::StringShape.new(name: 'DefaultTargetCapacityType')
@@ -944,7 +949,12 @@ module Aws::EC2
944
949
  FleetLaunchTemplateSpecification = Shapes::StructureShape.new(name: 'FleetLaunchTemplateSpecification')
945
950
  FleetLaunchTemplateSpecificationRequest = Shapes::StructureShape.new(name: 'FleetLaunchTemplateSpecificationRequest')
946
951
  FleetOnDemandAllocationStrategy = Shapes::StringShape.new(name: 'FleetOnDemandAllocationStrategy')
952
+ FleetReplacementStrategy = Shapes::StringShape.new(name: 'FleetReplacementStrategy')
947
953
  FleetSet = Shapes::ListShape.new(name: 'FleetSet')
954
+ FleetSpotCapacityRebalance = Shapes::StructureShape.new(name: 'FleetSpotCapacityRebalance')
955
+ FleetSpotCapacityRebalanceRequest = Shapes::StructureShape.new(name: 'FleetSpotCapacityRebalanceRequest')
956
+ FleetSpotMaintenanceStrategies = Shapes::StructureShape.new(name: 'FleetSpotMaintenanceStrategies')
957
+ FleetSpotMaintenanceStrategiesRequest = Shapes::StructureShape.new(name: 'FleetSpotMaintenanceStrategiesRequest')
948
958
  FleetStateCode = Shapes::StringShape.new(name: 'FleetStateCode')
949
959
  FleetType = Shapes::StringShape.new(name: 'FleetType')
950
960
  Float = Shapes::FloatShape.new(name: 'Float')
@@ -1342,6 +1352,7 @@ module Aws::EC2
1342
1352
  MaxResults = Shapes::IntegerShape.new(name: 'MaxResults')
1343
1353
  MaximumBandwidthInMbps = Shapes::IntegerShape.new(name: 'MaximumBandwidthInMbps')
1344
1354
  MaximumIops = Shapes::IntegerShape.new(name: 'MaximumIops')
1355
+ MaximumNetworkCards = Shapes::IntegerShape.new(name: 'MaximumNetworkCards')
1345
1356
  MaximumThroughputInMBps = Shapes::FloatShape.new(name: 'MaximumThroughputInMBps')
1346
1357
  MembershipType = Shapes::StringShape.new(name: 'MembershipType')
1347
1358
  MemoryInfo = Shapes::StructureShape.new(name: 'MemoryInfo')
@@ -1454,6 +1465,9 @@ module Aws::EC2
1454
1465
  NetworkAclId = Shapes::StringShape.new(name: 'NetworkAclId')
1455
1466
  NetworkAclIdStringList = Shapes::ListShape.new(name: 'NetworkAclIdStringList')
1456
1467
  NetworkAclList = Shapes::ListShape.new(name: 'NetworkAclList')
1468
+ NetworkCardIndex = Shapes::IntegerShape.new(name: 'NetworkCardIndex')
1469
+ NetworkCardInfo = Shapes::StructureShape.new(name: 'NetworkCardInfo')
1470
+ NetworkCardInfoList = Shapes::ListShape.new(name: 'NetworkCardInfoList')
1457
1471
  NetworkInfo = Shapes::StructureShape.new(name: 'NetworkInfo')
1458
1472
  NetworkInterface = Shapes::StructureShape.new(name: 'NetworkInterface')
1459
1473
  NetworkInterfaceAssociation = Shapes::StructureShape.new(name: 'NetworkInterfaceAssociation')
@@ -1639,6 +1653,7 @@ module Aws::EC2
1639
1653
  ReplaceRouteTableAssociationResult = Shapes::StructureShape.new(name: 'ReplaceRouteTableAssociationResult')
1640
1654
  ReplaceTransitGatewayRouteRequest = Shapes::StructureShape.new(name: 'ReplaceTransitGatewayRouteRequest')
1641
1655
  ReplaceTransitGatewayRouteResult = Shapes::StructureShape.new(name: 'ReplaceTransitGatewayRouteResult')
1656
+ ReplacementStrategy = Shapes::StringShape.new(name: 'ReplacementStrategy')
1642
1657
  ReportInstanceReasonCodes = Shapes::StringShape.new(name: 'ReportInstanceReasonCodes')
1643
1658
  ReportInstanceStatusRequest = Shapes::StructureShape.new(name: 'ReportInstanceStatusRequest')
1644
1659
  ReportStatusType = Shapes::StringShape.new(name: 'ReportStatusType')
@@ -1797,6 +1812,7 @@ module Aws::EC2
1797
1812
  SnapshotState = Shapes::StringShape.new(name: 'SnapshotState')
1798
1813
  SnapshotTaskDetail = Shapes::StructureShape.new(name: 'SnapshotTaskDetail')
1799
1814
  SpotAllocationStrategy = Shapes::StringShape.new(name: 'SpotAllocationStrategy')
1815
+ SpotCapacityRebalance = Shapes::StructureShape.new(name: 'SpotCapacityRebalance')
1800
1816
  SpotDatafeedSubscription = Shapes::StructureShape.new(name: 'SpotDatafeedSubscription')
1801
1817
  SpotFleetLaunchSpecification = Shapes::StructureShape.new(name: 'SpotFleetLaunchSpecification')
1802
1818
  SpotFleetMonitoring = Shapes::StructureShape.new(name: 'SpotFleetMonitoring')
@@ -1816,6 +1832,7 @@ module Aws::EC2
1816
1832
  SpotInstanceStateFault = Shapes::StructureShape.new(name: 'SpotInstanceStateFault')
1817
1833
  SpotInstanceStatus = Shapes::StructureShape.new(name: 'SpotInstanceStatus')
1818
1834
  SpotInstanceType = Shapes::StringShape.new(name: 'SpotInstanceType')
1835
+ SpotMaintenanceStrategies = Shapes::StructureShape.new(name: 'SpotMaintenanceStrategies')
1819
1836
  SpotMarketOptions = Shapes::StructureShape.new(name: 'SpotMarketOptions')
1820
1837
  SpotOptions = Shapes::StructureShape.new(name: 'SpotOptions')
1821
1838
  SpotOptionsRequest = Shapes::StructureShape.new(name: 'SpotOptionsRequest')
@@ -2204,7 +2221,7 @@ module Aws::EC2
2204
2221
 
2205
2222
  AllocateAddressRequest.add_member(:domain, Shapes::ShapeRef.new(shape: DomainType, location_name: "Domain"))
2206
2223
  AllocateAddressRequest.add_member(:address, Shapes::ShapeRef.new(shape: PublicIpAddress, location_name: "Address"))
2207
- AllocateAddressRequest.add_member(:public_ipv_4_pool, Shapes::ShapeRef.new(shape: String, location_name: "PublicIpv4Pool"))
2224
+ AllocateAddressRequest.add_member(:public_ipv_4_pool, Shapes::ShapeRef.new(shape: Ipv4PoolEc2Id, location_name: "PublicIpv4Pool"))
2208
2225
  AllocateAddressRequest.add_member(:network_border_group, Shapes::ShapeRef.new(shape: String, location_name: "NetworkBorderGroup"))
2209
2226
  AllocateAddressRequest.add_member(:customer_owned_ipv_4_pool, Shapes::ShapeRef.new(shape: String, location_name: "CustomerOwnedIpv4Pool"))
2210
2227
  AllocateAddressRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "dryRun"))
@@ -2736,6 +2753,15 @@ module Aws::EC2
2736
2753
  ClientCertificateRevocationListStatus.add_member(:message, Shapes::ShapeRef.new(shape: String, location_name: "message"))
2737
2754
  ClientCertificateRevocationListStatus.struct_class = Types::ClientCertificateRevocationListStatus
2738
2755
 
2756
+ ClientConnectOptions.add_member(:enabled, Shapes::ShapeRef.new(shape: Boolean, location_name: "Enabled"))
2757
+ ClientConnectOptions.add_member(:lambda_function_arn, Shapes::ShapeRef.new(shape: String, location_name: "LambdaFunctionArn"))
2758
+ ClientConnectOptions.struct_class = Types::ClientConnectOptions
2759
+
2760
+ ClientConnectResponseOptions.add_member(:enabled, Shapes::ShapeRef.new(shape: Boolean, location_name: "enabled"))
2761
+ ClientConnectResponseOptions.add_member(:lambda_function_arn, Shapes::ShapeRef.new(shape: String, location_name: "lambdaFunctionArn"))
2762
+ ClientConnectResponseOptions.add_member(:status, Shapes::ShapeRef.new(shape: ClientVpnEndpointAttributeStatus, location_name: "status"))
2763
+ ClientConnectResponseOptions.struct_class = Types::ClientConnectResponseOptions
2764
+
2739
2765
  ClientData.add_member(:comment, Shapes::ShapeRef.new(shape: String, location_name: "Comment"))
2740
2766
  ClientData.add_member(:upload_end, Shapes::ShapeRef.new(shape: DateTime, location_name: "UploadEnd"))
2741
2767
  ClientData.add_member(:upload_size, Shapes::ShapeRef.new(shape: Double, location_name: "UploadSize"))
@@ -2775,6 +2801,7 @@ module Aws::EC2
2775
2801
  ClientVpnConnection.add_member(:common_name, Shapes::ShapeRef.new(shape: String, location_name: "commonName"))
2776
2802
  ClientVpnConnection.add_member(:status, Shapes::ShapeRef.new(shape: ClientVpnConnectionStatus, location_name: "status"))
2777
2803
  ClientVpnConnection.add_member(:connection_end_time, Shapes::ShapeRef.new(shape: String, location_name: "connectionEndTime"))
2804
+ ClientVpnConnection.add_member(:posture_compliance_statuses, Shapes::ShapeRef.new(shape: ValueStringList, location_name: "postureComplianceStatusSet"))
2778
2805
  ClientVpnConnection.struct_class = Types::ClientVpnConnection
2779
2806
 
2780
2807
  ClientVpnConnectionSet.member = Shapes::ShapeRef.new(shape: ClientVpnConnection, location_name: "item")
@@ -2803,8 +2830,13 @@ module Aws::EC2
2803
2830
  ClientVpnEndpoint.add_member(:security_group_ids, Shapes::ShapeRef.new(shape: ClientVpnSecurityGroupIdSet, location_name: "securityGroupIdSet"))
2804
2831
  ClientVpnEndpoint.add_member(:vpc_id, Shapes::ShapeRef.new(shape: VpcId, location_name: "vpcId"))
2805
2832
  ClientVpnEndpoint.add_member(:self_service_portal_url, Shapes::ShapeRef.new(shape: String, location_name: "selfServicePortalUrl"))
2833
+ ClientVpnEndpoint.add_member(:client_connect_options, Shapes::ShapeRef.new(shape: ClientConnectResponseOptions, location_name: "clientConnectOptions"))
2806
2834
  ClientVpnEndpoint.struct_class = Types::ClientVpnEndpoint
2807
2835
 
2836
+ ClientVpnEndpointAttributeStatus.add_member(:code, Shapes::ShapeRef.new(shape: ClientVpnEndpointAttributeStatusCode, location_name: "code"))
2837
+ ClientVpnEndpointAttributeStatus.add_member(:message, Shapes::ShapeRef.new(shape: String, location_name: "message"))
2838
+ ClientVpnEndpointAttributeStatus.struct_class = Types::ClientVpnEndpointAttributeStatus
2839
+
2808
2840
  ClientVpnEndpointIdList.member = Shapes::ShapeRef.new(shape: ClientVpnEndpointId, location_name: "item")
2809
2841
 
2810
2842
  ClientVpnEndpointStatus.add_member(:code, Shapes::ShapeRef.new(shape: ClientVpnEndpointStatusCode, location_name: "code"))
@@ -2982,6 +3014,7 @@ module Aws::EC2
2982
3014
  CreateClientVpnEndpointRequest.add_member(:security_group_ids, Shapes::ShapeRef.new(shape: ClientVpnSecurityGroupIdSet, location_name: "SecurityGroupId"))
2983
3015
  CreateClientVpnEndpointRequest.add_member(:vpc_id, Shapes::ShapeRef.new(shape: VpcId, location_name: "VpcId"))
2984
3016
  CreateClientVpnEndpointRequest.add_member(:self_service_portal, Shapes::ShapeRef.new(shape: SelfServicePortal, location_name: "SelfServicePortal"))
3017
+ CreateClientVpnEndpointRequest.add_member(:client_connect_options, Shapes::ShapeRef.new(shape: ClientConnectOptions, location_name: "ClientConnectOptions"))
2985
3018
  CreateClientVpnEndpointRequest.struct_class = Types::CreateClientVpnEndpointRequest
2986
3019
 
2987
3020
  CreateClientVpnEndpointResult.add_member(:client_vpn_endpoint_id, Shapes::ShapeRef.new(shape: String, location_name: "clientVpnEndpointId"))
@@ -3124,9 +3157,9 @@ module Aws::EC2
3124
3157
  CreateImageResult.struct_class = Types::CreateImageResult
3125
3158
 
3126
3159
  CreateInstanceExportTaskRequest.add_member(:description, Shapes::ShapeRef.new(shape: String, location_name: "description"))
3127
- CreateInstanceExportTaskRequest.add_member(:export_to_s3_task, Shapes::ShapeRef.new(shape: ExportToS3TaskSpecification, location_name: "exportToS3"))
3160
+ CreateInstanceExportTaskRequest.add_member(:export_to_s3_task, Shapes::ShapeRef.new(shape: ExportToS3TaskSpecification, required: true, location_name: "exportToS3"))
3128
3161
  CreateInstanceExportTaskRequest.add_member(:instance_id, Shapes::ShapeRef.new(shape: InstanceId, required: true, location_name: "instanceId"))
3129
- CreateInstanceExportTaskRequest.add_member(:target_environment, Shapes::ShapeRef.new(shape: ExportEnvironment, location_name: "targetEnvironment"))
3162
+ CreateInstanceExportTaskRequest.add_member(:target_environment, Shapes::ShapeRef.new(shape: ExportEnvironment, required: true, location_name: "targetEnvironment"))
3130
3163
  CreateInstanceExportTaskRequest.add_member(:tag_specifications, Shapes::ShapeRef.new(shape: TagSpecificationList, location_name: "TagSpecification"))
3131
3164
  CreateInstanceExportTaskRequest.struct_class = Types::CreateInstanceExportTaskRequest
3132
3165
 
@@ -3280,6 +3313,7 @@ module Aws::EC2
3280
3313
  CreateRouteRequest.add_member(:destination_ipv_6_cidr_block, Shapes::ShapeRef.new(shape: String, location_name: "destinationIpv6CidrBlock"))
3281
3314
  CreateRouteRequest.add_member(:destination_prefix_list_id, Shapes::ShapeRef.new(shape: PrefixListResourceId, location_name: "DestinationPrefixListId"))
3282
3315
  CreateRouteRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "dryRun"))
3316
+ CreateRouteRequest.add_member(:vpc_endpoint_id, Shapes::ShapeRef.new(shape: VpcEndpointId, location_name: "VpcEndpointId"))
3283
3317
  CreateRouteRequest.add_member(:egress_only_internet_gateway_id, Shapes::ShapeRef.new(shape: EgressOnlyInternetGatewayId, location_name: "egressOnlyInternetGatewayId"))
3284
3318
  CreateRouteRequest.add_member(:gateway_id, Shapes::ShapeRef.new(shape: RouteGatewayId, location_name: "gatewayId"))
3285
3319
  CreateRouteRequest.add_member(:instance_id, Shapes::ShapeRef.new(shape: InstanceId, location_name: "instanceId"))
@@ -3539,7 +3573,8 @@ module Aws::EC2
3539
3573
  CreateVpcEndpointServiceConfigurationRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "DryRun"))
3540
3574
  CreateVpcEndpointServiceConfigurationRequest.add_member(:acceptance_required, Shapes::ShapeRef.new(shape: Boolean, location_name: "AcceptanceRequired"))
3541
3575
  CreateVpcEndpointServiceConfigurationRequest.add_member(:private_dns_name, Shapes::ShapeRef.new(shape: String, location_name: "PrivateDnsName"))
3542
- CreateVpcEndpointServiceConfigurationRequest.add_member(:network_load_balancer_arns, Shapes::ShapeRef.new(shape: ValueStringList, required: true, location_name: "NetworkLoadBalancerArn"))
3576
+ CreateVpcEndpointServiceConfigurationRequest.add_member(:network_load_balancer_arns, Shapes::ShapeRef.new(shape: ValueStringList, location_name: "NetworkLoadBalancerArn"))
3577
+ CreateVpcEndpointServiceConfigurationRequest.add_member(:gateway_load_balancer_arns, Shapes::ShapeRef.new(shape: ValueStringList, location_name: "GatewayLoadBalancerArn"))
3543
3578
  CreateVpcEndpointServiceConfigurationRequest.add_member(:client_token, Shapes::ShapeRef.new(shape: String, location_name: "ClientToken"))
3544
3579
  CreateVpcEndpointServiceConfigurationRequest.add_member(:tag_specifications, Shapes::ShapeRef.new(shape: TagSpecificationList, location_name: "TagSpecification"))
3545
3580
  CreateVpcEndpointServiceConfigurationRequest.struct_class = Types::CreateVpcEndpointServiceConfigurationRequest
@@ -5841,6 +5876,18 @@ module Aws::EC2
5841
5876
 
5842
5877
  FleetSet.member = Shapes::ShapeRef.new(shape: FleetData, location_name: "item")
5843
5878
 
5879
+ FleetSpotCapacityRebalance.add_member(:replacement_strategy, Shapes::ShapeRef.new(shape: FleetReplacementStrategy, location_name: "replacementStrategy"))
5880
+ FleetSpotCapacityRebalance.struct_class = Types::FleetSpotCapacityRebalance
5881
+
5882
+ FleetSpotCapacityRebalanceRequest.add_member(:replacement_strategy, Shapes::ShapeRef.new(shape: FleetReplacementStrategy, location_name: "ReplacementStrategy"))
5883
+ FleetSpotCapacityRebalanceRequest.struct_class = Types::FleetSpotCapacityRebalanceRequest
5884
+
5885
+ FleetSpotMaintenanceStrategies.add_member(:capacity_rebalance, Shapes::ShapeRef.new(shape: FleetSpotCapacityRebalance, location_name: "capacityRebalance"))
5886
+ FleetSpotMaintenanceStrategies.struct_class = Types::FleetSpotMaintenanceStrategies
5887
+
5888
+ FleetSpotMaintenanceStrategiesRequest.add_member(:capacity_rebalance, Shapes::ShapeRef.new(shape: FleetSpotCapacityRebalanceRequest, location_name: "CapacityRebalance"))
5889
+ FleetSpotMaintenanceStrategiesRequest.struct_class = Types::FleetSpotMaintenanceStrategiesRequest
5890
+
5844
5891
  FlowLog.add_member(:creation_time, Shapes::ShapeRef.new(shape: MillisecondDateTime, location_name: "creationTime"))
5845
5892
  FlowLog.add_member(:deliver_logs_error_message, Shapes::ShapeRef.new(shape: String, location_name: "deliverLogsErrorMessage"))
5846
5893
  FlowLog.add_member(:deliver_logs_permission_arn, Shapes::ShapeRef.new(shape: String, location_name: "deliverLogsPermissionArn"))
@@ -7350,6 +7397,7 @@ module Aws::EC2
7350
7397
  ModifyClientVpnEndpointRequest.add_member(:security_group_ids, Shapes::ShapeRef.new(shape: ClientVpnSecurityGroupIdSet, location_name: "SecurityGroupId"))
7351
7398
  ModifyClientVpnEndpointRequest.add_member(:vpc_id, Shapes::ShapeRef.new(shape: VpcId, location_name: "VpcId"))
7352
7399
  ModifyClientVpnEndpointRequest.add_member(:self_service_portal, Shapes::ShapeRef.new(shape: SelfServicePortal, location_name: "SelfServicePortal"))
7400
+ ModifyClientVpnEndpointRequest.add_member(:client_connect_options, Shapes::ShapeRef.new(shape: ClientConnectOptions, location_name: "ClientConnectOptions"))
7353
7401
  ModifyClientVpnEndpointRequest.struct_class = Types::ModifyClientVpnEndpointRequest
7354
7402
 
7355
7403
  ModifyClientVpnEndpointResult.add_member(:return, Shapes::ShapeRef.new(shape: Boolean, location_name: "return"))
@@ -7374,7 +7422,7 @@ module Aws::EC2
7374
7422
  ModifyFleetRequest.add_member(:excess_capacity_termination_policy, Shapes::ShapeRef.new(shape: FleetExcessCapacityTerminationPolicy, location_name: "ExcessCapacityTerminationPolicy"))
7375
7423
  ModifyFleetRequest.add_member(:launch_template_configs, Shapes::ShapeRef.new(shape: FleetLaunchTemplateConfigListRequest, location_name: "LaunchTemplateConfig"))
7376
7424
  ModifyFleetRequest.add_member(:fleet_id, Shapes::ShapeRef.new(shape: FleetId, required: true, location_name: "FleetId"))
7377
- ModifyFleetRequest.add_member(:target_capacity_specification, Shapes::ShapeRef.new(shape: TargetCapacitySpecificationRequest, required: true, location_name: "TargetCapacitySpecification"))
7425
+ ModifyFleetRequest.add_member(:target_capacity_specification, Shapes::ShapeRef.new(shape: TargetCapacitySpecificationRequest, location_name: "TargetCapacitySpecification"))
7378
7426
  ModifyFleetRequest.struct_class = Types::ModifyFleetRequest
7379
7427
 
7380
7428
  ModifyFleetResult.add_member(:return, Shapes::ShapeRef.new(shape: Boolean, location_name: "return"))
@@ -7692,6 +7740,8 @@ module Aws::EC2
7692
7740
  ModifyVpcEndpointServiceConfigurationRequest.add_member(:acceptance_required, Shapes::ShapeRef.new(shape: Boolean, location_name: "AcceptanceRequired"))
7693
7741
  ModifyVpcEndpointServiceConfigurationRequest.add_member(:add_network_load_balancer_arns, Shapes::ShapeRef.new(shape: ValueStringList, location_name: "AddNetworkLoadBalancerArn"))
7694
7742
  ModifyVpcEndpointServiceConfigurationRequest.add_member(:remove_network_load_balancer_arns, Shapes::ShapeRef.new(shape: ValueStringList, location_name: "RemoveNetworkLoadBalancerArn"))
7743
+ ModifyVpcEndpointServiceConfigurationRequest.add_member(:add_gateway_load_balancer_arns, Shapes::ShapeRef.new(shape: ValueStringList, location_name: "AddGatewayLoadBalancerArn"))
7744
+ ModifyVpcEndpointServiceConfigurationRequest.add_member(:remove_gateway_load_balancer_arns, Shapes::ShapeRef.new(shape: ValueStringList, location_name: "RemoveGatewayLoadBalancerArn"))
7695
7745
  ModifyVpcEndpointServiceConfigurationRequest.struct_class = Types::ModifyVpcEndpointServiceConfigurationRequest
7696
7746
 
7697
7747
  ModifyVpcEndpointServiceConfigurationResult.add_member(:return, Shapes::ShapeRef.new(shape: Boolean, location_name: "return"))
@@ -7863,8 +7913,18 @@ module Aws::EC2
7863
7913
 
7864
7914
  NetworkAclList.member = Shapes::ShapeRef.new(shape: NetworkAcl, location_name: "item")
7865
7915
 
7916
+ NetworkCardInfo.add_member(:network_card_index, Shapes::ShapeRef.new(shape: NetworkCardIndex, location_name: "networkCardIndex"))
7917
+ NetworkCardInfo.add_member(:network_performance, Shapes::ShapeRef.new(shape: NetworkPerformance, location_name: "networkPerformance"))
7918
+ NetworkCardInfo.add_member(:maximum_network_interfaces, Shapes::ShapeRef.new(shape: MaxNetworkInterfaces, location_name: "maximumNetworkInterfaces"))
7919
+ NetworkCardInfo.struct_class = Types::NetworkCardInfo
7920
+
7921
+ NetworkCardInfoList.member = Shapes::ShapeRef.new(shape: NetworkCardInfo, location_name: "item")
7922
+
7866
7923
  NetworkInfo.add_member(:network_performance, Shapes::ShapeRef.new(shape: NetworkPerformance, location_name: "networkPerformance"))
7867
7924
  NetworkInfo.add_member(:maximum_network_interfaces, Shapes::ShapeRef.new(shape: MaxNetworkInterfaces, location_name: "maximumNetworkInterfaces"))
7925
+ NetworkInfo.add_member(:maximum_network_cards, Shapes::ShapeRef.new(shape: MaximumNetworkCards, location_name: "maximumNetworkCards"))
7926
+ NetworkInfo.add_member(:default_network_card_index, Shapes::ShapeRef.new(shape: DefaultNetworkCardIndex, location_name: "defaultNetworkCardIndex"))
7927
+ NetworkInfo.add_member(:network_cards, Shapes::ShapeRef.new(shape: NetworkCardInfoList, location_name: "networkCards"))
7868
7928
  NetworkInfo.add_member(:ipv_4_addresses_per_interface, Shapes::ShapeRef.new(shape: MaxIpv4AddrPerInterface, location_name: "ipv4AddressesPerInterface"))
7869
7929
  NetworkInfo.add_member(:ipv_6_addresses_per_interface, Shapes::ShapeRef.new(shape: MaxIpv6AddrPerInterface, location_name: "ipv6AddressesPerInterface"))
7870
7930
  NetworkInfo.add_member(:ipv_6_supported, Shapes::ShapeRef.new(shape: Ipv6Flag, location_name: "ipv6Supported"))
@@ -8436,6 +8496,7 @@ module Aws::EC2
8436
8496
  ReplaceRouteRequest.add_member(:destination_ipv_6_cidr_block, Shapes::ShapeRef.new(shape: String, location_name: "destinationIpv6CidrBlock"))
8437
8497
  ReplaceRouteRequest.add_member(:destination_prefix_list_id, Shapes::ShapeRef.new(shape: PrefixListResourceId, location_name: "DestinationPrefixListId"))
8438
8498
  ReplaceRouteRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "dryRun"))
8499
+ ReplaceRouteRequest.add_member(:vpc_endpoint_id, Shapes::ShapeRef.new(shape: VpcEndpointId, location_name: "VpcEndpointId"))
8439
8500
  ReplaceRouteRequest.add_member(:egress_only_internet_gateway_id, Shapes::ShapeRef.new(shape: EgressOnlyInternetGatewayId, location_name: "egressOnlyInternetGatewayId"))
8440
8501
  ReplaceRouteRequest.add_member(:gateway_id, Shapes::ShapeRef.new(shape: RouteGatewayId, location_name: "gatewayId"))
8441
8502
  ReplaceRouteRequest.add_member(:instance_id, Shapes::ShapeRef.new(shape: InstanceId, location_name: "instanceId"))
@@ -9114,6 +9175,7 @@ module Aws::EC2
9114
9175
  ServiceConfiguration.add_member(:acceptance_required, Shapes::ShapeRef.new(shape: Boolean, location_name: "acceptanceRequired"))
9115
9176
  ServiceConfiguration.add_member(:manages_vpc_endpoints, Shapes::ShapeRef.new(shape: Boolean, location_name: "managesVpcEndpoints"))
9116
9177
  ServiceConfiguration.add_member(:network_load_balancer_arns, Shapes::ShapeRef.new(shape: ValueStringList, location_name: "networkLoadBalancerArnSet"))
9178
+ ServiceConfiguration.add_member(:gateway_load_balancer_arns, Shapes::ShapeRef.new(shape: ValueStringList, location_name: "gatewayLoadBalancerArnSet"))
9117
9179
  ServiceConfiguration.add_member(:base_endpoint_dns_names, Shapes::ShapeRef.new(shape: ValueStringList, location_name: "baseEndpointDnsNameSet"))
9118
9180
  ServiceConfiguration.add_member(:private_dns_name, Shapes::ShapeRef.new(shape: String, location_name: "privateDnsName"))
9119
9181
  ServiceConfiguration.add_member(:private_dns_name_configuration, Shapes::ShapeRef.new(shape: PrivateDnsNameConfiguration, location_name: "privateDnsNameConfiguration"))
@@ -9218,6 +9280,9 @@ module Aws::EC2
9218
9280
  SnapshotTaskDetail.add_member(:user_bucket, Shapes::ShapeRef.new(shape: UserBucketDetails, location_name: "userBucket"))
9219
9281
  SnapshotTaskDetail.struct_class = Types::SnapshotTaskDetail
9220
9282
 
9283
+ SpotCapacityRebalance.add_member(:replacement_strategy, Shapes::ShapeRef.new(shape: ReplacementStrategy, location_name: "replacementStrategy"))
9284
+ SpotCapacityRebalance.struct_class = Types::SpotCapacityRebalance
9285
+
9221
9286
  SpotDatafeedSubscription.add_member(:bucket, Shapes::ShapeRef.new(shape: String, location_name: "bucket"))
9222
9287
  SpotDatafeedSubscription.add_member(:fault, Shapes::ShapeRef.new(shape: SpotInstanceStateFault, location_name: "fault"))
9223
9288
  SpotDatafeedSubscription.add_member(:owner_id, Shapes::ShapeRef.new(shape: String, location_name: "ownerId"))
@@ -9258,6 +9323,7 @@ module Aws::EC2
9258
9323
 
9259
9324
  SpotFleetRequestConfigData.add_member(:allocation_strategy, Shapes::ShapeRef.new(shape: AllocationStrategy, location_name: "allocationStrategy"))
9260
9325
  SpotFleetRequestConfigData.add_member(:on_demand_allocation_strategy, Shapes::ShapeRef.new(shape: OnDemandAllocationStrategy, location_name: "onDemandAllocationStrategy"))
9326
+ SpotFleetRequestConfigData.add_member(:spot_maintenance_strategies, Shapes::ShapeRef.new(shape: SpotMaintenanceStrategies, location_name: "spotMaintenanceStrategies"))
9261
9327
  SpotFleetRequestConfigData.add_member(:client_token, Shapes::ShapeRef.new(shape: String, location_name: "clientToken"))
9262
9328
  SpotFleetRequestConfigData.add_member(:excess_capacity_termination_policy, Shapes::ShapeRef.new(shape: ExcessCapacityTerminationPolicy, location_name: "excessCapacityTerminationPolicy"))
9263
9329
  SpotFleetRequestConfigData.add_member(:fulfilled_capacity, Shapes::ShapeRef.new(shape: Double, location_name: "fulfilledCapacity"))
@@ -9325,6 +9391,9 @@ module Aws::EC2
9325
9391
  SpotInstanceStatus.add_member(:update_time, Shapes::ShapeRef.new(shape: DateTime, location_name: "updateTime"))
9326
9392
  SpotInstanceStatus.struct_class = Types::SpotInstanceStatus
9327
9393
 
9394
+ SpotMaintenanceStrategies.add_member(:capacity_rebalance, Shapes::ShapeRef.new(shape: SpotCapacityRebalance, location_name: "capacityRebalance"))
9395
+ SpotMaintenanceStrategies.struct_class = Types::SpotMaintenanceStrategies
9396
+
9328
9397
  SpotMarketOptions.add_member(:max_price, Shapes::ShapeRef.new(shape: String, location_name: "MaxPrice"))
9329
9398
  SpotMarketOptions.add_member(:spot_instance_type, Shapes::ShapeRef.new(shape: SpotInstanceType, location_name: "SpotInstanceType"))
9330
9399
  SpotMarketOptions.add_member(:block_duration_minutes, Shapes::ShapeRef.new(shape: Integer, location_name: "BlockDurationMinutes"))
@@ -9333,6 +9402,7 @@ module Aws::EC2
9333
9402
  SpotMarketOptions.struct_class = Types::SpotMarketOptions
9334
9403
 
9335
9404
  SpotOptions.add_member(:allocation_strategy, Shapes::ShapeRef.new(shape: SpotAllocationStrategy, location_name: "allocationStrategy"))
9405
+ SpotOptions.add_member(:maintenance_strategies, Shapes::ShapeRef.new(shape: FleetSpotMaintenanceStrategies, location_name: "maintenanceStrategies"))
9336
9406
  SpotOptions.add_member(:instance_interruption_behavior, Shapes::ShapeRef.new(shape: SpotInstanceInterruptionBehavior, location_name: "instanceInterruptionBehavior"))
9337
9407
  SpotOptions.add_member(:instance_pools_to_use_count, Shapes::ShapeRef.new(shape: Integer, location_name: "instancePoolsToUseCount"))
9338
9408
  SpotOptions.add_member(:single_instance_type, Shapes::ShapeRef.new(shape: Boolean, location_name: "singleInstanceType"))
@@ -9342,6 +9412,7 @@ module Aws::EC2
9342
9412
  SpotOptions.struct_class = Types::SpotOptions
9343
9413
 
9344
9414
  SpotOptionsRequest.add_member(:allocation_strategy, Shapes::ShapeRef.new(shape: SpotAllocationStrategy, location_name: "AllocationStrategy"))
9415
+ SpotOptionsRequest.add_member(:maintenance_strategies, Shapes::ShapeRef.new(shape: FleetSpotMaintenanceStrategiesRequest, location_name: "MaintenanceStrategies"))
9345
9416
  SpotOptionsRequest.add_member(:instance_interruption_behavior, Shapes::ShapeRef.new(shape: SpotInstanceInterruptionBehavior, location_name: "InstanceInterruptionBehavior"))
9346
9417
  SpotOptionsRequest.add_member(:instance_pools_to_use_count, Shapes::ShapeRef.new(shape: Integer, location_name: "InstancePoolsToUseCount"))
9347
9418
  SpotOptionsRequest.add_member(:single_instance_type, Shapes::ShapeRef.new(shape: Boolean, location_name: "SingleInstanceType"))
@@ -10160,6 +10231,7 @@ module Aws::EC2
10160
10231
  VpcEndpointConnection.add_member(:creation_timestamp, Shapes::ShapeRef.new(shape: MillisecondDateTime, location_name: "creationTimestamp"))
10161
10232
  VpcEndpointConnection.add_member(:dns_entries, Shapes::ShapeRef.new(shape: DnsEntrySet, location_name: "dnsEntrySet"))
10162
10233
  VpcEndpointConnection.add_member(:network_load_balancer_arns, Shapes::ShapeRef.new(shape: ValueStringList, location_name: "networkLoadBalancerArnSet"))
10234
+ VpcEndpointConnection.add_member(:gateway_load_balancer_arns, Shapes::ShapeRef.new(shape: ValueStringList, location_name: "gatewayLoadBalancerArnSet"))
10163
10235
  VpcEndpointConnection.struct_class = Types::VpcEndpointConnection
10164
10236
 
10165
10237
  VpcEndpointConnectionSet.member = Shapes::ShapeRef.new(shape: VpcEndpointConnection, location_name: "item")
@@ -521,18 +521,15 @@ module Aws::EC2
521
521
  # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html
522
522
  # @option options [Types::EnclaveOptionsRequest] :enclave_options
523
523
  # Indicates whether the instance is enabled for AWS Nitro Enclaves. For
524
- # more information, see [ AWS Nitro Enclaves][1] in the *Amazon Elastic
525
- # Compute Cloud User Guide*.
524
+ # more information, see [ What is AWS Nitro Enclaves?][1] in the *AWS
525
+ # Nitro Enclaves User Guide*.
526
526
  #
527
527
  # You can't enable AWS Nitro Enclaves and hibernation on the same
528
- # instance. For more information about AWS Nitro Enclaves requirements,
529
- # see [ AWS Nitro Enclaves][2] in the *Amazon Elastic Compute Cloud User
530
- # Guide*.
528
+ # instance.
531
529
  #
532
530
  #
533
531
  #
534
- # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave.html
535
- # [2]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave.html#nitro-enclave-reqs
532
+ # [1]: https://docs.aws.amazon.com/enclaves/latest/user/nitro-enclave.html
536
533
  # @return [Instance::Collection]
537
534
  def create_instances(options = {})
538
535
  batch = []
@@ -1202,15 +1199,15 @@ module Aws::EC2
1202
1199
  #
1203
1200
  # You can specify the CMK using any of the following:
1204
1201
  #
1205
- # * Key ID. For example, key/1234abcd-12ab-34cd-56ef-1234567890ab.
1202
+ # * Key ID. For example, 1234abcd-12ab-34cd-56ef-1234567890ab.
1206
1203
  #
1207
1204
  # * Key alias. For example, alias/ExampleAlias.
1208
1205
  #
1209
1206
  # * Key ARN. For example,
1210
- # arn:aws:kms:*us-east-1*\:*012345678910*\:key/*abcd1234-a123-456a-a12b-a123b4cd56ef*.
1207
+ # arn:aws:kms:us-east-1:012345678910:key/1234abcd-12ab-34cd-56ef-1234567890ab.
1211
1208
  #
1212
1209
  # * Alias ARN. For example,
1213
- # arn:aws:kms:*us-east-1*\:*012345678910*\:alias/*ExampleAlias*.
1210
+ # arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.
1214
1211
  #
1215
1212
  # AWS authenticates the CMK asynchronously. Therefore, if you specify an
1216
1213
  # ID, alias, or ARN that is not valid, the action can appear to
@@ -300,6 +300,7 @@ module Aws::EC2
300
300
  # destination_ipv_6_cidr_block: "String",
301
301
  # destination_prefix_list_id: "PrefixListResourceId",
302
302
  # dry_run: false,
303
+ # vpc_endpoint_id: "VpcEndpointId",
303
304
  # egress_only_internet_gateway_id: "EgressOnlyInternetGatewayId",
304
305
  # gateway_id: "RouteGatewayId",
305
306
  # instance_id: "InstanceId",
@@ -323,6 +324,9 @@ module Aws::EC2
323
324
  # without actually making the request, and provides an error response.
324
325
  # If you have the required permissions, the error response is
325
326
  # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
327
+ # @option options [String] :vpc_endpoint_id
328
+ # The ID of a VPC endpoint. Supported for Gateway Load Balancer
329
+ # endpoints only.
326
330
  # @option options [String] :egress_only_internet_gateway_id
327
331
  # \[IPv6 traffic only\] The ID of an egress-only internet gateway.
328
332
  # @option options [String] :gateway_id
@@ -227,6 +227,7 @@ module Aws::EC2
227
227
  # destination_ipv_6_cidr_block: "String",
228
228
  # destination_prefix_list_id: "PrefixListResourceId",
229
229
  # dry_run: false,
230
+ # vpc_endpoint_id: "VpcEndpointId",
230
231
  # egress_only_internet_gateway_id: "EgressOnlyInternetGatewayId",
231
232
  # gateway_id: "RouteGatewayId",
232
233
  # instance_id: "InstanceId",
@@ -253,6 +254,9 @@ module Aws::EC2
253
254
  # without actually making the request, and provides an error response.
254
255
  # If you have the required permissions, the error response is
255
256
  # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
257
+ # @option options [String] :vpc_endpoint_id
258
+ # The ID of a VPC endpoint. Supported for Gateway Load Balancer
259
+ # endpoints only.
256
260
  # @option options [String] :egress_only_internet_gateway_id
257
261
  # \[IPv6 traffic only\] The ID of an egress-only internet gateway.
258
262
  # @option options [String] :gateway_id
@@ -115,10 +115,9 @@ module Aws::EC2
115
115
  data[:volume_size]
116
116
  end
117
117
 
118
- # The AWS owner alias, as maintained by Amazon. The possible values are:
119
- # `amazon` \| `self` \| `all` \| `aws-marketplace` \| `microsoft`. This
120
- # AWS owner alias is not to be confused with the user-configured AWS
121
- # account alias, which is set from the IAM console.
118
+ # The AWS owner alias, from an Amazon-maintained list (`amazon`). This
119
+ # is not the user-configured AWS account alias set using the IAM
120
+ # console.
122
121
  # @return [String]
123
122
  def owner_alias
124
123
  data[:owner_alias]
@@ -336,15 +335,15 @@ module Aws::EC2
336
335
  #
337
336
  # You can specify the CMK using any of the following:
338
337
  #
339
- # * Key ID. For example, key/1234abcd-12ab-34cd-56ef-1234567890ab.
338
+ # * Key ID. For example, 1234abcd-12ab-34cd-56ef-1234567890ab.
340
339
  #
341
340
  # * Key alias. For example, alias/ExampleAlias.
342
341
  #
343
342
  # * Key ARN. For example,
344
- # arn:aws:kms:*us-east-1*\:*012345678910*\:key/*abcd1234-a123-456a-a12b-a123b4cd56ef*.
343
+ # arn:aws:kms:us-east-1:012345678910:key/1234abcd-12ab-34cd-56ef-1234567890ab.
345
344
  #
346
345
  # * Alias ARN. For example,
347
- # arn:aws:kms:*us-east-1*\:*012345678910*\:alias/*ExampleAlias*.
346
+ # arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.
348
347
  #
349
348
  # AWS authenticates the CMK asynchronously. Therefore, if you specify an
350
349
  # ID, alias, or ARN that is not valid, the action can appear to
@@ -710,18 +710,15 @@ module Aws::EC2
710
710
  # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html
711
711
  # @option options [Types::EnclaveOptionsRequest] :enclave_options
712
712
  # Indicates whether the instance is enabled for AWS Nitro Enclaves. For
713
- # more information, see [ AWS Nitro Enclaves][1] in the *Amazon Elastic
714
- # Compute Cloud User Guide*.
713
+ # more information, see [ What is AWS Nitro Enclaves?][1] in the *AWS
714
+ # Nitro Enclaves User Guide*.
715
715
  #
716
716
  # You can't enable AWS Nitro Enclaves and hibernation on the same
717
- # instance. For more information about AWS Nitro Enclaves requirements,
718
- # see [ AWS Nitro Enclaves][2] in the *Amazon Elastic Compute Cloud User
719
- # Guide*.
717
+ # instance.
720
718
  #
721
719
  #
722
720
  #
723
- # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave.html
724
- # [2]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave.html#nitro-enclave-reqs
721
+ # [1]: https://docs.aws.amazon.com/enclaves/latest/user/nitro-enclave.html
725
722
  # @return [Instance::Collection]
726
723
  def create_instances(options = {})
727
724
  batch = []
@@ -462,7 +462,7 @@ module Aws::EC2
462
462
  # {
463
463
  # domain: "vpc", # accepts vpc, standard
464
464
  # address: "PublicIpAddress",
465
- # public_ipv_4_pool: "String",
465
+ # public_ipv_4_pool: "Ipv4PoolEc2Id",
466
466
  # network_border_group: "String",
467
467
  # customer_owned_ipv_4_pool: "String",
468
468
  # dry_run: false,
@@ -1156,8 +1156,8 @@ module Aws::EC2
1156
1156
  # @return [String]
1157
1157
  #
1158
1158
  # @!attribute [rw] encryption_kms_key_id
1159
- # The ID of the AWS Key Management Service (KMS) key used to encrypt
1160
- # the private key of the certificate.
1159
+ # The ID of the AWS KMS CMK used to encrypt the private key of the
1160
+ # certificate.
1161
1161
  # @return [String]
1162
1162
  #
1163
1163
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateEnclaveCertificateIamRoleResult AWS API Documentation
@@ -1514,7 +1514,8 @@ module Aws::EC2
1514
1514
  # @return [String]
1515
1515
  #
1516
1516
  # @!attribute [rw] encryption_kms_key_id
1517
- # The ID of the KMS key used to encrypt the private key.
1517
+ # The ID of the KMS customer master key (CMK) used to encrypt the
1518
+ # private key.
1518
1519
  # @return [String]
1519
1520
  #
1520
1521
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociatedRole AWS API Documentation
@@ -3221,7 +3222,7 @@ module Aws::EC2
3221
3222
  # For more information about Capacity Reservations, see [On-Demand
3222
3223
  # Capacity Reservations][1] in the *Amazon Elastic Compute Cloud User
3223
3224
  # Guide*. For examples of using Capacity Reservations in an EC2 Fleet,
3224
- # see [EC2 Fleet Example Configurations][2] in the *Amazon Elastic
3225
+ # see [EC2 Fleet example configurations][2] in the *Amazon Elastic
3225
3226
  # Compute Cloud User Guide*.
3226
3227
  #
3227
3228
  #
@@ -3265,7 +3266,7 @@ module Aws::EC2
3265
3266
  # For more information about Capacity Reservations, see [On-Demand
3266
3267
  # Capacity Reservations][1] in the *Amazon Elastic Compute Cloud User
3267
3268
  # Guide*. For examples of using Capacity Reservations in an EC2 Fleet,
3268
- # see [EC2 Fleet Example Configurations][2] in the *Amazon Elastic
3269
+ # see [EC2 Fleet example configurations][2] in the *Amazon Elastic
3269
3270
  # Compute Cloud User Guide*.
3270
3271
  #
3271
3272
  #
@@ -3674,6 +3675,62 @@ module Aws::EC2
3674
3675
  include Aws::Structure
3675
3676
  end
3676
3677
 
3678
+ # The options for managing connection authorization for new client
3679
+ # connections.
3680
+ #
3681
+ # @note When making an API call, you may pass ClientConnectOptions
3682
+ # data as a hash:
3683
+ #
3684
+ # {
3685
+ # enabled: false,
3686
+ # lambda_function_arn: "String",
3687
+ # }
3688
+ #
3689
+ # @!attribute [rw] enabled
3690
+ # Indicates whether client connect options are enabled. The default is
3691
+ # `false` (not enabled).
3692
+ # @return [Boolean]
3693
+ #
3694
+ # @!attribute [rw] lambda_function_arn
3695
+ # The Amazon Resource Name (ARN) of the AWS Lambda function used for
3696
+ # connection authorization.
3697
+ # @return [String]
3698
+ #
3699
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ClientConnectOptions AWS API Documentation
3700
+ #
3701
+ class ClientConnectOptions < Struct.new(
3702
+ :enabled,
3703
+ :lambda_function_arn)
3704
+ SENSITIVE = []
3705
+ include Aws::Structure
3706
+ end
3707
+
3708
+ # The options for managing connection authorization for new client
3709
+ # connections.
3710
+ #
3711
+ # @!attribute [rw] enabled
3712
+ # Indicates whether client connect options are enabled.
3713
+ # @return [Boolean]
3714
+ #
3715
+ # @!attribute [rw] lambda_function_arn
3716
+ # The Amazon Resource Name (ARN) of the AWS Lambda function used for
3717
+ # connection authorization.
3718
+ # @return [String]
3719
+ #
3720
+ # @!attribute [rw] status
3721
+ # The status of any updates to the client connect options.
3722
+ # @return [Types::ClientVpnEndpointAttributeStatus]
3723
+ #
3724
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ClientConnectResponseOptions AWS API Documentation
3725
+ #
3726
+ class ClientConnectResponseOptions < Struct.new(
3727
+ :enabled,
3728
+ :lambda_function_arn,
3729
+ :status)
3730
+ SENSITIVE = []
3731
+ include Aws::Structure
3732
+ end
3733
+
3677
3734
  # Describes the client-specific data.
3678
3735
  #
3679
3736
  # @note When making an API call, you may pass ClientData
@@ -3882,6 +3939,11 @@ module Aws::EC2
3882
3939
  # The date and time the client connection was terminated.
3883
3940
  # @return [String]
3884
3941
  #
3942
+ # @!attribute [rw] posture_compliance_statuses
3943
+ # The statuses returned by the client connect handler for posture
3944
+ # compliance, if applicable.
3945
+ # @return [Array<String>]
3946
+ #
3885
3947
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ClientVpnConnection AWS API Documentation
3886
3948
  #
3887
3949
  class ClientVpnConnection < Struct.new(
@@ -3897,7 +3959,8 @@ module Aws::EC2
3897
3959
  :client_ip,
3898
3960
  :common_name,
3899
3961
  :status,
3900
- :connection_end_time)
3962
+ :connection_end_time,
3963
+ :posture_compliance_statuses)
3901
3964
  SENSITIVE = []
3902
3965
  include Aws::Structure
3903
3966
  end
@@ -4018,6 +4081,11 @@ module Aws::EC2
4018
4081
  # The URL of the self-service portal.
4019
4082
  # @return [String]
4020
4083
  #
4084
+ # @!attribute [rw] client_connect_options
4085
+ # The options for managing connection authorization for new client
4086
+ # connections.
4087
+ # @return [Types::ClientConnectResponseOptions]
4088
+ #
4021
4089
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ClientVpnEndpoint AWS API Documentation
4022
4090
  #
4023
4091
  class ClientVpnEndpoint < Struct.new(
@@ -4040,7 +4108,27 @@ module Aws::EC2
4040
4108
  :tags,
4041
4109
  :security_group_ids,
4042
4110
  :vpc_id,
4043
- :self_service_portal_url)
4111
+ :self_service_portal_url,
4112
+ :client_connect_options)
4113
+ SENSITIVE = []
4114
+ include Aws::Structure
4115
+ end
4116
+
4117
+ # Describes the status of the Client VPN endpoint attribute.
4118
+ #
4119
+ # @!attribute [rw] code
4120
+ # The status code.
4121
+ # @return [String]
4122
+ #
4123
+ # @!attribute [rw] message
4124
+ # The status message.
4125
+ # @return [String]
4126
+ #
4127
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ClientVpnEndpointAttributeStatus AWS API Documentation
4128
+ #
4129
+ class ClientVpnEndpointAttributeStatus < Struct.new(
4130
+ :code,
4131
+ :message)
4044
4132
  SENSITIVE = []
4045
4133
  include Aws::Structure
4046
4134
  end
@@ -4536,32 +4624,29 @@ module Aws::EC2
4536
4624
  # @return [Boolean]
4537
4625
  #
4538
4626
  # @!attribute [rw] kms_key_id
4539
- # An identifier for the symmetric AWS Key Management Service (AWS KMS)
4540
- # customer master key (CMK) to use when creating the encrypted volume.
4541
- # This parameter is only required if you want to use a non-default
4542
- # CMK; if this parameter is not specified, the default CMK for EBS is
4543
- # used. If a `KmsKeyId` is specified, the `Encrypted` flag must also
4544
- # be set.
4627
+ # The identifier of the symmetric AWS Key Management Service (AWS KMS)
4628
+ # customer master key (CMK) to use when creating encrypted volumes. If
4629
+ # this parameter is not specified, your AWS managed CMK for EBS is
4630
+ # used. If you specify a CMK, you must also set the encrypted state to
4631
+ # `true`.
4545
4632
  #
4546
- # To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias
4547
- # name, or alias ARN. When using an alias name, prefix it with
4548
- # "alias/". For example:
4633
+ # You can specify a CMK using any of the following:
4549
4634
  #
4550
- # * Key ID: `1234abcd-12ab-34cd-56ef-1234567890ab`
4635
+ # * Key ID. For example, 1234abcd-12ab-34cd-56ef-1234567890ab.
4551
4636
  #
4552
- # * Key ARN:
4553
- # `arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab`
4637
+ # * Key alias. For example, alias/ExampleAlias.
4554
4638
  #
4555
- # * Alias name: `alias/ExampleAlias`
4639
+ # * Key ARN. For example,
4640
+ # arn:aws:kms:us-east-1:012345678910:key/1234abcd-12ab-34cd-56ef-1234567890ab.
4556
4641
  #
4557
- # * Alias ARN: `arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias`
4642
+ # * Alias ARN. For example,
4643
+ # arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.
4558
4644
  #
4559
- # AWS parses `KmsKeyId` asynchronously, meaning that the action you
4560
- # call may appear to complete even though you provided an invalid
4561
- # identifier. This action will eventually report failure.
4645
+ # AWS authenticates the CMK asynchronously. Therefore, if you specify
4646
+ # an identifier that is not valid, the action can appear to complete,
4647
+ # but eventually fails.
4562
4648
  #
4563
- # The specified CMK must exist in the Region that the snapshot is
4564
- # being copied to.
4649
+ # The specified CMK must exist in the destination Region.
4565
4650
  #
4566
4651
  # Amazon EBS does not support asymmetric CMKs.
4567
4652
  # @return [String]
@@ -4677,15 +4762,15 @@ module Aws::EC2
4677
4762
  #
4678
4763
  # You can specify the CMK using any of the following:
4679
4764
  #
4680
- # * Key ID. For example, key/1234abcd-12ab-34cd-56ef-1234567890ab.
4765
+ # * Key ID. For example, 1234abcd-12ab-34cd-56ef-1234567890ab.
4681
4766
  #
4682
4767
  # * Key alias. For example, alias/ExampleAlias.
4683
4768
  #
4684
4769
  # * Key ARN. For example,
4685
- # arn:aws:kms:*us-east-1*\:*012345678910*\:key/*abcd1234-a123-456a-a12b-a123b4cd56ef*.
4770
+ # arn:aws:kms:us-east-1:012345678910:key/1234abcd-12ab-34cd-56ef-1234567890ab.
4686
4771
  #
4687
4772
  # * Alias ARN. For example,
4688
- # arn:aws:kms:*us-east-1*\:*012345678910*\:alias/*ExampleAlias*.
4773
+ # arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.
4689
4774
  #
4690
4775
  # AWS authenticates the CMK asynchronously. Therefore, if you specify
4691
4776
  # an ID, alias, or ARN that is not valid, the action can appear to
@@ -5119,6 +5204,10 @@ module Aws::EC2
5119
5204
  # security_group_ids: ["SecurityGroupId"],
5120
5205
  # vpc_id: "VpcId",
5121
5206
  # self_service_portal: "enabled", # accepts enabled, disabled
5207
+ # client_connect_options: {
5208
+ # enabled: false,
5209
+ # lambda_function_arn: "String",
5210
+ # },
5122
5211
  # }
5123
5212
  #
5124
5213
  # @!attribute [rw] client_cidr_block
@@ -5244,6 +5333,11 @@ module Aws::EC2
5244
5333
  # Default Value: `enabled`
5245
5334
  # @return [String]
5246
5335
  #
5336
+ # @!attribute [rw] client_connect_options
5337
+ # The options for managing connection authorization for new client
5338
+ # connections.
5339
+ # @return [Types::ClientConnectOptions]
5340
+ #
5247
5341
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateClientVpnEndpointRequest AWS API Documentation
5248
5342
  #
5249
5343
  class CreateClientVpnEndpointRequest < Struct.new(
@@ -5261,7 +5355,8 @@ module Aws::EC2
5261
5355
  :tag_specifications,
5262
5356
  :security_group_ids,
5263
5357
  :vpc_id,
5264
- :self_service_portal)
5358
+ :self_service_portal,
5359
+ :client_connect_options)
5265
5360
  SENSITIVE = []
5266
5361
  include Aws::Structure
5267
5362
  end
@@ -5768,6 +5863,11 @@ module Aws::EC2
5768
5863
  # client_token: "String",
5769
5864
  # spot_options: {
5770
5865
  # allocation_strategy: "lowest-price", # accepts lowest-price, diversified, capacity-optimized
5866
+ # maintenance_strategies: {
5867
+ # capacity_rebalance: {
5868
+ # replacement_strategy: "launch", # accepts launch
5869
+ # },
5870
+ # },
5771
5871
  # instance_interruption_behavior: "hibernate", # accepts hibernate, stop, terminate
5772
5872
  # instance_pools_to_use_count: 1,
5773
5873
  # single_instance_type: false,
@@ -5884,15 +5984,23 @@ module Aws::EC2
5884
5984
  # @return [Boolean]
5885
5985
  #
5886
5986
  # @!attribute [rw] type
5887
- # The type of the request. By default, the EC2 Fleet places an
5888
- # asynchronous request for your desired capacity, and maintains it by
5889
- # replenishing interrupted Spot Instances (`maintain`). A value of
5890
- # `instant` places a synchronous one-time request, and returns errors
5891
- # for any instances that could not be launched. A value of `request`
5892
- # places an asynchronous one-time request without maintaining capacity
5893
- # or submitting requests in alternative capacity pools if capacity is
5894
- # unavailable. For more information, see [EC2 Fleet Request Types][1]
5895
- # in the *Amazon Elastic Compute Cloud User Guide*.
5987
+ # The type of request. The default value is `maintain`.
5988
+ #
5989
+ # * `maintain` - The EC2 Fleet plaees an asynchronous request for your
5990
+ # desired capacity, and continues to maintain your desired Spot
5991
+ # capacity by replenishing interrupted Spot Instances.
5992
+ #
5993
+ # * `request` - The EC2 Fleet places an asynchronous one-time request
5994
+ # for your desired capacity, but does submit Spot requests in
5995
+ # alternative capacity pools if Spot capacity is unavailable, and
5996
+ # does not maintain Spot capacity if Spot Instances are interrupted.
5997
+ #
5998
+ # * `instant` - The EC2 Fleet places a synchronous one-time request
5999
+ # for your desired capacity, and returns errors for any instances
6000
+ # that could not be launched.
6001
+ #
6002
+ # For more information, see [EC2 Fleet request types][1] in the
6003
+ # *Amazon Elastic Compute Cloud User Guide*.
5896
6004
  #
5897
6005
  #
5898
6006
  #
@@ -5921,7 +6029,7 @@ module Aws::EC2
5921
6029
  # The value for `ResourceType` must be `fleet`, otherwise the fleet
5922
6030
  # request fails. To tag instances at launch, specify the tags in the
5923
6031
  # [launch template][1]. For information about tagging after launch,
5924
- # see [Tagging Your Resources][2].
6032
+ # see [Tagging your resources][2].
5925
6033
  #
5926
6034
  #
5927
6035
  #
@@ -6357,14 +6465,14 @@ module Aws::EC2
6357
6465
  #
6358
6466
  # {
6359
6467
  # description: "String",
6360
- # export_to_s3_task: {
6468
+ # export_to_s3_task: { # required
6361
6469
  # container_format: "ova", # accepts ova
6362
6470
  # disk_image_format: "VMDK", # accepts VMDK, RAW, VHD
6363
6471
  # s3_bucket: "String",
6364
6472
  # s3_prefix: "String",
6365
6473
  # },
6366
6474
  # instance_id: "InstanceId", # required
6367
- # target_environment: "citrix", # accepts citrix, vmware, microsoft
6475
+ # target_environment: "citrix", # required, accepts citrix, vmware, microsoft
6368
6476
  # tag_specifications: [
6369
6477
  # {
6370
6478
  # resource_type: "client-vpn-endpoint", # accepts client-vpn-endpoint, customer-gateway, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, internet-gateway, key-pair, launch-template, local-gateway-route-table-vpc-association, natgateway, network-acl, network-interface, placement-group, reserved-instances, route-table, security-group, snapshot, spot-fleet-request, spot-instances-request, subnet, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-multicast-domain, transit-gateway-route-table, volume, vpc, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log
@@ -7790,6 +7898,7 @@ module Aws::EC2
7790
7898
  # destination_ipv_6_cidr_block: "String",
7791
7899
  # destination_prefix_list_id: "PrefixListResourceId",
7792
7900
  # dry_run: false,
7901
+ # vpc_endpoint_id: "VpcEndpointId",
7793
7902
  # egress_only_internet_gateway_id: "EgressOnlyInternetGatewayId",
7794
7903
  # gateway_id: "RouteGatewayId",
7795
7904
  # instance_id: "InstanceId",
@@ -7825,6 +7934,11 @@ module Aws::EC2
7825
7934
  # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
7826
7935
  # @return [Boolean]
7827
7936
  #
7937
+ # @!attribute [rw] vpc_endpoint_id
7938
+ # The ID of a VPC endpoint. Supported for Gateway Load Balancer
7939
+ # endpoints only.
7940
+ # @return [String]
7941
+ #
7828
7942
  # @!attribute [rw] egress_only_internet_gateway_id
7829
7943
  # \[IPv6 traffic only\] The ID of an egress-only internet gateway.
7830
7944
  # @return [String]
@@ -7878,6 +7992,7 @@ module Aws::EC2
7878
7992
  :destination_ipv_6_cidr_block,
7879
7993
  :destination_prefix_list_id,
7880
7994
  :dry_run,
7995
+ :vpc_endpoint_id,
7881
7996
  :egress_only_internet_gateway_id,
7882
7997
  :gateway_id,
7883
7998
  :instance_id,
@@ -9288,7 +9403,7 @@ module Aws::EC2
9288
9403
  # @return [String]
9289
9404
  #
9290
9405
  # @!attribute [rw] ipv_6_support
9291
- # Enable or disable IPv6 support. The default is `enable`.
9406
+ # Enable or disable IPv6 support.
9292
9407
  # @return [String]
9293
9408
  #
9294
9409
  # @!attribute [rw] appliance_mode_support
@@ -9461,15 +9576,15 @@ module Aws::EC2
9461
9576
  #
9462
9577
  # You can specify the CMK using any of the following:
9463
9578
  #
9464
- # * Key ID. For example, key/1234abcd-12ab-34cd-56ef-1234567890ab.
9579
+ # * Key ID. For example, 1234abcd-12ab-34cd-56ef-1234567890ab.
9465
9580
  #
9466
9581
  # * Key alias. For example, alias/ExampleAlias.
9467
9582
  #
9468
9583
  # * Key ARN. For example,
9469
- # arn:aws:kms:*us-east-1*\:*012345678910*\:key/*abcd1234-a123-456a-a12b-a123b4cd56ef*.
9584
+ # arn:aws:kms:us-east-1:012345678910:key/1234abcd-12ab-34cd-56ef-1234567890ab.
9470
9585
  #
9471
9586
  # * Alias ARN. For example,
9472
- # arn:aws:kms:*us-east-1*\:*012345678910*\:alias/*ExampleAlias*.
9587
+ # arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.
9473
9588
  #
9474
9589
  # AWS authenticates the CMK asynchronously. Therefore, if you specify
9475
9590
  # an ID, alias, or ARN that is not valid, the action can appear to
@@ -9632,7 +9747,7 @@ module Aws::EC2
9632
9747
  #
9633
9748
  # {
9634
9749
  # dry_run: false,
9635
- # vpc_endpoint_type: "Interface", # accepts Interface, Gateway
9750
+ # vpc_endpoint_type: "Interface", # accepts Interface, Gateway, GatewayLoadBalancer
9636
9751
  # vpc_id: "VpcId", # required
9637
9752
  # service_name: "String", # required
9638
9753
  # policy_document: "String",
@@ -9678,10 +9793,10 @@ module Aws::EC2
9678
9793
  # @return [String]
9679
9794
  #
9680
9795
  # @!attribute [rw] policy_document
9681
- # A policy to attach to the endpoint that controls access to the
9682
- # service. The policy must be in valid JSON format. If this parameter
9683
- # is not specified, we attach a default policy that allows full access
9684
- # to the service.
9796
+ # (Interface and gateway endpoints) A policy to attach to the endpoint
9797
+ # that controls access to the service. The policy must be in valid
9798
+ # JSON format. If this parameter is not specified, we attach a default
9799
+ # policy that allows full access to the service.
9685
9800
  # @return [String]
9686
9801
  #
9687
9802
  # @!attribute [rw] route_table_ids
@@ -9689,8 +9804,9 @@ module Aws::EC2
9689
9804
  # @return [Array<String>]
9690
9805
  #
9691
9806
  # @!attribute [rw] subnet_ids
9692
- # (Interface endpoint) The ID of one or more subnets in which to
9693
- # create an endpoint network interface.
9807
+ # (Interface and Gateway Load Balancer endpoints) The ID of one or
9808
+ # more subnets in which to create an endpoint network interface. For a
9809
+ # Gateway Load Balancer endpoint, you can specify one subnet only.
9694
9810
  # @return [Array<String>]
9695
9811
  #
9696
9812
  # @!attribute [rw] security_group_ids
@@ -9774,7 +9890,8 @@ module Aws::EC2
9774
9890
  # dry_run: false,
9775
9891
  # acceptance_required: false,
9776
9892
  # private_dns_name: "String",
9777
- # network_load_balancer_arns: ["String"], # required
9893
+ # network_load_balancer_arns: ["String"],
9894
+ # gateway_load_balancer_arns: ["String"],
9778
9895
  # client_token: "String",
9779
9896
  # tag_specifications: [
9780
9897
  # {
@@ -9803,7 +9920,8 @@ module Aws::EC2
9803
9920
  # @return [Boolean]
9804
9921
  #
9805
9922
  # @!attribute [rw] private_dns_name
9806
- # The private DNS name to assign to the VPC endpoint service.
9923
+ # (Interface endpoint configuration) The private DNS name to assign to
9924
+ # the VPC endpoint service.
9807
9925
  # @return [String]
9808
9926
  #
9809
9927
  # @!attribute [rw] network_load_balancer_arns
@@ -9811,6 +9929,11 @@ module Aws::EC2
9811
9929
  # Balancers for your service.
9812
9930
  # @return [Array<String>]
9813
9931
  #
9932
+ # @!attribute [rw] gateway_load_balancer_arns
9933
+ # The Amazon Resource Names (ARNs) of one or more Gateway Load
9934
+ # Balancers.
9935
+ # @return [Array<String>]
9936
+ #
9814
9937
  # @!attribute [rw] client_token
9815
9938
  # Unique, case-sensitive identifier that you provide to ensure the
9816
9939
  # idempotency of the request. For more information, see [How to Ensure
@@ -9832,6 +9955,7 @@ module Aws::EC2
9832
9955
  :acceptance_required,
9833
9956
  :private_dns_name,
9834
9957
  :network_load_balancer_arns,
9958
+ :gateway_load_balancer_arns,
9835
9959
  :client_token,
9836
9960
  :tag_specifications)
9837
9961
  SENSITIVE = []
@@ -10703,8 +10827,15 @@ module Aws::EC2
10703
10827
  # @return [Array<String>]
10704
10828
  #
10705
10829
  # @!attribute [rw] terminate_instances
10706
- # Indicates whether to terminate instances for an EC2 Fleet if it is
10707
- # deleted successfully.
10830
+ # Indicates whether to terminate the instances when the EC2 Fleet is
10831
+ # deleted. The default is to terminate the instances.
10832
+ #
10833
+ # To let the instances continue to run after the EC2 Fleet is deleted,
10834
+ # specify `NoTerminateInstances`. Supported only for fleets of type
10835
+ # `maintain` and `request`.
10836
+ #
10837
+ # For `instant` fleets, you cannot specify `NoTerminateInstances`. A
10838
+ # deleted `instant` fleet with running instances is not supported.
10708
10839
  # @return [Boolean]
10709
10840
  #
10710
10841
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteFleetsRequest AWS API Documentation
@@ -14963,7 +15094,7 @@ module Aws::EC2
14963
15094
  #
14964
15095
  # * `log-destination-type` - The type of destination to which the flow
14965
15096
  # log publishes data. Possible destination types include
14966
- # `cloud-watch-logs` and `S3`.
15097
+ # `cloud-watch-logs` and `s3`.
14967
15098
  #
14968
15099
  # * `flow-log-id` - The ID of the flow log.
14969
15100
  #
@@ -16266,7 +16397,7 @@ module Aws::EC2
16266
16397
  # the location type is `region` (default), the location is the
16267
16398
  # Region code (for example, `us-east-2`.)
16268
16399
  #
16269
- # * `instance-type` - The instance type.
16400
+ # * `instance-type` - The instance type. For example, `c5.2xlarge`.
16270
16401
  # @return [Array<Types::Filter>]
16271
16402
  #
16272
16403
  # @!attribute [rw] max_results
@@ -16345,17 +16476,17 @@ module Aws::EC2
16345
16476
  # One or more filters. Filter names and values are case-sensitive.
16346
16477
  #
16347
16478
  # * `auto-recovery-supported` - Indicates whether auto recovery is
16348
- # supported. (`true` \| `false`)
16479
+ # supported (`true` \| `false`).
16349
16480
  #
16350
- # * `bare-metal` - Indicates whether it is a bare metal instance type.
16351
- # (`true` \| `false`)
16481
+ # * `bare-metal` - Indicates whether it is a bare metal instance type
16482
+ # (`true` \| `false`).
16352
16483
  #
16353
16484
  # * `burstable-performance-supported` - Indicates whether it is a
16354
- # burstable performance instance type. (`true` \| `false`)
16485
+ # burstable performance instance type (`true` \| `false`).
16355
16486
  #
16356
16487
  # * `current-generation` - Indicates whether this instance type is the
16357
- # latest generation instance type of an instance family. (`true` \|
16358
- # `false`)
16488
+ # latest generation instance type of an instance family (`true` \|
16489
+ # `false`).
16359
16490
  #
16360
16491
  # * `ebs-info.ebs-optimized-info.baseline-bandwidth-in-mbps` - The
16361
16492
  # baseline bandwidth performance for an EBS-optimized instance type,
@@ -16367,7 +16498,7 @@ module Aws::EC2
16367
16498
  #
16368
16499
  # * `ebs-info.ebs-optimized-info.baseline-throughput-in-mbps` - The
16369
16500
  # baseline throughput performance for an EBS-optimized instance
16370
- # type, in MBps.
16501
+ # type, in MB/s.
16371
16502
  #
16372
16503
  # * `ebs-info.ebs-optimized-info.maximum-bandwidth-in-mbps` - The
16373
16504
  # maximum bandwidth performance for an EBS-optimized instance type,
@@ -16379,25 +16510,25 @@ module Aws::EC2
16379
16510
  #
16380
16511
  # * `ebs-info.ebs-optimized-info.maximum-throughput-in-mbps` - The
16381
16512
  # maximum throughput performance for an EBS-optimized instance type,
16382
- # in MBps.
16513
+ # in MB/s.
16383
16514
  #
16384
16515
  # * `ebs-info.ebs-optimized-support` - Indicates whether the instance
16385
- # type is EBS-optimized. (`supported` \| `unsupported` \| `default`)
16516
+ # type is EBS-optimized (`supported` \| `unsupported` \| `default`).
16386
16517
  #
16387
16518
  # * `ebs-info.encryption-support` - Indicates whether EBS encryption
16388
- # is supported. (`supported` \| `unsupported`)
16519
+ # is supported (`supported` \| `unsupported`).
16389
16520
  #
16390
16521
  # * `ebs-info.nvme-support` - Indicates whether non-volatile memory
16391
- # express (NVMe) is supported for EBS volumes. (`required` \|
16392
- # `supported` \| `unsupported`)
16522
+ # express (NVMe) is supported for EBS volumes (`required` \|
16523
+ # `supported` \| `unsupported`).
16393
16524
  #
16394
16525
  # * `free-tier-eligible` - Indicates whether the instance type is
16395
- # eligible to use in the free tier. (`true` \| `false`)
16526
+ # eligible to use in the free tier (`true` \| `false`).
16396
16527
  #
16397
16528
  # * `hibernation-supported` - Indicates whether On-Demand hibernation
16398
- # is supported. (`true` \| `false`)
16529
+ # is supported (`true` \| `false`).
16399
16530
  #
16400
- # * `hypervisor` - The hypervisor. (`nitro` \| `xen`)
16531
+ # * `hypervisor` - The hypervisor (`nitro` \| `xen`).
16401
16532
  #
16402
16533
  # * `instance-storage-info.disk.count` - The number of local disks.
16403
16534
  #
@@ -16405,17 +16536,17 @@ module Aws::EC2
16405
16536
  # instance storage disk, in GB.
16406
16537
  #
16407
16538
  # * `instance-storage-info.disk.type` - The storage technology for the
16408
- # local instance storage disks. (`hdd` \| `ssd`)
16539
+ # local instance storage disks (`hdd` \| `ssd`).
16409
16540
  #
16410
16541
  # * `instance-storage-info.nvme-support` - Indicates whether
16411
- # non-volatile memory express (NVMe) is supported for instance
16412
- # store. (`required` \| `supported`) \| `unsupported`)
16542
+ # non-volatile memory express (NVMe) is supported for instance store
16543
+ # (`required` \| `supported`) \| `unsupported`).
16413
16544
  #
16414
16545
  # * `instance-storage-info.total-size-in-gb` - The total amount of
16415
16546
  # storage available from all local instance storage, in GB.
16416
16547
  #
16417
16548
  # * `instance-storage-supported` - Indicates whether the instance type
16418
- # has local instance storage. (`true` \| `false`)
16549
+ # has local instance storage (`true` \| `false`).
16419
16550
  #
16420
16551
  # * `instance-type` - The instance type (for example `c5.2xlarge` or
16421
16552
  # c5*).
@@ -16423,11 +16554,11 @@ module Aws::EC2
16423
16554
  # * `memory-info.size-in-mib` - The memory size.
16424
16555
  #
16425
16556
  # * `network-info.efa-supported` - Indicates whether the instance type
16426
- # supports Elastic Fabric Adapter (EFA). (`true` \| `false`)
16557
+ # supports Elastic Fabric Adapter (EFA) (`true` \| `false`).
16427
16558
  #
16428
16559
  # * `network-info.ena-support` - Indicates whether Elastic Network
16429
- # Adapter (ENA) is supported or required. (`required` \| `supported`
16430
- # \| `unsupported`)
16560
+ # Adapter (ENA) is supported or required (`required` \| `supported`
16561
+ # \| `unsupported`).
16431
16562
  #
16432
16563
  # * `network-info.ipv4-addresses-per-interface` - The maximum number
16433
16564
  # of private IPv4 addresses per network interface.
@@ -16436,7 +16567,7 @@ module Aws::EC2
16436
16567
  # of private IPv6 addresses per network interface.
16437
16568
  #
16438
16569
  # * `network-info.ipv6-supported` - Indicates whether the instance
16439
- # type supports IPv6. (`true` \| `false`)
16570
+ # type supports IPv6 (`true` \| `false`).
16440
16571
  #
16441
16572
  # * `network-info.maximum-network-interfaces` - The maximum number of
16442
16573
  # network interfaces per instance.
@@ -16444,19 +16575,19 @@ module Aws::EC2
16444
16575
  # * `network-info.network-performance` - The network performance (for
16445
16576
  # example, "25 Gigabit").
16446
16577
  #
16447
- # * `processor-info.supported-architecture` - The CPU architecture.
16448
- # (`arm64` \| `i386` \| `x86_64`)
16578
+ # * `processor-info.supported-architecture` - The CPU architecture
16579
+ # (`arm64` \| `i386` \| `x86_64`).
16449
16580
  #
16450
16581
  # * `processor-info.sustained-clock-speed-in-ghz` - The CPU clock
16451
16582
  # speed, in GHz.
16452
16583
  #
16453
- # * `supported-root-device-type` - The root device type. (`ebs` \|
16454
- # `instance-store`)
16584
+ # * `supported-root-device-type` - The root device type (`ebs` \|
16585
+ # `instance-store`).
16455
16586
  #
16456
- # * `supported-usage-class` - The usage class. (`on-demand` \| `spot`)
16587
+ # * `supported-usage-class` - The usage class (`on-demand` \| `spot`).
16457
16588
  #
16458
- # * `supported-virtualization-type` - The virtualization type. (`hvm`
16459
- # \| `paravirtual`)
16589
+ # * `supported-virtualization-type` - The virtualization type (`hvm`
16590
+ # \| `paravirtual`).
16460
16591
  #
16461
16592
  # * `vcpu-info.default-cores` - The default number of cores for the
16462
16593
  # instance type.
@@ -21472,6 +21603,16 @@ module Aws::EC2
21472
21603
  # `initiatingRequest` \| `modifying` \| `pendingAcceptance` \|
21473
21604
  # `pending` \| `rollingBack` \| `rejected` \| `rejecting`).
21474
21605
  #
21606
+ # * `tag`\:&lt;key&gt; - The key/value combination of a tag assigned
21607
+ # to the resource. Use the tag key in the filter name and the tag
21608
+ # value as the filter value. For example, to find all resources that
21609
+ # have a tag with the key `Owner` and the value `TeamA`, specify
21610
+ # `tag:Owner` for the filter name and `TeamA` for the filter value.
21611
+ #
21612
+ # * `tag-key` - The key of a tag assigned to the resource. Use this
21613
+ # filter to find all resources that have a tag with a specific key,
21614
+ # regardless of the tag value.
21615
+ #
21475
21616
  # * `transit-gateway-id` - The ID of the transit gateway.
21476
21617
  # @return [Array<Types::Filter>]
21477
21618
  #
@@ -22851,6 +22992,9 @@ module Aws::EC2
22851
22992
  # (`pendingAcceptance` \| `pending` \| `available` \| `deleting` \|
22852
22993
  # `deleted` \| `rejected` \| `failed`).
22853
22994
  #
22995
+ # * `vpc-endpoint-type` - The type of VPC endpoint (`Interface` \|
22996
+ # `Gateway` \| `GatewayLoadBalancer`).
22997
+ #
22854
22998
  # * `tag`\:&lt;key&gt; - The key/value combination of a tag assigned
22855
22999
  # to the resource. Use the tag key in the filter name and the tag
22856
23000
  # value as the filter value. For example, to find all resources that
@@ -24733,9 +24877,9 @@ module Aws::EC2
24733
24877
  # Describes the Amazon EBS features supported by the instance type.
24734
24878
  #
24735
24879
  # @!attribute [rw] ebs_optimized_support
24736
- # Indicates that the instance type is Amazon EBS-optimized. For more
24737
- # information, see [Amazon EBS-Optimized Instances][1] in *Amazon EC2
24738
- # User Guide for Linux Instances*.
24880
+ # Indicates whether the instance type is Amazon EBS-optimized. For
24881
+ # more information, see [Amazon EBS-Optimized Instances][1] in *Amazon
24882
+ # EC2 User Guide for Linux Instances*.
24739
24883
  #
24740
24884
  #
24741
24885
  #
@@ -24832,7 +24976,7 @@ module Aws::EC2
24832
24976
  #
24833
24977
  # @!attribute [rw] baseline_throughput_in_m_bps
24834
24978
  # The baseline throughput performance for an EBS-optimized instance
24835
- # type, in MBps.
24979
+ # type, in MB/s.
24836
24980
  # @return [Float]
24837
24981
  #
24838
24982
  # @!attribute [rw] baseline_iops
@@ -24847,7 +24991,7 @@ module Aws::EC2
24847
24991
  #
24848
24992
  # @!attribute [rw] maximum_throughput_in_m_bps
24849
24993
  # The maximum throughput performance for an EBS-optimized instance
24850
- # type, in MBps.
24994
+ # type, in MB/s.
24851
24995
  # @return [Float]
24852
24996
  #
24853
24997
  # @!attribute [rw] maximum_iops
@@ -25519,12 +25663,12 @@ module Aws::EC2
25519
25663
  end
25520
25664
 
25521
25665
  # Indicates whether the instance is enabled for AWS Nitro Enclaves. For
25522
- # more information, see [ AWS Nitro Enclaves][1] in the *Amazon Elastic
25523
- # Compute Cloud User Guide*.
25666
+ # more information, see [ What is AWS Nitro Enclaves?][1] in the *AWS
25667
+ # Nitro Enclaves User Guide*.
25524
25668
  #
25525
25669
  #
25526
25670
  #
25527
- # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave.html
25671
+ # [1]: https://docs.aws.amazon.com/enclaves/latest/user/nitro-enclave.html
25528
25672
  #
25529
25673
  # @note When making an API call, you may pass EnclaveOptionsRequest
25530
25674
  # data as a hash:
@@ -26733,6 +26877,113 @@ module Aws::EC2
26733
26877
  include Aws::Structure
26734
26878
  end
26735
26879
 
26880
+ # The strategy to use when Amazon EC2 emits a signal that your Spot
26881
+ # Instance is at an elevated risk of being interrupted.
26882
+ #
26883
+ # @!attribute [rw] replacement_strategy
26884
+ # To allow EC2 Fleet to launch a replacement Spot Instance when an
26885
+ # instance rebalance notification is emitted for an existing Spot
26886
+ # Instance in the fleet, specify `launch`. Only available for fleets
26887
+ # of type `maintain`.
26888
+ #
26889
+ # <note markdown="1"> When a replacement instance is launched, the instance marked for
26890
+ # rebalance is not automatically terminated. You can terminate it, or
26891
+ # you can leave it running. You are charged for both instances while
26892
+ # they are running.
26893
+ #
26894
+ # </note>
26895
+ # @return [String]
26896
+ #
26897
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/FleetSpotCapacityRebalance AWS API Documentation
26898
+ #
26899
+ class FleetSpotCapacityRebalance < Struct.new(
26900
+ :replacement_strategy)
26901
+ SENSITIVE = []
26902
+ include Aws::Structure
26903
+ end
26904
+
26905
+ # The Spot Instance replacement strategy to use when Amazon EC2 emits a
26906
+ # signal that your Spot Instance is at an elevated risk of being
26907
+ # interrupted. For more information, see [Capacity rebalancing][1] in
26908
+ # the *Amazon Elastic Compute Cloud User Guide*.
26909
+ #
26910
+ #
26911
+ #
26912
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-configuration-strategies.html#ec2-fleet-capacity-rebalance
26913
+ #
26914
+ # @note When making an API call, you may pass FleetSpotCapacityRebalanceRequest
26915
+ # data as a hash:
26916
+ #
26917
+ # {
26918
+ # replacement_strategy: "launch", # accepts launch
26919
+ # }
26920
+ #
26921
+ # @!attribute [rw] replacement_strategy
26922
+ # The replacement strategy to use. Only available for fleets of type
26923
+ # `maintain`.
26924
+ #
26925
+ # To allow EC2 Fleet to launch a replacement Spot Instance when an
26926
+ # instance rebalance notification is emitted for an existing Spot
26927
+ # Instance in the fleet, specify `launch`. You must specify a value,
26928
+ # otherwise you get an error.
26929
+ #
26930
+ # <note markdown="1"> When a replacement instance is launched, the instance marked for
26931
+ # rebalance is not automatically terminated. You can terminate it, or
26932
+ # you can leave it running. You are charged for all instances while
26933
+ # they are running.
26934
+ #
26935
+ # </note>
26936
+ # @return [String]
26937
+ #
26938
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/FleetSpotCapacityRebalanceRequest AWS API Documentation
26939
+ #
26940
+ class FleetSpotCapacityRebalanceRequest < Struct.new(
26941
+ :replacement_strategy)
26942
+ SENSITIVE = []
26943
+ include Aws::Structure
26944
+ end
26945
+
26946
+ # The strategies for managing your Spot Instances that are at an
26947
+ # elevated risk of being interrupted.
26948
+ #
26949
+ # @!attribute [rw] capacity_rebalance
26950
+ # The strategy to use when Amazon EC2 emits a signal that your Spot
26951
+ # Instance is at an elevated risk of being interrupted.
26952
+ # @return [Types::FleetSpotCapacityRebalance]
26953
+ #
26954
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/FleetSpotMaintenanceStrategies AWS API Documentation
26955
+ #
26956
+ class FleetSpotMaintenanceStrategies < Struct.new(
26957
+ :capacity_rebalance)
26958
+ SENSITIVE = []
26959
+ include Aws::Structure
26960
+ end
26961
+
26962
+ # The strategies for managing your Spot Instances that are at an
26963
+ # elevated risk of being interrupted.
26964
+ #
26965
+ # @note When making an API call, you may pass FleetSpotMaintenanceStrategiesRequest
26966
+ # data as a hash:
26967
+ #
26968
+ # {
26969
+ # capacity_rebalance: {
26970
+ # replacement_strategy: "launch", # accepts launch
26971
+ # },
26972
+ # }
26973
+ #
26974
+ # @!attribute [rw] capacity_rebalance
26975
+ # The strategy to use when Amazon EC2 emits a signal that your Spot
26976
+ # Instance is at an elevated risk of being interrupted.
26977
+ # @return [Types::FleetSpotCapacityRebalanceRequest]
26978
+ #
26979
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/FleetSpotMaintenanceStrategiesRequest AWS API Documentation
26980
+ #
26981
+ class FleetSpotMaintenanceStrategiesRequest < Struct.new(
26982
+ :capacity_rebalance)
26983
+ SENSITIVE = []
26984
+ include Aws::Structure
26985
+ end
26986
+
26736
26987
  # Describes a flow log.
26737
26988
  #
26738
26989
  # @!attribute [rw] creation_time
@@ -26869,7 +27120,7 @@ module Aws::EC2
26869
27120
  # Describes the memory for the FPGA accelerator for the instance type.
26870
27121
  #
26871
27122
  # @!attribute [rw] size_in_mi_b
26872
- # The size (in MiB) for the memory available to the FPGA accelerator.
27123
+ # The size of the memory available to the FPGA accelerator, in MiB.
26873
27124
  # @return [Integer]
26874
27125
  #
26875
27126
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/FpgaDeviceMemoryInfo AWS API Documentation
@@ -28445,7 +28696,7 @@ module Aws::EC2
28445
28696
  # Describes the memory available to the GPU accelerator.
28446
28697
  #
28447
28698
  # @!attribute [rw] size_in_mi_b
28448
- # The size (in MiB) for the memory available to the GPU accelerator.
28699
+ # The size of the memory available to the GPU accelerator, in MiB.
28449
28700
  # @return [Integer]
28450
28701
  #
28451
28702
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GpuDeviceMemoryInfo AWS API Documentation
@@ -28464,7 +28715,7 @@ module Aws::EC2
28464
28715
  #
28465
28716
  # @!attribute [rw] total_gpu_memory_in_mi_b
28466
28717
  # The total size of the memory for the GPU accelerators for the
28467
- # instance type.
28718
+ # instance type, in MiB.
28468
28719
  # @return [Integer]
28469
28720
  #
28470
28721
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GpuInfo AWS API Documentation
@@ -31914,7 +32165,7 @@ module Aws::EC2
31914
32165
  # @return [Integer]
31915
32166
  #
31916
32167
  # @!attribute [rw] disks
31917
- # Array describing the disks that are available for the instance type.
32168
+ # Describes the disks that are available for the instance type.
31918
32169
  # @return [Array<Types::DiskInfo>]
31919
32170
  #
31920
32171
  # @!attribute [rw] nvme_support
@@ -31965,7 +32216,7 @@ module Aws::EC2
31965
32216
  # @return [String]
31966
32217
  #
31967
32218
  # @!attribute [rw] current_generation
31968
- # Indicates whether the instance type is a current generation.
32219
+ # Indicates whether the instance type is current generation.
31969
32220
  # @return [Boolean]
31970
32221
  #
31971
32222
  # @!attribute [rw] free_tier_eligible
@@ -31978,7 +32229,7 @@ module Aws::EC2
31978
32229
  # @return [Array<String>]
31979
32230
  #
31980
32231
  # @!attribute [rw] supported_root_device_types
31981
- # Indicates the supported root device types.
32232
+ # The supported root device types.
31982
32233
  # @return [Array<String>]
31983
32234
  #
31984
32235
  # @!attribute [rw] supported_virtualization_types
@@ -31986,11 +32237,11 @@ module Aws::EC2
31986
32237
  # @return [Array<String>]
31987
32238
  #
31988
32239
  # @!attribute [rw] bare_metal
31989
- # Indicates whether the instance is bare metal.
32240
+ # Indicates whether the instance is a bare metal instance type.
31990
32241
  # @return [Boolean]
31991
32242
  #
31992
32243
  # @!attribute [rw] hypervisor
31993
- # Indicates the hypervisor used for the instance type.
32244
+ # The hypervisor for the instance type.
31994
32245
  # @return [String]
31995
32246
  #
31996
32247
  # @!attribute [rw] processor_info
@@ -32010,7 +32261,7 @@ module Aws::EC2
32010
32261
  # @return [Boolean]
32011
32262
  #
32012
32263
  # @!attribute [rw] instance_storage_info
32013
- # Describes the disks for the instance type.
32264
+ # Describes the instance storage for the instance type.
32014
32265
  # @return [Types::InstanceStorageInfo]
32015
32266
  #
32016
32267
  # @!attribute [rw] ebs_info
@@ -34737,7 +34988,7 @@ module Aws::EC2
34737
34988
  # Describes the memory for the instance type.
34738
34989
  #
34739
34990
  # @!attribute [rw] size_in_mi_b
34740
- # Size of the memory, in MiB.
34991
+ # The size of the memory, in MiB.
34741
34992
  # @return [Integer]
34742
34993
  #
34743
34994
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/MemoryInfo AWS API Documentation
@@ -34904,6 +35155,10 @@ module Aws::EC2
34904
35155
  # security_group_ids: ["SecurityGroupId"],
34905
35156
  # vpc_id: "VpcId",
34906
35157
  # self_service_portal: "enabled", # accepts enabled, disabled
35158
+ # client_connect_options: {
35159
+ # enabled: false,
35160
+ # lambda_function_arn: "String",
35161
+ # },
34907
35162
  # }
34908
35163
  #
34909
35164
  # @!attribute [rw] client_vpn_endpoint_id
@@ -34982,6 +35237,11 @@ module Aws::EC2
34982
35237
  # endpoint.
34983
35238
  # @return [String]
34984
35239
  #
35240
+ # @!attribute [rw] client_connect_options
35241
+ # The options for managing connection authorization for new client
35242
+ # connections.
35243
+ # @return [Types::ClientConnectOptions]
35244
+ #
34985
35245
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyClientVpnEndpointRequest AWS API Documentation
34986
35246
  #
34987
35247
  class ModifyClientVpnEndpointRequest < Struct.new(
@@ -34995,7 +35255,8 @@ module Aws::EC2
34995
35255
  :dry_run,
34996
35256
  :security_group_ids,
34997
35257
  :vpc_id,
34998
- :self_service_portal)
35258
+ :self_service_portal,
35259
+ :client_connect_options)
34999
35260
  SENSITIVE = []
35000
35261
  include Aws::Structure
35001
35262
  end
@@ -35077,15 +35338,15 @@ module Aws::EC2
35077
35338
  #
35078
35339
  # You can specify the CMK using any of the following:
35079
35340
  #
35080
- # * Key ID. For example, key/1234abcd-12ab-34cd-56ef-1234567890ab.
35341
+ # * Key ID. For example, 1234abcd-12ab-34cd-56ef-1234567890ab.
35081
35342
  #
35082
35343
  # * Key alias. For example, alias/ExampleAlias.
35083
35344
  #
35084
35345
  # * Key ARN. For example,
35085
- # arn:aws:kms:*us-east-1*\:*012345678910*\:key/*abcd1234-a123-456a-a12b-a123b4cd56ef*.
35346
+ # arn:aws:kms:us-east-1:012345678910:key/1234abcd-12ab-34cd-56ef-1234567890ab.
35086
35347
  #
35087
35348
  # * Alias ARN. For example,
35088
- # arn:aws:kms:*us-east-1*\:*012345678910*\:alias/*ExampleAlias*.
35349
+ # arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.
35089
35350
  #
35090
35351
  # AWS authenticates the CMK asynchronously. Therefore, if you specify
35091
35352
  # an ID, alias, or ARN that is not valid, the action can appear to
@@ -35159,7 +35420,7 @@ module Aws::EC2
35159
35420
  # },
35160
35421
  # ],
35161
35422
  # fleet_id: "FleetId", # required
35162
- # target_capacity_specification: { # required
35423
+ # target_capacity_specification: {
35163
35424
  # total_target_capacity: 1, # required
35164
35425
  # on_demand_target_capacity: 1,
35165
35426
  # spot_target_capacity: 1,
@@ -37405,8 +37666,9 @@ module Aws::EC2
37405
37666
  # @return [Boolean]
37406
37667
  #
37407
37668
  # @!attribute [rw] policy_document
37408
- # A policy to attach to the endpoint that controls access to the
37409
- # service. The policy must be in valid JSON format.
37669
+ # (Interface and gateway endpoints) A policy to attach to the endpoint
37670
+ # that controls access to the service. The policy must be in valid
37671
+ # JSON format.
37410
37672
  # @return [String]
37411
37673
  #
37412
37674
  # @!attribute [rw] add_route_table_ids
@@ -37420,8 +37682,9 @@ module Aws::EC2
37420
37682
  # @return [Array<String>]
37421
37683
  #
37422
37684
  # @!attribute [rw] add_subnet_ids
37423
- # (Interface endpoint) One or more subnet IDs in which to serve the
37424
- # endpoint.
37685
+ # (Interface and Gateway Load Balancer endpoints) One or more subnet
37686
+ # IDs in which to serve the endpoint. For a Gateway Load Balancer
37687
+ # endpoint, you can specify only one subnet.
37425
37688
  # @return [Array<String>]
37426
37689
  #
37427
37690
  # @!attribute [rw] remove_subnet_ids
@@ -37486,6 +37749,8 @@ module Aws::EC2
37486
37749
  # acceptance_required: false,
37487
37750
  # add_network_load_balancer_arns: ["String"],
37488
37751
  # remove_network_load_balancer_arns: ["String"],
37752
+ # add_gateway_load_balancer_arns: ["String"],
37753
+ # remove_gateway_load_balancer_arns: ["String"],
37489
37754
  # }
37490
37755
  #
37491
37756
  # @!attribute [rw] dry_run
@@ -37500,11 +37765,13 @@ module Aws::EC2
37500
37765
  # @return [String]
37501
37766
  #
37502
37767
  # @!attribute [rw] private_dns_name
37503
- # The private DNS name to assign to the endpoint service.
37768
+ # (Interface endpoint configuration) The private DNS name to assign to
37769
+ # the endpoint service.
37504
37770
  # @return [String]
37505
37771
  #
37506
37772
  # @!attribute [rw] remove_private_dns_name
37507
- # Removes the private DNS name of the endpoint service.
37773
+ # (Interface endpoint configuration) Removes the private DNS name of
37774
+ # the endpoint service.
37508
37775
  # @return [Boolean]
37509
37776
  #
37510
37777
  # @!attribute [rw] acceptance_required
@@ -37522,6 +37789,16 @@ module Aws::EC2
37522
37789
  # from your service configuration.
37523
37790
  # @return [Array<String>]
37524
37791
  #
37792
+ # @!attribute [rw] add_gateway_load_balancer_arns
37793
+ # The Amazon Resource Names (ARNs) of Gateway Load Balancers to add to
37794
+ # your service configuration.
37795
+ # @return [Array<String>]
37796
+ #
37797
+ # @!attribute [rw] remove_gateway_load_balancer_arns
37798
+ # The Amazon Resource Names (ARNs) of Gateway Load Balancers to remove
37799
+ # from your service configuration.
37800
+ # @return [Array<String>]
37801
+ #
37525
37802
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpointServiceConfigurationRequest AWS API Documentation
37526
37803
  #
37527
37804
  class ModifyVpcEndpointServiceConfigurationRequest < Struct.new(
@@ -37531,7 +37808,9 @@ module Aws::EC2
37531
37808
  :remove_private_dns_name,
37532
37809
  :acceptance_required,
37533
37810
  :add_network_load_balancer_arns,
37534
- :remove_network_load_balancer_arns)
37811
+ :remove_network_load_balancer_arns,
37812
+ :add_gateway_load_balancer_arns,
37813
+ :remove_gateway_load_balancer_arns)
37535
37814
  SENSITIVE = []
37536
37815
  include Aws::Structure
37537
37816
  end
@@ -38623,16 +38902,53 @@ module Aws::EC2
38623
38902
  include Aws::Structure
38624
38903
  end
38625
38904
 
38905
+ # Describes the network card support of the instance type.
38906
+ #
38907
+ # @!attribute [rw] network_card_index
38908
+ # The index of the network card.
38909
+ # @return [Integer]
38910
+ #
38911
+ # @!attribute [rw] network_performance
38912
+ # The network performance of the network card.
38913
+ # @return [String]
38914
+ #
38915
+ # @!attribute [rw] maximum_network_interfaces
38916
+ # The maximum number of network interfaces for the network card.
38917
+ # @return [Integer]
38918
+ #
38919
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/NetworkCardInfo AWS API Documentation
38920
+ #
38921
+ class NetworkCardInfo < Struct.new(
38922
+ :network_card_index,
38923
+ :network_performance,
38924
+ :maximum_network_interfaces)
38925
+ SENSITIVE = []
38926
+ include Aws::Structure
38927
+ end
38928
+
38626
38929
  # Describes the networking features of the instance type.
38627
38930
  #
38628
38931
  # @!attribute [rw] network_performance
38629
- # Describes the network performance.
38932
+ # The network performance.
38630
38933
  # @return [String]
38631
38934
  #
38632
38935
  # @!attribute [rw] maximum_network_interfaces
38633
38936
  # The maximum number of network interfaces for the instance type.
38634
38937
  # @return [Integer]
38635
38938
  #
38939
+ # @!attribute [rw] maximum_network_cards
38940
+ # The maximum number of physical network cards that can be allocated
38941
+ # to the instance.
38942
+ # @return [Integer]
38943
+ #
38944
+ # @!attribute [rw] default_network_card_index
38945
+ # The index of the default network card, starting at 0.
38946
+ # @return [Integer]
38947
+ #
38948
+ # @!attribute [rw] network_cards
38949
+ # Describes the network cards for the instance type.
38950
+ # @return [Array<Types::NetworkCardInfo>]
38951
+ #
38636
38952
  # @!attribute [rw] ipv_4_addresses_per_interface
38637
38953
  # The maximum number of IPv4 addresses per network interface.
38638
38954
  # @return [Integer]
@@ -38658,6 +38974,9 @@ module Aws::EC2
38658
38974
  class NetworkInfo < Struct.new(
38659
38975
  :network_performance,
38660
38976
  :maximum_network_interfaces,
38977
+ :maximum_network_cards,
38978
+ :default_network_card_index,
38979
+ :network_cards,
38661
38980
  :ipv_4_addresses_per_interface,
38662
38981
  :ipv_6_addresses_per_interface,
38663
38982
  :ipv_6_supported,
@@ -39677,7 +39996,7 @@ module Aws::EC2
39677
39996
  # Describes the placement group support of the instance type.
39678
39997
  #
39679
39998
  # @!attribute [rw] supported_strategies
39680
- # A list of supported placement groups types.
39999
+ # The supported placement group types.
39681
40000
  # @return [Array<String>]
39682
40001
  #
39683
40002
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PlacementGroupInfo AWS API Documentation
@@ -40024,7 +40343,7 @@ module Aws::EC2
40024
40343
  # Describes the processor used by the instance type.
40025
40344
  #
40026
40345
  # @!attribute [rw] supported_architectures
40027
- # A list of architectures supported by the instance type.
40346
+ # The architectures supported by the instance type.
40028
40347
  # @return [Array<String>]
40029
40348
  #
40030
40349
  # @!attribute [rw] sustained_clock_speed_in_ghz
@@ -41510,6 +41829,7 @@ module Aws::EC2
41510
41829
  # destination_ipv_6_cidr_block: "String",
41511
41830
  # destination_prefix_list_id: "PrefixListResourceId",
41512
41831
  # dry_run: false,
41832
+ # vpc_endpoint_id: "VpcEndpointId",
41513
41833
  # egress_only_internet_gateway_id: "EgressOnlyInternetGatewayId",
41514
41834
  # gateway_id: "RouteGatewayId",
41515
41835
  # instance_id: "InstanceId",
@@ -41546,6 +41866,11 @@ module Aws::EC2
41546
41866
  # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
41547
41867
  # @return [Boolean]
41548
41868
  #
41869
+ # @!attribute [rw] vpc_endpoint_id
41870
+ # The ID of a VPC endpoint. Supported for Gateway Load Balancer
41871
+ # endpoints only.
41872
+ # @return [String]
41873
+ #
41549
41874
  # @!attribute [rw] egress_only_internet_gateway_id
41550
41875
  # \[IPv6 traffic only\] The ID of an egress-only internet gateway.
41551
41876
  # @return [String]
@@ -41598,6 +41923,7 @@ module Aws::EC2
41598
41923
  :destination_ipv_6_cidr_block,
41599
41924
  :destination_prefix_list_id,
41600
41925
  :dry_run,
41926
+ :vpc_endpoint_id,
41601
41927
  :egress_only_internet_gateway_id,
41602
41928
  :gateway_id,
41603
41929
  :instance_id,
@@ -42209,6 +42535,11 @@ module Aws::EC2
42209
42535
  # spot_fleet_request_config: { # required
42210
42536
  # allocation_strategy: "lowestPrice", # accepts lowestPrice, diversified, capacityOptimized
42211
42537
  # on_demand_allocation_strategy: "lowestPrice", # accepts lowestPrice, prioritized
42538
+ # spot_maintenance_strategies: {
42539
+ # capacity_rebalance: {
42540
+ # replacement_strategy: "launch", # accepts launch
42541
+ # },
42542
+ # },
42212
42543
  # client_token: "String",
42213
42544
  # excess_capacity_termination_policy: "noTermination", # accepts noTermination, default
42214
42545
  # fulfilled_capacity: 1.0,
@@ -44968,18 +45299,15 @@ module Aws::EC2
44968
45299
  #
44969
45300
  # @!attribute [rw] enclave_options
44970
45301
  # Indicates whether the instance is enabled for AWS Nitro Enclaves.
44971
- # For more information, see [ AWS Nitro Enclaves][1] in the *Amazon
44972
- # Elastic Compute Cloud User Guide*.
45302
+ # For more information, see [ What is AWS Nitro Enclaves?][1] in the
45303
+ # *AWS Nitro Enclaves User Guide*.
44973
45304
  #
44974
45305
  # You can't enable AWS Nitro Enclaves and hibernation on the same
44975
- # instance. For more information about AWS Nitro Enclaves
44976
- # requirements, see [ AWS Nitro Enclaves][2] in the *Amazon Elastic
44977
- # Compute Cloud User Guide*.
45306
+ # instance.
44978
45307
  #
44979
45308
  #
44980
45309
  #
44981
- # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave.html
44982
- # [2]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave.html#nitro-enclave-reqs
45310
+ # [1]: https://docs.aws.amazon.com/enclaves/latest/user/nitro-enclave.html
44983
45311
  # @return [Types::EnclaveOptionsRequest]
44984
45312
  #
44985
45313
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RunInstancesRequest AWS API Documentation
@@ -46406,6 +46734,11 @@ module Aws::EC2
46406
46734
  # the service.
46407
46735
  # @return [Array<String>]
46408
46736
  #
46737
+ # @!attribute [rw] gateway_load_balancer_arns
46738
+ # The Amazon Resource Names (ARNs) of the Gateway Load Balancers for
46739
+ # the service.
46740
+ # @return [Array<String>]
46741
+ #
46409
46742
  # @!attribute [rw] base_endpoint_dns_names
46410
46743
  # The DNS names for the service.
46411
46744
  # @return [Array<String>]
@@ -46434,6 +46767,7 @@ module Aws::EC2
46434
46767
  :acceptance_required,
46435
46768
  :manages_vpc_endpoints,
46436
46769
  :network_load_balancer_arns,
46770
+ :gateway_load_balancer_arns,
46437
46771
  :base_endpoint_dns_names,
46438
46772
  :private_dns_name,
46439
46773
  :private_dns_name_configuration,
@@ -46660,10 +46994,8 @@ module Aws::EC2
46660
46994
  # @return [Integer]
46661
46995
  #
46662
46996
  # @!attribute [rw] owner_alias
46663
- # The AWS owner alias, as maintained by Amazon. The possible values
46664
- # are: `amazon` \| `self` \| `all` \| `aws-marketplace` \|
46665
- # `microsoft`. This AWS owner alias is not to be confused with the
46666
- # user-configured AWS account alias, which is set from the IAM
46997
+ # The AWS owner alias, from an Amazon-maintained list (`amazon`). This
46998
+ # is not the user-configured AWS account alias set using the IAM
46667
46999
  # console.
46668
47000
  # @return [String]
46669
47001
  #
@@ -46922,6 +47254,46 @@ module Aws::EC2
46922
47254
  include Aws::Structure
46923
47255
  end
46924
47256
 
47257
+ # The Spot Instance replacement strategy to use when Amazon EC2 emits a
47258
+ # signal that your Spot Instance is at an elevated risk of being
47259
+ # interrupted. For more information, see [Capacity rebalancing][1] in
47260
+ # the *Amazon EC2 User Guide for Linux Instances*.
47261
+ #
47262
+ #
47263
+ #
47264
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-configuration-strategies.html#spot-fleet-capacity-rebalance
47265
+ #
47266
+ # @note When making an API call, you may pass SpotCapacityRebalance
47267
+ # data as a hash:
47268
+ #
47269
+ # {
47270
+ # replacement_strategy: "launch", # accepts launch
47271
+ # }
47272
+ #
47273
+ # @!attribute [rw] replacement_strategy
47274
+ # The replacement strategy to use. Only available for fleets of type
47275
+ # `maintain`. You must specify a value, otherwise you get an error.
47276
+ #
47277
+ # To allow Spot Fleet to launch a replacement Spot Instance when an
47278
+ # instance rebalance notification is emitted for a Spot Instance in
47279
+ # the fleet, specify `launch`.
47280
+ #
47281
+ # <note markdown="1"> When a replacement instance is launched, the instance marked for
47282
+ # rebalance is not automatically terminated. You can terminate it, or
47283
+ # you can leave it running. You are charged for all instances while
47284
+ # they are running.
47285
+ #
47286
+ # </note>
47287
+ # @return [String]
47288
+ #
47289
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SpotCapacityRebalance AWS API Documentation
47290
+ #
47291
+ class SpotCapacityRebalance < Struct.new(
47292
+ :replacement_strategy)
47293
+ SENSITIVE = []
47294
+ include Aws::Structure
47295
+ end
47296
+
46925
47297
  # Describes the data feed for a Spot Instance.
46926
47298
  #
46927
47299
  # @!attribute [rw] bucket
@@ -47270,6 +47642,11 @@ module Aws::EC2
47270
47642
  # {
47271
47643
  # allocation_strategy: "lowestPrice", # accepts lowestPrice, diversified, capacityOptimized
47272
47644
  # on_demand_allocation_strategy: "lowestPrice", # accepts lowestPrice, prioritized
47645
+ # spot_maintenance_strategies: {
47646
+ # capacity_rebalance: {
47647
+ # replacement_strategy: "launch", # accepts launch
47648
+ # },
47649
+ # },
47273
47650
  # client_token: "String",
47274
47651
  # excess_capacity_termination_policy: "noTermination", # accepts noTermination, default
47275
47652
  # fulfilled_capacity: 1.0,
@@ -47449,6 +47826,11 @@ module Aws::EC2
47449
47826
  # defaults to `lowestPrice`.
47450
47827
  # @return [String]
47451
47828
  #
47829
+ # @!attribute [rw] spot_maintenance_strategies
47830
+ # The strategies for managing your Spot Instances that are at an
47831
+ # elevated risk of being interrupted.
47832
+ # @return [Types::SpotMaintenanceStrategies]
47833
+ #
47452
47834
  # @!attribute [rw] client_token
47453
47835
  # A unique, case-sensitive identifier that you provide to ensure the
47454
47836
  # idempotency of your listings. This helps to avoid duplicate
@@ -47631,6 +48013,7 @@ module Aws::EC2
47631
48013
  class SpotFleetRequestConfigData < Struct.new(
47632
48014
  :allocation_strategy,
47633
48015
  :on_demand_allocation_strategy,
48016
+ :spot_maintenance_strategies,
47634
48017
  :client_token,
47635
48018
  :excess_capacity_termination_policy,
47636
48019
  :fulfilled_capacity,
@@ -47875,6 +48258,31 @@ module Aws::EC2
47875
48258
  include Aws::Structure
47876
48259
  end
47877
48260
 
48261
+ # The strategies for managing your Spot Instances that are at an
48262
+ # elevated risk of being interrupted.
48263
+ #
48264
+ # @note When making an API call, you may pass SpotMaintenanceStrategies
48265
+ # data as a hash:
48266
+ #
48267
+ # {
48268
+ # capacity_rebalance: {
48269
+ # replacement_strategy: "launch", # accepts launch
48270
+ # },
48271
+ # }
48272
+ #
48273
+ # @!attribute [rw] capacity_rebalance
48274
+ # The strategy to use when Amazon EC2 emits a signal that your Spot
48275
+ # Instance is at an elevated risk of being interrupted.
48276
+ # @return [Types::SpotCapacityRebalance]
48277
+ #
48278
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SpotMaintenanceStrategies AWS API Documentation
48279
+ #
48280
+ class SpotMaintenanceStrategies < Struct.new(
48281
+ :capacity_rebalance)
48282
+ SENSITIVE = []
48283
+ include Aws::Structure
48284
+ end
48285
+
47878
48286
  # The options for Spot Instances.
47879
48287
  #
47880
48288
  # @note When making an API call, you may pass SpotMarketOptions
@@ -47972,6 +48380,12 @@ module Aws::EC2
47972
48380
  # for the number of instances that are launching.
47973
48381
  # @return [String]
47974
48382
  #
48383
+ # @!attribute [rw] maintenance_strategies
48384
+ # The strategies for managing your workloads on your Spot Instances
48385
+ # that will be interrupted. Currently only the capacity rebalance
48386
+ # strategy is available.
48387
+ # @return [Types::FleetSpotMaintenanceStrategies]
48388
+ #
47975
48389
  # @!attribute [rw] instance_interruption_behavior
47976
48390
  # The behavior when a Spot Instance is interrupted. The default is
47977
48391
  # `terminate`.
@@ -48011,6 +48425,7 @@ module Aws::EC2
48011
48425
  #
48012
48426
  class SpotOptions < Struct.new(
48013
48427
  :allocation_strategy,
48428
+ :maintenance_strategies,
48014
48429
  :instance_interruption_behavior,
48015
48430
  :instance_pools_to_use_count,
48016
48431
  :single_instance_type,
@@ -48028,6 +48443,11 @@ module Aws::EC2
48028
48443
  #
48029
48444
  # {
48030
48445
  # allocation_strategy: "lowest-price", # accepts lowest-price, diversified, capacity-optimized
48446
+ # maintenance_strategies: {
48447
+ # capacity_rebalance: {
48448
+ # replacement_strategy: "launch", # accepts launch
48449
+ # },
48450
+ # },
48031
48451
  # instance_interruption_behavior: "hibernate", # accepts hibernate, stop, terminate
48032
48452
  # instance_pools_to_use_count: 1,
48033
48453
  # single_instance_type: false,
@@ -48052,6 +48472,11 @@ module Aws::EC2
48052
48472
  # for the number of instances that are launching.
48053
48473
  # @return [String]
48054
48474
  #
48475
+ # @!attribute [rw] maintenance_strategies
48476
+ # The strategies for managing your Spot Instances that are at an
48477
+ # elevated risk of being interrupted.
48478
+ # @return [Types::FleetSpotMaintenanceStrategiesRequest]
48479
+ #
48055
48480
  # @!attribute [rw] instance_interruption_behavior
48056
48481
  # The behavior when a Spot Instance is interrupted. The default is
48057
48482
  # `terminate`.
@@ -48091,6 +48516,7 @@ module Aws::EC2
48091
48516
  #
48092
48517
  class SpotOptionsRequest < Struct.new(
48093
48518
  :allocation_strategy,
48519
+ :maintenance_strategies,
48094
48520
  :instance_interruption_behavior,
48095
48521
  :instance_pools_to_use_count,
48096
48522
  :single_instance_type,
@@ -48804,15 +49230,16 @@ module Aws::EC2
48804
49230
  # @!attribute [rw] resource_type
48805
49231
  # The type of resource to tag. Currently, the resource types that
48806
49232
  # support tagging on creation are: `capacity-reservation` \|
48807
- # `client-vpn-endpoint` \| `customer-gateway` \| `dedicated-host` \|
48808
- # `dhcp-options` \| `export-image-task` \| `export-instance-task` \|
48809
- # `fleet` \| `fpga-image` \| `host-reservation` \| `import-image-task`
48810
- # \| `import-snapshot-task` \| `instance` \| `internet-gateway` \|
48811
- # `ipv4pool-ec2` \| `ipv6pool-ec2` \| `key-pair` \| `launch-template`
48812
- # \| `placement-group` \| `prefix-list` \| `natgateway` \|
48813
- # `network-acl` \| `route-table` \| `security-group` \|
48814
- # `spot-fleet-request` \| `spot-instances-request` \| `snapshot` \|
48815
- # `subnet` \| `traffic-mirror-filter` \| `traffic-mirror-session` \|
49233
+ # `carrier-gateway` \| `client-vpn-endpoint` \| `customer-gateway` \|
49234
+ # `dedicated-host` \| `dhcp-options` \| `export-image-task` \|
49235
+ # `export-instance-task` \| `fleet` \| `fpga-image` \|
49236
+ # `host-reservation` \| `import-image-task` \| `import-snapshot-task`
49237
+ # \| `instance` \| `internet-gateway` \| `ipv4pool-ec2` \|
49238
+ # `ipv6pool-ec2` \| `key-pair` \| `launch-template` \|
49239
+ # `placement-group` \| `prefix-list` \| `natgateway` \| `network-acl`
49240
+ # \| `route-table` \| `security-group` \| `spot-fleet-request` \|
49241
+ # `spot-instances-request` \| `snapshot` \| `subnet` \|
49242
+ # `traffic-mirror-filter` \| `traffic-mirror-session` \|
48816
49243
  # `traffic-mirror-target` \| `transit-gateway` \|
48817
49244
  # `transit-gateway-attachment` \| `transit-gateway-route-table` \|
48818
49245
  # `volume` \|`vpc` \| ` vpc-peering-connection` \| `vpc-endpoint` (for
@@ -51118,13 +51545,13 @@ module Aws::EC2
51118
51545
  # @return [Integer]
51119
51546
  #
51120
51547
  # @!attribute [rw] valid_cores
51121
- # List of the valid number of cores that can be configured for the
51122
- # instance type.
51548
+ # The valid number of cores that can be configured for the instance
51549
+ # type.
51123
51550
  # @return [Array<Integer>]
51124
51551
  #
51125
51552
  # @!attribute [rw] valid_threads_per_core
51126
- # List of the valid number of threads per core that can be configured
51127
- # for the instance type.
51553
+ # The valid number of threads per core that can be configured for the
51554
+ # instance type.
51128
51555
  # @return [Array<Integer>]
51129
51556
  #
51130
51557
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VCpuInfo AWS API Documentation
@@ -51916,6 +52343,11 @@ module Aws::EC2
51916
52343
  # the service.
51917
52344
  # @return [Array<String>]
51918
52345
  #
52346
+ # @!attribute [rw] gateway_load_balancer_arns
52347
+ # The Amazon Resource Names (ARNs) of the Gateway Load Balancers for
52348
+ # the service.
52349
+ # @return [Array<String>]
52350
+ #
51919
52351
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VpcEndpointConnection AWS API Documentation
51920
52352
  #
51921
52353
  class VpcEndpointConnection < Struct.new(
@@ -51925,7 +52357,8 @@ module Aws::EC2
51925
52357
  :vpc_endpoint_state,
51926
52358
  :creation_timestamp,
51927
52359
  :dns_entries,
51928
- :network_load_balancer_arns)
52360
+ :network_load_balancer_arns,
52361
+ :gateway_load_balancer_arns)
51929
52362
  SENSITIVE = []
51930
52363
  include Aws::Structure
51931
52364
  end