aws-sdk-ec2 1.202.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8c0c7f397b15d05f32056ebed43dc64146fa34400315dc74437410d43281dd15
4
- data.tar.gz: 695eff7e91c8ca3fbcf28fdce730661d17d8a80f192d6388152059851f47aabb
3
+ metadata.gz: 6036add83ebf9c38c44918cebd5ebbd55c1f343b8636a942424180b75f1b82e1
4
+ data.tar.gz: e55f72546ec179db10ac6518a52cee4de2a758badb03068881d7868e269e88fa
5
5
  SHA512:
6
- metadata.gz: 210d412e6a6dcfed7bd48a080e655558246afb657de1d925776fd3e3ca4714355bb1c95448deeb1b30e06772374746c46b7cefe65af65b639046c430a97e2811
7
- data.tar.gz: e1136e00572f92a8328d621a0cb51e3b6f4921e9ee1cc6a4b4f3a2d9effbabba88a7dda8f4a04ec9fd1717e15b665428af0a5c1a9e71ebbfb95322aeaf8d0ce0
6
+ metadata.gz: f3f01b624f73a5455c46b8cbacd6e1e69ac362185a229a6b7fc431f845513addc1dcf6ec1f3406e11b2dee7ff4a24e052fde1bf3a9a5a066b1ae6569f29270b1
7
+ data.tar.gz: 3d1a613a3f06b0d17d92c3724f752daf66397b64bca53765c072e934b17f4b661172fd9be9a8463fa44837c96241bb10d1e65e8fcaaf3ca56704a15a0942b269
@@ -72,6 +72,6 @@ require_relative 'aws-sdk-ec2/customizations'
72
72
  # @!group service
73
73
  module Aws::EC2
74
74
 
75
- GEM_VERSION = '1.202.0'
75
+ GEM_VERSION = '1.203.0'
76
76
 
77
77
  end
@@ -1401,6 +1401,74 @@ module Aws::EC2
1401
1401
  req.send_request(options)
1402
1402
  end
1403
1403
 
1404
+ # Associates an AWS Identity and Access Management (IAM) role with an
1405
+ # AWS Certificate Manager (ACM) certificate. This enables the
1406
+ # certificate to be used by the ACM for Nitro Enclaves application
1407
+ # inside an enclave. For more information, see [AWS Certificate Manager
1408
+ # for Nitro Enclaves][1] in the *Amazon Elastic Compute Cloud User
1409
+ # Guide*.
1410
+ #
1411
+ # When the IAM role is associated with the ACM certificate, places the
1412
+ # certificate, certificate chain, and encrypted private key in an Amazon
1413
+ # S3 bucket that only the associated IAM role can access. The private
1414
+ # key of the certificate is encrypted with an AWS-managed KMS key that
1415
+ # has an attached attestation-based key policy.
1416
+ #
1417
+ # To enable the IAM role to access the Amazon S3 object, you must grant
1418
+ # it permission to call `s3:GetObject` on the Amazon S3 bucket returned
1419
+ # by the command. To enable the IAM role to access the AWS KMS key, you
1420
+ # must grant it permission to call `kms:Decrypt` on AWS KMS key returned
1421
+ # by the command. For more information, see [ Grant the role permission
1422
+ # to access the certificate and encryption key][2] in the *Amazon
1423
+ # Elastic Compute Cloud User Guide*.
1424
+ #
1425
+ #
1426
+ #
1427
+ # [1]: https://docs.aws.amazon.com/enclaves/latest/user/nitro-enclave-refapp.html
1428
+ # [2]: https://docs.aws.amazon.com/enclaves/latest/user/nitro-enclave-refapp.html#add-policy
1429
+ #
1430
+ # @option params [String] :certificate_arn
1431
+ # The ARN of the ACM certificate with which to associate the IAM role.
1432
+ #
1433
+ # @option params [String] :role_arn
1434
+ # The ARN of the IAM role to associate with the ACM certificate. You can
1435
+ # associate up to 16 IAM roles with an ACM certificate.
1436
+ #
1437
+ # @option params [Boolean] :dry_run
1438
+ # Checks whether you have the required permissions for the action,
1439
+ # without actually making the request, and provides an error response.
1440
+ # If you have the required permissions, the error response is
1441
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
1442
+ #
1443
+ # @return [Types::AssociateEnclaveCertificateIamRoleResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1444
+ #
1445
+ # * {Types::AssociateEnclaveCertificateIamRoleResult#certificate_s3_bucket_name #certificate_s3_bucket_name} => String
1446
+ # * {Types::AssociateEnclaveCertificateIamRoleResult#certificate_s3_object_key #certificate_s3_object_key} => String
1447
+ # * {Types::AssociateEnclaveCertificateIamRoleResult#encryption_kms_key_id #encryption_kms_key_id} => String
1448
+ #
1449
+ # @example Request syntax with placeholder values
1450
+ #
1451
+ # resp = client.associate_enclave_certificate_iam_role({
1452
+ # certificate_arn: "ResourceArn",
1453
+ # role_arn: "ResourceArn",
1454
+ # dry_run: false,
1455
+ # })
1456
+ #
1457
+ # @example Response structure
1458
+ #
1459
+ # resp.certificate_s3_bucket_name #=> String
1460
+ # resp.certificate_s3_object_key #=> String
1461
+ # resp.encryption_kms_key_id #=> String
1462
+ #
1463
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateEnclaveCertificateIamRole AWS API Documentation
1464
+ #
1465
+ # @overload associate_enclave_certificate_iam_role(params = {})
1466
+ # @param [Hash] params ({})
1467
+ def associate_enclave_certificate_iam_role(params = {}, options = {})
1468
+ req = build_request(:associate_enclave_certificate_iam_role, params)
1469
+ req.send_request(options)
1470
+ end
1471
+
1404
1472
  # Associates an IAM instance profile with a running or stopped instance.
1405
1473
  # You cannot associate more than one IAM instance profile with an
1406
1474
  # instance.
@@ -5625,6 +5693,9 @@ module Aws::EC2
5625
5693
  # http_put_response_hop_limit: 1,
5626
5694
  # http_endpoint: "disabled", # accepts disabled, enabled
5627
5695
  # },
5696
+ # enclave_options: {
5697
+ # enabled: false,
5698
+ # },
5628
5699
  # },
5629
5700
  # tag_specifications: [
5630
5701
  # {
@@ -5906,6 +5977,9 @@ module Aws::EC2
5906
5977
  # http_put_response_hop_limit: 1,
5907
5978
  # http_endpoint: "disabled", # accepts disabled, enabled
5908
5979
  # },
5980
+ # enclave_options: {
5981
+ # enabled: false,
5982
+ # },
5909
5983
  # },
5910
5984
  # })
5911
5985
  #
@@ -6001,6 +6075,7 @@ module Aws::EC2
6001
6075
  # resp.launch_template_version.launch_template_data.metadata_options.http_tokens #=> String, one of "optional", "required"
6002
6076
  # resp.launch_template_version.launch_template_data.metadata_options.http_put_response_hop_limit #=> Integer
6003
6077
  # resp.launch_template_version.launch_template_data.metadata_options.http_endpoint #=> String, one of "disabled", "enabled"
6078
+ # resp.launch_template_version.launch_template_data.enclave_options.enabled #=> Boolean
6004
6079
  # resp.warning.errors #=> Array
6005
6080
  # resp.warning.errors[0].code #=> String
6006
6081
  # resp.warning.errors[0].message #=> String
@@ -16449,6 +16524,7 @@ module Aws::EC2
16449
16524
  # * {Types::InstanceAttribute#block_device_mappings #block_device_mappings} => Array<Types::InstanceBlockDeviceMapping>
16450
16525
  # * {Types::InstanceAttribute#disable_api_termination #disable_api_termination} => Types::AttributeBooleanValue
16451
16526
  # * {Types::InstanceAttribute#ena_support #ena_support} => Types::AttributeBooleanValue
16527
+ # * {Types::InstanceAttribute#enclave_options #enclave_options} => Types::EnclaveOptions
16452
16528
  # * {Types::InstanceAttribute#ebs_optimized #ebs_optimized} => Types::AttributeBooleanValue
16453
16529
  # * {Types::InstanceAttribute#instance_id #instance_id} => String
16454
16530
  # * {Types::InstanceAttribute#instance_initiated_shutdown_behavior #instance_initiated_shutdown_behavior} => Types::AttributeValue
@@ -16533,7 +16609,7 @@ module Aws::EC2
16533
16609
  # @example Request syntax with placeholder values
16534
16610
  #
16535
16611
  # resp = client.describe_instance_attribute({
16536
- # attribute: "instanceType", # required, accepts instanceType, kernel, ramdisk, userData, disableApiTermination, instanceInitiatedShutdownBehavior, rootDeviceName, blockDeviceMapping, productCodes, sourceDestCheck, groupSet, ebsOptimized, sriovNetSupport, enaSupport
16612
+ # attribute: "instanceType", # required, accepts instanceType, kernel, ramdisk, userData, disableApiTermination, instanceInitiatedShutdownBehavior, rootDeviceName, blockDeviceMapping, productCodes, sourceDestCheck, groupSet, ebsOptimized, sriovNetSupport, enaSupport, enclaveOptions
16537
16613
  # dry_run: false,
16538
16614
  # instance_id: "InstanceId", # required
16539
16615
  # })
@@ -16551,6 +16627,7 @@ module Aws::EC2
16551
16627
  # resp.block_device_mappings[0].ebs.volume_id #=> String
16552
16628
  # resp.disable_api_termination.value #=> Boolean
16553
16629
  # resp.ena_support.value #=> Boolean
16630
+ # resp.enclave_options.enabled #=> Boolean
16554
16631
  # resp.ebs_optimized.value #=> Boolean
16555
16632
  # resp.instance_id #=> String
16556
16633
  # resp.instance_initiated_shutdown_behavior #=> <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
@@ -17779,6 +17856,7 @@ module Aws::EC2
17779
17856
  # resp.reservations[0].instances[0].metadata_options.http_tokens #=> String, one of "optional", "required"
17780
17857
  # resp.reservations[0].instances[0].metadata_options.http_put_response_hop_limit #=> Integer
17781
17858
  # resp.reservations[0].instances[0].metadata_options.http_endpoint #=> String, one of "disabled", "enabled"
17859
+ # resp.reservations[0].instances[0].enclave_options.enabled #=> Boolean
17782
17860
  # resp.reservations[0].owner_id #=> String
17783
17861
  # resp.reservations[0].requester_id #=> String
17784
17862
  # resp.reservations[0].reservation_id #=> String
@@ -18358,6 +18436,7 @@ module Aws::EC2
18358
18436
  # resp.launch_template_versions[0].launch_template_data.metadata_options.http_tokens #=> String, one of "optional", "required"
18359
18437
  # resp.launch_template_versions[0].launch_template_data.metadata_options.http_put_response_hop_limit #=> Integer
18360
18438
  # resp.launch_template_versions[0].launch_template_data.metadata_options.http_endpoint #=> String, one of "disabled", "enabled"
18439
+ # resp.launch_template_versions[0].launch_template_data.enclave_options.enabled #=> Boolean
18361
18440
  # resp.next_token #=> String
18362
18441
  #
18363
18442
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLaunchTemplateVersions AWS API Documentation
@@ -26818,6 +26897,52 @@ module Aws::EC2
26818
26897
  req.send_request(options)
26819
26898
  end
26820
26899
 
26900
+ # Disassociates an IAM role from an AWS Certificate Manager (ACM)
26901
+ # certificate. Disassociating an IAM role from an ACM certificate
26902
+ # removes the Amazon S3 object that contains the certificate,
26903
+ # certificate chain, and encrypted private key from the Amazon S3
26904
+ # bucket. It also revokes the IAM role's permission to use the AWS Key
26905
+ # Management Service (KMS) key used to encrypt the private key. This
26906
+ # effectively revokes the role's permission to use the certificate.
26907
+ #
26908
+ # @option params [String] :certificate_arn
26909
+ # The ARN of the ACM certificate from which to disassociate the IAM
26910
+ # role.
26911
+ #
26912
+ # @option params [String] :role_arn
26913
+ # The ARN of the IAM role to disassociate.
26914
+ #
26915
+ # @option params [Boolean] :dry_run
26916
+ # Checks whether you have the required permissions for the action,
26917
+ # without actually making the request, and provides an error response.
26918
+ # If you have the required permissions, the error response is
26919
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
26920
+ #
26921
+ # @return [Types::DisassociateEnclaveCertificateIamRoleResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
26922
+ #
26923
+ # * {Types::DisassociateEnclaveCertificateIamRoleResult#return #return} => Boolean
26924
+ #
26925
+ # @example Request syntax with placeholder values
26926
+ #
26927
+ # resp = client.disassociate_enclave_certificate_iam_role({
26928
+ # certificate_arn: "ResourceArn",
26929
+ # role_arn: "ResourceArn",
26930
+ # dry_run: false,
26931
+ # })
26932
+ #
26933
+ # @example Response structure
26934
+ #
26935
+ # resp.return #=> Boolean
26936
+ #
26937
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateEnclaveCertificateIamRole AWS API Documentation
26938
+ #
26939
+ # @overload disassociate_enclave_certificate_iam_role(params = {})
26940
+ # @param [Hash] params ({})
26941
+ def disassociate_enclave_certificate_iam_role(params = {}, options = {})
26942
+ req = build_request(:disassociate_enclave_certificate_iam_role, params)
26943
+ req.send_request(options)
26944
+ end
26945
+
26821
26946
  # Disassociates an IAM instance profile from a running or stopped
26822
26947
  # instance.
26823
26948
  #
@@ -27712,6 +27837,51 @@ module Aws::EC2
27712
27837
  req.send_request(options)
27713
27838
  end
27714
27839
 
27840
+ # Returns the IAM roles that are associated with the specified AWS
27841
+ # Certificate Manager (ACM) certificate. It also returns the name of the
27842
+ # Amazon S3 bucket and the Amazon S3 object key where the certificate,
27843
+ # certificate chain, and encrypted private key bundle are stored, and
27844
+ # the ARN of the AWS Key Management Service (KMS) key that's used to
27845
+ # encrypt the private key.
27846
+ #
27847
+ # @option params [String] :certificate_arn
27848
+ # The ARN of the ACM certificate for which to view the associated IAM
27849
+ # roles, encryption keys, and Amazon S3 object information.
27850
+ #
27851
+ # @option params [Boolean] :dry_run
27852
+ # Checks whether you have the required permissions for the action,
27853
+ # without actually making the request, and provides an error response.
27854
+ # If you have the required permissions, the error response is
27855
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
27856
+ #
27857
+ # @return [Types::GetAssociatedEnclaveCertificateIamRolesResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
27858
+ #
27859
+ # * {Types::GetAssociatedEnclaveCertificateIamRolesResult#associated_roles #associated_roles} => Array&lt;Types::AssociatedRole&gt;
27860
+ #
27861
+ # @example Request syntax with placeholder values
27862
+ #
27863
+ # resp = client.get_associated_enclave_certificate_iam_roles({
27864
+ # certificate_arn: "ResourceArn",
27865
+ # dry_run: false,
27866
+ # })
27867
+ #
27868
+ # @example Response structure
27869
+ #
27870
+ # resp.associated_roles #=> Array
27871
+ # resp.associated_roles[0].associated_role_arn #=> String
27872
+ # resp.associated_roles[0].certificate_s3_bucket_name #=> String
27873
+ # resp.associated_roles[0].certificate_s3_object_key #=> String
27874
+ # resp.associated_roles[0].encryption_kms_key_id #=> String
27875
+ #
27876
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetAssociatedEnclaveCertificateIamRoles AWS API Documentation
27877
+ #
27878
+ # @overload get_associated_enclave_certificate_iam_roles(params = {})
27879
+ # @param [Hash] params ({})
27880
+ def get_associated_enclave_certificate_iam_roles(params = {}, options = {})
27881
+ req = build_request(:get_associated_enclave_certificate_iam_roles, params)
27882
+ req.send_request(options)
27883
+ end
27884
+
27715
27885
  # Gets information about the IPv6 CIDR block associations for a
27716
27886
  # specified IPv6 address pool.
27717
27887
  #
@@ -28448,6 +28618,7 @@ module Aws::EC2
28448
28618
  # resp.launch_template_data.metadata_options.http_tokens #=> String, one of "optional", "required"
28449
28619
  # resp.launch_template_data.metadata_options.http_put_response_hop_limit #=> Integer
28450
28620
  # resp.launch_template_data.metadata_options.http_endpoint #=> String, one of "disabled", "enabled"
28621
+ # resp.launch_template_data.enclave_options.enabled #=> Boolean
28451
28622
  #
28452
28623
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetLaunchTemplateData AWS API Documentation
28453
28624
  #
@@ -30895,7 +31066,7 @@ module Aws::EC2
30895
31066
  # source_dest_check: {
30896
31067
  # value: false,
30897
31068
  # },
30898
- # attribute: "instanceType", # accepts instanceType, kernel, ramdisk, userData, disableApiTermination, instanceInitiatedShutdownBehavior, rootDeviceName, blockDeviceMapping, productCodes, sourceDestCheck, groupSet, ebsOptimized, sriovNetSupport, enaSupport
31069
+ # attribute: "instanceType", # accepts instanceType, kernel, ramdisk, userData, disableApiTermination, instanceInitiatedShutdownBehavior, rootDeviceName, blockDeviceMapping, productCodes, sourceDestCheck, groupSet, ebsOptimized, sriovNetSupport, enaSupport, enclaveOptions
30899
31070
  # block_device_mappings: [
30900
31071
  # {
30901
31072
  # device_name: "String",
@@ -36238,7 +36409,7 @@ module Aws::EC2
36238
36409
  # @example Request syntax with placeholder values
36239
36410
  #
36240
36411
  # resp = client.reset_instance_attribute({
36241
- # attribute: "instanceType", # required, accepts instanceType, kernel, ramdisk, userData, disableApiTermination, instanceInitiatedShutdownBehavior, rootDeviceName, blockDeviceMapping, productCodes, sourceDestCheck, groupSet, ebsOptimized, sriovNetSupport, enaSupport
36412
+ # attribute: "instanceType", # required, accepts instanceType, kernel, ramdisk, userData, disableApiTermination, instanceInitiatedShutdownBehavior, rootDeviceName, blockDeviceMapping, productCodes, sourceDestCheck, groupSet, ebsOptimized, sriovNetSupport, enaSupport, enclaveOptions
36242
36413
  # dry_run: false,
36243
36414
  # instance_id: "InstanceId", # required
36244
36415
  # })
@@ -37193,6 +37364,9 @@ module Aws::EC2
37193
37364
  # information, see [Hibernate your instance][1] in the *Amazon Elastic
37194
37365
  # Compute Cloud User Guide*.
37195
37366
  #
37367
+ # You can't enable hibernation and AWS Nitro Enclaves on the same
37368
+ # instance.
37369
+ #
37196
37370
  #
37197
37371
  #
37198
37372
  # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html
@@ -37208,6 +37382,21 @@ module Aws::EC2
37208
37382
  #
37209
37383
  # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html
37210
37384
  #
37385
+ # @option params [Types::EnclaveOptionsRequest] :enclave_options
37386
+ # Indicates whether the instance is enabled for AWS Nitro Enclaves. For
37387
+ # more information, see [ AWS Nitro Enclaves][1] in the *Amazon Elastic
37388
+ # Compute Cloud User Guide*.
37389
+ #
37390
+ # You can't enable AWS Nitro Enclaves and hibernation on the same
37391
+ # instance. For more information about AWS Nitro Enclaves requirements,
37392
+ # see [ AWS Nitro Enclaves][2] in the *Amazon Elastic Compute Cloud User
37393
+ # Guide*.
37394
+ #
37395
+ #
37396
+ #
37397
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave.html
37398
+ # [2]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave.html#nitro-enclave-reqs
37399
+ #
37211
37400
  # @return [Types::Reservation] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
37212
37401
  #
37213
37402
  # * {Types::Reservation#groups #groups} => Array&lt;Types::GroupIdentifier&gt;
@@ -37408,6 +37597,9 @@ module Aws::EC2
37408
37597
  # http_put_response_hop_limit: 1,
37409
37598
  # http_endpoint: "disabled", # accepts disabled, enabled
37410
37599
  # },
37600
+ # enclave_options: {
37601
+ # enabled: false,
37602
+ # },
37411
37603
  # })
37412
37604
  #
37413
37605
  # @example Response structure
@@ -37532,6 +37724,7 @@ module Aws::EC2
37532
37724
  # resp.instances[0].metadata_options.http_tokens #=> String, one of "optional", "required"
37533
37725
  # resp.instances[0].metadata_options.http_put_response_hop_limit #=> Integer
37534
37726
  # resp.instances[0].metadata_options.http_endpoint #=> String, one of "disabled", "enabled"
37727
+ # resp.instances[0].enclave_options.enabled #=> Boolean
37535
37728
  # resp.owner_id #=> String
37536
37729
  # resp.requester_id #=> String
37537
37730
  # resp.reservation_id #=> String
@@ -38901,7 +39094,7 @@ module Aws::EC2
38901
39094
  params: params,
38902
39095
  config: config)
38903
39096
  context[:gem_name] = 'aws-sdk-ec2'
38904
- context[:gem_version] = '1.202.0'
39097
+ context[:gem_version] = '1.203.0'
38905
39098
  Seahorse::Client::Request.new(handlers, context)
38906
39099
  end
38907
39100
 
@@ -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,6 +884,8 @@ 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')
883
891
  EphemeralNvmeSupport = Shapes::StringShape.new(name: 'EphemeralNvmeSupport')
@@ -963,6 +971,8 @@ module Aws::EC2
963
971
  FpgaInfo = Shapes::StructureShape.new(name: 'FpgaInfo')
964
972
  FreeTierEligibleFlag = Shapes::BooleanShape.new(name: 'FreeTierEligibleFlag')
965
973
  GatewayType = Shapes::StringShape.new(name: 'GatewayType')
974
+ GetAssociatedEnclaveCertificateIamRolesRequest = Shapes::StructureShape.new(name: 'GetAssociatedEnclaveCertificateIamRolesRequest')
975
+ GetAssociatedEnclaveCertificateIamRolesResult = Shapes::StructureShape.new(name: 'GetAssociatedEnclaveCertificateIamRolesResult')
966
976
  GetAssociatedIpv6PoolCidrsRequest = Shapes::StructureShape.new(name: 'GetAssociatedIpv6PoolCidrsRequest')
967
977
  GetAssociatedIpv6PoolCidrsResult = Shapes::StructureShape.new(name: 'GetAssociatedIpv6PoolCidrsResult')
968
978
  GetCapacityReservationUsageRequest = Shapes::StructureShape.new(name: 'GetCapacityReservationUsageRequest')
@@ -1235,6 +1245,8 @@ module Aws::EC2
1235
1245
  LaunchTemplateElasticInferenceAcceleratorList = Shapes::ListShape.new(name: 'LaunchTemplateElasticInferenceAcceleratorList')
1236
1246
  LaunchTemplateElasticInferenceAcceleratorResponse = Shapes::StructureShape.new(name: 'LaunchTemplateElasticInferenceAcceleratorResponse')
1237
1247
  LaunchTemplateElasticInferenceAcceleratorResponseList = Shapes::ListShape.new(name: 'LaunchTemplateElasticInferenceAcceleratorResponseList')
1248
+ LaunchTemplateEnclaveOptions = Shapes::StructureShape.new(name: 'LaunchTemplateEnclaveOptions')
1249
+ LaunchTemplateEnclaveOptionsRequest = Shapes::StructureShape.new(name: 'LaunchTemplateEnclaveOptionsRequest')
1238
1250
  LaunchTemplateErrorCode = Shapes::StringShape.new(name: 'LaunchTemplateErrorCode')
1239
1251
  LaunchTemplateHibernationOptions = Shapes::StructureShape.new(name: 'LaunchTemplateHibernationOptions')
1240
1252
  LaunchTemplateHibernationOptionsRequest = Shapes::StructureShape.new(name: 'LaunchTemplateHibernationOptionsRequest')
@@ -2289,6 +2301,16 @@ module Aws::EC2
2289
2301
  AssociateDhcpOptionsRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "dryRun"))
2290
2302
  AssociateDhcpOptionsRequest.struct_class = Types::AssociateDhcpOptionsRequest
2291
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
+
2292
2314
  AssociateIamInstanceProfileRequest.add_member(:iam_instance_profile, Shapes::ShapeRef.new(shape: IamInstanceProfileSpecification, required: true, location_name: "IamInstanceProfile"))
2293
2315
  AssociateIamInstanceProfileRequest.add_member(:instance_id, Shapes::ShapeRef.new(shape: InstanceId, required: true, location_name: "InstanceId"))
2294
2316
  AssociateIamInstanceProfileRequest.struct_class = Types::AssociateIamInstanceProfileRequest
@@ -2344,6 +2366,14 @@ module Aws::EC2
2344
2366
  AssociateVpcCidrBlockResult.add_member(:vpc_id, Shapes::ShapeRef.new(shape: String, location_name: "vpcId"))
2345
2367
  AssociateVpcCidrBlockResult.struct_class = Types::AssociateVpcCidrBlockResult
2346
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
+
2347
2377
  AssociatedTargetNetwork.add_member(:network_id, Shapes::ShapeRef.new(shape: String, location_name: "networkId"))
2348
2378
  AssociatedTargetNetwork.add_member(:network_type, Shapes::ShapeRef.new(shape: AssociatedNetworkType, location_name: "networkType"))
2349
2379
  AssociatedTargetNetwork.struct_class = Types::AssociatedTargetNetwork
@@ -5347,6 +5377,14 @@ module Aws::EC2
5347
5377
  DisassociateClientVpnTargetNetworkResult.add_member(:status, Shapes::ShapeRef.new(shape: AssociationStatus, location_name: "status"))
5348
5378
  DisassociateClientVpnTargetNetworkResult.struct_class = Types::DisassociateClientVpnTargetNetworkResult
5349
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
+
5350
5388
  DisassociateIamInstanceProfileRequest.add_member(:association_id, Shapes::ShapeRef.new(shape: IamInstanceProfileAssociationId, required: true, location_name: "AssociationId"))
5351
5389
  DisassociateIamInstanceProfileRequest.struct_class = Types::DisassociateIamInstanceProfileRequest
5352
5390
 
@@ -5596,6 +5634,12 @@ module Aws::EC2
5596
5634
  EnableVpcClassicLinkResult.add_member(:return, Shapes::ShapeRef.new(shape: Boolean, location_name: "return"))
5597
5635
  EnableVpcClassicLinkResult.struct_class = Types::EnableVpcClassicLinkResult
5598
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
+
5599
5643
  EndpointSet.member = Shapes::ShapeRef.new(shape: ClientVpnEndpoint, location_name: "item")
5600
5644
 
5601
5645
  ErrorSet.member = Shapes::ShapeRef.new(shape: ValidationError, location_name: "item")
@@ -5857,6 +5901,13 @@ module Aws::EC2
5857
5901
  FpgaInfo.add_member(:total_fpga_memory_in_mi_b, Shapes::ShapeRef.new(shape: totalFpgaMemory, location_name: "totalFpgaMemoryInMiB"))
5858
5902
  FpgaInfo.struct_class = Types::FpgaInfo
5859
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
+
5860
5911
  GetAssociatedIpv6PoolCidrsRequest.add_member(:pool_id, Shapes::ShapeRef.new(shape: Ipv6PoolEc2Id, required: true, location_name: "PoolId"))
5861
5912
  GetAssociatedIpv6PoolCidrsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
5862
5913
  GetAssociatedIpv6PoolCidrsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: Ipv6PoolMaxResults, location_name: "MaxResults"))
@@ -6490,12 +6541,14 @@ module Aws::EC2
6490
6541
  Instance.add_member(:hibernation_options, Shapes::ShapeRef.new(shape: HibernationOptions, location_name: "hibernationOptions"))
6491
6542
  Instance.add_member(:licenses, Shapes::ShapeRef.new(shape: LicenseList, location_name: "licenseSet"))
6492
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"))
6493
6545
  Instance.struct_class = Types::Instance
6494
6546
 
6495
6547
  InstanceAttribute.add_member(:groups, Shapes::ShapeRef.new(shape: GroupIdentifierList, location_name: "groupSet"))
6496
6548
  InstanceAttribute.add_member(:block_device_mappings, Shapes::ShapeRef.new(shape: InstanceBlockDeviceMappingList, location_name: "blockDeviceMapping"))
6497
6549
  InstanceAttribute.add_member(:disable_api_termination, Shapes::ShapeRef.new(shape: AttributeBooleanValue, location_name: "disableApiTermination"))
6498
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"))
6499
6552
  InstanceAttribute.add_member(:ebs_optimized, Shapes::ShapeRef.new(shape: AttributeBooleanValue, location_name: "ebsOptimized"))
6500
6553
  InstanceAttribute.add_member(:instance_id, Shapes::ShapeRef.new(shape: String, location_name: "instanceId"))
6501
6554
  InstanceAttribute.add_member(:instance_initiated_shutdown_behavior, Shapes::ShapeRef.new(shape: AttributeValue, location_name: "instanceInitiatedShutdownBehavior"))
@@ -6949,6 +7002,12 @@ module Aws::EC2
6949
7002
 
6950
7003
  LaunchTemplateElasticInferenceAcceleratorResponseList.member = Shapes::ShapeRef.new(shape: LaunchTemplateElasticInferenceAcceleratorResponse, location_name: "item")
6951
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
+
6952
7011
  LaunchTemplateHibernationOptions.add_member(:configured, Shapes::ShapeRef.new(shape: Boolean, location_name: "configured"))
6953
7012
  LaunchTemplateHibernationOptions.struct_class = Types::LaunchTemplateHibernationOptions
6954
7013
 
@@ -8434,6 +8493,7 @@ module Aws::EC2
8434
8493
  RequestLaunchTemplateData.add_member(:license_specifications, Shapes::ShapeRef.new(shape: LaunchTemplateLicenseSpecificationListRequest, location_name: "LicenseSpecification"))
8435
8494
  RequestLaunchTemplateData.add_member(:hibernation_options, Shapes::ShapeRef.new(shape: LaunchTemplateHibernationOptionsRequest, location_name: "HibernationOptions"))
8436
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"))
8437
8497
  RequestLaunchTemplateData.struct_class = Types::RequestLaunchTemplateData
8438
8498
 
8439
8499
  RequestSpotFleetRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "dryRun"))
@@ -8675,6 +8735,7 @@ module Aws::EC2
8675
8735
  ResponseLaunchTemplateData.add_member(:license_specifications, Shapes::ShapeRef.new(shape: LaunchTemplateLicenseList, location_name: "licenseSet"))
8676
8736
  ResponseLaunchTemplateData.add_member(:hibernation_options, Shapes::ShapeRef.new(shape: LaunchTemplateHibernationOptions, location_name: "hibernationOptions"))
8677
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"))
8678
8739
  ResponseLaunchTemplateData.struct_class = Types::ResponseLaunchTemplateData
8679
8740
 
8680
8741
  RestorableByStringList.member = Shapes::ShapeRef.new(shape: String)
@@ -8824,6 +8885,7 @@ module Aws::EC2
8824
8885
  RunInstancesRequest.add_member(:hibernation_options, Shapes::ShapeRef.new(shape: HibernationOptionsRequest, location_name: "HibernationOptions"))
8825
8886
  RunInstancesRequest.add_member(:license_specifications, Shapes::ShapeRef.new(shape: LicenseSpecificationListRequest, location_name: "LicenseSpecification"))
8826
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"))
8827
8889
  RunInstancesRequest.struct_class = Types::RunInstancesRequest
8828
8890
 
8829
8891
  RunScheduledInstancesRequest.add_member(:client_token, Shapes::ShapeRef.new(shape: String, location_name: "ClientToken", metadata: {"idempotencyToken"=>true}))
@@ -10361,6 +10423,14 @@ module Aws::EC2
10361
10423
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
10362
10424
  end)
10363
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
+
10364
10434
  api.add_operation(:associate_iam_instance_profile, Seahorse::Model::Operation.new.tap do |o|
10365
10435
  o.name = "AssociateIamInstanceProfile"
10366
10436
  o.http_method = "POST"
@@ -12968,6 +13038,14 @@ module Aws::EC2
12968
13038
  o.output = Shapes::ShapeRef.new(shape: DisassociateClientVpnTargetNetworkResult)
12969
13039
  end)
12970
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
+
12971
13049
  api.add_operation(:disassociate_iam_instance_profile, Seahorse::Model::Operation.new.tap do |o|
12972
13050
  o.name = "DisassociateIamInstanceProfile"
12973
13051
  o.http_method = "POST"
@@ -13104,6 +13182,14 @@ module Aws::EC2
13104
13182
  o.output = Shapes::ShapeRef.new(shape: ExportTransitGatewayRoutesResult)
13105
13183
  end)
13106
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
+
13107
13193
  api.add_operation(:get_associated_ipv_6_pool_cidrs, Seahorse::Model::Operation.new.tap do |o|
13108
13194
  o.name = "GetAssociatedIpv6PoolCidrs"
13109
13195
  o.http_method = "POST"
@@ -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 = []
@@ -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
  #
@@ -15812,7 +15911,7 @@ module Aws::EC2
15812
15911
  # data as a hash:
15813
15912
  #
15814
15913
  # {
15815
- # 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
15816
15915
  # dry_run: false,
15817
15916
  # instance_id: "InstanceId", # required
15818
15917
  # }
@@ -23961,6 +24060,54 @@ module Aws::EC2
23961
24060
  include Aws::Structure
23962
24061
  end
23963
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
+
23964
24111
  # @note When making an API call, you may pass DisassociateIamInstanceProfileRequest
23965
24112
  # data as a hash:
23966
24113
  #
@@ -25315,6 +25462,49 @@ module Aws::EC2
25315
25462
  include Aws::Structure
25316
25463
  end
25317
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
+
25318
25508
  # Describes an EC2 Fleet or Spot Fleet event.
25319
25509
  #
25320
25510
  # @!attribute [rw] event_description
@@ -26802,6 +26992,47 @@ module Aws::EC2
26802
26992
  include Aws::Structure
26803
26993
  end
26804
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
+
26805
27036
  # @note When making an API call, you may pass GetAssociatedIpv6PoolCidrsRequest
26806
27037
  # data as a hash:
26807
27038
  #
@@ -30441,6 +30672,10 @@ module Aws::EC2
30441
30672
  # The metadata options for the instance.
30442
30673
  # @return [Types::InstanceMetadataOptionsResponse]
30443
30674
  #
30675
+ # @!attribute [rw] enclave_options
30676
+ # Indicates whether the instance is enabled for AWS Nitro Enclaves.
30677
+ # @return [Types::EnclaveOptions]
30678
+ #
30444
30679
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/Instance AWS API Documentation
30445
30680
  #
30446
30681
  class Instance < Struct.new(
@@ -30490,7 +30725,8 @@ module Aws::EC2
30490
30725
  :capacity_reservation_specification,
30491
30726
  :hibernation_options,
30492
30727
  :licenses,
30493
- :metadata_options)
30728
+ :metadata_options,
30729
+ :enclave_options)
30494
30730
  SENSITIVE = []
30495
30731
  include Aws::Structure
30496
30732
  end
@@ -30514,6 +30750,11 @@ module Aws::EC2
30514
30750
  # Indicates whether enhanced networking with ENA is enabled.
30515
30751
  # @return [Types::AttributeBooleanValue]
30516
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
+ #
30517
30758
  # @!attribute [rw] ebs_optimized
30518
30759
  # Indicates whether the instance is optimized for Amazon EBS I/O.
30519
30760
  # @return [Types::AttributeBooleanValue]
@@ -30572,6 +30813,7 @@ module Aws::EC2
30572
30813
  :block_device_mappings,
30573
30814
  :disable_api_termination,
30574
30815
  :ena_support,
30816
+ :enclave_options,
30575
30817
  :ebs_optimized,
30576
30818
  :instance_id,
30577
30819
  :instance_initiated_shutdown_behavior,
@@ -32842,6 +33084,49 @@ module Aws::EC2
32842
33084
  include Aws::Structure
32843
33085
  end
32844
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
+
32845
33130
  # Indicates whether an instance is configured for hibernation.
32846
33131
  #
32847
33132
  # @!attribute [rw] configured
@@ -35217,7 +35502,7 @@ module Aws::EC2
35217
35502
  # source_dest_check: {
35218
35503
  # value: false,
35219
35504
  # },
35220
- # 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
35221
35506
  # block_device_mappings: [
35222
35507
  # {
35223
35508
  # device_name: "String",
@@ -41553,6 +41838,9 @@ module Aws::EC2
41553
41838
  # http_put_response_hop_limit: 1,
41554
41839
  # http_endpoint: "disabled", # accepts disabled, enabled
41555
41840
  # },
41841
+ # enclave_options: {
41842
+ # enabled: false,
41843
+ # },
41556
41844
  # }
41557
41845
  #
41558
41846
  # @!attribute [rw] kernel_id
@@ -41759,6 +42047,22 @@ module Aws::EC2
41759
42047
  # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html
41760
42048
  # @return [Types::LaunchTemplateInstanceMetadataOptionsRequest]
41761
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
+ #
41762
42066
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RequestLaunchTemplateData AWS API Documentation
41763
42067
  #
41764
42068
  class RequestLaunchTemplateData < Struct.new(
@@ -41787,7 +42091,8 @@ module Aws::EC2
41787
42091
  :capacity_reservation_specification,
41788
42092
  :license_specifications,
41789
42093
  :hibernation_options,
41790
- :metadata_options)
42094
+ :metadata_options,
42095
+ :enclave_options)
41791
42096
  SENSITIVE = []
41792
42097
  include Aws::Structure
41793
42098
  end
@@ -43079,7 +43384,7 @@ module Aws::EC2
43079
43384
  # data as a hash:
43080
43385
  #
43081
43386
  # {
43082
- # 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
43083
43388
  # dry_run: false,
43084
43389
  # instance_id: "InstanceId", # required
43085
43390
  # }
@@ -43332,6 +43637,10 @@ module Aws::EC2
43332
43637
  # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html
43333
43638
  # @return [Types::LaunchTemplateInstanceMetadataOptions]
43334
43639
  #
43640
+ # @!attribute [rw] enclave_options
43641
+ # Indicates whether the instance is enabled for AWS Nitro Enclaves.
43642
+ # @return [Types::LaunchTemplateEnclaveOptions]
43643
+ #
43335
43644
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResponseLaunchTemplateData AWS API Documentation
43336
43645
  #
43337
43646
  class ResponseLaunchTemplateData < Struct.new(
@@ -43360,7 +43669,8 @@ module Aws::EC2
43360
43669
  :capacity_reservation_specification,
43361
43670
  :license_specifications,
43362
43671
  :hibernation_options,
43363
- :metadata_options)
43672
+ :metadata_options,
43673
+ :enclave_options)
43364
43674
  SENSITIVE = []
43365
43675
  include Aws::Structure
43366
43676
  end
@@ -44182,6 +44492,9 @@ module Aws::EC2
44182
44492
  # http_put_response_hop_limit: 1,
44183
44493
  # http_endpoint: "disabled", # accepts disabled, enabled
44184
44494
  # },
44495
+ # enclave_options: {
44496
+ # enabled: false,
44497
+ # },
44185
44498
  # }
44186
44499
  #
44187
44500
  # @!attribute [rw] block_device_mappings
@@ -44526,6 +44839,9 @@ module Aws::EC2
44526
44839
  # information, see [Hibernate your instance][1] in the *Amazon Elastic
44527
44840
  # Compute Cloud User Guide*.
44528
44841
  #
44842
+ # You can't enable hibernation and AWS Nitro Enclaves on the same
44843
+ # instance.
44844
+ #
44529
44845
  #
44530
44846
  #
44531
44847
  # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html
@@ -44544,6 +44860,22 @@ module Aws::EC2
44544
44860
  # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html
44545
44861
  # @return [Types::InstanceMetadataOptionsRequest]
44546
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
+ #
44547
44879
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RunInstancesRequest AWS API Documentation
44548
44880
  #
44549
44881
  class RunInstancesRequest < Struct.new(
@@ -44582,7 +44914,8 @@ module Aws::EC2
44582
44914
  :capacity_reservation_specification,
44583
44915
  :hibernation_options,
44584
44916
  :license_specifications,
44585
- :metadata_options)
44917
+ :metadata_options,
44918
+ :enclave_options)
44586
44919
  SENSITIVE = []
44587
44920
  include Aws::Structure
44588
44921
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-ec2
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.202.0
4
+ version: 1.203.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-10-21 00:00:00.000000000 Z
11
+ date: 2020-10-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sigv4