aws-sdk-ec2 1.198.0 → 1.203.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.
@@ -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