aws-sdk-ec2 1.202.0 → 1.203.0

Sign up to get free protection for your applications and to get access to all the features.
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