aws-sdk-ec2 1.205.0 → 1.210.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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