aws-sdk-ec2 1.199.0 → 1.204.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.
@@ -50,6 +50,7 @@ module Aws::EC2
50
50
  AllowedPrincipal = Shapes::StructureShape.new(name: 'AllowedPrincipal')
51
51
  AllowedPrincipalSet = Shapes::ListShape.new(name: 'AllowedPrincipalSet')
52
52
  AllowsMultipleInstanceTypes = Shapes::StringShape.new(name: 'AllowsMultipleInstanceTypes')
53
+ ApplianceModeSupportValue = Shapes::StringShape.new(name: 'ApplianceModeSupportValue')
53
54
  ApplySecurityGroupsToClientVpnTargetNetworkRequest = Shapes::StructureShape.new(name: 'ApplySecurityGroupsToClientVpnTargetNetworkRequest')
54
55
  ApplySecurityGroupsToClientVpnTargetNetworkResult = Shapes::StructureShape.new(name: 'ApplySecurityGroupsToClientVpnTargetNetworkResult')
55
56
  ArchitectureType = Shapes::StringShape.new(name: 'ArchitectureType')
@@ -66,6 +67,8 @@ module Aws::EC2
66
67
  AssociateClientVpnTargetNetworkRequest = Shapes::StructureShape.new(name: 'AssociateClientVpnTargetNetworkRequest')
67
68
  AssociateClientVpnTargetNetworkResult = Shapes::StructureShape.new(name: 'AssociateClientVpnTargetNetworkResult')
68
69
  AssociateDhcpOptionsRequest = Shapes::StructureShape.new(name: 'AssociateDhcpOptionsRequest')
70
+ AssociateEnclaveCertificateIamRoleRequest = Shapes::StructureShape.new(name: 'AssociateEnclaveCertificateIamRoleRequest')
71
+ AssociateEnclaveCertificateIamRoleResult = Shapes::StructureShape.new(name: 'AssociateEnclaveCertificateIamRoleResult')
69
72
  AssociateIamInstanceProfileRequest = Shapes::StructureShape.new(name: 'AssociateIamInstanceProfileRequest')
70
73
  AssociateIamInstanceProfileResult = Shapes::StructureShape.new(name: 'AssociateIamInstanceProfileResult')
71
74
  AssociateRouteTableRequest = Shapes::StructureShape.new(name: 'AssociateRouteTableRequest')
@@ -79,6 +82,8 @@ module Aws::EC2
79
82
  AssociateVpcCidrBlockRequest = Shapes::StructureShape.new(name: 'AssociateVpcCidrBlockRequest')
80
83
  AssociateVpcCidrBlockResult = Shapes::StructureShape.new(name: 'AssociateVpcCidrBlockResult')
81
84
  AssociatedNetworkType = Shapes::StringShape.new(name: 'AssociatedNetworkType')
85
+ AssociatedRole = Shapes::StructureShape.new(name: 'AssociatedRole')
86
+ AssociatedRolesList = Shapes::ListShape.new(name: 'AssociatedRolesList')
82
87
  AssociatedTargetNetwork = Shapes::StructureShape.new(name: 'AssociatedTargetNetwork')
83
88
  AssociatedTargetNetworkSet = Shapes::ListShape.new(name: 'AssociatedTargetNetworkSet')
84
89
  AssociationIdList = Shapes::ListShape.new(name: 'AssociationIdList')
@@ -796,6 +801,8 @@ module Aws::EC2
796
801
  DisassociateAddressRequest = Shapes::StructureShape.new(name: 'DisassociateAddressRequest')
797
802
  DisassociateClientVpnTargetNetworkRequest = Shapes::StructureShape.new(name: 'DisassociateClientVpnTargetNetworkRequest')
798
803
  DisassociateClientVpnTargetNetworkResult = Shapes::StructureShape.new(name: 'DisassociateClientVpnTargetNetworkResult')
804
+ DisassociateEnclaveCertificateIamRoleRequest = Shapes::StructureShape.new(name: 'DisassociateEnclaveCertificateIamRoleRequest')
805
+ DisassociateEnclaveCertificateIamRoleResult = Shapes::StructureShape.new(name: 'DisassociateEnclaveCertificateIamRoleResult')
799
806
  DisassociateIamInstanceProfileRequest = Shapes::StructureShape.new(name: 'DisassociateIamInstanceProfileRequest')
800
807
  DisassociateIamInstanceProfileResult = Shapes::StructureShape.new(name: 'DisassociateIamInstanceProfileResult')
801
808
  DisassociateRouteTableRequest = Shapes::StructureShape.new(name: 'DisassociateRouteTableRequest')
@@ -878,8 +885,11 @@ module Aws::EC2
878
885
  EnableVpcClassicLinkDnsSupportResult = Shapes::StructureShape.new(name: 'EnableVpcClassicLinkDnsSupportResult')
879
886
  EnableVpcClassicLinkRequest = Shapes::StructureShape.new(name: 'EnableVpcClassicLinkRequest')
880
887
  EnableVpcClassicLinkResult = Shapes::StructureShape.new(name: 'EnableVpcClassicLinkResult')
888
+ EnclaveOptions = Shapes::StructureShape.new(name: 'EnclaveOptions')
889
+ EnclaveOptionsRequest = Shapes::StructureShape.new(name: 'EnclaveOptionsRequest')
881
890
  EndDateType = Shapes::StringShape.new(name: 'EndDateType')
882
891
  EndpointSet = Shapes::ListShape.new(name: 'EndpointSet')
892
+ EphemeralNvmeSupport = Shapes::StringShape.new(name: 'EphemeralNvmeSupport')
883
893
  ErrorSet = Shapes::ListShape.new(name: 'ErrorSet')
884
894
  EventCode = Shapes::StringShape.new(name: 'EventCode')
885
895
  EventInformation = Shapes::StructureShape.new(name: 'EventInformation')
@@ -962,6 +972,8 @@ module Aws::EC2
962
972
  FpgaInfo = Shapes::StructureShape.new(name: 'FpgaInfo')
963
973
  FreeTierEligibleFlag = Shapes::BooleanShape.new(name: 'FreeTierEligibleFlag')
964
974
  GatewayType = Shapes::StringShape.new(name: 'GatewayType')
975
+ GetAssociatedEnclaveCertificateIamRolesRequest = Shapes::StructureShape.new(name: 'GetAssociatedEnclaveCertificateIamRolesRequest')
976
+ GetAssociatedEnclaveCertificateIamRolesResult = Shapes::StructureShape.new(name: 'GetAssociatedEnclaveCertificateIamRolesResult')
965
977
  GetAssociatedIpv6PoolCidrsRequest = Shapes::StructureShape.new(name: 'GetAssociatedIpv6PoolCidrsRequest')
966
978
  GetAssociatedIpv6PoolCidrsResult = Shapes::StructureShape.new(name: 'GetAssociatedIpv6PoolCidrsResult')
967
979
  GetCapacityReservationUsageRequest = Shapes::StructureShape.new(name: 'GetCapacityReservationUsageRequest')
@@ -1234,6 +1246,8 @@ module Aws::EC2
1234
1246
  LaunchTemplateElasticInferenceAcceleratorList = Shapes::ListShape.new(name: 'LaunchTemplateElasticInferenceAcceleratorList')
1235
1247
  LaunchTemplateElasticInferenceAcceleratorResponse = Shapes::StructureShape.new(name: 'LaunchTemplateElasticInferenceAcceleratorResponse')
1236
1248
  LaunchTemplateElasticInferenceAcceleratorResponseList = Shapes::ListShape.new(name: 'LaunchTemplateElasticInferenceAcceleratorResponseList')
1249
+ LaunchTemplateEnclaveOptions = Shapes::StructureShape.new(name: 'LaunchTemplateEnclaveOptions')
1250
+ LaunchTemplateEnclaveOptionsRequest = Shapes::StructureShape.new(name: 'LaunchTemplateEnclaveOptionsRequest')
1237
1251
  LaunchTemplateErrorCode = Shapes::StringShape.new(name: 'LaunchTemplateErrorCode')
1238
1252
  LaunchTemplateHibernationOptions = Shapes::StructureShape.new(name: 'LaunchTemplateHibernationOptions')
1239
1253
  LaunchTemplateHibernationOptionsRequest = Shapes::StructureShape.new(name: 'LaunchTemplateHibernationOptionsRequest')
@@ -1695,7 +1709,9 @@ module Aws::EC2
1695
1709
  RevokeClientVpnIngressRequest = Shapes::StructureShape.new(name: 'RevokeClientVpnIngressRequest')
1696
1710
  RevokeClientVpnIngressResult = Shapes::StructureShape.new(name: 'RevokeClientVpnIngressResult')
1697
1711
  RevokeSecurityGroupEgressRequest = Shapes::StructureShape.new(name: 'RevokeSecurityGroupEgressRequest')
1712
+ RevokeSecurityGroupEgressResult = Shapes::StructureShape.new(name: 'RevokeSecurityGroupEgressResult')
1698
1713
  RevokeSecurityGroupIngressRequest = Shapes::StructureShape.new(name: 'RevokeSecurityGroupIngressRequest')
1714
+ RevokeSecurityGroupIngressResult = Shapes::StructureShape.new(name: 'RevokeSecurityGroupIngressResult')
1699
1715
  RootDeviceType = Shapes::StringShape.new(name: 'RootDeviceType')
1700
1716
  RootDeviceTypeList = Shapes::ListShape.new(name: 'RootDeviceTypeList')
1701
1717
  Route = Shapes::StructureShape.new(name: 'Route')
@@ -1754,6 +1770,7 @@ module Aws::EC2
1754
1770
  SecurityGroupReference = Shapes::StructureShape.new(name: 'SecurityGroupReference')
1755
1771
  SecurityGroupReferences = Shapes::ListShape.new(name: 'SecurityGroupReferences')
1756
1772
  SecurityGroupStringList = Shapes::ListShape.new(name: 'SecurityGroupStringList')
1773
+ SelfServicePortal = Shapes::StringShape.new(name: 'SelfServicePortal')
1757
1774
  SendDiagnosticInterruptRequest = Shapes::StructureShape.new(name: 'SendDiagnosticInterruptRequest')
1758
1775
  SensitiveUserData = Shapes::StringShape.new(name: 'SensitiveUserData')
1759
1776
  ServiceConfiguration = Shapes::StructureShape.new(name: 'ServiceConfiguration')
@@ -2286,6 +2303,16 @@ module Aws::EC2
2286
2303
  AssociateDhcpOptionsRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "dryRun"))
2287
2304
  AssociateDhcpOptionsRequest.struct_class = Types::AssociateDhcpOptionsRequest
2288
2305
 
2306
+ AssociateEnclaveCertificateIamRoleRequest.add_member(:certificate_arn, Shapes::ShapeRef.new(shape: ResourceArn, location_name: "CertificateArn"))
2307
+ AssociateEnclaveCertificateIamRoleRequest.add_member(:role_arn, Shapes::ShapeRef.new(shape: ResourceArn, location_name: "RoleArn"))
2308
+ AssociateEnclaveCertificateIamRoleRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "DryRun"))
2309
+ AssociateEnclaveCertificateIamRoleRequest.struct_class = Types::AssociateEnclaveCertificateIamRoleRequest
2310
+
2311
+ AssociateEnclaveCertificateIamRoleResult.add_member(:certificate_s3_bucket_name, Shapes::ShapeRef.new(shape: String, location_name: "certificateS3BucketName"))
2312
+ AssociateEnclaveCertificateIamRoleResult.add_member(:certificate_s3_object_key, Shapes::ShapeRef.new(shape: String, location_name: "certificateS3ObjectKey"))
2313
+ AssociateEnclaveCertificateIamRoleResult.add_member(:encryption_kms_key_id, Shapes::ShapeRef.new(shape: String, location_name: "encryptionKmsKeyId"))
2314
+ AssociateEnclaveCertificateIamRoleResult.struct_class = Types::AssociateEnclaveCertificateIamRoleResult
2315
+
2289
2316
  AssociateIamInstanceProfileRequest.add_member(:iam_instance_profile, Shapes::ShapeRef.new(shape: IamInstanceProfileSpecification, required: true, location_name: "IamInstanceProfile"))
2290
2317
  AssociateIamInstanceProfileRequest.add_member(:instance_id, Shapes::ShapeRef.new(shape: InstanceId, required: true, location_name: "InstanceId"))
2291
2318
  AssociateIamInstanceProfileRequest.struct_class = Types::AssociateIamInstanceProfileRequest
@@ -2341,6 +2368,14 @@ module Aws::EC2
2341
2368
  AssociateVpcCidrBlockResult.add_member(:vpc_id, Shapes::ShapeRef.new(shape: String, location_name: "vpcId"))
2342
2369
  AssociateVpcCidrBlockResult.struct_class = Types::AssociateVpcCidrBlockResult
2343
2370
 
2371
+ AssociatedRole.add_member(:associated_role_arn, Shapes::ShapeRef.new(shape: ResourceArn, location_name: "associatedRoleArn"))
2372
+ AssociatedRole.add_member(:certificate_s3_bucket_name, Shapes::ShapeRef.new(shape: String, location_name: "certificateS3BucketName"))
2373
+ AssociatedRole.add_member(:certificate_s3_object_key, Shapes::ShapeRef.new(shape: String, location_name: "certificateS3ObjectKey"))
2374
+ AssociatedRole.add_member(:encryption_kms_key_id, Shapes::ShapeRef.new(shape: String, location_name: "encryptionKmsKeyId"))
2375
+ AssociatedRole.struct_class = Types::AssociatedRole
2376
+
2377
+ AssociatedRolesList.member = Shapes::ShapeRef.new(shape: AssociatedRole, location_name: "item")
2378
+
2344
2379
  AssociatedTargetNetwork.add_member(:network_id, Shapes::ShapeRef.new(shape: String, location_name: "networkId"))
2345
2380
  AssociatedTargetNetwork.add_member(:network_type, Shapes::ShapeRef.new(shape: AssociatedNetworkType, location_name: "networkType"))
2346
2381
  AssociatedTargetNetwork.struct_class = Types::AssociatedTargetNetwork
@@ -2765,6 +2800,7 @@ module Aws::EC2
2765
2800
  ClientVpnEndpoint.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "tagSet"))
2766
2801
  ClientVpnEndpoint.add_member(:security_group_ids, Shapes::ShapeRef.new(shape: ClientVpnSecurityGroupIdSet, location_name: "securityGroupIdSet"))
2767
2802
  ClientVpnEndpoint.add_member(:vpc_id, Shapes::ShapeRef.new(shape: VpcId, location_name: "vpcId"))
2803
+ ClientVpnEndpoint.add_member(:self_service_portal_url, Shapes::ShapeRef.new(shape: String, location_name: "selfServicePortalUrl"))
2768
2804
  ClientVpnEndpoint.struct_class = Types::ClientVpnEndpoint
2769
2805
 
2770
2806
  ClientVpnEndpointIdList.member = Shapes::ShapeRef.new(shape: ClientVpnEndpointId, location_name: "item")
@@ -2943,6 +2979,7 @@ module Aws::EC2
2943
2979
  CreateClientVpnEndpointRequest.add_member(:tag_specifications, Shapes::ShapeRef.new(shape: TagSpecificationList, location_name: "TagSpecification"))
2944
2980
  CreateClientVpnEndpointRequest.add_member(:security_group_ids, Shapes::ShapeRef.new(shape: ClientVpnSecurityGroupIdSet, location_name: "SecurityGroupId"))
2945
2981
  CreateClientVpnEndpointRequest.add_member(:vpc_id, Shapes::ShapeRef.new(shape: VpcId, location_name: "VpcId"))
2982
+ CreateClientVpnEndpointRequest.add_member(:self_service_portal, Shapes::ShapeRef.new(shape: SelfServicePortal, location_name: "SelfServicePortal"))
2946
2983
  CreateClientVpnEndpointRequest.struct_class = Types::CreateClientVpnEndpointRequest
2947
2984
 
2948
2985
  CreateClientVpnEndpointResult.add_member(:client_vpn_endpoint_id, Shapes::ShapeRef.new(shape: String, location_name: "clientVpnEndpointId"))
@@ -3439,6 +3476,7 @@ module Aws::EC2
3439
3476
 
3440
3477
  CreateTransitGatewayVpcAttachmentRequestOptions.add_member(:dns_support, Shapes::ShapeRef.new(shape: DnsSupportValue, location_name: "DnsSupport"))
3441
3478
  CreateTransitGatewayVpcAttachmentRequestOptions.add_member(:ipv_6_support, Shapes::ShapeRef.new(shape: Ipv6SupportValue, location_name: "Ipv6Support"))
3479
+ CreateTransitGatewayVpcAttachmentRequestOptions.add_member(:appliance_mode_support, Shapes::ShapeRef.new(shape: ApplianceModeSupportValue, location_name: "ApplianceModeSupport"))
3442
3480
  CreateTransitGatewayVpcAttachmentRequestOptions.struct_class = Types::CreateTransitGatewayVpcAttachmentRequestOptions
3443
3481
 
3444
3482
  CreateTransitGatewayVpcAttachmentResult.add_member(:transit_gateway_vpc_attachment, Shapes::ShapeRef.new(shape: TransitGatewayVpcAttachment, location_name: "transitGatewayVpcAttachment"))
@@ -5344,6 +5382,14 @@ module Aws::EC2
5344
5382
  DisassociateClientVpnTargetNetworkResult.add_member(:status, Shapes::ShapeRef.new(shape: AssociationStatus, location_name: "status"))
5345
5383
  DisassociateClientVpnTargetNetworkResult.struct_class = Types::DisassociateClientVpnTargetNetworkResult
5346
5384
 
5385
+ DisassociateEnclaveCertificateIamRoleRequest.add_member(:certificate_arn, Shapes::ShapeRef.new(shape: ResourceArn, location_name: "CertificateArn"))
5386
+ DisassociateEnclaveCertificateIamRoleRequest.add_member(:role_arn, Shapes::ShapeRef.new(shape: ResourceArn, location_name: "RoleArn"))
5387
+ DisassociateEnclaveCertificateIamRoleRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "DryRun"))
5388
+ DisassociateEnclaveCertificateIamRoleRequest.struct_class = Types::DisassociateEnclaveCertificateIamRoleRequest
5389
+
5390
+ DisassociateEnclaveCertificateIamRoleResult.add_member(:return, Shapes::ShapeRef.new(shape: Boolean, location_name: "return"))
5391
+ DisassociateEnclaveCertificateIamRoleResult.struct_class = Types::DisassociateEnclaveCertificateIamRoleResult
5392
+
5347
5393
  DisassociateIamInstanceProfileRequest.add_member(:association_id, Shapes::ShapeRef.new(shape: IamInstanceProfileAssociationId, required: true, location_name: "AssociationId"))
5348
5394
  DisassociateIamInstanceProfileRequest.struct_class = Types::DisassociateIamInstanceProfileRequest
5349
5395
 
@@ -5593,6 +5639,12 @@ module Aws::EC2
5593
5639
  EnableVpcClassicLinkResult.add_member(:return, Shapes::ShapeRef.new(shape: Boolean, location_name: "return"))
5594
5640
  EnableVpcClassicLinkResult.struct_class = Types::EnableVpcClassicLinkResult
5595
5641
 
5642
+ EnclaveOptions.add_member(:enabled, Shapes::ShapeRef.new(shape: Boolean, location_name: "enabled"))
5643
+ EnclaveOptions.struct_class = Types::EnclaveOptions
5644
+
5645
+ EnclaveOptionsRequest.add_member(:enabled, Shapes::ShapeRef.new(shape: Boolean, location_name: "Enabled"))
5646
+ EnclaveOptionsRequest.struct_class = Types::EnclaveOptionsRequest
5647
+
5596
5648
  EndpointSet.member = Shapes::ShapeRef.new(shape: ClientVpnEndpoint, location_name: "item")
5597
5649
 
5598
5650
  ErrorSet.member = Shapes::ShapeRef.new(shape: ValidationError, location_name: "item")
@@ -5704,9 +5756,11 @@ module Aws::EC2
5704
5756
  FailedQueuedPurchaseDeletionSet.member = Shapes::ShapeRef.new(shape: FailedQueuedPurchaseDeletion, location_name: "item")
5705
5757
 
5706
5758
  FederatedAuthentication.add_member(:saml_provider_arn, Shapes::ShapeRef.new(shape: String, location_name: "samlProviderArn"))
5759
+ FederatedAuthentication.add_member(:self_service_saml_provider_arn, Shapes::ShapeRef.new(shape: String, location_name: "selfServiceSamlProviderArn"))
5707
5760
  FederatedAuthentication.struct_class = Types::FederatedAuthentication
5708
5761
 
5709
5762
  FederatedAuthenticationRequest.add_member(:saml_provider_arn, Shapes::ShapeRef.new(shape: String, location_name: "SAMLProviderArn"))
5763
+ FederatedAuthenticationRequest.add_member(:self_service_saml_provider_arn, Shapes::ShapeRef.new(shape: String, location_name: "SelfServiceSAMLProviderArn"))
5710
5764
  FederatedAuthenticationRequest.struct_class = Types::FederatedAuthenticationRequest
5711
5765
 
5712
5766
  Filter.add_member(:name, Shapes::ShapeRef.new(shape: String, location_name: "Name"))
@@ -5854,6 +5908,13 @@ module Aws::EC2
5854
5908
  FpgaInfo.add_member(:total_fpga_memory_in_mi_b, Shapes::ShapeRef.new(shape: totalFpgaMemory, location_name: "totalFpgaMemoryInMiB"))
5855
5909
  FpgaInfo.struct_class = Types::FpgaInfo
5856
5910
 
5911
+ GetAssociatedEnclaveCertificateIamRolesRequest.add_member(:certificate_arn, Shapes::ShapeRef.new(shape: ResourceArn, location_name: "CertificateArn"))
5912
+ GetAssociatedEnclaveCertificateIamRolesRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "DryRun"))
5913
+ GetAssociatedEnclaveCertificateIamRolesRequest.struct_class = Types::GetAssociatedEnclaveCertificateIamRolesRequest
5914
+
5915
+ GetAssociatedEnclaveCertificateIamRolesResult.add_member(:associated_roles, Shapes::ShapeRef.new(shape: AssociatedRolesList, location_name: "associatedRoleSet"))
5916
+ GetAssociatedEnclaveCertificateIamRolesResult.struct_class = Types::GetAssociatedEnclaveCertificateIamRolesResult
5917
+
5857
5918
  GetAssociatedIpv6PoolCidrsRequest.add_member(:pool_id, Shapes::ShapeRef.new(shape: Ipv6PoolEc2Id, required: true, location_name: "PoolId"))
5858
5919
  GetAssociatedIpv6PoolCidrsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
5859
5920
  GetAssociatedIpv6PoolCidrsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: Ipv6PoolMaxResults, location_name: "MaxResults"))
@@ -6487,12 +6548,14 @@ module Aws::EC2
6487
6548
  Instance.add_member(:hibernation_options, Shapes::ShapeRef.new(shape: HibernationOptions, location_name: "hibernationOptions"))
6488
6549
  Instance.add_member(:licenses, Shapes::ShapeRef.new(shape: LicenseList, location_name: "licenseSet"))
6489
6550
  Instance.add_member(:metadata_options, Shapes::ShapeRef.new(shape: InstanceMetadataOptionsResponse, location_name: "metadataOptions"))
6551
+ Instance.add_member(:enclave_options, Shapes::ShapeRef.new(shape: EnclaveOptions, location_name: "enclaveOptions"))
6490
6552
  Instance.struct_class = Types::Instance
6491
6553
 
6492
6554
  InstanceAttribute.add_member(:groups, Shapes::ShapeRef.new(shape: GroupIdentifierList, location_name: "groupSet"))
6493
6555
  InstanceAttribute.add_member(:block_device_mappings, Shapes::ShapeRef.new(shape: InstanceBlockDeviceMappingList, location_name: "blockDeviceMapping"))
6494
6556
  InstanceAttribute.add_member(:disable_api_termination, Shapes::ShapeRef.new(shape: AttributeBooleanValue, location_name: "disableApiTermination"))
6495
6557
  InstanceAttribute.add_member(:ena_support, Shapes::ShapeRef.new(shape: AttributeBooleanValue, location_name: "enaSupport"))
6558
+ InstanceAttribute.add_member(:enclave_options, Shapes::ShapeRef.new(shape: EnclaveOptions, location_name: "enclaveOptions"))
6496
6559
  InstanceAttribute.add_member(:ebs_optimized, Shapes::ShapeRef.new(shape: AttributeBooleanValue, location_name: "ebsOptimized"))
6497
6560
  InstanceAttribute.add_member(:instance_id, Shapes::ShapeRef.new(shape: String, location_name: "instanceId"))
6498
6561
  InstanceAttribute.add_member(:instance_initiated_shutdown_behavior, Shapes::ShapeRef.new(shape: AttributeValue, location_name: "instanceInitiatedShutdownBehavior"))
@@ -6698,6 +6761,7 @@ module Aws::EC2
6698
6761
 
6699
6762
  InstanceStorageInfo.add_member(:total_size_in_gb, Shapes::ShapeRef.new(shape: DiskSize, location_name: "totalSizeInGB"))
6700
6763
  InstanceStorageInfo.add_member(:disks, Shapes::ShapeRef.new(shape: DiskInfoList, location_name: "disks"))
6764
+ InstanceStorageInfo.add_member(:nvme_support, Shapes::ShapeRef.new(shape: EphemeralNvmeSupport, location_name: "nvmeSupport"))
6701
6765
  InstanceStorageInfo.struct_class = Types::InstanceStorageInfo
6702
6766
 
6703
6767
  InstanceTagKeySet.member = Shapes::ShapeRef.new(shape: String, location_name: "item")
@@ -6945,6 +7009,12 @@ module Aws::EC2
6945
7009
 
6946
7010
  LaunchTemplateElasticInferenceAcceleratorResponseList.member = Shapes::ShapeRef.new(shape: LaunchTemplateElasticInferenceAcceleratorResponse, location_name: "item")
6947
7011
 
7012
+ LaunchTemplateEnclaveOptions.add_member(:enabled, Shapes::ShapeRef.new(shape: Boolean, location_name: "enabled"))
7013
+ LaunchTemplateEnclaveOptions.struct_class = Types::LaunchTemplateEnclaveOptions
7014
+
7015
+ LaunchTemplateEnclaveOptionsRequest.add_member(:enabled, Shapes::ShapeRef.new(shape: Boolean, location_name: "Enabled"))
7016
+ LaunchTemplateEnclaveOptionsRequest.struct_class = Types::LaunchTemplateEnclaveOptionsRequest
7017
+
6948
7018
  LaunchTemplateHibernationOptions.add_member(:configured, Shapes::ShapeRef.new(shape: Boolean, location_name: "configured"))
6949
7019
  LaunchTemplateHibernationOptions.struct_class = Types::LaunchTemplateHibernationOptions
6950
7020
 
@@ -7273,6 +7343,7 @@ module Aws::EC2
7273
7343
  ModifyClientVpnEndpointRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "DryRun"))
7274
7344
  ModifyClientVpnEndpointRequest.add_member(:security_group_ids, Shapes::ShapeRef.new(shape: ClientVpnSecurityGroupIdSet, location_name: "SecurityGroupId"))
7275
7345
  ModifyClientVpnEndpointRequest.add_member(:vpc_id, Shapes::ShapeRef.new(shape: VpcId, location_name: "VpcId"))
7346
+ ModifyClientVpnEndpointRequest.add_member(:self_service_portal, Shapes::ShapeRef.new(shape: SelfServicePortal, location_name: "SelfServicePortal"))
7276
7347
  ModifyClientVpnEndpointRequest.struct_class = Types::ModifyClientVpnEndpointRequest
7277
7348
 
7278
7349
  ModifyClientVpnEndpointResult.add_member(:return, Shapes::ShapeRef.new(shape: Boolean, location_name: "return"))
@@ -7557,6 +7628,7 @@ module Aws::EC2
7557
7628
 
7558
7629
  ModifyTransitGatewayVpcAttachmentRequestOptions.add_member(:dns_support, Shapes::ShapeRef.new(shape: DnsSupportValue, location_name: "DnsSupport"))
7559
7630
  ModifyTransitGatewayVpcAttachmentRequestOptions.add_member(:ipv_6_support, Shapes::ShapeRef.new(shape: Ipv6SupportValue, location_name: "Ipv6Support"))
7631
+ ModifyTransitGatewayVpcAttachmentRequestOptions.add_member(:appliance_mode_support, Shapes::ShapeRef.new(shape: ApplianceModeSupportValue, location_name: "ApplianceModeSupport"))
7560
7632
  ModifyTransitGatewayVpcAttachmentRequestOptions.struct_class = Types::ModifyTransitGatewayVpcAttachmentRequestOptions
7561
7633
 
7562
7634
  ModifyTransitGatewayVpcAttachmentResult.add_member(:transit_gateway_vpc_attachment, Shapes::ShapeRef.new(shape: TransitGatewayVpcAttachment, location_name: "transitGatewayVpcAttachment"))
@@ -8430,6 +8502,7 @@ module Aws::EC2
8430
8502
  RequestLaunchTemplateData.add_member(:license_specifications, Shapes::ShapeRef.new(shape: LaunchTemplateLicenseSpecificationListRequest, location_name: "LicenseSpecification"))
8431
8503
  RequestLaunchTemplateData.add_member(:hibernation_options, Shapes::ShapeRef.new(shape: LaunchTemplateHibernationOptionsRequest, location_name: "HibernationOptions"))
8432
8504
  RequestLaunchTemplateData.add_member(:metadata_options, Shapes::ShapeRef.new(shape: LaunchTemplateInstanceMetadataOptionsRequest, location_name: "MetadataOptions"))
8505
+ RequestLaunchTemplateData.add_member(:enclave_options, Shapes::ShapeRef.new(shape: LaunchTemplateEnclaveOptionsRequest, location_name: "EnclaveOptions"))
8433
8506
  RequestLaunchTemplateData.struct_class = Types::RequestLaunchTemplateData
8434
8507
 
8435
8508
  RequestSpotFleetRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "dryRun"))
@@ -8671,6 +8744,7 @@ module Aws::EC2
8671
8744
  ResponseLaunchTemplateData.add_member(:license_specifications, Shapes::ShapeRef.new(shape: LaunchTemplateLicenseList, location_name: "licenseSet"))
8672
8745
  ResponseLaunchTemplateData.add_member(:hibernation_options, Shapes::ShapeRef.new(shape: LaunchTemplateHibernationOptions, location_name: "hibernationOptions"))
8673
8746
  ResponseLaunchTemplateData.add_member(:metadata_options, Shapes::ShapeRef.new(shape: LaunchTemplateInstanceMetadataOptions, location_name: "metadataOptions"))
8747
+ ResponseLaunchTemplateData.add_member(:enclave_options, Shapes::ShapeRef.new(shape: LaunchTemplateEnclaveOptions, location_name: "enclaveOptions"))
8674
8748
  ResponseLaunchTemplateData.struct_class = Types::ResponseLaunchTemplateData
8675
8749
 
8676
8750
  RestorableByStringList.member = Shapes::ShapeRef.new(shape: String)
@@ -8713,6 +8787,10 @@ module Aws::EC2
8713
8787
  RevokeSecurityGroupEgressRequest.add_member(:source_security_group_owner_id, Shapes::ShapeRef.new(shape: String, location_name: "sourceSecurityGroupOwnerId"))
8714
8788
  RevokeSecurityGroupEgressRequest.struct_class = Types::RevokeSecurityGroupEgressRequest
8715
8789
 
8790
+ RevokeSecurityGroupEgressResult.add_member(:return, Shapes::ShapeRef.new(shape: Boolean, location_name: "return"))
8791
+ RevokeSecurityGroupEgressResult.add_member(:unknown_ip_permissions, Shapes::ShapeRef.new(shape: IpPermissionList, location_name: "unknownIpPermissionSet"))
8792
+ RevokeSecurityGroupEgressResult.struct_class = Types::RevokeSecurityGroupEgressResult
8793
+
8716
8794
  RevokeSecurityGroupIngressRequest.add_member(:cidr_ip, Shapes::ShapeRef.new(shape: String, location_name: "CidrIp"))
8717
8795
  RevokeSecurityGroupIngressRequest.add_member(:from_port, Shapes::ShapeRef.new(shape: Integer, location_name: "FromPort"))
8718
8796
  RevokeSecurityGroupIngressRequest.add_member(:group_id, Shapes::ShapeRef.new(shape: SecurityGroupId, location_name: "GroupId"))
@@ -8725,6 +8803,10 @@ module Aws::EC2
8725
8803
  RevokeSecurityGroupIngressRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "dryRun"))
8726
8804
  RevokeSecurityGroupIngressRequest.struct_class = Types::RevokeSecurityGroupIngressRequest
8727
8805
 
8806
+ RevokeSecurityGroupIngressResult.add_member(:return, Shapes::ShapeRef.new(shape: Boolean, location_name: "return"))
8807
+ RevokeSecurityGroupIngressResult.add_member(:unknown_ip_permissions, Shapes::ShapeRef.new(shape: IpPermissionList, location_name: "unknownIpPermissionSet"))
8808
+ RevokeSecurityGroupIngressResult.struct_class = Types::RevokeSecurityGroupIngressResult
8809
+
8728
8810
  RootDeviceTypeList.member = Shapes::ShapeRef.new(shape: RootDeviceType, location_name: "item")
8729
8811
 
8730
8812
  Route.add_member(:destination_cidr_block, Shapes::ShapeRef.new(shape: String, location_name: "destinationCidrBlock"))
@@ -8812,6 +8894,7 @@ module Aws::EC2
8812
8894
  RunInstancesRequest.add_member(:hibernation_options, Shapes::ShapeRef.new(shape: HibernationOptionsRequest, location_name: "HibernationOptions"))
8813
8895
  RunInstancesRequest.add_member(:license_specifications, Shapes::ShapeRef.new(shape: LicenseSpecificationListRequest, location_name: "LicenseSpecification"))
8814
8896
  RunInstancesRequest.add_member(:metadata_options, Shapes::ShapeRef.new(shape: InstanceMetadataOptionsRequest, location_name: "MetadataOptions"))
8897
+ RunInstancesRequest.add_member(:enclave_options, Shapes::ShapeRef.new(shape: EnclaveOptionsRequest, location_name: "EnclaveOptions"))
8815
8898
  RunInstancesRequest.struct_class = Types::RunInstancesRequest
8816
8899
 
8817
8900
  RunScheduledInstancesRequest.add_member(:client_token, Shapes::ShapeRef.new(shape: String, location_name: "ClientToken", metadata: {"idempotencyToken"=>true}))
@@ -9766,6 +9849,7 @@ module Aws::EC2
9766
9849
 
9767
9850
  TransitGatewayVpcAttachmentOptions.add_member(:dns_support, Shapes::ShapeRef.new(shape: DnsSupportValue, location_name: "dnsSupport"))
9768
9851
  TransitGatewayVpcAttachmentOptions.add_member(:ipv_6_support, Shapes::ShapeRef.new(shape: Ipv6SupportValue, location_name: "ipv6Support"))
9852
+ TransitGatewayVpcAttachmentOptions.add_member(:appliance_mode_support, Shapes::ShapeRef.new(shape: ApplianceModeSupportValue, location_name: "applianceModeSupport"))
9769
9853
  TransitGatewayVpcAttachmentOptions.struct_class = Types::TransitGatewayVpcAttachmentOptions
9770
9854
 
9771
9855
  TunnelOption.add_member(:outside_ip_address, Shapes::ShapeRef.new(shape: String, location_name: "outsideIpAddress"))
@@ -10349,6 +10433,14 @@ module Aws::EC2
10349
10433
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
10350
10434
  end)
10351
10435
 
10436
+ api.add_operation(:associate_enclave_certificate_iam_role, Seahorse::Model::Operation.new.tap do |o|
10437
+ o.name = "AssociateEnclaveCertificateIamRole"
10438
+ o.http_method = "POST"
10439
+ o.http_request_uri = "/"
10440
+ o.input = Shapes::ShapeRef.new(shape: AssociateEnclaveCertificateIamRoleRequest)
10441
+ o.output = Shapes::ShapeRef.new(shape: AssociateEnclaveCertificateIamRoleResult)
10442
+ end)
10443
+
10352
10444
  api.add_operation(:associate_iam_instance_profile, Seahorse::Model::Operation.new.tap do |o|
10353
10445
  o.name = "AssociateIamInstanceProfile"
10354
10446
  o.http_method = "POST"
@@ -12956,6 +13048,14 @@ module Aws::EC2
12956
13048
  o.output = Shapes::ShapeRef.new(shape: DisassociateClientVpnTargetNetworkResult)
12957
13049
  end)
12958
13050
 
13051
+ api.add_operation(:disassociate_enclave_certificate_iam_role, Seahorse::Model::Operation.new.tap do |o|
13052
+ o.name = "DisassociateEnclaveCertificateIamRole"
13053
+ o.http_method = "POST"
13054
+ o.http_request_uri = "/"
13055
+ o.input = Shapes::ShapeRef.new(shape: DisassociateEnclaveCertificateIamRoleRequest)
13056
+ o.output = Shapes::ShapeRef.new(shape: DisassociateEnclaveCertificateIamRoleResult)
13057
+ end)
13058
+
12959
13059
  api.add_operation(:disassociate_iam_instance_profile, Seahorse::Model::Operation.new.tap do |o|
12960
13060
  o.name = "DisassociateIamInstanceProfile"
12961
13061
  o.http_method = "POST"
@@ -13092,6 +13192,14 @@ module Aws::EC2
13092
13192
  o.output = Shapes::ShapeRef.new(shape: ExportTransitGatewayRoutesResult)
13093
13193
  end)
13094
13194
 
13195
+ api.add_operation(:get_associated_enclave_certificate_iam_roles, Seahorse::Model::Operation.new.tap do |o|
13196
+ o.name = "GetAssociatedEnclaveCertificateIamRoles"
13197
+ o.http_method = "POST"
13198
+ o.http_request_uri = "/"
13199
+ o.input = Shapes::ShapeRef.new(shape: GetAssociatedEnclaveCertificateIamRolesRequest)
13200
+ o.output = Shapes::ShapeRef.new(shape: GetAssociatedEnclaveCertificateIamRolesResult)
13201
+ end)
13202
+
13095
13203
  api.add_operation(:get_associated_ipv_6_pool_cidrs, Seahorse::Model::Operation.new.tap do |o|
13096
13204
  o.name = "GetAssociatedIpv6PoolCidrs"
13097
13205
  o.http_method = "POST"
@@ -13983,7 +14091,7 @@ module Aws::EC2
13983
14091
  o.http_method = "POST"
13984
14092
  o.http_request_uri = "/"
13985
14093
  o.input = Shapes::ShapeRef.new(shape: RevokeSecurityGroupEgressRequest)
13986
- o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
14094
+ o.output = Shapes::ShapeRef.new(shape: RevokeSecurityGroupEgressResult)
13987
14095
  end)
13988
14096
 
13989
14097
  api.add_operation(:revoke_security_group_ingress, Seahorse::Model::Operation.new.tap do |o|
@@ -13991,7 +14099,7 @@ module Aws::EC2
13991
14099
  o.http_method = "POST"
13992
14100
  o.http_request_uri = "/"
13993
14101
  o.input = Shapes::ShapeRef.new(shape: RevokeSecurityGroupIngressRequest)
13994
- o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
14102
+ o.output = Shapes::ShapeRef.new(shape: RevokeSecurityGroupIngressResult)
13995
14103
  end)
13996
14104
 
13997
14105
  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)