aws-sdk-ec2 1.198.0 → 1.203.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -66,6 +66,8 @@ module Aws::EC2
66
66
  AssociateClientVpnTargetNetworkRequest = Shapes::StructureShape.new(name: 'AssociateClientVpnTargetNetworkRequest')
67
67
  AssociateClientVpnTargetNetworkResult = Shapes::StructureShape.new(name: 'AssociateClientVpnTargetNetworkResult')
68
68
  AssociateDhcpOptionsRequest = Shapes::StructureShape.new(name: 'AssociateDhcpOptionsRequest')
69
+ AssociateEnclaveCertificateIamRoleRequest = Shapes::StructureShape.new(name: 'AssociateEnclaveCertificateIamRoleRequest')
70
+ AssociateEnclaveCertificateIamRoleResult = Shapes::StructureShape.new(name: 'AssociateEnclaveCertificateIamRoleResult')
69
71
  AssociateIamInstanceProfileRequest = Shapes::StructureShape.new(name: 'AssociateIamInstanceProfileRequest')
70
72
  AssociateIamInstanceProfileResult = Shapes::StructureShape.new(name: 'AssociateIamInstanceProfileResult')
71
73
  AssociateRouteTableRequest = Shapes::StructureShape.new(name: 'AssociateRouteTableRequest')
@@ -79,6 +81,8 @@ module Aws::EC2
79
81
  AssociateVpcCidrBlockRequest = Shapes::StructureShape.new(name: 'AssociateVpcCidrBlockRequest')
80
82
  AssociateVpcCidrBlockResult = Shapes::StructureShape.new(name: 'AssociateVpcCidrBlockResult')
81
83
  AssociatedNetworkType = Shapes::StringShape.new(name: 'AssociatedNetworkType')
84
+ AssociatedRole = Shapes::StructureShape.new(name: 'AssociatedRole')
85
+ AssociatedRolesList = Shapes::ListShape.new(name: 'AssociatedRolesList')
82
86
  AssociatedTargetNetwork = Shapes::StructureShape.new(name: 'AssociatedTargetNetwork')
83
87
  AssociatedTargetNetworkSet = Shapes::ListShape.new(name: 'AssociatedTargetNetworkSet')
84
88
  AssociationIdList = Shapes::ListShape.new(name: 'AssociationIdList')
@@ -796,6 +800,8 @@ module Aws::EC2
796
800
  DisassociateAddressRequest = Shapes::StructureShape.new(name: 'DisassociateAddressRequest')
797
801
  DisassociateClientVpnTargetNetworkRequest = Shapes::StructureShape.new(name: 'DisassociateClientVpnTargetNetworkRequest')
798
802
  DisassociateClientVpnTargetNetworkResult = Shapes::StructureShape.new(name: 'DisassociateClientVpnTargetNetworkResult')
803
+ DisassociateEnclaveCertificateIamRoleRequest = Shapes::StructureShape.new(name: 'DisassociateEnclaveCertificateIamRoleRequest')
804
+ DisassociateEnclaveCertificateIamRoleResult = Shapes::StructureShape.new(name: 'DisassociateEnclaveCertificateIamRoleResult')
799
805
  DisassociateIamInstanceProfileRequest = Shapes::StructureShape.new(name: 'DisassociateIamInstanceProfileRequest')
800
806
  DisassociateIamInstanceProfileResult = Shapes::StructureShape.new(name: 'DisassociateIamInstanceProfileResult')
801
807
  DisassociateRouteTableRequest = Shapes::StructureShape.new(name: 'DisassociateRouteTableRequest')
@@ -878,8 +884,11 @@ module Aws::EC2
878
884
  EnableVpcClassicLinkDnsSupportResult = Shapes::StructureShape.new(name: 'EnableVpcClassicLinkDnsSupportResult')
879
885
  EnableVpcClassicLinkRequest = Shapes::StructureShape.new(name: 'EnableVpcClassicLinkRequest')
880
886
  EnableVpcClassicLinkResult = Shapes::StructureShape.new(name: 'EnableVpcClassicLinkResult')
887
+ EnclaveOptions = Shapes::StructureShape.new(name: 'EnclaveOptions')
888
+ EnclaveOptionsRequest = Shapes::StructureShape.new(name: 'EnclaveOptionsRequest')
881
889
  EndDateType = Shapes::StringShape.new(name: 'EndDateType')
882
890
  EndpointSet = Shapes::ListShape.new(name: 'EndpointSet')
891
+ EphemeralNvmeSupport = Shapes::StringShape.new(name: 'EphemeralNvmeSupport')
883
892
  ErrorSet = Shapes::ListShape.new(name: 'ErrorSet')
884
893
  EventCode = Shapes::StringShape.new(name: 'EventCode')
885
894
  EventInformation = Shapes::StructureShape.new(name: 'EventInformation')
@@ -962,6 +971,8 @@ module Aws::EC2
962
971
  FpgaInfo = Shapes::StructureShape.new(name: 'FpgaInfo')
963
972
  FreeTierEligibleFlag = Shapes::BooleanShape.new(name: 'FreeTierEligibleFlag')
964
973
  GatewayType = Shapes::StringShape.new(name: 'GatewayType')
974
+ GetAssociatedEnclaveCertificateIamRolesRequest = Shapes::StructureShape.new(name: 'GetAssociatedEnclaveCertificateIamRolesRequest')
975
+ GetAssociatedEnclaveCertificateIamRolesResult = Shapes::StructureShape.new(name: 'GetAssociatedEnclaveCertificateIamRolesResult')
965
976
  GetAssociatedIpv6PoolCidrsRequest = Shapes::StructureShape.new(name: 'GetAssociatedIpv6PoolCidrsRequest')
966
977
  GetAssociatedIpv6PoolCidrsResult = Shapes::StructureShape.new(name: 'GetAssociatedIpv6PoolCidrsResult')
967
978
  GetCapacityReservationUsageRequest = Shapes::StructureShape.new(name: 'GetCapacityReservationUsageRequest')
@@ -1234,6 +1245,8 @@ module Aws::EC2
1234
1245
  LaunchTemplateElasticInferenceAcceleratorList = Shapes::ListShape.new(name: 'LaunchTemplateElasticInferenceAcceleratorList')
1235
1246
  LaunchTemplateElasticInferenceAcceleratorResponse = Shapes::StructureShape.new(name: 'LaunchTemplateElasticInferenceAcceleratorResponse')
1236
1247
  LaunchTemplateElasticInferenceAcceleratorResponseList = Shapes::ListShape.new(name: 'LaunchTemplateElasticInferenceAcceleratorResponseList')
1248
+ LaunchTemplateEnclaveOptions = Shapes::StructureShape.new(name: 'LaunchTemplateEnclaveOptions')
1249
+ LaunchTemplateEnclaveOptionsRequest = Shapes::StructureShape.new(name: 'LaunchTemplateEnclaveOptionsRequest')
1237
1250
  LaunchTemplateErrorCode = Shapes::StringShape.new(name: 'LaunchTemplateErrorCode')
1238
1251
  LaunchTemplateHibernationOptions = Shapes::StructureShape.new(name: 'LaunchTemplateHibernationOptions')
1239
1252
  LaunchTemplateHibernationOptionsRequest = Shapes::StructureShape.new(name: 'LaunchTemplateHibernationOptionsRequest')
@@ -1695,7 +1708,9 @@ module Aws::EC2
1695
1708
  RevokeClientVpnIngressRequest = Shapes::StructureShape.new(name: 'RevokeClientVpnIngressRequest')
1696
1709
  RevokeClientVpnIngressResult = Shapes::StructureShape.new(name: 'RevokeClientVpnIngressResult')
1697
1710
  RevokeSecurityGroupEgressRequest = Shapes::StructureShape.new(name: 'RevokeSecurityGroupEgressRequest')
1711
+ RevokeSecurityGroupEgressResult = Shapes::StructureShape.new(name: 'RevokeSecurityGroupEgressResult')
1698
1712
  RevokeSecurityGroupIngressRequest = Shapes::StructureShape.new(name: 'RevokeSecurityGroupIngressRequest')
1713
+ RevokeSecurityGroupIngressResult = Shapes::StructureShape.new(name: 'RevokeSecurityGroupIngressResult')
1699
1714
  RootDeviceType = Shapes::StringShape.new(name: 'RootDeviceType')
1700
1715
  RootDeviceTypeList = Shapes::ListShape.new(name: 'RootDeviceTypeList')
1701
1716
  Route = Shapes::StructureShape.new(name: 'Route')
@@ -2286,6 +2301,16 @@ module Aws::EC2
2286
2301
  AssociateDhcpOptionsRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "dryRun"))
2287
2302
  AssociateDhcpOptionsRequest.struct_class = Types::AssociateDhcpOptionsRequest
2288
2303
 
2304
+ AssociateEnclaveCertificateIamRoleRequest.add_member(:certificate_arn, Shapes::ShapeRef.new(shape: ResourceArn, location_name: "CertificateArn"))
2305
+ AssociateEnclaveCertificateIamRoleRequest.add_member(:role_arn, Shapes::ShapeRef.new(shape: ResourceArn, location_name: "RoleArn"))
2306
+ AssociateEnclaveCertificateIamRoleRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "DryRun"))
2307
+ AssociateEnclaveCertificateIamRoleRequest.struct_class = Types::AssociateEnclaveCertificateIamRoleRequest
2308
+
2309
+ AssociateEnclaveCertificateIamRoleResult.add_member(:certificate_s3_bucket_name, Shapes::ShapeRef.new(shape: String, location_name: "certificateS3BucketName"))
2310
+ AssociateEnclaveCertificateIamRoleResult.add_member(:certificate_s3_object_key, Shapes::ShapeRef.new(shape: String, location_name: "certificateS3ObjectKey"))
2311
+ AssociateEnclaveCertificateIamRoleResult.add_member(:encryption_kms_key_id, Shapes::ShapeRef.new(shape: String, location_name: "encryptionKmsKeyId"))
2312
+ AssociateEnclaveCertificateIamRoleResult.struct_class = Types::AssociateEnclaveCertificateIamRoleResult
2313
+
2289
2314
  AssociateIamInstanceProfileRequest.add_member(:iam_instance_profile, Shapes::ShapeRef.new(shape: IamInstanceProfileSpecification, required: true, location_name: "IamInstanceProfile"))
2290
2315
  AssociateIamInstanceProfileRequest.add_member(:instance_id, Shapes::ShapeRef.new(shape: InstanceId, required: true, location_name: "InstanceId"))
2291
2316
  AssociateIamInstanceProfileRequest.struct_class = Types::AssociateIamInstanceProfileRequest
@@ -2341,6 +2366,14 @@ module Aws::EC2
2341
2366
  AssociateVpcCidrBlockResult.add_member(:vpc_id, Shapes::ShapeRef.new(shape: String, location_name: "vpcId"))
2342
2367
  AssociateVpcCidrBlockResult.struct_class = Types::AssociateVpcCidrBlockResult
2343
2368
 
2369
+ AssociatedRole.add_member(:associated_role_arn, Shapes::ShapeRef.new(shape: ResourceArn, location_name: "associatedRoleArn"))
2370
+ AssociatedRole.add_member(:certificate_s3_bucket_name, Shapes::ShapeRef.new(shape: String, location_name: "certificateS3BucketName"))
2371
+ AssociatedRole.add_member(:certificate_s3_object_key, Shapes::ShapeRef.new(shape: String, location_name: "certificateS3ObjectKey"))
2372
+ AssociatedRole.add_member(:encryption_kms_key_id, Shapes::ShapeRef.new(shape: String, location_name: "encryptionKmsKeyId"))
2373
+ AssociatedRole.struct_class = Types::AssociatedRole
2374
+
2375
+ AssociatedRolesList.member = Shapes::ShapeRef.new(shape: AssociatedRole, location_name: "item")
2376
+
2344
2377
  AssociatedTargetNetwork.add_member(:network_id, Shapes::ShapeRef.new(shape: String, location_name: "networkId"))
2345
2378
  AssociatedTargetNetwork.add_member(:network_type, Shapes::ShapeRef.new(shape: AssociatedNetworkType, location_name: "networkType"))
2346
2379
  AssociatedTargetNetwork.struct_class = Types::AssociatedTargetNetwork
@@ -5344,6 +5377,14 @@ module Aws::EC2
5344
5377
  DisassociateClientVpnTargetNetworkResult.add_member(:status, Shapes::ShapeRef.new(shape: AssociationStatus, location_name: "status"))
5345
5378
  DisassociateClientVpnTargetNetworkResult.struct_class = Types::DisassociateClientVpnTargetNetworkResult
5346
5379
 
5380
+ DisassociateEnclaveCertificateIamRoleRequest.add_member(:certificate_arn, Shapes::ShapeRef.new(shape: ResourceArn, location_name: "CertificateArn"))
5381
+ DisassociateEnclaveCertificateIamRoleRequest.add_member(:role_arn, Shapes::ShapeRef.new(shape: ResourceArn, location_name: "RoleArn"))
5382
+ DisassociateEnclaveCertificateIamRoleRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "DryRun"))
5383
+ DisassociateEnclaveCertificateIamRoleRequest.struct_class = Types::DisassociateEnclaveCertificateIamRoleRequest
5384
+
5385
+ DisassociateEnclaveCertificateIamRoleResult.add_member(:return, Shapes::ShapeRef.new(shape: Boolean, location_name: "return"))
5386
+ DisassociateEnclaveCertificateIamRoleResult.struct_class = Types::DisassociateEnclaveCertificateIamRoleResult
5387
+
5347
5388
  DisassociateIamInstanceProfileRequest.add_member(:association_id, Shapes::ShapeRef.new(shape: IamInstanceProfileAssociationId, required: true, location_name: "AssociationId"))
5348
5389
  DisassociateIamInstanceProfileRequest.struct_class = Types::DisassociateIamInstanceProfileRequest
5349
5390
 
@@ -5593,6 +5634,12 @@ module Aws::EC2
5593
5634
  EnableVpcClassicLinkResult.add_member(:return, Shapes::ShapeRef.new(shape: Boolean, location_name: "return"))
5594
5635
  EnableVpcClassicLinkResult.struct_class = Types::EnableVpcClassicLinkResult
5595
5636
 
5637
+ EnclaveOptions.add_member(:enabled, Shapes::ShapeRef.new(shape: Boolean, location_name: "enabled"))
5638
+ EnclaveOptions.struct_class = Types::EnclaveOptions
5639
+
5640
+ EnclaveOptionsRequest.add_member(:enabled, Shapes::ShapeRef.new(shape: Boolean, location_name: "Enabled"))
5641
+ EnclaveOptionsRequest.struct_class = Types::EnclaveOptionsRequest
5642
+
5596
5643
  EndpointSet.member = Shapes::ShapeRef.new(shape: ClientVpnEndpoint, location_name: "item")
5597
5644
 
5598
5645
  ErrorSet.member = Shapes::ShapeRef.new(shape: ValidationError, location_name: "item")
@@ -5854,6 +5901,13 @@ module Aws::EC2
5854
5901
  FpgaInfo.add_member(:total_fpga_memory_in_mi_b, Shapes::ShapeRef.new(shape: totalFpgaMemory, location_name: "totalFpgaMemoryInMiB"))
5855
5902
  FpgaInfo.struct_class = Types::FpgaInfo
5856
5903
 
5904
+ GetAssociatedEnclaveCertificateIamRolesRequest.add_member(:certificate_arn, Shapes::ShapeRef.new(shape: ResourceArn, location_name: "CertificateArn"))
5905
+ GetAssociatedEnclaveCertificateIamRolesRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "DryRun"))
5906
+ GetAssociatedEnclaveCertificateIamRolesRequest.struct_class = Types::GetAssociatedEnclaveCertificateIamRolesRequest
5907
+
5908
+ GetAssociatedEnclaveCertificateIamRolesResult.add_member(:associated_roles, Shapes::ShapeRef.new(shape: AssociatedRolesList, location_name: "associatedRoleSet"))
5909
+ GetAssociatedEnclaveCertificateIamRolesResult.struct_class = Types::GetAssociatedEnclaveCertificateIamRolesResult
5910
+
5857
5911
  GetAssociatedIpv6PoolCidrsRequest.add_member(:pool_id, Shapes::ShapeRef.new(shape: Ipv6PoolEc2Id, required: true, location_name: "PoolId"))
5858
5912
  GetAssociatedIpv6PoolCidrsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
5859
5913
  GetAssociatedIpv6PoolCidrsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: Ipv6PoolMaxResults, location_name: "MaxResults"))
@@ -6487,12 +6541,14 @@ module Aws::EC2
6487
6541
  Instance.add_member(:hibernation_options, Shapes::ShapeRef.new(shape: HibernationOptions, location_name: "hibernationOptions"))
6488
6542
  Instance.add_member(:licenses, Shapes::ShapeRef.new(shape: LicenseList, location_name: "licenseSet"))
6489
6543
  Instance.add_member(:metadata_options, Shapes::ShapeRef.new(shape: InstanceMetadataOptionsResponse, location_name: "metadataOptions"))
6544
+ Instance.add_member(:enclave_options, Shapes::ShapeRef.new(shape: EnclaveOptions, location_name: "enclaveOptions"))
6490
6545
  Instance.struct_class = Types::Instance
6491
6546
 
6492
6547
  InstanceAttribute.add_member(:groups, Shapes::ShapeRef.new(shape: GroupIdentifierList, location_name: "groupSet"))
6493
6548
  InstanceAttribute.add_member(:block_device_mappings, Shapes::ShapeRef.new(shape: InstanceBlockDeviceMappingList, location_name: "blockDeviceMapping"))
6494
6549
  InstanceAttribute.add_member(:disable_api_termination, Shapes::ShapeRef.new(shape: AttributeBooleanValue, location_name: "disableApiTermination"))
6495
6550
  InstanceAttribute.add_member(:ena_support, Shapes::ShapeRef.new(shape: AttributeBooleanValue, location_name: "enaSupport"))
6551
+ InstanceAttribute.add_member(:enclave_options, Shapes::ShapeRef.new(shape: EnclaveOptions, location_name: "enclaveOptions"))
6496
6552
  InstanceAttribute.add_member(:ebs_optimized, Shapes::ShapeRef.new(shape: AttributeBooleanValue, location_name: "ebsOptimized"))
6497
6553
  InstanceAttribute.add_member(:instance_id, Shapes::ShapeRef.new(shape: String, location_name: "instanceId"))
6498
6554
  InstanceAttribute.add_member(:instance_initiated_shutdown_behavior, Shapes::ShapeRef.new(shape: AttributeValue, location_name: "instanceInitiatedShutdownBehavior"))
@@ -6698,6 +6754,7 @@ module Aws::EC2
6698
6754
 
6699
6755
  InstanceStorageInfo.add_member(:total_size_in_gb, Shapes::ShapeRef.new(shape: DiskSize, location_name: "totalSizeInGB"))
6700
6756
  InstanceStorageInfo.add_member(:disks, Shapes::ShapeRef.new(shape: DiskInfoList, location_name: "disks"))
6757
+ InstanceStorageInfo.add_member(:nvme_support, Shapes::ShapeRef.new(shape: EphemeralNvmeSupport, location_name: "nvmeSupport"))
6701
6758
  InstanceStorageInfo.struct_class = Types::InstanceStorageInfo
6702
6759
 
6703
6760
  InstanceTagKeySet.member = Shapes::ShapeRef.new(shape: String, location_name: "item")
@@ -6945,6 +7002,12 @@ module Aws::EC2
6945
7002
 
6946
7003
  LaunchTemplateElasticInferenceAcceleratorResponseList.member = Shapes::ShapeRef.new(shape: LaunchTemplateElasticInferenceAcceleratorResponse, location_name: "item")
6947
7004
 
7005
+ LaunchTemplateEnclaveOptions.add_member(:enabled, Shapes::ShapeRef.new(shape: Boolean, location_name: "enabled"))
7006
+ LaunchTemplateEnclaveOptions.struct_class = Types::LaunchTemplateEnclaveOptions
7007
+
7008
+ LaunchTemplateEnclaveOptionsRequest.add_member(:enabled, Shapes::ShapeRef.new(shape: Boolean, location_name: "Enabled"))
7009
+ LaunchTemplateEnclaveOptionsRequest.struct_class = Types::LaunchTemplateEnclaveOptionsRequest
7010
+
6948
7011
  LaunchTemplateHibernationOptions.add_member(:configured, Shapes::ShapeRef.new(shape: Boolean, location_name: "configured"))
6949
7012
  LaunchTemplateHibernationOptions.struct_class = Types::LaunchTemplateHibernationOptions
6950
7013
 
@@ -7209,12 +7272,14 @@ module Aws::EC2
7209
7272
  LocalGatewayVirtualInterface.add_member(:peer_address, Shapes::ShapeRef.new(shape: String, location_name: "peerAddress"))
7210
7273
  LocalGatewayVirtualInterface.add_member(:local_bgp_asn, Shapes::ShapeRef.new(shape: Integer, location_name: "localBgpAsn"))
7211
7274
  LocalGatewayVirtualInterface.add_member(:peer_bgp_asn, Shapes::ShapeRef.new(shape: Integer, location_name: "peerBgpAsn"))
7275
+ LocalGatewayVirtualInterface.add_member(:owner_id, Shapes::ShapeRef.new(shape: String, location_name: "ownerId"))
7212
7276
  LocalGatewayVirtualInterface.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "tagSet"))
7213
7277
  LocalGatewayVirtualInterface.struct_class = Types::LocalGatewayVirtualInterface
7214
7278
 
7215
7279
  LocalGatewayVirtualInterfaceGroup.add_member(:local_gateway_virtual_interface_group_id, Shapes::ShapeRef.new(shape: LocalGatewayVirtualInterfaceGroupId, location_name: "localGatewayVirtualInterfaceGroupId"))
7216
7280
  LocalGatewayVirtualInterfaceGroup.add_member(:local_gateway_virtual_interface_ids, Shapes::ShapeRef.new(shape: LocalGatewayVirtualInterfaceIdSet, location_name: "localGatewayVirtualInterfaceIdSet"))
7217
7281
  LocalGatewayVirtualInterfaceGroup.add_member(:local_gateway_id, Shapes::ShapeRef.new(shape: String, location_name: "localGatewayId"))
7282
+ LocalGatewayVirtualInterfaceGroup.add_member(:owner_id, Shapes::ShapeRef.new(shape: String, location_name: "ownerId"))
7218
7283
  LocalGatewayVirtualInterfaceGroup.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "tagSet"))
7219
7284
  LocalGatewayVirtualInterfaceGroup.struct_class = Types::LocalGatewayVirtualInterfaceGroup
7220
7285
 
@@ -8428,6 +8493,7 @@ module Aws::EC2
8428
8493
  RequestLaunchTemplateData.add_member(:license_specifications, Shapes::ShapeRef.new(shape: LaunchTemplateLicenseSpecificationListRequest, location_name: "LicenseSpecification"))
8429
8494
  RequestLaunchTemplateData.add_member(:hibernation_options, Shapes::ShapeRef.new(shape: LaunchTemplateHibernationOptionsRequest, location_name: "HibernationOptions"))
8430
8495
  RequestLaunchTemplateData.add_member(:metadata_options, Shapes::ShapeRef.new(shape: LaunchTemplateInstanceMetadataOptionsRequest, location_name: "MetadataOptions"))
8496
+ RequestLaunchTemplateData.add_member(:enclave_options, Shapes::ShapeRef.new(shape: LaunchTemplateEnclaveOptionsRequest, location_name: "EnclaveOptions"))
8431
8497
  RequestLaunchTemplateData.struct_class = Types::RequestLaunchTemplateData
8432
8498
 
8433
8499
  RequestSpotFleetRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "dryRun"))
@@ -8669,6 +8735,7 @@ module Aws::EC2
8669
8735
  ResponseLaunchTemplateData.add_member(:license_specifications, Shapes::ShapeRef.new(shape: LaunchTemplateLicenseList, location_name: "licenseSet"))
8670
8736
  ResponseLaunchTemplateData.add_member(:hibernation_options, Shapes::ShapeRef.new(shape: LaunchTemplateHibernationOptions, location_name: "hibernationOptions"))
8671
8737
  ResponseLaunchTemplateData.add_member(:metadata_options, Shapes::ShapeRef.new(shape: LaunchTemplateInstanceMetadataOptions, location_name: "metadataOptions"))
8738
+ ResponseLaunchTemplateData.add_member(:enclave_options, Shapes::ShapeRef.new(shape: LaunchTemplateEnclaveOptions, location_name: "enclaveOptions"))
8672
8739
  ResponseLaunchTemplateData.struct_class = Types::ResponseLaunchTemplateData
8673
8740
 
8674
8741
  RestorableByStringList.member = Shapes::ShapeRef.new(shape: String)
@@ -8711,6 +8778,10 @@ module Aws::EC2
8711
8778
  RevokeSecurityGroupEgressRequest.add_member(:source_security_group_owner_id, Shapes::ShapeRef.new(shape: String, location_name: "sourceSecurityGroupOwnerId"))
8712
8779
  RevokeSecurityGroupEgressRequest.struct_class = Types::RevokeSecurityGroupEgressRequest
8713
8780
 
8781
+ RevokeSecurityGroupEgressResult.add_member(:return, Shapes::ShapeRef.new(shape: Boolean, location_name: "return"))
8782
+ RevokeSecurityGroupEgressResult.add_member(:unknown_ip_permissions, Shapes::ShapeRef.new(shape: IpPermissionList, location_name: "unknownIpPermissionSet"))
8783
+ RevokeSecurityGroupEgressResult.struct_class = Types::RevokeSecurityGroupEgressResult
8784
+
8714
8785
  RevokeSecurityGroupIngressRequest.add_member(:cidr_ip, Shapes::ShapeRef.new(shape: String, location_name: "CidrIp"))
8715
8786
  RevokeSecurityGroupIngressRequest.add_member(:from_port, Shapes::ShapeRef.new(shape: Integer, location_name: "FromPort"))
8716
8787
  RevokeSecurityGroupIngressRequest.add_member(:group_id, Shapes::ShapeRef.new(shape: SecurityGroupId, location_name: "GroupId"))
@@ -8723,6 +8794,10 @@ module Aws::EC2
8723
8794
  RevokeSecurityGroupIngressRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "dryRun"))
8724
8795
  RevokeSecurityGroupIngressRequest.struct_class = Types::RevokeSecurityGroupIngressRequest
8725
8796
 
8797
+ RevokeSecurityGroupIngressResult.add_member(:return, Shapes::ShapeRef.new(shape: Boolean, location_name: "return"))
8798
+ RevokeSecurityGroupIngressResult.add_member(:unknown_ip_permissions, Shapes::ShapeRef.new(shape: IpPermissionList, location_name: "unknownIpPermissionSet"))
8799
+ RevokeSecurityGroupIngressResult.struct_class = Types::RevokeSecurityGroupIngressResult
8800
+
8726
8801
  RootDeviceTypeList.member = Shapes::ShapeRef.new(shape: RootDeviceType, location_name: "item")
8727
8802
 
8728
8803
  Route.add_member(:destination_cidr_block, Shapes::ShapeRef.new(shape: String, location_name: "destinationCidrBlock"))
@@ -8810,6 +8885,7 @@ module Aws::EC2
8810
8885
  RunInstancesRequest.add_member(:hibernation_options, Shapes::ShapeRef.new(shape: HibernationOptionsRequest, location_name: "HibernationOptions"))
8811
8886
  RunInstancesRequest.add_member(:license_specifications, Shapes::ShapeRef.new(shape: LicenseSpecificationListRequest, location_name: "LicenseSpecification"))
8812
8887
  RunInstancesRequest.add_member(:metadata_options, Shapes::ShapeRef.new(shape: InstanceMetadataOptionsRequest, location_name: "MetadataOptions"))
8888
+ RunInstancesRequest.add_member(:enclave_options, Shapes::ShapeRef.new(shape: EnclaveOptionsRequest, location_name: "EnclaveOptions"))
8813
8889
  RunInstancesRequest.struct_class = Types::RunInstancesRequest
8814
8890
 
8815
8891
  RunScheduledInstancesRequest.add_member(:client_token, Shapes::ShapeRef.new(shape: String, location_name: "ClientToken", metadata: {"idempotencyToken"=>true}))
@@ -10347,6 +10423,14 @@ module Aws::EC2
10347
10423
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
10348
10424
  end)
10349
10425
 
10426
+ api.add_operation(:associate_enclave_certificate_iam_role, Seahorse::Model::Operation.new.tap do |o|
10427
+ o.name = "AssociateEnclaveCertificateIamRole"
10428
+ o.http_method = "POST"
10429
+ o.http_request_uri = "/"
10430
+ o.input = Shapes::ShapeRef.new(shape: AssociateEnclaveCertificateIamRoleRequest)
10431
+ o.output = Shapes::ShapeRef.new(shape: AssociateEnclaveCertificateIamRoleResult)
10432
+ end)
10433
+
10350
10434
  api.add_operation(:associate_iam_instance_profile, Seahorse::Model::Operation.new.tap do |o|
10351
10435
  o.name = "AssociateIamInstanceProfile"
10352
10436
  o.http_method = "POST"
@@ -12954,6 +13038,14 @@ module Aws::EC2
12954
13038
  o.output = Shapes::ShapeRef.new(shape: DisassociateClientVpnTargetNetworkResult)
12955
13039
  end)
12956
13040
 
13041
+ api.add_operation(:disassociate_enclave_certificate_iam_role, Seahorse::Model::Operation.new.tap do |o|
13042
+ o.name = "DisassociateEnclaveCertificateIamRole"
13043
+ o.http_method = "POST"
13044
+ o.http_request_uri = "/"
13045
+ o.input = Shapes::ShapeRef.new(shape: DisassociateEnclaveCertificateIamRoleRequest)
13046
+ o.output = Shapes::ShapeRef.new(shape: DisassociateEnclaveCertificateIamRoleResult)
13047
+ end)
13048
+
12957
13049
  api.add_operation(:disassociate_iam_instance_profile, Seahorse::Model::Operation.new.tap do |o|
12958
13050
  o.name = "DisassociateIamInstanceProfile"
12959
13051
  o.http_method = "POST"
@@ -13090,6 +13182,14 @@ module Aws::EC2
13090
13182
  o.output = Shapes::ShapeRef.new(shape: ExportTransitGatewayRoutesResult)
13091
13183
  end)
13092
13184
 
13185
+ api.add_operation(:get_associated_enclave_certificate_iam_roles, Seahorse::Model::Operation.new.tap do |o|
13186
+ o.name = "GetAssociatedEnclaveCertificateIamRoles"
13187
+ o.http_method = "POST"
13188
+ o.http_request_uri = "/"
13189
+ o.input = Shapes::ShapeRef.new(shape: GetAssociatedEnclaveCertificateIamRolesRequest)
13190
+ o.output = Shapes::ShapeRef.new(shape: GetAssociatedEnclaveCertificateIamRolesResult)
13191
+ end)
13192
+
13093
13193
  api.add_operation(:get_associated_ipv_6_pool_cidrs, Seahorse::Model::Operation.new.tap do |o|
13094
13194
  o.name = "GetAssociatedIpv6PoolCidrs"
13095
13195
  o.http_method = "POST"
@@ -13981,7 +14081,7 @@ module Aws::EC2
13981
14081
  o.http_method = "POST"
13982
14082
  o.http_request_uri = "/"
13983
14083
  o.input = Shapes::ShapeRef.new(shape: RevokeSecurityGroupEgressRequest)
13984
- o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
14084
+ o.output = Shapes::ShapeRef.new(shape: RevokeSecurityGroupEgressResult)
13985
14085
  end)
13986
14086
 
13987
14087
  api.add_operation(:revoke_security_group_ingress, Seahorse::Model::Operation.new.tap do |o|
@@ -13989,7 +14089,7 @@ module Aws::EC2
13989
14089
  o.http_method = "POST"
13990
14090
  o.http_request_uri = "/"
13991
14091
  o.input = Shapes::ShapeRef.new(shape: RevokeSecurityGroupIngressRequest)
13992
- o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
14092
+ o.output = Shapes::ShapeRef.new(shape: RevokeSecurityGroupIngressResult)
13993
14093
  end)
13994
14094
 
13995
14095
  api.add_operation(:run_instances, Seahorse::Model::Operation.new.tap do |o|
@@ -4,7 +4,7 @@
4
4
  require 'aws-sdk-ec2/customizations/resource'
5
5
  require 'aws-sdk-ec2/customizations/instance'
6
6
 
7
- Aws::EC2::Instance::Collection.send(:extend, Aws::Deprecations)
7
+ Aws::EC2::Instance::Collection.extend Aws::Deprecations
8
8
  {
9
9
  create_tags: :batch_create_tags,
10
10
  monitor: :batch_create_tags,
@@ -19,5 +19,5 @@ Aws::EC2::Instance::Collection.send(:extend, Aws::Deprecations)
19
19
  end
20
20
 
21
21
  Aws::EC2::Tag::Collection.send(:alias_method, :delete, :batch_delete!)
22
- Aws::EC2::Tag::Collection.send(:extend, Aws::Deprecations)
22
+ Aws::EC2::Tag::Collection.extend Aws::Deprecations
23
23
  Aws::EC2::Tag::Collection.send(:deprecated, :delete, use: :batch_delete!)
@@ -340,6 +340,12 @@ module Aws::EC2
340
340
  data[:metadata_options]
341
341
  end
342
342
 
343
+ # Indicates whether the instance is enabled for AWS Nitro Enclaves.
344
+ # @return [Types::EnclaveOptions]
345
+ def enclave_options
346
+ data[:enclave_options]
347
+ end
348
+
343
349
  # @!endgroup
344
350
 
345
351
  # @return [Client]
@@ -774,7 +780,7 @@ module Aws::EC2
774
780
  # @example Request syntax with placeholder values
775
781
  #
776
782
  # instance.describe_attribute({
777
- # attribute: "instanceType", # required, accepts instanceType, kernel, ramdisk, userData, disableApiTermination, instanceInitiatedShutdownBehavior, rootDeviceName, blockDeviceMapping, productCodes, sourceDestCheck, groupSet, ebsOptimized, sriovNetSupport, enaSupport
783
+ # attribute: "instanceType", # required, accepts instanceType, kernel, ramdisk, userData, disableApiTermination, instanceInitiatedShutdownBehavior, rootDeviceName, blockDeviceMapping, productCodes, sourceDestCheck, groupSet, ebsOptimized, sriovNetSupport, enaSupport, enclaveOptions
778
784
  # dry_run: false,
779
785
  # })
780
786
  # @param [Hash] options ({})
@@ -855,7 +861,7 @@ module Aws::EC2
855
861
  # source_dest_check: {
856
862
  # value: false,
857
863
  # },
858
- # attribute: "instanceType", # accepts instanceType, kernel, ramdisk, userData, disableApiTermination, instanceInitiatedShutdownBehavior, rootDeviceName, blockDeviceMapping, productCodes, sourceDestCheck, groupSet, ebsOptimized, sriovNetSupport, enaSupport
864
+ # attribute: "instanceType", # accepts instanceType, kernel, ramdisk, userData, disableApiTermination, instanceInitiatedShutdownBehavior, rootDeviceName, blockDeviceMapping, productCodes, sourceDestCheck, groupSet, ebsOptimized, sriovNetSupport, enaSupport, enclaveOptions
859
865
  # block_device_mappings: [
860
866
  # {
861
867
  # device_name: "String",
@@ -1103,7 +1109,7 @@ module Aws::EC2
1103
1109
  # @example Request syntax with placeholder values
1104
1110
  #
1105
1111
  # instance.reset_attribute({
1106
- # attribute: "instanceType", # required, accepts instanceType, kernel, ramdisk, userData, disableApiTermination, instanceInitiatedShutdownBehavior, rootDeviceName, blockDeviceMapping, productCodes, sourceDestCheck, groupSet, ebsOptimized, sriovNetSupport, enaSupport
1112
+ # attribute: "instanceType", # required, accepts instanceType, kernel, ramdisk, userData, disableApiTermination, instanceInitiatedShutdownBehavior, rootDeviceName, blockDeviceMapping, productCodes, sourceDestCheck, groupSet, ebsOptimized, sriovNetSupport, enaSupport, enclaveOptions
1107
1113
  # dry_run: false,
1108
1114
  # })
1109
1115
  # @param [Hash] options ({})
@@ -228,6 +228,9 @@ module Aws::EC2
228
228
  # http_put_response_hop_limit: 1,
229
229
  # http_endpoint: "disabled", # accepts disabled, enabled
230
230
  # },
231
+ # enclave_options: {
232
+ # enabled: false,
233
+ # },
231
234
  # })
232
235
  # @param [Hash] options ({})
233
236
  # @option options [Array<Types::BlockDeviceMapping>] :block_device_mappings
@@ -500,6 +503,9 @@ module Aws::EC2
500
503
  # information, see [Hibernate your instance][1] in the *Amazon Elastic
501
504
  # Compute Cloud User Guide*.
502
505
  #
506
+ # You can't enable hibernation and AWS Nitro Enclaves on the same
507
+ # instance.
508
+ #
503
509
  #
504
510
  #
505
511
  # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html
@@ -512,6 +518,20 @@ module Aws::EC2
512
518
  #
513
519
  #
514
520
  # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html
521
+ # @option options [Types::EnclaveOptionsRequest] :enclave_options
522
+ # Indicates whether the instance is enabled for AWS Nitro Enclaves. For
523
+ # more information, see [ AWS Nitro Enclaves][1] in the *Amazon Elastic
524
+ # Compute Cloud User Guide*.
525
+ #
526
+ # You can't enable AWS Nitro Enclaves and hibernation on the same
527
+ # instance. For more information about AWS Nitro Enclaves requirements,
528
+ # see [ AWS Nitro Enclaves][2] in the *Amazon Elastic Compute Cloud User
529
+ # Guide*.
530
+ #
531
+ #
532
+ #
533
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave.html
534
+ # [2]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave.html#nitro-enclave-reqs
515
535
  # @return [Instance::Collection]
516
536
  def create_instances(options = {})
517
537
  batch = []
@@ -580,7 +580,7 @@ module Aws::EC2
580
580
  # @option options [String] :source_security_group_owner_id
581
581
  # Not supported. Use a set of IP permissions to specify a destination
582
582
  # security group.
583
- # @return [EmptyStructure]
583
+ # @return [Types::RevokeSecurityGroupEgressResult]
584
584
  def revoke_egress(options = {})
585
585
  options = options.merge(group_id: @id)
586
586
  resp = @client.revoke_security_group_egress(options)
@@ -680,7 +680,7 @@ module Aws::EC2
680
680
  # without actually making the request, and provides an error response.
681
681
  # If you have the required permissions, the error response is
682
682
  # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
683
- # @return [EmptyStructure]
683
+ # @return [Types::RevokeSecurityGroupIngressResult]
684
684
  def revoke_ingress(options = {})
685
685
  options = options.merge(group_id: @id)
686
686
  resp = @client.revoke_security_group_ingress(options)
@@ -422,6 +422,9 @@ module Aws::EC2
422
422
  # http_put_response_hop_limit: 1,
423
423
  # http_endpoint: "disabled", # accepts disabled, enabled
424
424
  # },
425
+ # enclave_options: {
426
+ # enabled: false,
427
+ # },
425
428
  # })
426
429
  # @param [Hash] options ({})
427
430
  # @option options [Array<Types::BlockDeviceMapping>] :block_device_mappings
@@ -689,6 +692,9 @@ module Aws::EC2
689
692
  # information, see [Hibernate your instance][1] in the *Amazon Elastic
690
693
  # Compute Cloud User Guide*.
691
694
  #
695
+ # You can't enable hibernation and AWS Nitro Enclaves on the same
696
+ # instance.
697
+ #
692
698
  #
693
699
  #
694
700
  # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html
@@ -701,6 +707,20 @@ module Aws::EC2
701
707
  #
702
708
  #
703
709
  # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html
710
+ # @option options [Types::EnclaveOptionsRequest] :enclave_options
711
+ # Indicates whether the instance is enabled for AWS Nitro Enclaves. For
712
+ # more information, see [ AWS Nitro Enclaves][1] in the *Amazon Elastic
713
+ # Compute Cloud User Guide*.
714
+ #
715
+ # You can't enable AWS Nitro Enclaves and hibernation on the same
716
+ # instance. For more information about AWS Nitro Enclaves requirements,
717
+ # see [ AWS Nitro Enclaves][2] in the *Amazon Elastic Compute Cloud User
718
+ # Guide*.
719
+ #
720
+ #
721
+ #
722
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave.html
723
+ # [2]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave.html#nitro-enclave-reqs
704
724
  # @return [Instance::Collection]
705
725
  def create_instances(options = {})
706
726
  batch = []
@@ -1109,6 +1109,67 @@ module Aws::EC2
1109
1109
  include Aws::Structure
1110
1110
  end
1111
1111
 
1112
+ # @note When making an API call, you may pass AssociateEnclaveCertificateIamRoleRequest
1113
+ # data as a hash:
1114
+ #
1115
+ # {
1116
+ # certificate_arn: "ResourceArn",
1117
+ # role_arn: "ResourceArn",
1118
+ # dry_run: false,
1119
+ # }
1120
+ #
1121
+ # @!attribute [rw] certificate_arn
1122
+ # The ARN of the ACM certificate with which to associate the IAM role.
1123
+ # @return [String]
1124
+ #
1125
+ # @!attribute [rw] role_arn
1126
+ # The ARN of the IAM role to associate with the ACM certificate. You
1127
+ # can associate up to 16 IAM roles with an ACM certificate.
1128
+ # @return [String]
1129
+ #
1130
+ # @!attribute [rw] dry_run
1131
+ # Checks whether you have the required permissions for the action,
1132
+ # without actually making the request, and provides an error response.
1133
+ # If you have the required permissions, the error response is
1134
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
1135
+ # @return [Boolean]
1136
+ #
1137
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateEnclaveCertificateIamRoleRequest AWS API Documentation
1138
+ #
1139
+ class AssociateEnclaveCertificateIamRoleRequest < Struct.new(
1140
+ :certificate_arn,
1141
+ :role_arn,
1142
+ :dry_run)
1143
+ SENSITIVE = []
1144
+ include Aws::Structure
1145
+ end
1146
+
1147
+ # @!attribute [rw] certificate_s3_bucket_name
1148
+ # The name of the Amazon S3 bucket to which the certificate was
1149
+ # uploaded.
1150
+ # @return [String]
1151
+ #
1152
+ # @!attribute [rw] certificate_s3_object_key
1153
+ # The Amazon S3 object key where the certificate, certificate chain,
1154
+ # and encrypted private key bundle are stored. The object key is
1155
+ # formatted as follows: `certificate_arn`/`role_arn`.
1156
+ # @return [String]
1157
+ #
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.
1161
+ # @return [String]
1162
+ #
1163
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateEnclaveCertificateIamRoleResult AWS API Documentation
1164
+ #
1165
+ class AssociateEnclaveCertificateIamRoleResult < Struct.new(
1166
+ :certificate_s3_bucket_name,
1167
+ :certificate_s3_object_key,
1168
+ :encryption_kms_key_id)
1169
+ SENSITIVE = []
1170
+ include Aws::Structure
1171
+ end
1172
+
1112
1173
  # @note When making an API call, you may pass AssociateIamInstanceProfileRequest
1113
1174
  # data as a hash:
1114
1175
  #
@@ -1435,6 +1496,38 @@ module Aws::EC2
1435
1496
  include Aws::Structure
1436
1497
  end
1437
1498
 
1499
+ # Information about the associated IAM roles.
1500
+ #
1501
+ # @!attribute [rw] associated_role_arn
1502
+ # The ARN of the associated IAM role.
1503
+ # @return [String]
1504
+ #
1505
+ # @!attribute [rw] certificate_s3_bucket_name
1506
+ # The name of the Amazon S3 bucket in which the Amazon S3 object is
1507
+ # stored.
1508
+ # @return [String]
1509
+ #
1510
+ # @!attribute [rw] certificate_s3_object_key
1511
+ # The key of the Amazon S3 object ey where the certificate,
1512
+ # certificate chain, and encrypted private key bundle is stored. The
1513
+ # object key is formated as follows: `certificate_arn`/`role_arn`.
1514
+ # @return [String]
1515
+ #
1516
+ # @!attribute [rw] encryption_kms_key_id
1517
+ # The ID of the KMS key used to encrypt the private key.
1518
+ # @return [String]
1519
+ #
1520
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociatedRole AWS API Documentation
1521
+ #
1522
+ class AssociatedRole < Struct.new(
1523
+ :associated_role_arn,
1524
+ :certificate_s3_bucket_name,
1525
+ :certificate_s3_object_key,
1526
+ :encryption_kms_key_id)
1527
+ SENSITIVE = []
1528
+ include Aws::Structure
1529
+ end
1530
+
1438
1531
  # Describes a target network that is associated with a Client VPN
1439
1532
  # endpoint. A target network is a subnet in a VPC.
1440
1533
  #
@@ -6536,6 +6629,9 @@ module Aws::EC2
6536
6629
  # http_put_response_hop_limit: 1,
6537
6630
  # http_endpoint: "disabled", # accepts disabled, enabled
6538
6631
  # },
6632
+ # enclave_options: {
6633
+ # enabled: false,
6634
+ # },
6539
6635
  # },
6540
6636
  # tag_specifications: [
6541
6637
  # {
@@ -6758,6 +6854,9 @@ module Aws::EC2
6758
6854
  # http_put_response_hop_limit: 1,
6759
6855
  # http_endpoint: "disabled", # accepts disabled, enabled
6760
6856
  # },
6857
+ # enclave_options: {
6858
+ # enabled: false,
6859
+ # },
6761
6860
  # },
6762
6861
  # }
6763
6862
  #
@@ -8054,7 +8153,13 @@ module Aws::EC2
8054
8153
  # }
8055
8154
  #
8056
8155
  # @!attribute [rw] bucket
8057
- # The Amazon S3 bucket in which to store the Spot Instance data feed.
8156
+ # The name of the Amazon S3 bucket in which to store the Spot Instance
8157
+ # data feed. For more information about bucket names, see [Rules for
8158
+ # bucket naming][1] in the *Amazon S3 Developer Guide*.
8159
+ #
8160
+ #
8161
+ #
8162
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html#bucketnamingrules
8058
8163
  # @return [String]
8059
8164
  #
8060
8165
  # @!attribute [rw] dry_run
@@ -8065,7 +8170,7 @@ module Aws::EC2
8065
8170
  # @return [Boolean]
8066
8171
  #
8067
8172
  # @!attribute [rw] prefix
8068
- # A prefix for the data feed file names.
8173
+ # The prefix for the data feed file names.
8069
8174
  # @return [String]
8070
8175
  #
8071
8176
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSpotDatafeedSubscriptionRequest AWS API Documentation
@@ -15806,7 +15911,7 @@ module Aws::EC2
15806
15911
  # data as a hash:
15807
15912
  #
15808
15913
  # {
15809
- # attribute: "instanceType", # required, accepts instanceType, kernel, ramdisk, userData, disableApiTermination, instanceInitiatedShutdownBehavior, rootDeviceName, blockDeviceMapping, productCodes, sourceDestCheck, groupSet, ebsOptimized, sriovNetSupport, enaSupport
15914
+ # attribute: "instanceType", # required, accepts instanceType, kernel, ramdisk, userData, disableApiTermination, instanceInitiatedShutdownBehavior, rootDeviceName, blockDeviceMapping, productCodes, sourceDestCheck, groupSet, ebsOptimized, sriovNetSupport, enaSupport, enclaveOptions
15810
15915
  # dry_run: false,
15811
15916
  # instance_id: "InstanceId", # required
15812
15917
  # }
@@ -16215,26 +16320,26 @@ module Aws::EC2
16215
16320
  # baseline bandwidth performance for an EBS-optimized instance type,
16216
16321
  # in Mbps.
16217
16322
  #
16218
- # * `ebs-info.ebs-optimized-info.baseline-throughput-in-mbps` - The
16219
- # baseline throughput performance for an EBS-optimized instance
16220
- # type, in MBps.
16221
- #
16222
16323
  # * `ebs-info.ebs-optimized-info.baseline-iops` - The baseline
16223
16324
  # input/output storage operations per second for an EBS-optimized
16224
16325
  # instance type.
16225
16326
  #
16327
+ # * `ebs-info.ebs-optimized-info.baseline-throughput-in-mbps` - The
16328
+ # baseline throughput performance for an EBS-optimized instance
16329
+ # type, in MBps.
16330
+ #
16226
16331
  # * `ebs-info.ebs-optimized-info.maximum-bandwidth-in-mbps` - The
16227
16332
  # maximum bandwidth performance for an EBS-optimized instance type,
16228
16333
  # in Mbps.
16229
16334
  #
16230
- # * `ebs-info.ebs-optimized-info.maximum-throughput-in-mbps` - The
16231
- # maximum throughput performance for an EBS-optimized instance type,
16232
- # in MBps.
16233
- #
16234
16335
  # * `ebs-info.ebs-optimized-info.maximum-iops` - The maximum
16235
16336
  # input/output storage operations per second for an EBS-optimized
16236
16337
  # instance type.
16237
16338
  #
16339
+ # * `ebs-info.ebs-optimized-info.maximum-throughput-in-mbps` - The
16340
+ # maximum throughput performance for an EBS-optimized instance type,
16341
+ # in MBps.
16342
+ #
16238
16343
  # * `ebs-info.ebs-optimized-support` - Indicates whether the instance
16239
16344
  # type is EBS-optimized. (`supported` \| `unsupported` \| `default`)
16240
16345
  #
@@ -16242,7 +16347,7 @@ module Aws::EC2
16242
16347
  # is supported. (`supported` \| `unsupported`)
16243
16348
  #
16244
16349
  # * `ebs-info.nvme-support` - Indicates whether non-volatile memory
16245
- # express (NVMe) is supported or required. (`required` \|
16350
+ # express (NVMe) is supported for EBS volumes. (`required` \|
16246
16351
  # `supported` \| `unsupported`)
16247
16352
  #
16248
16353
  # * `free-tier-eligible` - Indicates whether the instance type is
@@ -16251,7 +16356,7 @@ module Aws::EC2
16251
16356
  # * `hibernation-supported` - Indicates whether On-Demand hibernation
16252
16357
  # is supported. (`true` \| `false`)
16253
16358
  #
16254
- # * `hypervisor` - The hypervisor used. (`nitro` \| `xen`)
16359
+ # * `hypervisor` - The hypervisor. (`nitro` \| `xen`)
16255
16360
  #
16256
16361
  # * `instance-storage-info.disk.count` - The number of local disks.
16257
16362
  #
@@ -16261,21 +16366,28 @@ module Aws::EC2
16261
16366
  # * `instance-storage-info.disk.type` - The storage technology for the
16262
16367
  # local instance storage disks. (`hdd` \| `ssd`)
16263
16368
  #
16369
+ # * `instance-storage-info.nvme-support` - Indicates whether
16370
+ # non-volatile memory express (NVMe) is supported for instance
16371
+ # store. (`required` \| `supported`) \| `unsupported`)
16372
+ #
16264
16373
  # * `instance-storage-info.total-size-in-gb` - The total amount of
16265
16374
  # storage available from all local instance storage, in GB.
16266
16375
  #
16267
16376
  # * `instance-storage-supported` - Indicates whether the instance type
16268
16377
  # has local instance storage. (`true` \| `false`)
16269
16378
  #
16379
+ # * `instance-type` - The instance type (for example `c5.2xlarge` or
16380
+ # c5*).
16381
+ #
16270
16382
  # * `memory-info.size-in-mib` - The memory size.
16271
16383
  #
16384
+ # * `network-info.efa-supported` - Indicates whether the instance type
16385
+ # supports Elastic Fabric Adapter (EFA). (`true` \| `false`)
16386
+ #
16272
16387
  # * `network-info.ena-support` - Indicates whether Elastic Network
16273
16388
  # Adapter (ENA) is supported or required. (`required` \| `supported`
16274
16389
  # \| `unsupported`)
16275
16390
  #
16276
- # * `network-info.efa-supported` - Indicates whether the instance type
16277
- # supports Elastic Fabric Adapter (EFA). (`true` \| `false`)
16278
- #
16279
16391
  # * `network-info.ipv4-addresses-per-interface` - The maximum number
16280
16392
  # of private IPv4 addresses per network interface.
16281
16393
  #
@@ -16288,12 +16400,23 @@ module Aws::EC2
16288
16400
  # * `network-info.maximum-network-interfaces` - The maximum number of
16289
16401
  # network interfaces per instance.
16290
16402
  #
16291
- # * `network-info.network-performance` - Describes the network
16292
- # performance.
16403
+ # * `network-info.network-performance` - The network performance (for
16404
+ # example, "25 Gigabit").
16405
+ #
16406
+ # * `processor-info.supported-architecture` - The CPU architecture.
16407
+ # (`arm64` \| `i386` \| `x86_64`)
16293
16408
  #
16294
16409
  # * `processor-info.sustained-clock-speed-in-ghz` - The CPU clock
16295
16410
  # speed, in GHz.
16296
16411
  #
16412
+ # * `supported-root-device-type` - The root device type. (`ebs` \|
16413
+ # `instance-store`)
16414
+ #
16415
+ # * `supported-usage-class` - The usage class. (`on-demand` \| `spot`)
16416
+ #
16417
+ # * `supported-virtualization-type` - The virtualization type. (`hvm`
16418
+ # \| `paravirtual`)
16419
+ #
16297
16420
  # * `vcpu-info.default-cores` - The default number of cores for the
16298
16421
  # instance type.
16299
16422
  #
@@ -16302,6 +16425,13 @@ module Aws::EC2
16302
16425
  #
16303
16426
  # * `vcpu-info.default-vcpus` - The default number of vCPUs for the
16304
16427
  # instance type.
16428
+ #
16429
+ # * `vcpu-info.valid-cores` - The number of cores that can be
16430
+ # configured for the instance type.
16431
+ #
16432
+ # * `vcpu-info.valid-threads-per-core` - The number of threads per
16433
+ # core that can be configured for the instance type. For example,
16434
+ # "1" or "1,2".
16305
16435
  # @return [Array<Types::Filter>]
16306
16436
  #
16307
16437
  # @!attribute [rw] max_results
@@ -20474,8 +20604,10 @@ module Aws::EC2
20474
20604
  # * `instance-type` - The type of instance (for example, `m3.medium`).
20475
20605
  #
20476
20606
  # * `product-description` - The product description for the Spot price
20477
- # (`Linux/UNIX` \| `SUSE Linux` \| `Windows` \| `Linux/UNIX (Amazon
20478
- # VPC)` \| `SUSE Linux (Amazon VPC)` \| `Windows (Amazon VPC)`).
20607
+ # (`Linux/UNIX` \| `Red Hat Enterprise Linux` \| `SUSE Linux` \|
20608
+ # `Windows` \| `Linux/UNIX (Amazon VPC)` \| `Red Hat Enterprise
20609
+ # Linux (Amazon VPC)` \| `SUSE Linux (Amazon VPC)` \| `Windows
20610
+ # (Amazon VPC)`).
20479
20611
  #
20480
20612
  # * `spot-price` - The Spot price. The value must match exactly (or
20481
20613
  # use wildcards; greater than or less than comparison is not
@@ -23928,6 +24060,54 @@ module Aws::EC2
23928
24060
  include Aws::Structure
23929
24061
  end
23930
24062
 
24063
+ # @note When making an API call, you may pass DisassociateEnclaveCertificateIamRoleRequest
24064
+ # data as a hash:
24065
+ #
24066
+ # {
24067
+ # certificate_arn: "ResourceArn",
24068
+ # role_arn: "ResourceArn",
24069
+ # dry_run: false,
24070
+ # }
24071
+ #
24072
+ # @!attribute [rw] certificate_arn
24073
+ # The ARN of the ACM certificate from which to disassociate the IAM
24074
+ # role.
24075
+ # @return [String]
24076
+ #
24077
+ # @!attribute [rw] role_arn
24078
+ # The ARN of the IAM role to disassociate.
24079
+ # @return [String]
24080
+ #
24081
+ # @!attribute [rw] dry_run
24082
+ # Checks whether you have the required permissions for the action,
24083
+ # without actually making the request, and provides an error response.
24084
+ # If you have the required permissions, the error response is
24085
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
24086
+ # @return [Boolean]
24087
+ #
24088
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateEnclaveCertificateIamRoleRequest AWS API Documentation
24089
+ #
24090
+ class DisassociateEnclaveCertificateIamRoleRequest < Struct.new(
24091
+ :certificate_arn,
24092
+ :role_arn,
24093
+ :dry_run)
24094
+ SENSITIVE = []
24095
+ include Aws::Structure
24096
+ end
24097
+
24098
+ # @!attribute [rw] return
24099
+ # Returns `true` if the request succeeds; otherwise, it returns an
24100
+ # error.
24101
+ # @return [Boolean]
24102
+ #
24103
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateEnclaveCertificateIamRoleResult AWS API Documentation
24104
+ #
24105
+ class DisassociateEnclaveCertificateIamRoleResult < Struct.new(
24106
+ :return)
24107
+ SENSITIVE = []
24108
+ include Aws::Structure
24109
+ end
24110
+
23931
24111
  # @note When making an API call, you may pass DisassociateIamInstanceProfileRequest
23932
24112
  # data as a hash:
23933
24113
  #
@@ -25282,6 +25462,49 @@ module Aws::EC2
25282
25462
  include Aws::Structure
25283
25463
  end
25284
25464
 
25465
+ # Indicates whether the instance is enabled for AWS Nitro Enclaves.
25466
+ #
25467
+ # @!attribute [rw] enabled
25468
+ # If this parameter is set to `true`, the instance is enabled for AWS
25469
+ # Nitro Enclaves; otherwise, it is not enabled for AWS Nitro Enclaves.
25470
+ # @return [Boolean]
25471
+ #
25472
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnclaveOptions AWS API Documentation
25473
+ #
25474
+ class EnclaveOptions < Struct.new(
25475
+ :enabled)
25476
+ SENSITIVE = []
25477
+ include Aws::Structure
25478
+ end
25479
+
25480
+ # Indicates whether the instance is enabled for AWS Nitro Enclaves. For
25481
+ # more information, see [ AWS Nitro Enclaves][1] in the *Amazon Elastic
25482
+ # Compute Cloud User Guide*.
25483
+ #
25484
+ #
25485
+ #
25486
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave.html
25487
+ #
25488
+ # @note When making an API call, you may pass EnclaveOptionsRequest
25489
+ # data as a hash:
25490
+ #
25491
+ # {
25492
+ # enabled: false,
25493
+ # }
25494
+ #
25495
+ # @!attribute [rw] enabled
25496
+ # To enable the instance for AWS Nitro Enclaves, set this parameter to
25497
+ # `true`.
25498
+ # @return [Boolean]
25499
+ #
25500
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnclaveOptionsRequest AWS API Documentation
25501
+ #
25502
+ class EnclaveOptionsRequest < Struct.new(
25503
+ :enabled)
25504
+ SENSITIVE = []
25505
+ include Aws::Structure
25506
+ end
25507
+
25285
25508
  # Describes an EC2 Fleet or Spot Fleet event.
25286
25509
  #
25287
25510
  # @!attribute [rw] event_description
@@ -26769,6 +26992,47 @@ module Aws::EC2
26769
26992
  include Aws::Structure
26770
26993
  end
26771
26994
 
26995
+ # @note When making an API call, you may pass GetAssociatedEnclaveCertificateIamRolesRequest
26996
+ # data as a hash:
26997
+ #
26998
+ # {
26999
+ # certificate_arn: "ResourceArn",
27000
+ # dry_run: false,
27001
+ # }
27002
+ #
27003
+ # @!attribute [rw] certificate_arn
27004
+ # The ARN of the ACM certificate for which to view the associated IAM
27005
+ # roles, encryption keys, and Amazon S3 object information.
27006
+ # @return [String]
27007
+ #
27008
+ # @!attribute [rw] dry_run
27009
+ # Checks whether you have the required permissions for the action,
27010
+ # without actually making the request, and provides an error response.
27011
+ # If you have the required permissions, the error response is
27012
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
27013
+ # @return [Boolean]
27014
+ #
27015
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetAssociatedEnclaveCertificateIamRolesRequest AWS API Documentation
27016
+ #
27017
+ class GetAssociatedEnclaveCertificateIamRolesRequest < Struct.new(
27018
+ :certificate_arn,
27019
+ :dry_run)
27020
+ SENSITIVE = []
27021
+ include Aws::Structure
27022
+ end
27023
+
27024
+ # @!attribute [rw] associated_roles
27025
+ # Information about the associated IAM roles.
27026
+ # @return [Array<Types::AssociatedRole>]
27027
+ #
27028
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetAssociatedEnclaveCertificateIamRolesResult AWS API Documentation
27029
+ #
27030
+ class GetAssociatedEnclaveCertificateIamRolesResult < Struct.new(
27031
+ :associated_roles)
27032
+ SENSITIVE = []
27033
+ include Aws::Structure
27034
+ end
27035
+
26772
27036
  # @note When making an API call, you may pass GetAssociatedIpv6PoolCidrsRequest
26773
27037
  # data as a hash:
26774
27038
  #
@@ -30408,6 +30672,10 @@ module Aws::EC2
30408
30672
  # The metadata options for the instance.
30409
30673
  # @return [Types::InstanceMetadataOptionsResponse]
30410
30674
  #
30675
+ # @!attribute [rw] enclave_options
30676
+ # Indicates whether the instance is enabled for AWS Nitro Enclaves.
30677
+ # @return [Types::EnclaveOptions]
30678
+ #
30411
30679
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/Instance AWS API Documentation
30412
30680
  #
30413
30681
  class Instance < Struct.new(
@@ -30457,7 +30725,8 @@ module Aws::EC2
30457
30725
  :capacity_reservation_specification,
30458
30726
  :hibernation_options,
30459
30727
  :licenses,
30460
- :metadata_options)
30728
+ :metadata_options,
30729
+ :enclave_options)
30461
30730
  SENSITIVE = []
30462
30731
  include Aws::Structure
30463
30732
  end
@@ -30481,6 +30750,11 @@ module Aws::EC2
30481
30750
  # Indicates whether enhanced networking with ENA is enabled.
30482
30751
  # @return [Types::AttributeBooleanValue]
30483
30752
  #
30753
+ # @!attribute [rw] enclave_options
30754
+ # To enable the instance for AWS Nitro Enclaves, set this parameter to
30755
+ # `true`; otherwise, set it to `false`.
30756
+ # @return [Types::EnclaveOptions]
30757
+ #
30484
30758
  # @!attribute [rw] ebs_optimized
30485
30759
  # Indicates whether the instance is optimized for Amazon EBS I/O.
30486
30760
  # @return [Types::AttributeBooleanValue]
@@ -30539,6 +30813,7 @@ module Aws::EC2
30539
30813
  :block_device_mappings,
30540
30814
  :disable_api_termination,
30541
30815
  :ena_support,
30816
+ :enclave_options,
30542
30817
  :ebs_optimized,
30543
30818
  :instance_id,
30544
30819
  :instance_initiated_shutdown_behavior,
@@ -31573,11 +31848,17 @@ module Aws::EC2
31573
31848
  # Array describing the disks that are available for the instance type.
31574
31849
  # @return [Array<Types::DiskInfo>]
31575
31850
  #
31851
+ # @!attribute [rw] nvme_support
31852
+ # Indicates whether non-volatile memory express (NVMe) is supported
31853
+ # for instance store.
31854
+ # @return [String]
31855
+ #
31576
31856
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InstanceStorageInfo AWS API Documentation
31577
31857
  #
31578
31858
  class InstanceStorageInfo < Struct.new(
31579
31859
  :total_size_in_gb,
31580
- :disks)
31860
+ :disks,
31861
+ :nvme_support)
31581
31862
  SENSITIVE = []
31582
31863
  include Aws::Structure
31583
31864
  end
@@ -32803,6 +33084,49 @@ module Aws::EC2
32803
33084
  include Aws::Structure
32804
33085
  end
32805
33086
 
33087
+ # Indicates whether the instance is enabled for AWS Nitro Enclaves.
33088
+ #
33089
+ # @!attribute [rw] enabled
33090
+ # If this parameter is set to `true`, the instance is enabled for AWS
33091
+ # Nitro Enclaves; otherwise, it is not enabled for AWS Nitro Enclaves.
33092
+ # @return [Boolean]
33093
+ #
33094
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/LaunchTemplateEnclaveOptions AWS API Documentation
33095
+ #
33096
+ class LaunchTemplateEnclaveOptions < Struct.new(
33097
+ :enabled)
33098
+ SENSITIVE = []
33099
+ include Aws::Structure
33100
+ end
33101
+
33102
+ # Indicates whether the instance is enabled for AWS Nitro Enclaves. For
33103
+ # more information, see [ AWS Nitro Enclaves][1] in the *Amazon Elastic
33104
+ # Compute Cloud User Guide*.
33105
+ #
33106
+ #
33107
+ #
33108
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave.html
33109
+ #
33110
+ # @note When making an API call, you may pass LaunchTemplateEnclaveOptionsRequest
33111
+ # data as a hash:
33112
+ #
33113
+ # {
33114
+ # enabled: false,
33115
+ # }
33116
+ #
33117
+ # @!attribute [rw] enabled
33118
+ # To enable the instance for AWS Nitro Enclaves, set this parameter to
33119
+ # `true`.
33120
+ # @return [Boolean]
33121
+ #
33122
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/LaunchTemplateEnclaveOptionsRequest AWS API Documentation
33123
+ #
33124
+ class LaunchTemplateEnclaveOptionsRequest < Struct.new(
33125
+ :enabled)
33126
+ SENSITIVE = []
33127
+ include Aws::Structure
33128
+ end
33129
+
32806
33130
  # Indicates whether an instance is configured for hibernation.
32807
33131
  #
32808
33132
  # @!attribute [rw] configured
@@ -34210,6 +34534,10 @@ module Aws::EC2
34210
34534
  # The peer BGP ASN.
34211
34535
  # @return [Integer]
34212
34536
  #
34537
+ # @!attribute [rw] owner_id
34538
+ # The AWS account ID that owns the local gateway virtual interface.
34539
+ # @return [String]
34540
+ #
34213
34541
  # @!attribute [rw] tags
34214
34542
  # The tags assigned to the virtual interface.
34215
34543
  # @return [Array<Types::Tag>]
@@ -34224,6 +34552,7 @@ module Aws::EC2
34224
34552
  :peer_address,
34225
34553
  :local_bgp_asn,
34226
34554
  :peer_bgp_asn,
34555
+ :owner_id,
34227
34556
  :tags)
34228
34557
  SENSITIVE = []
34229
34558
  include Aws::Structure
@@ -34243,6 +34572,11 @@ module Aws::EC2
34243
34572
  # The ID of the local gateway.
34244
34573
  # @return [String]
34245
34574
  #
34575
+ # @!attribute [rw] owner_id
34576
+ # The AWS account ID that owns the local gateway virtual interface
34577
+ # group.
34578
+ # @return [String]
34579
+ #
34246
34580
  # @!attribute [rw] tags
34247
34581
  # The tags assigned to the virtual interface group.
34248
34582
  # @return [Array<Types::Tag>]
@@ -34253,6 +34587,7 @@ module Aws::EC2
34253
34587
  :local_gateway_virtual_interface_group_id,
34254
34588
  :local_gateway_virtual_interface_ids,
34255
34589
  :local_gateway_id,
34590
+ :owner_id,
34256
34591
  :tags)
34257
34592
  SENSITIVE = []
34258
34593
  include Aws::Structure
@@ -35167,7 +35502,7 @@ module Aws::EC2
35167
35502
  # source_dest_check: {
35168
35503
  # value: false,
35169
35504
  # },
35170
- # attribute: "instanceType", # accepts instanceType, kernel, ramdisk, userData, disableApiTermination, instanceInitiatedShutdownBehavior, rootDeviceName, blockDeviceMapping, productCodes, sourceDestCheck, groupSet, ebsOptimized, sriovNetSupport, enaSupport
35505
+ # attribute: "instanceType", # accepts instanceType, kernel, ramdisk, userData, disableApiTermination, instanceInitiatedShutdownBehavior, rootDeviceName, blockDeviceMapping, productCodes, sourceDestCheck, groupSet, ebsOptimized, sriovNetSupport, enaSupport, enclaveOptions
35171
35506
  # block_device_mappings: [
35172
35507
  # {
35173
35508
  # device_name: "String",
@@ -41503,6 +41838,9 @@ module Aws::EC2
41503
41838
  # http_put_response_hop_limit: 1,
41504
41839
  # http_endpoint: "disabled", # accepts disabled, enabled
41505
41840
  # },
41841
+ # enclave_options: {
41842
+ # enabled: false,
41843
+ # },
41506
41844
  # }
41507
41845
  #
41508
41846
  # @!attribute [rw] kernel_id
@@ -41709,6 +42047,22 @@ module Aws::EC2
41709
42047
  # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html
41710
42048
  # @return [Types::LaunchTemplateInstanceMetadataOptionsRequest]
41711
42049
  #
42050
+ # @!attribute [rw] enclave_options
42051
+ # Indicates whether the instance is enabled for AWS Nitro Enclaves.
42052
+ # For more information, see [ AWS Nitro Enclaves][1] in the *Amazon
42053
+ # Elastic Compute Cloud User Guide*.
42054
+ #
42055
+ # You can't enable AWS Nitro Enclaves and hibernation on the same
42056
+ # instance. For more information about AWS Nitro Enclaves
42057
+ # requirements, see [ AWS Nitro Enclaves][2] in the *Amazon Elastic
42058
+ # Compute Cloud User Guide*.
42059
+ #
42060
+ #
42061
+ #
42062
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave.html
42063
+ # [2]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave.html#nitro-enclave-reqs
42064
+ # @return [Types::LaunchTemplateEnclaveOptionsRequest]
42065
+ #
41712
42066
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RequestLaunchTemplateData AWS API Documentation
41713
42067
  #
41714
42068
  class RequestLaunchTemplateData < Struct.new(
@@ -41737,7 +42091,8 @@ module Aws::EC2
41737
42091
  :capacity_reservation_specification,
41738
42092
  :license_specifications,
41739
42093
  :hibernation_options,
41740
- :metadata_options)
42094
+ :metadata_options,
42095
+ :enclave_options)
41741
42096
  SENSITIVE = []
41742
42097
  include Aws::Structure
41743
42098
  end
@@ -42075,6 +42430,10 @@ module Aws::EC2
42075
42430
  #
42076
42431
  # You can't specify an Availability Zone group or a launch group if
42077
42432
  # you specify a duration.
42433
+ #
42434
+ # New accounts or accounts with no previous billing history with AWS
42435
+ # are not eligible for Spot Instances with a defined duration (also
42436
+ # known as Spot blocks).
42078
42437
  # @return [Integer]
42079
42438
  #
42080
42439
  # @!attribute [rw] client_token
@@ -42136,11 +42495,17 @@ module Aws::EC2
42136
42495
  # @return [Time]
42137
42496
  #
42138
42497
  # @!attribute [rw] valid_until
42139
- # The end date of the request. If this is a one-time request, the
42140
- # request remains active until all instances launch, the request is
42141
- # canceled, or this date is reached. If the request is persistent, it
42142
- # remains active until it is canceled or this date is reached. The
42143
- # default end date is 7 days from the current date.
42498
+ # The end date of the request, in UTC format
42499
+ # (*YYYY*-*MM*-*DD*T*HH*\:*MM*\:*SS*Z).
42500
+ #
42501
+ # * For a persistent request, the request remains active until the
42502
+ # `ValidUntil` date and time is reached. Otherwise, the request
42503
+ # remains active until you cancel it.
42504
+ #
42505
+ # * For a one-time request, the request remains active until all
42506
+ # instances launch, the request is canceled, or the `ValidUntil`
42507
+ # date and time is reached. By default, the request is valid for 7
42508
+ # days from the date the request was created.
42144
42509
  # @return [Time]
42145
42510
  #
42146
42511
  # @!attribute [rw] tag_specifications
@@ -42377,7 +42742,9 @@ module Aws::EC2
42377
42742
  include Aws::Structure
42378
42743
  end
42379
42744
 
42380
- # Describes a reservation.
42745
+ # Describes a launch request for one or more instances, and includes
42746
+ # owner, requester, and security group information that applies to all
42747
+ # instances in the launch request.
42381
42748
  #
42382
42749
  # @!attribute [rw] groups
42383
42750
  # \[EC2-Classic only\] The security groups.
@@ -43017,7 +43384,7 @@ module Aws::EC2
43017
43384
  # data as a hash:
43018
43385
  #
43019
43386
  # {
43020
- # attribute: "instanceType", # required, accepts instanceType, kernel, ramdisk, userData, disableApiTermination, instanceInitiatedShutdownBehavior, rootDeviceName, blockDeviceMapping, productCodes, sourceDestCheck, groupSet, ebsOptimized, sriovNetSupport, enaSupport
43387
+ # attribute: "instanceType", # required, accepts instanceType, kernel, ramdisk, userData, disableApiTermination, instanceInitiatedShutdownBehavior, rootDeviceName, blockDeviceMapping, productCodes, sourceDestCheck, groupSet, ebsOptimized, sriovNetSupport, enaSupport, enclaveOptions
43021
43388
  # dry_run: false,
43022
43389
  # instance_id: "InstanceId", # required
43023
43390
  # }
@@ -43270,6 +43637,10 @@ module Aws::EC2
43270
43637
  # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html
43271
43638
  # @return [Types::LaunchTemplateInstanceMetadataOptions]
43272
43639
  #
43640
+ # @!attribute [rw] enclave_options
43641
+ # Indicates whether the instance is enabled for AWS Nitro Enclaves.
43642
+ # @return [Types::LaunchTemplateEnclaveOptions]
43643
+ #
43273
43644
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResponseLaunchTemplateData AWS API Documentation
43274
43645
  #
43275
43646
  class ResponseLaunchTemplateData < Struct.new(
@@ -43298,7 +43669,8 @@ module Aws::EC2
43298
43669
  :capacity_reservation_specification,
43299
43670
  :license_specifications,
43300
43671
  :hibernation_options,
43301
- :metadata_options)
43672
+ :metadata_options,
43673
+ :enclave_options)
43302
43674
  SENSITIVE = []
43303
43675
  include Aws::Structure
43304
43676
  end
@@ -43570,6 +43942,25 @@ module Aws::EC2
43570
43942
  include Aws::Structure
43571
43943
  end
43572
43944
 
43945
+ # @!attribute [rw] return
43946
+ # Returns `true` if the request succeeds; otherwise, returns an error.
43947
+ # @return [Boolean]
43948
+ #
43949
+ # @!attribute [rw] unknown_ip_permissions
43950
+ # The outbound rules that were unknown to the service. In some cases,
43951
+ # `unknownIpPermissionSet` might be in a different format from the
43952
+ # request parameter.
43953
+ # @return [Array<Types::IpPermission>]
43954
+ #
43955
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RevokeSecurityGroupEgressResult AWS API Documentation
43956
+ #
43957
+ class RevokeSecurityGroupEgressResult < Struct.new(
43958
+ :return,
43959
+ :unknown_ip_permissions)
43960
+ SENSITIVE = []
43961
+ include Aws::Structure
43962
+ end
43963
+
43573
43964
  # @note When making an API call, you may pass RevokeSecurityGroupIngressRequest
43574
43965
  # data as a hash:
43575
43966
  #
@@ -43707,6 +44098,25 @@ module Aws::EC2
43707
44098
  include Aws::Structure
43708
44099
  end
43709
44100
 
44101
+ # @!attribute [rw] return
44102
+ # Returns `true` if the request succeeds; otherwise, returns an error.
44103
+ # @return [Boolean]
44104
+ #
44105
+ # @!attribute [rw] unknown_ip_permissions
44106
+ # The inbound rules that were unknown to the service. In some cases,
44107
+ # `unknownIpPermissionSet` might be in a different format from the
44108
+ # request parameter.
44109
+ # @return [Array<Types::IpPermission>]
44110
+ #
44111
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RevokeSecurityGroupIngressResult AWS API Documentation
44112
+ #
44113
+ class RevokeSecurityGroupIngressResult < Struct.new(
44114
+ :return,
44115
+ :unknown_ip_permissions)
44116
+ SENSITIVE = []
44117
+ include Aws::Structure
44118
+ end
44119
+
43710
44120
  # Describes a route in a route table.
43711
44121
  #
43712
44122
  # @!attribute [rw] destination_cidr_block
@@ -44082,6 +44492,9 @@ module Aws::EC2
44082
44492
  # http_put_response_hop_limit: 1,
44083
44493
  # http_endpoint: "disabled", # accepts disabled, enabled
44084
44494
  # },
44495
+ # enclave_options: {
44496
+ # enabled: false,
44497
+ # },
44085
44498
  # }
44086
44499
  #
44087
44500
  # @!attribute [rw] block_device_mappings
@@ -44426,6 +44839,9 @@ module Aws::EC2
44426
44839
  # information, see [Hibernate your instance][1] in the *Amazon Elastic
44427
44840
  # Compute Cloud User Guide*.
44428
44841
  #
44842
+ # You can't enable hibernation and AWS Nitro Enclaves on the same
44843
+ # instance.
44844
+ #
44429
44845
  #
44430
44846
  #
44431
44847
  # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html
@@ -44444,6 +44860,22 @@ module Aws::EC2
44444
44860
  # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html
44445
44861
  # @return [Types::InstanceMetadataOptionsRequest]
44446
44862
  #
44863
+ # @!attribute [rw] enclave_options
44864
+ # Indicates whether the instance is enabled for AWS Nitro Enclaves.
44865
+ # For more information, see [ AWS Nitro Enclaves][1] in the *Amazon
44866
+ # Elastic Compute Cloud User Guide*.
44867
+ #
44868
+ # You can't enable AWS Nitro Enclaves and hibernation on the same
44869
+ # instance. For more information about AWS Nitro Enclaves
44870
+ # requirements, see [ AWS Nitro Enclaves][2] in the *Amazon Elastic
44871
+ # Compute Cloud User Guide*.
44872
+ #
44873
+ #
44874
+ #
44875
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave.html
44876
+ # [2]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave.html#nitro-enclave-reqs
44877
+ # @return [Types::EnclaveOptionsRequest]
44878
+ #
44447
44879
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RunInstancesRequest AWS API Documentation
44448
44880
  #
44449
44881
  class RunInstancesRequest < Struct.new(
@@ -44482,7 +44914,8 @@ module Aws::EC2
44482
44914
  :capacity_reservation_specification,
44483
44915
  :hibernation_options,
44484
44916
  :license_specifications,
44485
- :metadata_options)
44917
+ :metadata_options,
44918
+ :enclave_options)
44486
44919
  SENSITIVE = []
44487
44920
  include Aws::Structure
44488
44921
  end
@@ -46386,7 +46819,8 @@ module Aws::EC2
46386
46819
  # Describes the data feed for a Spot Instance.
46387
46820
  #
46388
46821
  # @!attribute [rw] bucket
46389
- # The Amazon S3 bucket where the Spot Instance data feed is located.
46822
+ # The name of the Amazon S3 bucket where the Spot Instance data feed
46823
+ # is located.
46390
46824
  # @return [String]
46391
46825
  #
46392
46826
  # @!attribute [rw] fault
@@ -46398,7 +46832,7 @@ module Aws::EC2
46398
46832
  # @return [String]
46399
46833
  #
46400
46834
  # @!attribute [rw] prefix
46401
- # The prefix that is prepended to data feed files.
46835
+ # The prefix for the data feed files.
46402
46836
  # @return [String]
46403
46837
  #
46404
46838
  # @!attribute [rw] state
@@ -46418,7 +46852,8 @@ module Aws::EC2
46418
46852
  end
46419
46853
 
46420
46854
  # Describes the launch specification for one or more Spot Instances. If
46421
- # you include On-Demand capacity in your fleet request, you can't use
46855
+ # you include On-Demand capacity in your fleet request or want to
46856
+ # specify an EFA network device, you can't use
46422
46857
  # `SpotFleetLaunchSpecification`; you must use
46423
46858
  # [LaunchTemplateConfig][1].
46424
46859
  #
@@ -46573,6 +47008,16 @@ module Aws::EC2
46573
47008
  # One or more network interfaces. If you specify a network interface,
46574
47009
  # you must specify subnet IDs and security group IDs using the network
46575
47010
  # interface.
47011
+ #
47012
+ # <note markdown="1"> `SpotFleetLaunchSpecification` currently does not support Elastic
47013
+ # Fabric Adapter (EFA). To specify an EFA, you must use
47014
+ # [LaunchTemplateConfig][1].
47015
+ #
47016
+ # </note>
47017
+ #
47018
+ #
47019
+ #
47020
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_LaunchTemplateConfig.html
46576
47021
  # @return [Array<Types::InstanceNetworkInterfaceSpecification>]
46577
47022
  #
46578
47023
  # @!attribute [rw] placement
@@ -47230,12 +47675,17 @@ module Aws::EC2
47230
47675
  # @return [Time]
47231
47676
  #
47232
47677
  # @!attribute [rw] valid_until
47233
- # The end date of the request, in UTC format (for example,
47234
- # *YYYY*-*MM*-*DD*T*HH*\:*MM*\:*SS*Z). If this is a one-time request,
47235
- # it remains active until all instances launch, the request is
47236
- # canceled, or this date is reached. If the request is persistent, it
47237
- # remains active until it is canceled or this date is reached. The
47238
- # default end date is 7 days from the current date.
47678
+ # The end date of the request, in UTC format
47679
+ # (*YYYY*-*MM*-*DD*T*HH*\:*MM*\:*SS*Z).
47680
+ #
47681
+ # * For a persistent request, the request remains active until the
47682
+ # `validUntil` date and time is reached. Otherwise, the request
47683
+ # remains active until you cancel it.
47684
+ #
47685
+ # * For a one-time request, the request remains active until all
47686
+ # instances launch, the request is canceled, or the `validUntil`
47687
+ # date and time is reached. By default, the request is valid for 7
47688
+ # days from the date the request was created.
47239
47689
  # @return [Time]
47240
47690
  #
47241
47691
  # @!attribute [rw] instance_interruption_behavior
@@ -47350,14 +47800,33 @@ module Aws::EC2
47350
47800
  # The required duration for the Spot Instances (also known as Spot
47351
47801
  # blocks), in minutes. This value must be a multiple of 60 (60, 120,
47352
47802
  # 180, 240, 300, or 360).
47803
+ #
47804
+ # The duration period starts as soon as your Spot Instance receives
47805
+ # its instance ID. At the end of the duration period, Amazon EC2 marks
47806
+ # the Spot Instance for termination and provides a Spot Instance
47807
+ # termination notice, which gives the instance a two-minute warning
47808
+ # before it terminates.
47809
+ #
47810
+ # You can't specify an Availability Zone group or a launch group if
47811
+ # you specify a duration.
47812
+ #
47813
+ # New accounts or accounts with no previous billing history with AWS
47814
+ # are not eligible for Spot Instances with a defined duration (also
47815
+ # known as Spot blocks).
47353
47816
  # @return [Integer]
47354
47817
  #
47355
47818
  # @!attribute [rw] valid_until
47356
- # The end date of the request. For a one-time request, the request
47357
- # remains active until all instances launch, the request is canceled,
47358
- # or this date is reached. If the request is persistent, it remains
47359
- # active until it is canceled or this date and time is reached. The
47360
- # default end date is 7 days from the current date.
47819
+ # The end date of the request, in UTC format
47820
+ # (*YYYY*-*MM*-*DD*T*HH*\:*MM*\:*SS*Z). Supported only for persistent
47821
+ # requests.
47822
+ #
47823
+ # * For a persistent request, the request remains active until the
47824
+ # `ValidUntil` date and time is reached. Otherwise, the request
47825
+ # remains active until you cancel it.
47826
+ #
47827
+ # * For a one-time request, `ValidUntil` is not supported. The request
47828
+ # remains active until all instances launch or you cancel the
47829
+ # request.
47361
47830
  # @return [Time]
47362
47831
  #
47363
47832
  # @!attribute [rw] instance_interruption_behavior