aws-sdk 2.779.0 → 2.783.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.
Files changed (42) hide show
  1. package/CHANGELOG.md +26 -1
  2. package/README.md +1 -1
  3. package/apis/apigateway-2015-07-09.min.json +6 -0
  4. package/apis/braket-2019-09-01.min.json +105 -7
  5. package/apis/codeartifact-2018-09-22.min.json +116 -19
  6. package/apis/dms-2016-01-01.min.json +103 -72
  7. package/apis/ec2-2016-11-15.min.json +1078 -936
  8. package/apis/elasticloadbalancingv2-2015-12-01.min.json +31 -31
  9. package/apis/glue-2017-03-31.min.json +136 -111
  10. package/apis/imagebuilder-2019-12-02.min.json +12 -12
  11. package/apis/iot-2015-05-28.min.json +296 -270
  12. package/apis/macie2-2020-01-01.min.json +4 -0
  13. package/apis/medialive-2017-10-14.min.json +207 -172
  14. package/apis/sesv2-2019-09-27.min.json +484 -81
  15. package/apis/sesv2-2019-09-27.paginators.json +10 -0
  16. package/apis/storagegateway-2013-06-30.min.json +78 -39
  17. package/clients/apigateway.d.ts +17 -9
  18. package/clients/braket.d.ts +100 -26
  19. package/clients/codeartifact.d.ts +95 -9
  20. package/clients/dms.d.ts +45 -1
  21. package/clients/ec2.d.ts +187 -2
  22. package/clients/elasticache.d.ts +22 -22
  23. package/clients/elbv2.d.ts +31 -17
  24. package/clients/glue.d.ts +86 -53
  25. package/clients/imagebuilder.d.ts +21 -20
  26. package/clients/iot.d.ts +33 -0
  27. package/clients/macie2.d.ts +4 -0
  28. package/clients/marketplacecommerceanalytics.d.ts +1 -1
  29. package/clients/medialive.d.ts +42 -0
  30. package/clients/sesv2.d.ts +435 -3
  31. package/clients/sns.d.ts +6 -6
  32. package/clients/storagegateway.d.ts +63 -4
  33. package/clients/workmail.d.ts +1 -1
  34. package/dist/aws-sdk-core-react-native.js +1 -1
  35. package/dist/aws-sdk-react-native.js +15 -15
  36. package/dist/aws-sdk.js +1492 -1279
  37. package/dist/aws-sdk.min.js +81 -81
  38. package/lib/core.js +1 -1
  39. package/lib/credentials/credential_provider_chain.d.ts +2 -2
  40. package/lib/error.d.ts +14 -10
  41. package/lib/service.d.ts +2 -2
  42. package/package.json +1 -1
@@ -117,19 +117,19 @@ declare class CodeArtifact extends Service {
117
117
  */
118
118
  disassociateExternalConnection(callback?: (err: AWSError, data: CodeArtifact.Types.DisassociateExternalConnectionResult) => void): Request<CodeArtifact.Types.DisassociateExternalConnectionResult, AWSError>;
119
119
  /**
120
- * Deletes the assets in package versions and sets the package versions' status to Disposed. A disposed package version cannot be restored in your repository because its assets are deleted. To view all disposed package versions in a repository, use ListackageVersions and set the status parameter to Disposed. To view information about a disposed package version, use ListPackageVersions and set the status parameter to Disposed.
120
+ * Deletes the assets in package versions and sets the package versions' status to Disposed. A disposed package version cannot be restored in your repository because its assets are deleted. To view all disposed package versions in a repository, use ListPackageVersions and set the status parameter to Disposed. To view information about a disposed package version, use DescribePackageVersion ..
121
121
  */
122
122
  disposePackageVersions(params: CodeArtifact.Types.DisposePackageVersionsRequest, callback?: (err: AWSError, data: CodeArtifact.Types.DisposePackageVersionsResult) => void): Request<CodeArtifact.Types.DisposePackageVersionsResult, AWSError>;
123
123
  /**
124
- * Deletes the assets in package versions and sets the package versions' status to Disposed. A disposed package version cannot be restored in your repository because its assets are deleted. To view all disposed package versions in a repository, use ListackageVersions and set the status parameter to Disposed. To view information about a disposed package version, use ListPackageVersions and set the status parameter to Disposed.
124
+ * Deletes the assets in package versions and sets the package versions' status to Disposed. A disposed package version cannot be restored in your repository because its assets are deleted. To view all disposed package versions in a repository, use ListPackageVersions and set the status parameter to Disposed. To view information about a disposed package version, use DescribePackageVersion ..
125
125
  */
126
126
  disposePackageVersions(callback?: (err: AWSError, data: CodeArtifact.Types.DisposePackageVersionsResult) => void): Request<CodeArtifact.Types.DisposePackageVersionsResult, AWSError>;
127
127
  /**
128
- * Generates a temporary authentication token for accessing repositories in the domain. This API requires the codeartifact:GetAuthorizationToken and sts:GetServiceBearerToken permissions. CodeArtifact authorization tokens are valid for a period of 12 hours when created with the login command. You can call login periodically to refresh the token. When you create an authorization token with the GetAuthorizationToken API, you can set a custom authorization period, up to a maximum of 12 hours, with the durationSeconds parameter. The authorization period begins after login or GetAuthorizationToken is called. If login or GetAuthorizationToken is called while assuming a role, the token lifetime is independent of the maximum session duration of the role. For example, if you call sts assume-role and specify a session duration of 15 minutes, then generate a CodeArtifact authorization token, the token will be valid for the full authorization period even though this is longer than the 15-minute session duration. See Using IAM Roles for more information on controlling session duration.
128
+ * Generates a temporary authorization token for accessing repositories in the domain. This API requires the codeartifact:GetAuthorizationToken and sts:GetServiceBearerToken permissions. For more information about authorization tokens, see AWS CodeArtifact authentication and tokens. CodeArtifact authorization tokens are valid for a period of 12 hours when created with the login command. You can call login periodically to refresh the token. When you create an authorization token with the GetAuthorizationToken API, you can set a custom authorization period, up to a maximum of 12 hours, with the durationSeconds parameter. The authorization period begins after login or GetAuthorizationToken is called. If login or GetAuthorizationToken is called while assuming a role, the token lifetime is independent of the maximum session duration of the role. For example, if you call sts assume-role and specify a session duration of 15 minutes, then generate a CodeArtifact authorization token, the token will be valid for the full authorization period even though this is longer than the 15-minute session duration. See Using IAM Roles for more information on controlling session duration.
129
129
  */
130
130
  getAuthorizationToken(params: CodeArtifact.Types.GetAuthorizationTokenRequest, callback?: (err: AWSError, data: CodeArtifact.Types.GetAuthorizationTokenResult) => void): Request<CodeArtifact.Types.GetAuthorizationTokenResult, AWSError>;
131
131
  /**
132
- * Generates a temporary authentication token for accessing repositories in the domain. This API requires the codeartifact:GetAuthorizationToken and sts:GetServiceBearerToken permissions. CodeArtifact authorization tokens are valid for a period of 12 hours when created with the login command. You can call login periodically to refresh the token. When you create an authorization token with the GetAuthorizationToken API, you can set a custom authorization period, up to a maximum of 12 hours, with the durationSeconds parameter. The authorization period begins after login or GetAuthorizationToken is called. If login or GetAuthorizationToken is called while assuming a role, the token lifetime is independent of the maximum session duration of the role. For example, if you call sts assume-role and specify a session duration of 15 minutes, then generate a CodeArtifact authorization token, the token will be valid for the full authorization period even though this is longer than the 15-minute session duration. See Using IAM Roles for more information on controlling session duration.
132
+ * Generates a temporary authorization token for accessing repositories in the domain. This API requires the codeartifact:GetAuthorizationToken and sts:GetServiceBearerToken permissions. For more information about authorization tokens, see AWS CodeArtifact authentication and tokens. CodeArtifact authorization tokens are valid for a period of 12 hours when created with the login command. You can call login periodically to refresh the token. When you create an authorization token with the GetAuthorizationToken API, you can set a custom authorization period, up to a maximum of 12 hours, with the durationSeconds parameter. The authorization period begins after login or GetAuthorizationToken is called. If login or GetAuthorizationToken is called while assuming a role, the token lifetime is independent of the maximum session duration of the role. For example, if you call sts assume-role and specify a session duration of 15 minutes, then generate a CodeArtifact authorization token, the token will be valid for the full authorization period even though this is longer than the 15-minute session duration. See Using IAM Roles for more information on controlling session duration.
133
133
  */
134
134
  getAuthorizationToken(callback?: (err: AWSError, data: CodeArtifact.Types.GetAuthorizationTokenResult) => void): Request<CodeArtifact.Types.GetAuthorizationTokenResult, AWSError>;
135
135
  /**
@@ -229,21 +229,45 @@ declare class CodeArtifact extends Service {
229
229
  */
230
230
  listRepositoriesInDomain(callback?: (err: AWSError, data: CodeArtifact.Types.ListRepositoriesInDomainResult) => void): Request<CodeArtifact.Types.ListRepositoriesInDomainResult, AWSError>;
231
231
  /**
232
- * Sets a resource policy on a domain that specifies permissions to access it.
232
+ * Gets information about AWS tags for a specified Amazon Resource Name (ARN) in AWS CodeArtifact.
233
+ */
234
+ listTagsForResource(params: CodeArtifact.Types.ListTagsForResourceRequest, callback?: (err: AWSError, data: CodeArtifact.Types.ListTagsForResourceResult) => void): Request<CodeArtifact.Types.ListTagsForResourceResult, AWSError>;
235
+ /**
236
+ * Gets information about AWS tags for a specified Amazon Resource Name (ARN) in AWS CodeArtifact.
237
+ */
238
+ listTagsForResource(callback?: (err: AWSError, data: CodeArtifact.Types.ListTagsForResourceResult) => void): Request<CodeArtifact.Types.ListTagsForResourceResult, AWSError>;
239
+ /**
240
+ * Sets a resource policy on a domain that specifies permissions to access it. When you call PutDomainPermissionsPolicy, the resource policy on the domain is ignored when evaluting permissions. This ensures that the owner of a domain cannot lock themselves out of the domain, which would prevent them from being able to update the resource policy.
233
241
  */
234
242
  putDomainPermissionsPolicy(params: CodeArtifact.Types.PutDomainPermissionsPolicyRequest, callback?: (err: AWSError, data: CodeArtifact.Types.PutDomainPermissionsPolicyResult) => void): Request<CodeArtifact.Types.PutDomainPermissionsPolicyResult, AWSError>;
235
243
  /**
236
- * Sets a resource policy on a domain that specifies permissions to access it.
244
+ * Sets a resource policy on a domain that specifies permissions to access it. When you call PutDomainPermissionsPolicy, the resource policy on the domain is ignored when evaluting permissions. This ensures that the owner of a domain cannot lock themselves out of the domain, which would prevent them from being able to update the resource policy.
237
245
  */
238
246
  putDomainPermissionsPolicy(callback?: (err: AWSError, data: CodeArtifact.Types.PutDomainPermissionsPolicyResult) => void): Request<CodeArtifact.Types.PutDomainPermissionsPolicyResult, AWSError>;
239
247
  /**
240
- * Sets the resource policy on a repository that specifies permissions to access it.
248
+ * Sets the resource policy on a repository that specifies permissions to access it. When you call PutRepositoryPermissionsPolicy, the resource policy on the repository is ignored when evaluting permissions. This ensures that the owner of a repository cannot lock themselves out of the repository, which would prevent them from being able to update the resource policy.
241
249
  */
242
250
  putRepositoryPermissionsPolicy(params: CodeArtifact.Types.PutRepositoryPermissionsPolicyRequest, callback?: (err: AWSError, data: CodeArtifact.Types.PutRepositoryPermissionsPolicyResult) => void): Request<CodeArtifact.Types.PutRepositoryPermissionsPolicyResult, AWSError>;
243
251
  /**
244
- * Sets the resource policy on a repository that specifies permissions to access it.
252
+ * Sets the resource policy on a repository that specifies permissions to access it. When you call PutRepositoryPermissionsPolicy, the resource policy on the repository is ignored when evaluting permissions. This ensures that the owner of a repository cannot lock themselves out of the repository, which would prevent them from being able to update the resource policy.
245
253
  */
246
254
  putRepositoryPermissionsPolicy(callback?: (err: AWSError, data: CodeArtifact.Types.PutRepositoryPermissionsPolicyResult) => void): Request<CodeArtifact.Types.PutRepositoryPermissionsPolicyResult, AWSError>;
255
+ /**
256
+ * Adds or updates tags for a resource in AWS CodeArtifact.
257
+ */
258
+ tagResource(params: CodeArtifact.Types.TagResourceRequest, callback?: (err: AWSError, data: CodeArtifact.Types.TagResourceResult) => void): Request<CodeArtifact.Types.TagResourceResult, AWSError>;
259
+ /**
260
+ * Adds or updates tags for a resource in AWS CodeArtifact.
261
+ */
262
+ tagResource(callback?: (err: AWSError, data: CodeArtifact.Types.TagResourceResult) => void): Request<CodeArtifact.Types.TagResourceResult, AWSError>;
263
+ /**
264
+ * Removes tags from a resource in AWS CodeArtifact.
265
+ */
266
+ untagResource(params: CodeArtifact.Types.UntagResourceRequest, callback?: (err: AWSError, data: CodeArtifact.Types.UntagResourceResult) => void): Request<CodeArtifact.Types.UntagResourceResult, AWSError>;
267
+ /**
268
+ * Removes tags from a resource in AWS CodeArtifact.
269
+ */
270
+ untagResource(callback?: (err: AWSError, data: CodeArtifact.Types.UntagResourceResult) => void): Request<CodeArtifact.Types.UntagResourceResult, AWSError>;
247
271
  /**
248
272
  * Updates the status of one or more versions of a package.
249
273
  */
@@ -373,6 +397,10 @@ declare namespace CodeArtifact {
373
397
  * The encryption key for the domain. This is used to encrypt content stored in a domain. An encryption key can be a key ID, a key Amazon Resource Name (ARN), a key alias, or a key alias ARN. To specify an encryptionKey, your IAM role must have kms:DescribeKey and kms:CreateGrant permissions on the encryption key that is used. For more information, see DescribeKey in the AWS Key Management Service API Reference and AWS KMS API Permissions Reference in the AWS Key Management Service Developer Guide. CodeArtifact supports only symmetric CMKs. Do not associate an asymmetric CMK with your domain. For more information, see Using symmetric and asymmetric keys in the AWS Key Management Service Developer Guide.
374
398
  */
375
399
  encryptionKey?: Arn;
400
+ /**
401
+ * One or more tag key-value pairs for the domain.
402
+ */
403
+ tags?: TagList;
376
404
  }
377
405
  export interface CreateDomainResult {
378
406
  /**
@@ -401,6 +429,10 @@ declare namespace CodeArtifact {
401
429
  * A list of upstream repositories to associate with the repository. The order of the upstream repositories in the list determines their priority order when AWS CodeArtifact looks for a requested package version. For more information, see Working with upstream repositories.
402
430
  */
403
431
  upstreams?: UpstreamRepositoryList;
432
+ /**
433
+ * One or more tag key-value pairs for the repository.
434
+ */
435
+ tags?: TagList;
404
436
  }
405
437
  export interface CreateRepositoryResult {
406
438
  /**
@@ -707,6 +739,10 @@ declare namespace CodeArtifact {
707
739
  * The total size of all assets in the domain.
708
740
  */
709
741
  assetSizeBytes?: Long;
742
+ /**
743
+ * The Amazon Resource Name (ARN) of the Amazon S3 bucket that is used to store package assets in the domain.
744
+ */
745
+ s3BucketArn?: Arn;
710
746
  }
711
747
  export type DomainName = string;
712
748
  export type DomainStatus = "Active"|"Deleted"|string;
@@ -750,7 +786,7 @@ declare namespace CodeArtifact {
750
786
  */
751
787
  domainOwner?: AccountId;
752
788
  /**
753
- * The time, in seconds, that the generated authorization token is valid.
789
+ * The time, in seconds, that the generated authorization token is valid. Valid values are 0 and any number between 900 (15 minutes) and 43200 (12 hours). A value of 0 will set the expiration of the authorization token to the same expiration of the user's role's temporary credentials.
754
790
  */
755
791
  durationSeconds?: AuthorizationTokenDurationSeconds;
756
792
  }
@@ -1280,6 +1316,18 @@ declare namespace CodeArtifact {
1280
1316
  */
1281
1317
  nextToken?: PaginationToken;
1282
1318
  }
1319
+ export interface ListTagsForResourceRequest {
1320
+ /**
1321
+ * The Amazon Resource Name (ARN) of the resource to get tags for.
1322
+ */
1323
+ resourceArn: Arn;
1324
+ }
1325
+ export interface ListTagsForResourceResult {
1326
+ /**
1327
+ * A list of tag key and value pairs associated with the specified resource.
1328
+ */
1329
+ tags?: TagList;
1330
+ }
1283
1331
  export type Long = number;
1284
1332
  export type LongOptional = number;
1285
1333
  export interface PackageDependency {
@@ -1561,7 +1609,45 @@ declare namespace CodeArtifact {
1561
1609
  status?: PackageVersionStatus;
1562
1610
  }
1563
1611
  export type SuccessfulPackageVersionInfoMap = {[key: string]: SuccessfulPackageVersionInfo};
1612
+ export interface Tag {
1613
+ /**
1614
+ * The tag's key.
1615
+ */
1616
+ key: TagKey;
1617
+ /**
1618
+ * The tag's value.
1619
+ */
1620
+ value: TagValue;
1621
+ }
1622
+ export type TagKey = string;
1623
+ export type TagKeyList = TagKey[];
1624
+ export type TagList = Tag[];
1625
+ export interface TagResourceRequest {
1626
+ /**
1627
+ * The Amazon Resource Name (ARN) of the resource to which you want to add or update tags.
1628
+ */
1629
+ resourceArn: Arn;
1630
+ /**
1631
+ * The tags you want to modify or add to the resource.
1632
+ */
1633
+ tags: TagList;
1634
+ }
1635
+ export interface TagResourceResult {
1636
+ }
1637
+ export type TagValue = string;
1564
1638
  export type Timestamp = Date;
1639
+ export interface UntagResourceRequest {
1640
+ /**
1641
+ * The Amazon Resource Name (ARN) of the resource to which you want to remove tags.
1642
+ */
1643
+ resourceArn: Arn;
1644
+ /**
1645
+ * The tag key for each tag that you want to remove from the resource.
1646
+ */
1647
+ tagKeys: TagKeyList;
1648
+ }
1649
+ export interface UntagResourceResult {
1650
+ }
1565
1651
  export interface UpdatePackageVersionsStatusRequest {
1566
1652
  /**
1567
1653
  * The domain that contains the repository that contains the package versions with a status to be updated.
package/clients/dms.d.ts CHANGED
@@ -767,6 +767,7 @@ declare namespace DMS {
767
767
  * A friendly name for the resource identifier at the end of the EndpointArn response parameter that is returned in the created Endpoint object. The value for this parameter can have up to 31 characters. It can contain only ASCII letters, digits, and hyphen ('-'). Also, it can't end with a hyphen or contain two consecutive hyphens, and can only begin with a letter, such as Example-App-ARN1. For example, this value might result in the EndpointArn value arn:aws:dms:eu-west-1:012345678901:rep:Example-App-ARN1. If you don't specify a ResourceIdentifier value, AWS DMS generates a default identifier value for the end of EndpointArn.
768
768
  */
769
769
  ResourceIdentifier?: String;
770
+ DocDbSettings?: DocDbSettings;
770
771
  }
771
772
  export interface CreateEndpointResponse {
772
773
  /**
@@ -1608,6 +1609,44 @@ declare namespace DMS {
1608
1609
  */
1609
1610
  BucketName?: String;
1610
1611
  }
1612
+ export interface DocDbSettings {
1613
+ /**
1614
+ * The user name you use to access the DocumentDB source endpoint.
1615
+ */
1616
+ Username?: String;
1617
+ /**
1618
+ * The password for the user account you use to access the DocumentDB source endpoint.
1619
+ */
1620
+ Password?: SecretString;
1621
+ /**
1622
+ * The name of the server on the DocumentDB source endpoint.
1623
+ */
1624
+ ServerName?: String;
1625
+ /**
1626
+ * The port value for the DocumentDB source endpoint.
1627
+ */
1628
+ Port?: IntegerOptional;
1629
+ /**
1630
+ * The database name on the DocumentDB source endpoint.
1631
+ */
1632
+ DatabaseName?: String;
1633
+ /**
1634
+ * Specifies either document or table mode. Default value is "none". Specify "none" to use document mode. Specify "one" to use table mode.
1635
+ */
1636
+ NestingLevel?: NestingLevelValue;
1637
+ /**
1638
+ * Specifies the document ID. Use this setting when NestingLevel is set to "none". Default value is "false".
1639
+ */
1640
+ ExtractDocId?: BooleanOptional;
1641
+ /**
1642
+ * Indicates the number of documents to preview to determine the document organization. Use this setting when NestingLevel is set to "one". Must be a positive value greater than 0. Default value is 1000.
1643
+ */
1644
+ DocsToInvestigate?: IntegerOptional;
1645
+ /**
1646
+ * The AWS KMS key identifier that is used to encrypt the content on the replication instance. If you don't specify a value for the KmsKeyId parameter, then AWS DMS uses your default encryption key. AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS Region.
1647
+ */
1648
+ KmsKeyId?: String;
1649
+ }
1611
1650
  export interface DynamoDbSettings {
1612
1651
  /**
1613
1652
  * The Amazon Resource Name (ARN) used by the service access IAM role.
@@ -1763,6 +1802,7 @@ declare namespace DMS {
1763
1802
  * The settings for the IBM Db2 LUW source endpoint. For more information, see the IBMDb2Settings structure.
1764
1803
  */
1765
1804
  IBMDb2Settings?: IBMDb2Settings;
1805
+ DocDbSettings?: DocDbSettings;
1766
1806
  }
1767
1807
  export type EndpointList = Endpoint[];
1768
1808
  export interface Event {
@@ -2166,6 +2206,10 @@ declare namespace DMS {
2166
2206
  * Settings in JSON format for the source IBM Db2 LUW endpoint. For information about other available settings, see Extra connection attributes when using Db2 LUW as a source for AWS DMS in the AWS Database Migration Service User Guide.
2167
2207
  */
2168
2208
  IBMDb2Settings?: IBMDb2Settings;
2209
+ /**
2210
+ * Settings in JSON format for the source DocumentDB endpoint. For more information about the available settings, see the configuration properties section in Using DocumentDB as a Target for AWS Database Migration Service in the AWS Database Migration Service User Guide.
2211
+ */
2212
+ DocDbSettings?: DocDbSettings;
2169
2213
  }
2170
2214
  export interface ModifyEndpointResponse {
2171
2215
  /**
@@ -3373,7 +3417,7 @@ declare namespace DMS {
3373
3417
  */
3374
3418
  CdcInsertsAndUpdates?: BooleanOptional;
3375
3419
  /**
3376
- * When set to true, this parameter partitions S3 bucket folders based on transaction commit dates. The default value is false. For more information about date-based folder partitoning, see Using date-based folder partitioning
3420
+ * When set to true, this parameter partitions S3 bucket folders based on transaction commit dates. The default value is false. For more information about date-based folder partitoning, see Using date-based folder partitioning.
3377
3421
  */
3378
3422
  DatePartitionEnabled?: BooleanOptional;
3379
3423
  /**
package/clients/ec2.d.ts CHANGED
@@ -124,6 +124,14 @@ declare class EC2 extends Service {
124
124
  * Associates a set of DHCP options (that you've previously created) with the specified VPC, or associates no DHCP options with the VPC. After you associate the options with the VPC, any existing instances and all new instances that you launch in that VPC use the options. You don't need to restart or relaunch the instances. They automatically pick up the changes within a few hours, depending on how frequently the instance renews its DHCP lease. You can explicitly renew the lease using the operating system on the instance. For more information, see DHCP Options Sets in the Amazon Virtual Private Cloud User Guide.
125
125
  */
126
126
  associateDhcpOptions(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
127
+ /**
128
+ * Associates an AWS Identity and Access Management (IAM) role with an AWS Certificate Manager (ACM) certificate. This enables the certificate to be used by the ACM for Nitro Enclaves application inside an enclave. For more information, see AWS Certificate Manager for Nitro Enclaves in the Amazon Elastic Compute Cloud User Guide. When the IAM role is associated with the ACM certificate, places the certificate, certificate chain, and encrypted private key in an Amazon S3 bucket that only the associated IAM role can access. The private key of the certificate is encrypted with an AWS-managed KMS key that has an attached attestation-based key policy. To enable the IAM role to access the Amazon S3 object, you must grant it permission to call s3:GetObject on the Amazon S3 bucket returned by the command. To enable the IAM role to access the AWS KMS key, you must grant it permission to call kms:Decrypt on AWS KMS key returned by the command. For more information, see Grant the role permission to access the certificate and encryption key in the Amazon Elastic Compute Cloud User Guide.
129
+ */
130
+ associateEnclaveCertificateIamRole(params: EC2.Types.AssociateEnclaveCertificateIamRoleRequest, callback?: (err: AWSError, data: EC2.Types.AssociateEnclaveCertificateIamRoleResult) => void): Request<EC2.Types.AssociateEnclaveCertificateIamRoleResult, AWSError>;
131
+ /**
132
+ * Associates an AWS Identity and Access Management (IAM) role with an AWS Certificate Manager (ACM) certificate. This enables the certificate to be used by the ACM for Nitro Enclaves application inside an enclave. For more information, see AWS Certificate Manager for Nitro Enclaves in the Amazon Elastic Compute Cloud User Guide. When the IAM role is associated with the ACM certificate, places the certificate, certificate chain, and encrypted private key in an Amazon S3 bucket that only the associated IAM role can access. The private key of the certificate is encrypted with an AWS-managed KMS key that has an attached attestation-based key policy. To enable the IAM role to access the Amazon S3 object, you must grant it permission to call s3:GetObject on the Amazon S3 bucket returned by the command. To enable the IAM role to access the AWS KMS key, you must grant it permission to call kms:Decrypt on AWS KMS key returned by the command. For more information, see Grant the role permission to access the certificate and encryption key in the Amazon Elastic Compute Cloud User Guide.
133
+ */
134
+ associateEnclaveCertificateIamRole(callback?: (err: AWSError, data: EC2.Types.AssociateEnclaveCertificateIamRoleResult) => void): Request<EC2.Types.AssociateEnclaveCertificateIamRoleResult, AWSError>;
127
135
  /**
128
136
  * Associates an IAM instance profile with a running or stopped instance. You cannot associate more than one IAM instance profile with an instance.
129
137
  */
@@ -2252,6 +2260,14 @@ declare class EC2 extends Service {
2252
2260
  * Disassociates a target network from the specified Client VPN endpoint. When you disassociate the last target network from a Client VPN, the following happens: The route that was automatically added for the VPC is deleted All active client connections are terminated New client connections are disallowed The Client VPN endpoint's status changes to pending-associate
2253
2261
  */
2254
2262
  disassociateClientVpnTargetNetwork(callback?: (err: AWSError, data: EC2.Types.DisassociateClientVpnTargetNetworkResult) => void): Request<EC2.Types.DisassociateClientVpnTargetNetworkResult, AWSError>;
2263
+ /**
2264
+ * Disassociates an IAM role from an AWS Certificate Manager (ACM) certificate. Disassociating an IAM role from an ACM certificate removes the Amazon S3 object that contains the certificate, certificate chain, and encrypted private key from the Amazon S3 bucket. It also revokes the IAM role's permission to use the AWS Key Management Service (KMS) key used to encrypt the private key. This effectively revokes the role's permission to use the certificate.
2265
+ */
2266
+ disassociateEnclaveCertificateIamRole(params: EC2.Types.DisassociateEnclaveCertificateIamRoleRequest, callback?: (err: AWSError, data: EC2.Types.DisassociateEnclaveCertificateIamRoleResult) => void): Request<EC2.Types.DisassociateEnclaveCertificateIamRoleResult, AWSError>;
2267
+ /**
2268
+ * Disassociates an IAM role from an AWS Certificate Manager (ACM) certificate. Disassociating an IAM role from an ACM certificate removes the Amazon S3 object that contains the certificate, certificate chain, and encrypted private key from the Amazon S3 bucket. It also revokes the IAM role's permission to use the AWS Key Management Service (KMS) key used to encrypt the private key. This effectively revokes the role's permission to use the certificate.
2269
+ */
2270
+ disassociateEnclaveCertificateIamRole(callback?: (err: AWSError, data: EC2.Types.DisassociateEnclaveCertificateIamRoleResult) => void): Request<EC2.Types.DisassociateEnclaveCertificateIamRoleResult, AWSError>;
2255
2271
  /**
2256
2272
  * Disassociates an IAM instance profile from a running or stopped instance. Use DescribeIamInstanceProfileAssociations to get the association ID.
2257
2273
  */
@@ -2388,6 +2404,14 @@ declare class EC2 extends Service {
2388
2404
  * Exports routes from the specified transit gateway route table to the specified S3 bucket. By default, all routes are exported. Alternatively, you can filter by CIDR range. The routes are saved to the specified bucket in a JSON file. For more information, see Export Route Tables to Amazon S3 in Transit Gateways.
2389
2405
  */
2390
2406
  exportTransitGatewayRoutes(callback?: (err: AWSError, data: EC2.Types.ExportTransitGatewayRoutesResult) => void): Request<EC2.Types.ExportTransitGatewayRoutesResult, AWSError>;
2407
+ /**
2408
+ * Returns the IAM roles that are associated with the specified AWS Certificate Manager (ACM) certificate. It also returns the name of the Amazon S3 bucket and the Amazon S3 object key where the certificate, certificate chain, and encrypted private key bundle are stored, and the ARN of the AWS Key Management Service (KMS) key that's used to encrypt the private key.
2409
+ */
2410
+ getAssociatedEnclaveCertificateIamRoles(params: EC2.Types.GetAssociatedEnclaveCertificateIamRolesRequest, callback?: (err: AWSError, data: EC2.Types.GetAssociatedEnclaveCertificateIamRolesResult) => void): Request<EC2.Types.GetAssociatedEnclaveCertificateIamRolesResult, AWSError>;
2411
+ /**
2412
+ * Returns the IAM roles that are associated with the specified AWS Certificate Manager (ACM) certificate. It also returns the name of the Amazon S3 bucket and the Amazon S3 object key where the certificate, certificate chain, and encrypted private key bundle are stored, and the ARN of the AWS Key Management Service (KMS) key that's used to encrypt the private key.
2413
+ */
2414
+ getAssociatedEnclaveCertificateIamRoles(callback?: (err: AWSError, data: EC2.Types.GetAssociatedEnclaveCertificateIamRolesResult) => void): Request<EC2.Types.GetAssociatedEnclaveCertificateIamRolesResult, AWSError>;
2391
2415
  /**
2392
2416
  * Gets information about the IPv6 CIDR block associations for a specified IPv6 address pool.
2393
2417
  */
@@ -3961,6 +3985,7 @@ declare namespace EC2 {
3961
3985
  }
3962
3986
  export type AllowedPrincipalSet = AllowedPrincipal[];
3963
3987
  export type AllowsMultipleInstanceTypes = "on"|"off"|string;
3988
+ export type ApplianceModeSupportValue = "enable"|"disable"|string;
3964
3989
  export interface ApplySecurityGroupsToClientVpnTargetNetworkRequest {
3965
3990
  /**
3966
3991
  * The ID of the Client VPN endpoint.
@@ -4125,6 +4150,34 @@ declare namespace EC2 {
4125
4150
  */
4126
4151
  DryRun?: Boolean;
4127
4152
  }
4153
+ export interface AssociateEnclaveCertificateIamRoleRequest {
4154
+ /**
4155
+ * The ARN of the ACM certificate with which to associate the IAM role.
4156
+ */
4157
+ CertificateArn?: ResourceArn;
4158
+ /**
4159
+ * The ARN of the IAM role to associate with the ACM certificate. You can associate up to 16 IAM roles with an ACM certificate.
4160
+ */
4161
+ RoleArn?: ResourceArn;
4162
+ /**
4163
+ * Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.
4164
+ */
4165
+ DryRun?: Boolean;
4166
+ }
4167
+ export interface AssociateEnclaveCertificateIamRoleResult {
4168
+ /**
4169
+ * The name of the Amazon S3 bucket to which the certificate was uploaded.
4170
+ */
4171
+ CertificateS3BucketName?: String;
4172
+ /**
4173
+ * The Amazon S3 object key where the certificate, certificate chain, and encrypted private key bundle are stored. The object key is formatted as follows: certificate_arn/role_arn.
4174
+ */
4175
+ CertificateS3ObjectKey?: String;
4176
+ /**
4177
+ * The ID of the AWS Key Management Service (KMS) key used to encrypt the private key of the certificate.
4178
+ */
4179
+ EncryptionKmsKeyId?: String;
4180
+ }
4128
4181
  export interface AssociateIamInstanceProfileRequest {
4129
4182
  /**
4130
4183
  * The IAM instance profile.
@@ -4274,6 +4327,25 @@ declare namespace EC2 {
4274
4327
  VpcId?: String;
4275
4328
  }
4276
4329
  export type AssociatedNetworkType = "vpc"|string;
4330
+ export interface AssociatedRole {
4331
+ /**
4332
+ * The ARN of the associated IAM role.
4333
+ */
4334
+ AssociatedRoleArn?: ResourceArn;
4335
+ /**
4336
+ * The name of the Amazon S3 bucket in which the Amazon S3 object is stored.
4337
+ */
4338
+ CertificateS3BucketName?: String;
4339
+ /**
4340
+ * The key of the Amazon S3 object ey where the certificate, certificate chain, and encrypted private key bundle is stored. The object key is formated as follows: certificate_arn/role_arn.
4341
+ */
4342
+ CertificateS3ObjectKey?: String;
4343
+ /**
4344
+ * The ID of the KMS key used to encrypt the private key.
4345
+ */
4346
+ EncryptionKmsKeyId?: String;
4347
+ }
4348
+ export type AssociatedRolesList = AssociatedRole[];
4277
4349
  export interface AssociatedTargetNetwork {
4278
4350
  /**
4279
4351
  * The ID of the subnet.
@@ -5391,6 +5463,10 @@ declare namespace EC2 {
5391
5463
  * The ID of the VPC.
5392
5464
  */
5393
5465
  VpcId?: VpcId;
5466
+ /**
5467
+ * The URL of the self-service portal.
5468
+ */
5469
+ SelfServicePortalUrl?: String;
5394
5470
  }
5395
5471
  export type ClientVpnEndpointId = string;
5396
5472
  export type ClientVpnEndpointIdList = ClientVpnEndpointId[];
@@ -5902,6 +5978,10 @@ declare namespace EC2 {
5902
5978
  * The ID of the VPC to associate with the Client VPN endpoint. If no security group IDs are specified in the request, the default security group for the VPC is applied.
5903
5979
  */
5904
5980
  VpcId?: VpcId;
5981
+ /**
5982
+ * Specify whether to enable the self-service portal for the Client VPN endpoint. Default Value: enabled
5983
+ */
5984
+ SelfServicePortal?: SelfServicePortal;
5905
5985
  }
5906
5986
  export interface CreateClientVpnEndpointResult {
5907
5987
  /**
@@ -7347,6 +7427,10 @@ declare namespace EC2 {
7347
7427
  * Enable or disable IPv6 support. The default is enable.
7348
7428
  */
7349
7429
  Ipv6Support?: Ipv6SupportValue;
7430
+ /**
7431
+ * Enable or disable support for appliance mode. If enabled, a traffic flow between a source and destination uses the same Availability Zone for the VPC attachment for the lifetime of that flow. The default is disable.
7432
+ */
7433
+ ApplianceModeSupport?: ApplianceModeSupportValue;
7350
7434
  }
7351
7435
  export interface CreateTransitGatewayVpcAttachmentResult {
7352
7436
  /**
@@ -12619,6 +12703,26 @@ declare namespace EC2 {
12619
12703
  */
12620
12704
  Status?: AssociationStatus;
12621
12705
  }
12706
+ export interface DisassociateEnclaveCertificateIamRoleRequest {
12707
+ /**
12708
+ * The ARN of the ACM certificate from which to disassociate the IAM role.
12709
+ */
12710
+ CertificateArn?: ResourceArn;
12711
+ /**
12712
+ * The ARN of the IAM role to disassociate.
12713
+ */
12714
+ RoleArn?: ResourceArn;
12715
+ /**
12716
+ * Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.
12717
+ */
12718
+ DryRun?: Boolean;
12719
+ }
12720
+ export interface DisassociateEnclaveCertificateIamRoleResult {
12721
+ /**
12722
+ * Returns true if the request succeeds; otherwise, it returns an error.
12723
+ */
12724
+ Return?: Boolean;
12725
+ }
12622
12726
  export interface DisassociateIamInstanceProfileRequest {
12623
12727
  /**
12624
12728
  * The ID of the IAM instance profile association.
@@ -13240,6 +13344,18 @@ declare namespace EC2 {
13240
13344
  */
13241
13345
  Return?: Boolean;
13242
13346
  }
13347
+ export interface EnclaveOptions {
13348
+ /**
13349
+ * If this parameter is set to true, the instance is enabled for AWS Nitro Enclaves; otherwise, it is not enabled for AWS Nitro Enclaves.
13350
+ */
13351
+ Enabled?: Boolean;
13352
+ }
13353
+ export interface EnclaveOptionsRequest {
13354
+ /**
13355
+ * To enable the instance for AWS Nitro Enclaves, set this parameter to true.
13356
+ */
13357
+ Enabled?: Boolean;
13358
+ }
13243
13359
  export type EndDateType = "unlimited"|"limited"|string;
13244
13360
  export type EndpointSet = ClientVpnEndpoint[];
13245
13361
  export type EphemeralNvmeSupport = "unsupported"|"supported"|"required"|string;
@@ -13544,12 +13660,20 @@ declare namespace EC2 {
13544
13660
  * The Amazon Resource Name (ARN) of the IAM SAML identity provider.
13545
13661
  */
13546
13662
  SamlProviderArn?: String;
13663
+ /**
13664
+ * The Amazon Resource Name (ARN) of the IAM SAML identity provider for the self-service portal.
13665
+ */
13666
+ SelfServiceSamlProviderArn?: String;
13547
13667
  }
13548
13668
  export interface FederatedAuthenticationRequest {
13549
13669
  /**
13550
13670
  * The Amazon Resource Name (ARN) of the IAM SAML identity provider.
13551
13671
  */
13552
13672
  SAMLProviderArn?: String;
13673
+ /**
13674
+ * The Amazon Resource Name (ARN) of the IAM SAML identity provider for the self-service portal.
13675
+ */
13676
+ SelfServiceSAMLProviderArn?: String;
13553
13677
  }
13554
13678
  export interface Filter {
13555
13679
  /**
@@ -13970,6 +14094,22 @@ declare namespace EC2 {
13970
14094
  }
13971
14095
  export type FreeTierEligibleFlag = boolean;
13972
14096
  export type GatewayType = "ipsec.1"|string;
14097
+ export interface GetAssociatedEnclaveCertificateIamRolesRequest {
14098
+ /**
14099
+ * The ARN of the ACM certificate for which to view the associated IAM roles, encryption keys, and Amazon S3 object information.
14100
+ */
14101
+ CertificateArn?: ResourceArn;
14102
+ /**
14103
+ * Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.
14104
+ */
14105
+ DryRun?: Boolean;
14106
+ }
14107
+ export interface GetAssociatedEnclaveCertificateIamRolesResult {
14108
+ /**
14109
+ * Information about the associated IAM roles.
14110
+ */
14111
+ AssociatedRoles?: AssociatedRolesList;
14112
+ }
13973
14113
  export interface GetAssociatedIpv6PoolCidrsRequest {
13974
14114
  /**
13975
14115
  * The ID of the IPv6 address pool.
@@ -15822,6 +15962,10 @@ declare namespace EC2 {
15822
15962
  * The metadata options for the instance.
15823
15963
  */
15824
15964
  MetadataOptions?: InstanceMetadataOptionsResponse;
15965
+ /**
15966
+ * Indicates whether the instance is enabled for AWS Nitro Enclaves.
15967
+ */
15968
+ EnclaveOptions?: EnclaveOptions;
15825
15969
  }
15826
15970
  export interface InstanceAttribute {
15827
15971
  /**
@@ -15840,6 +15984,10 @@ declare namespace EC2 {
15840
15984
  * Indicates whether enhanced networking with ENA is enabled.
15841
15985
  */
15842
15986
  EnaSupport?: AttributeBooleanValue;
15987
+ /**
15988
+ * To enable the instance for AWS Nitro Enclaves, set this parameter to true; otherwise, set it to false.
15989
+ */
15990
+ EnclaveOptions?: EnclaveOptions;
15843
15991
  /**
15844
15992
  * Indicates whether the instance is optimized for Amazon EBS I/O.
15845
15993
  */
@@ -15885,7 +16033,7 @@ declare namespace EC2 {
15885
16033
  */
15886
16034
  UserData?: AttributeValue;
15887
16035
  }
15888
- export type InstanceAttributeName = "instanceType"|"kernel"|"ramdisk"|"userData"|"disableApiTermination"|"instanceInitiatedShutdownBehavior"|"rootDeviceName"|"blockDeviceMapping"|"productCodes"|"sourceDestCheck"|"groupSet"|"ebsOptimized"|"sriovNetSupport"|"enaSupport"|string;
16036
+ export type InstanceAttributeName = "instanceType"|"kernel"|"ramdisk"|"userData"|"disableApiTermination"|"instanceInitiatedShutdownBehavior"|"rootDeviceName"|"blockDeviceMapping"|"productCodes"|"sourceDestCheck"|"groupSet"|"ebsOptimized"|"sriovNetSupport"|"enaSupport"|"enclaveOptions"|string;
15889
16037
  export interface InstanceBlockDeviceMapping {
15890
16038
  /**
15891
16039
  * The device name (for example, /dev/sdh or xvdh).
@@ -17000,6 +17148,18 @@ declare namespace EC2 {
17000
17148
  Count?: Integer;
17001
17149
  }
17002
17150
  export type LaunchTemplateElasticInferenceAcceleratorResponseList = LaunchTemplateElasticInferenceAcceleratorResponse[];
17151
+ export interface LaunchTemplateEnclaveOptions {
17152
+ /**
17153
+ * If this parameter is set to true, the instance is enabled for AWS Nitro Enclaves; otherwise, it is not enabled for AWS Nitro Enclaves.
17154
+ */
17155
+ Enabled?: Boolean;
17156
+ }
17157
+ export interface LaunchTemplateEnclaveOptionsRequest {
17158
+ /**
17159
+ * To enable the instance for AWS Nitro Enclaves, set this parameter to true.
17160
+ */
17161
+ Enabled?: Boolean;
17162
+ }
17003
17163
  export type LaunchTemplateErrorCode = "launchTemplateIdDoesNotExist"|"launchTemplateIdMalformed"|"launchTemplateNameDoesNotExist"|"launchTemplateNameMalformed"|"launchTemplateVersionDoesNotExist"|"unexpectedError"|string;
17004
17164
  export interface LaunchTemplateHibernationOptions {
17005
17165
  /**
@@ -17891,6 +18051,10 @@ declare namespace EC2 {
17891
18051
  * The ID of the VPC to associate with the Client VPN endpoint.
17892
18052
  */
17893
18053
  VpcId?: VpcId;
18054
+ /**
18055
+ * Specify whether to enable the self-service portal for the Client VPN endpoint.
18056
+ */
18057
+ SelfServicePortal?: SelfServicePortal;
17894
18058
  }
17895
18059
  export interface ModifyClientVpnEndpointResult {
17896
18060
  /**
@@ -18727,6 +18891,10 @@ declare namespace EC2 {
18727
18891
  * Enable or disable IPv6 support. The default is enable.
18728
18892
  */
18729
18893
  Ipv6Support?: Ipv6SupportValue;
18894
+ /**
18895
+ * Enable or disable support for appliance mode. If enabled, a traffic flow between a source and destination uses the same Availability Zone for the VPC attachment for the lifetime of that flow. The default is disable.
18896
+ */
18897
+ ApplianceModeSupport?: ApplianceModeSupportValue;
18730
18898
  }
18731
18899
  export interface ModifyTransitGatewayVpcAttachmentResult {
18732
18900
  /**
@@ -20971,6 +21139,10 @@ declare namespace EC2 {
20971
21139
  * The metadata options for the instance. For more information, see Instance Metadata and User Data in the Amazon Elastic Compute Cloud User Guide.
20972
21140
  */
20973
21141
  MetadataOptions?: LaunchTemplateInstanceMetadataOptionsRequest;
21142
+ /**
21143
+ * Indicates whether the instance is enabled for AWS Nitro Enclaves. For more information, see AWS Nitro Enclaves in the Amazon Elastic Compute Cloud User Guide. You can't enable AWS Nitro Enclaves and hibernation on the same instance. For more information about AWS Nitro Enclaves requirements, see AWS Nitro Enclaves in the Amazon Elastic Compute Cloud User Guide.
21144
+ */
21145
+ EnclaveOptions?: LaunchTemplateEnclaveOptionsRequest;
20974
21146
  }
20975
21147
  export interface RequestSpotFleetRequest {
20976
21148
  /**
@@ -21656,6 +21828,10 @@ declare namespace EC2 {
21656
21828
  * The metadata options for the instance. For more information, see Instance Metadata and User Data in the Amazon Elastic Compute Cloud User Guide.
21657
21829
  */
21658
21830
  MetadataOptions?: LaunchTemplateInstanceMetadataOptions;
21831
+ /**
21832
+ * Indicates whether the instance is enabled for AWS Nitro Enclaves.
21833
+ */
21834
+ EnclaveOptions?: LaunchTemplateEnclaveOptions;
21659
21835
  }
21660
21836
  export type RestorableByStringList = String[];
21661
21837
  export interface RestoreAddressToClassicRequest {
@@ -22111,7 +22287,7 @@ declare namespace EC2 {
22111
22287
  */
22112
22288
  CapacityReservationSpecification?: CapacityReservationSpecification;
22113
22289
  /**
22114
- * Indicates whether an instance is enabled for hibernation. For more information, see Hibernate your instance in the Amazon Elastic Compute Cloud User Guide.
22290
+ * Indicates whether an instance is enabled for hibernation. For more information, see Hibernate your instance in the Amazon Elastic Compute Cloud User Guide. You can't enable hibernation and AWS Nitro Enclaves on the same instance.
22115
22291
  */
22116
22292
  HibernationOptions?: HibernationOptionsRequest;
22117
22293
  /**
@@ -22122,6 +22298,10 @@ declare namespace EC2 {
22122
22298
  * The metadata options for the instance. For more information, see Instance metadata and user data.
22123
22299
  */
22124
22300
  MetadataOptions?: InstanceMetadataOptionsRequest;
22301
+ /**
22302
+ * Indicates whether the instance is enabled for AWS Nitro Enclaves. For more information, see AWS Nitro Enclaves in the Amazon Elastic Compute Cloud User Guide. You can't enable AWS Nitro Enclaves and hibernation on the same instance. For more information about AWS Nitro Enclaves requirements, see AWS Nitro Enclaves in the Amazon Elastic Compute Cloud User Guide.
22303
+ */
22304
+ EnclaveOptions?: EnclaveOptionsRequest;
22125
22305
  }
22126
22306
  export interface RunScheduledInstancesRequest {
22127
22307
  /**
@@ -22691,6 +22871,7 @@ declare namespace EC2 {
22691
22871
  }
22692
22872
  export type SecurityGroupReferences = SecurityGroupReference[];
22693
22873
  export type SecurityGroupStringList = SecurityGroupName[];
22874
+ export type SelfServicePortal = "enabled"|"disabled"|string;
22694
22875
  export interface SendDiagnosticInterruptRequest {
22695
22876
  /**
22696
22877
  * The ID of the instance.
@@ -24810,6 +24991,10 @@ declare namespace EC2 {
24810
24991
  * Indicates whether IPv6 support is disabled.
24811
24992
  */
24812
24993
  Ipv6Support?: Ipv6SupportValue;
24994
+ /**
24995
+ * Indicates whether appliance mode support is enabled.
24996
+ */
24997
+ ApplianceModeSupport?: ApplianceModeSupportValue;
24813
24998
  }
24814
24999
  export type TransportProtocol = "tcp"|"udp"|string;
24815
25000
  export type TunnelInsideIpVersion = "ipv4"|"ipv6"|string;