diff --git a/clients/client-accessanalyzer/pagination/ListAnalyzedResourcesPaginator.ts b/clients/client-accessanalyzer/pagination/ListAnalyzedResourcesPaginator.ts index 399c1c365f00..88d2a2298dbb 100644 --- a/clients/client-accessanalyzer/pagination/ListAnalyzedResourcesPaginator.ts +++ b/clients/client-accessanalyzer/pagination/ListAnalyzedResourcesPaginator.ts @@ -33,7 +33,7 @@ export async function* listAnalyzedResourcesPaginate( let hasNext = true; let page: ListAnalyzedResourcesCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof AccessAnalyzer) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listAnalyzedResourcesPaginate( throw new Error("Invalid client, expected AccessAnalyzer | AccessAnalyzerClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-accessanalyzer/pagination/ListAnalyzersPaginator.ts b/clients/client-accessanalyzer/pagination/ListAnalyzersPaginator.ts index 3e51a2b3fc93..7cbae72cc975 100644 --- a/clients/client-accessanalyzer/pagination/ListAnalyzersPaginator.ts +++ b/clients/client-accessanalyzer/pagination/ListAnalyzersPaginator.ts @@ -33,7 +33,7 @@ export async function* listAnalyzersPaginate( let hasNext = true; let page: ListAnalyzersCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof AccessAnalyzer) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listAnalyzersPaginate( throw new Error("Invalid client, expected AccessAnalyzer | AccessAnalyzerClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-accessanalyzer/pagination/ListArchiveRulesPaginator.ts b/clients/client-accessanalyzer/pagination/ListArchiveRulesPaginator.ts index d49d0a4c40ca..be7398b52809 100644 --- a/clients/client-accessanalyzer/pagination/ListArchiveRulesPaginator.ts +++ b/clients/client-accessanalyzer/pagination/ListArchiveRulesPaginator.ts @@ -33,7 +33,7 @@ export async function* listArchiveRulesPaginate( let hasNext = true; let page: ListArchiveRulesCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof AccessAnalyzer) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listArchiveRulesPaginate( throw new Error("Invalid client, expected AccessAnalyzer | AccessAnalyzerClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-accessanalyzer/pagination/ListFindingsPaginator.ts b/clients/client-accessanalyzer/pagination/ListFindingsPaginator.ts index 8f72a1ef43a9..4e4162325d67 100644 --- a/clients/client-accessanalyzer/pagination/ListFindingsPaginator.ts +++ b/clients/client-accessanalyzer/pagination/ListFindingsPaginator.ts @@ -33,7 +33,7 @@ export async function* listFindingsPaginate( let hasNext = true; let page: ListFindingsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof AccessAnalyzer) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listFindingsPaginate( throw new Error("Invalid client, expected AccessAnalyzer | AccessAnalyzerClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-acm-pca/ACMPCA.ts b/clients/client-acm-pca/ACMPCA.ts index f084d8558ef0..44c2ed496d47 100644 --- a/clients/client-acm-pca/ACMPCA.ts +++ b/clients/client-acm-pca/ACMPCA.ts @@ -24,6 +24,11 @@ import { DeletePermissionCommandInput, DeletePermissionCommandOutput, } from "./commands/DeletePermissionCommand"; +import { + DeletePolicyCommand, + DeletePolicyCommandInput, + DeletePolicyCommandOutput, +} from "./commands/DeletePolicyCommand"; import { DescribeCertificateAuthorityAuditReportCommand, DescribeCertificateAuthorityAuditReportCommandInput, @@ -49,6 +54,7 @@ import { GetCertificateCommandInput, GetCertificateCommandOutput, } from "./commands/GetCertificateCommand"; +import { GetPolicyCommand, GetPolicyCommandInput, GetPolicyCommandOutput } from "./commands/GetPolicyCommand"; import { ImportCertificateAuthorityCertificateCommand, ImportCertificateAuthorityCertificateCommandInput, @@ -70,6 +76,7 @@ import { ListPermissionsCommandOutput, } from "./commands/ListPermissionsCommand"; import { ListTagsCommand, ListTagsCommandInput, ListTagsCommandOutput } from "./commands/ListTagsCommand"; +import { PutPolicyCommand, PutPolicyCommandInput, PutPolicyCommandOutput } from "./commands/PutPolicyCommand"; import { RestoreCertificateAuthorityCommand, RestoreCertificateAuthorityCommandInput, @@ -98,7 +105,10 @@ import { import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; /** - *
This is the ACM Private CA API Reference. It provides descriptions,
+ *
This is the ACM Private CA API Reference. It provides descriptions, * syntax, and usage examples for each of the actions and data types involved in creating * and managing private certificate authorities (CA) for your organization.
*The documentation for each action shows the Query API request parameters and the XML @@ -107,22 +117,32 @@ import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; * information, see AWS * SDKs.
*Each ACM Private CA API action has a throttling limit which determines the number of times - * the action can be called per second. For more information, see API Rate Limits in ACM Private CA + *
Each ACM Private CA API action has a quota that determines the number of times the action + * can be called per second. For more information, see API Rate Quotas in ACM Private CA * in the ACM Private CA user guide.
*Creates a root or subordinate private certificate authority (CA). You must specify the CA - * configuration, the certificate revocation list (CRL) configuration, the CA type, and an - * optional idempotency token to avoid accidental creation of multiple CAs. The CA + *
Creates a root or subordinate private certificate authority (CA). You must specify the + * CA configuration, the certificate revocation list (CRL) configuration, the CA type, and + * an optional idempotency token to avoid accidental creation of multiple CAs. The CA * configuration specifies the name of the algorithm and key size to be used to create the * CA private key, the type of signing algorithm that the CA uses, and X.500 subject * information. The CRL configuration specifies the CRL expiration period in days (the * validity period of the CRL), the Amazon S3 bucket that will contain the CRL, and a CNAME * alias for the S3 bucket that is included in certificates issued by the CA. If * successful, this action returns the Amazon Resource Name (ARN) of the CA.
+ *ACM Private CAA assets that are stored in Amazon S3 can be protected with encryption. + * For more information, see Encrypting Your + * CRLs.
+ *Both PCA and the IAM principal must have permission to write to + * the S3 bucket that you specify. If the IAM principal making the call + * does not have permission to write to the bucket, then an exception is + * thrown. For more information, see Configure + * Access to ACM Private CA.
+ *Creates an audit report that lists every time that your CA private key is used. The report - * is saved in the Amazon S3 bucket that you specify on input. The IssueCertificate and RevokeCertificate actions use the - * private key.
+ *Creates an audit report that lists every time that your CA private key is used. The + * report is saved in the Amazon S3 bucket that you specify on input. + * + * The IssueCertificate and RevokeCertificate actions use + * the private key.
+ *Both PCA and the IAM principal must have permission to write to + * the S3 bucket that you specify. If the IAM principal making the call + * does not have permission to write to the bucket, then an exception is + * thrown. For more information, see Configure + * Access to ACM Private CA.
+ *ACM Private CAA assets that are stored in Amazon S3 can be protected with encryption. + * For more information, see Encrypting Your Audit + * Reports.
*/ public createCertificateAuthorityAuditReport( args: CreateCertificateAuthorityAuditReportCommandInput, @@ -190,15 +223,33 @@ export class ACMPCA extends ACMPCAClient { } /** - *Assigns permissions from a private CA to a designated AWS service. Services are - * specified by their service principals and can be given permission to create and retrieve - * certificates on a private CA. Services can also be given permission to list the active - * permissions that the private CA has granted. For ACM to automatically renew your - * private CA's certificates, you must assign all possible permissions from the CA to the - * ACM service principal.
- *At this time, you can only assign permissions to ACM (acm.amazonaws.com
).
- * Permissions can be revoked with the DeletePermission action and listed
- * with the ListPermissions action.
Grants one or more permissions on a private CA to the AWS Certificate Manager (ACM) service
+ * principal (acm.amazonaws.com
). These permissions allow ACM to issue and
+ * renew ACM certificates that reside in the same AWS account as the CA.
You can list current permissions with the ListPermissions action and + * revoke them with the DeletePermission action.
+ *+ * About Permissions + *
+ *If the private CA and the certificates it issues reside in the same
+ * account, you can use CreatePermission
to grant permissions for ACM to
+ * carry out automatic certificate renewals.
For automatic certificate renewal to succeed, the ACM service principal + * needs permissions to create, retrieve, and list certificates.
+ *If the private CA and the ACM certificates reside in different accounts, + * then permissions cannot be used to enable automatic renewals. Instead, + * the ACM certificate owner must set up a resource-based policy to enable + * cross-account issuance and renewals. For more information, see + * Using a Resource + * Based Policy with ACM Private CA.
+ *Deletes a private certificate authority (CA). You must provide the Amazon Resource * Name (ARN) of the private CA that you want to delete. You can find the ARN by calling - * the ListCertificateAuthorities action.
+ * the ListCertificateAuthorities action. *Deleting a CA will invalidate other CAs and certificates below it in your CA * hierarchy.
*Before you can delete a CA that you have created and activated, you must disable it.
- * To do this, call the UpdateCertificateAuthority action and set the
- * CertificateAuthorityStatus parameter to
- * DISABLED
.
DISABLED
.
* Additionally, you can delete a CA if you are waiting for it to be created (that is,
* the status of the CA is CREATING
). You can also delete it if the CA has
- * been created but you haven't yet imported the signed certificate into ACM Private CA (that is,
+ * been created but you haven't yet imported the signed certificate into ACM Private CA (that is,
* the status of the CA is PENDING_CERTIFICATE
).
When you successfully call DeleteCertificateAuthority, the CA's
- * status changes to DELETED
. However, the CA won't be permanently deleted
- * until the restoration period has passed. By default, if you do not set the
+ *
When you successfully call DeleteCertificateAuthority, the CA's status changes to
+ * DELETED
. However, the CA won't be permanently deleted until the restoration
+ * period has passed. By default, if you do not set the
* PermanentDeletionTimeInDays
parameter, the CA remains restorable for 30
- * days. You can set the parameter from 7 to 30 days. The DescribeCertificateAuthority action returns the time remaining in the
+ * days. You can set the parameter from 7 to 30 days. The DescribeCertificateAuthority action returns the time remaining in the
* restoration window of a private CA in the DELETED
state. To restore an
- * eligible CA, call the RestoreCertificateAuthority action.
Revokes permissions that a private CA assigned to a designated AWS service. Permissions - * can be created with the CreatePermission action and listed with the - * ListPermissions action.
+ *Revokes permissions on a private CA granted to the AWS Certificate Manager (ACM) service principal + * (acm.amazonaws.com).
+ *These permissions allow ACM to issue and renew ACM certificates that reside in the + * same AWS account as the CA. If you revoke these permissions, ACM will no longer + * renew the affected certificates automatically.
+ *Permissions can be granted with the CreatePermission action and + * listed with the ListPermissions action.
+ *+ * About Permissions + *
+ *If the private CA and the certificates it issues reside in the same
+ * account, you can use CreatePermission
to grant permissions for ACM to
+ * carry out automatic certificate renewals.
For automatic certificate renewal to succeed, the ACM service principal + * needs permissions to create, retrieve, and list certificates.
+ *If the private CA and the ACM certificates reside in different accounts, + * then permissions cannot be used to enable automatic renewals. Instead, + * the ACM certificate owner must set up a resource-based policy to enable + * cross-account issuance and renewals. For more information, see + * Using a Resource + * Based Policy with ACM Private CA.
+ *Lists information about your private certificate authority (CA). You specify the - * private CA on input by its ARN (Amazon Resource Name). The output contains the status of - * your CA. This can be any of the following:
+ *Deletes the resource-based policy attached to a private CA. Deletion will remove any + * access that the policy has granted. If there is no policy attached to the private CA, + * this action will return successful.
+ *If you delete a policy that was applied through AWS Resource Access Manager (RAM), + * the CA will be removed from all shares in which it was included.
+ *The AWS Certificate Manager Service Linked Role that the policy supports is not affected when you delete + * the policy.
+ *The current policy can be shown with GetPolicy and updated with PutPolicy.
+ *+ * About Policies + *
+ *A policy grants access on a private CA to an AWS customer account, to AWS Organizations, or to + * an AWS Organizations unit. Policies are under the control of a CA administrator. For more information, + * see Using a Resource Based Policy with ACM Private CA.
+ *A policy permits a user of AWS Certificate Manager (ACM) to issue ACM certificates + * signed by a CA in another account.
+ *For ACM to manage automatic renewal of these certificates, + * the ACM user must configure a Service Linked Role (SLR). The SLR allows + * the ACM service to assume the identity of the user, subject to confirmation against the + * ACM Private CA policy. For more information, see + * Using a + * Service Linked Role with ACM.
+ *Updates made in AWS Resource Manager (RAM) are reflected in policies. For more information, + * see Using AWS Resource Access Manager + * (RAM) with ACM Private CA.
+ *Lists information about your private certificate authority (CA) or one that has been + * shared with you. You specify the private CA on input by its ARN (Amazon Resource Name). + * The output contains the status of your CA. This can be any of the following:
*@@ -328,9 +466,9 @@ export class ACMPCA extends ACMPCAClient { *
- * PENDING_CERTIFICATE
- The certificate is pending. You must use your
- * ACM Private CA-hosted or on-premises root or subordinate CA to sign your private CA CSR
- * and then import it into PCA.
PENDING_CERTIFICATE
- The certificate is pending. You must use
+ * your ACM Private CA-hosted or on-premises root or subordinate CA to sign your private CA
+ * CSR and then import it into PCA.
* @@ -353,9 +491,9 @@ export class ACMPCA extends ACMPCAClient { *
- * DELETED
- Your private CA is within the restoration period, after which it is
- * permanently deleted. The length of time remaining in the CA's restoration period
- * is also included in this action's output.
DELETED
- Your private CA is within the restoration period, after
+ * which it is permanently deleted. The length of time remaining in the CA's
+ * restoration period is also included in this action's output.
* Lists information about a specific audit report created by calling the CreateCertificateAuthorityAuditReport action. Audit information is - * created every time the certificate authority (CA) private key is used. The private key - * is used when you call the IssueCertificate action or the RevokeCertificate action.
+ *Lists information about a specific audit report created by calling the CreateCertificateAuthorityAuditReport action. Audit information is created + * every time the certificate authority (CA) private key is used. The private key is used + * when you call the IssueCertificate action or the + * RevokeCertificate action.
*/ public describeCertificateAuthorityAuditReport( args: DescribeCertificateAuthorityAuditReportCommandInput, @@ -425,10 +564,12 @@ export class ACMPCA extends ACMPCAClient { } /** - *Retrieves a certificate from your private CA. The ARN of the certificate is returned when - * you call the IssueCertificate action. You must specify both the ARN of - * your private CA and the ARN of the issued certificate when calling the GetCertificate action. You can retrieve the certificate if it - * is in the ISSUED state. You can call the CreateCertificateAuthorityAuditReport action to create a report that + *
Retrieves a certificate from your private CA or one that has been shared with you. The + * ARN of the certificate is returned when you call the IssueCertificate action. You + * must specify both the ARN of your private CA and the ARN of the issued certificate when + * calling the GetCertificate action. You can retrieve the + * certificate if it is in the ISSUED state. You can call + * the CreateCertificateAuthorityAuditReport action to create a report that * contains information about all of the certificates issued and revoked by your private * CA.
*/ @@ -463,8 +604,9 @@ export class ACMPCA extends ACMPCAClient { /** *Retrieves the certificate and certificate chain for your private certificate authority - * (CA). Both the certificate and the chain are base64 PEM-encoded. The chain does not - * include the CA certificate. Each certificate in the chain signs the one before it.
+ * (CA) or one that has been shared with you. Both the certificate and the chain are base64 + * PEM-encoded. The chain does not include the CA certificate. Each certificate in the + * chain signs the one before it. */ public getCertificateAuthorityCertificate( args: GetCertificateAuthorityCertificateCommandInput, @@ -496,10 +638,10 @@ export class ACMPCA extends ACMPCAClient { } /** - *Retrieves the certificate signing request (CSR) for your private certificate authority (CA). - * The CSR is created when you call the CreateCertificateAuthority - * action. Sign the CSR with your ACM Private CA-hosted or on-premises root or subordinate CA. Then - * import the signed certificate back into ACM Private CA by calling the ImportCertificateAuthorityCertificate action. The CSR is returned as a + *
Retrieves the certificate signing request (CSR) for your private certificate authority + * (CA). The CSR is created when you call the CreateCertificateAuthority action. Sign the CSR with your ACM Private CA-hosted or + * on-premises root or subordinate CA. Then import the signed certificate back into ACM Private CA + * by calling the ImportCertificateAuthorityCertificate action. The CSR is returned as a * base64 PEM-encoded string.
*/ public getCertificateAuthorityCsr( @@ -532,31 +674,83 @@ export class ACMPCA extends ACMPCAClient { } /** - *Imports a signed - * private CA certificate into ACM Private CA. This action is used when you are using a chain of - * trust whose root is located outside ACM Private CA. Before you can call this action, the - * following preparations must in place:
- * + *Retrieves the resource-based policy attached to a private CA. If either the private CA
+ * resource or the policy cannot be found, this action returns a
+ * ResourceNotFoundException
.
The policy can be attached or updated with PutPolicy and removed with DeletePolicy.
+ *+ * About Policies + *
+ *A policy grants access on a private CA to an AWS customer account, to AWS Organizations, or to + * an AWS Organizations unit. Policies are under the control of a CA administrator. For more information, + * see Using a Resource Based Policy with ACM Private CA.
+ *A policy permits a user of AWS Certificate Manager (ACM) to issue ACM certificates + * signed by a CA in another account.
+ *For ACM to manage automatic renewal of these certificates, + * the ACM user must configure a Service Linked Role (SLR). The SLR allows + * the ACM service to assume the identity of the user, subject to confirmation against the + * ACM Private CA policy. For more information, see + * Using a + * Service Linked Role with ACM.
+ *Updates made in AWS Resource Manager (RAM) are reflected in policies. For more information, + * see Using AWS Resource Access Manager + * (RAM) with ACM Private CA.
+ *Imports a signed private CA certificate into ACM Private CA. This action is used when you are + * using a chain of trust whose root is located outside ACM Private CA. Before you can call this + * action, the following preparations must in place:
*In ACM Private CA, call the CreateCertificateAuthority action to create the private - * CA that that you plan to back with the imported certificate.
- *In ACM Private CA, call the CreateCertificateAuthority action to create the private CA that + * that you plan to back with the imported certificate.
+ * *Call the GetCertificateAuthorityCsr action to generate a certificate signing + *
Call the GetCertificateAuthorityCsr action to generate a certificate signing * request (CSR).
- *Sign the CSR using a root or intermediate CA hosted either by an on-premises PKI hierarchy or - * a commercial CA..
- *Sign the CSR using a root or intermediate CA hosted by either an on-premises + * PKI hierarchy or by a commercial CA.
+ * *Create a - * certificate chain and copy the signed certificate and the certificate chain to your - * working directory.
- *Create a certificate chain and copy the signed certificate and the certificate + * chain to your working directory.
+ * *The following requirements apply when you import a CA certificate.
*The chain must be PEM-encoded.
*The maximum allowed size of a certificate is 32 KB.
+ *The maximum allowed size of a certificate chain is 2 MB.
+ *+ * Enforcement of Critical Constraints + *
+ *ACM Private CA allows the following extensions to be marked critical in the imported CA + * certificate or chain.
+ *Basic constraints (must be marked critical)
+ *Subject alternative names
+ *Key usage
+ *Extended key usage
+ *Authority key identifier
+ *Subject key identifier
+ *Issuer alternative name
+ *Subject directory attributes
+ *Subject information access
+ *Certificate policies
+ *Policy mappings
+ *Inhibit anyPolicy
+ *ACM Private CA rejects the following extensions when they are marked critical in an imported CA + * certificate or chain.
+ *Name constraints
+ *Policy constraints
+ *CRL distribution points
+ *Authority information access
+ *Freshest CRL
+ *Any other extension
+ *Uses your private certificate authority (CA) to issue a client certificate. This action - * returns the Amazon Resource Name (ARN) of the certificate. You can retrieve the - * certificate by calling the GetCertificate action and specifying the - * ARN.
+ *Uses your private certificate authority + * (CA), or one that + * has been shared with you, to issue a client certificate. This action returns the Amazon + * Resource Name (ARN) of the certificate. You can retrieve the certificate by calling the + * GetCertificate action and specifying the ARN.
*You cannot use the ACM ListCertificateAuthorities action - * to retrieve the ARNs of the certificates that you issue by using ACM Private CA.
+ *You cannot use the ACM ListCertificateAuthorities action to retrieve the ARNs of the + * certificates that you issue by using ACM Private CA.
*Lists the private certificate authorities that you created by using the CreateCertificateAuthority action.
+ *Lists the private certificate authorities that you created by using the CreateCertificateAuthority action.
*/ public listCertificateAuthorities( args: ListCertificateAuthoritiesCommandInput, @@ -684,8 +950,34 @@ export class ACMPCA extends ACMPCAClient { } /** - *Lists all the permissions, if any, that have been assigned by a private CA. Permissions can - * be granted with the CreatePermission action and revoked with the DeletePermission action.
+ *List all permissions on a private CA, if any, granted to the AWS Certificate Manager (ACM) service + * principal (acm.amazonaws.com).
+ *These permissions allow ACM to issue and renew ACM certificates that reside in the + * same AWS account as the CA.
+ *Permissions can be granted with the CreatePermission action and + * revoked with the DeletePermission action.
+ *+ * About Permissions + *
+ *If the private CA and the certificates it issues reside in the same
+ * account, you can use CreatePermission
to grant permissions for ACM to
+ * carry out automatic certificate renewals.
For automatic certificate renewal to succeed, the ACM service principal + * needs permissions to create, retrieve, and list certificates.
+ *If the private CA and the ACM certificates reside in different accounts, + * then permissions cannot be used to enable automatic renewals. Instead, + * the ACM certificate owner must set up a resource-based policy to enable + * cross-account issuance and renewals. For more information, see + * Using a Resource + * Based Policy with ACM Private CA.
+ *Lists the tags, if any, that are associated with your private CA. Tags are labels that you - * can use to identify and organize your CAs. Each tag consists of a key and an optional - * value. Call the TagCertificateAuthority action to add one or more tags - * to your CA. Call the UntagCertificateAuthority action to remove tags.
+ *Lists the tags, if any, that are associated with your private CA or one that has been + * shared with you. Tags are labels that you can use to identify and organize your CAs. + * Each tag consists of a key and an optional value. Call the TagCertificateAuthority + * action to add one or more tags to your CA. Call the UntagCertificateAuthority action to remove tags.
*/ public listTags(args: ListTagsCommandInput, options?: __HttpHandlerOptions): PromiseRestores a certificate authority (CA) that is in the DELETED
state. You can
- * restore a CA during the period that you defined in the PermanentDeletionTimeInDays parameter of the DeleteCertificateAuthority action. Currently, you can specify 7 to 30
- * days. If you did not specify a PermanentDeletionTimeInDays value, by default you can restore the CA at
- * any time in a 30 day period. You can check the time remaining in the restoration period
- * of a private CA in the DELETED
state by calling the DescribeCertificateAuthority or ListCertificateAuthorities actions. The status of a restored CA is set
- * to its pre-deletion status when the RestoreCertificateAuthority action returns. To change its status to
- * ACTIVE
, call the UpdateCertificateAuthority action.
- * If the private CA was in the PENDING_CERTIFICATE
state at deletion, you
- * must use the ImportCertificateAuthorityCertificate action to import a
- * certificate authority into the private CA before it can be activated. You cannot restore
- * a CA after the restoration period has ended.
Attaches a resource-based policy to a private CA.
+ *A policy can also be applied by sharing a private CA through AWS Resource Access Manager + * (RAM).
+ *The policy can be displayed with GetPolicy and removed with DeletePolicy.
+ * + *+ * About Policies + *
+ *A policy grants access on a private CA to an AWS customer account, to AWS Organizations, or to + * an AWS Organizations unit. Policies are under the control of a CA administrator. For more information, + * see Using a Resource Based Policy with ACM Private CA.
+ *A policy permits a user of AWS Certificate Manager (ACM) to issue ACM certificates + * signed by a CA in another account.
+ *For ACM to manage automatic renewal of these certificates, + * the ACM user must configure a Service Linked Role (SLR). The SLR allows + * the ACM service to assume the identity of the user, subject to confirmation against the + * ACM Private CA policy. For more information, see + * Using a + * Service Linked Role with ACM.
+ *Updates made in AWS Resource Manager (RAM) are reflected in policies. For more information, + * see Using AWS Resource Access Manager + * (RAM) with ACM Private CA.
+ *Restores a certificate authority (CA) that is in the DELETED
state. You
+ * can restore a CA during the period that you defined in the PermanentDeletionTimeInDays parameter of the DeleteCertificateAuthority action. Currently, you can specify 7 to 30 days.
+ * If you did not specify a PermanentDeletionTimeInDays
+ * value, by default you can restore the CA at any time in a 30 day period. You can check
+ * the time remaining in the restoration period of a private CA in the DELETED
+ * state by calling the DescribeCertificateAuthority or ListCertificateAuthorities actions. The status of a restored CA is set to
+ * its pre-deletion status when the RestoreCertificateAuthority action returns. To change its status to
+ * ACTIVE
, call the UpdateCertificateAuthority action. If the private CA was in the
+ * PENDING_CERTIFICATE
state at deletion, you must use the ImportCertificateAuthorityCertificate action to import a certificate
+ * authority into the private CA before it can be activated. You cannot restore a CA after
+ * the restoration period has ended.
Revokes a certificate that was issued inside ACM Private CA. If you enable a certificate * revocation list (CRL) when you create or update your private CA, information about the * revoked certificates will be included in the CRL. ACM Private CA writes the CRL to an S3 bucket - * that you specify. For more information about revocation, see the CrlConfiguration structure. ACM Private CA also writes revocation information to - * the audit report. For more information, see CreateCertificateAuthorityAuditReport.
+ * that you specify. A CRL is typically updated approximately 30 minutes after a + * certificate is revoked. If for any reason the CRL update fails, ACM Private CA attempts makes + * further attempts every 15 minutes. With Amazon CloudWatch, you can create alarms for the + * metricsCRLGenerated
and MisconfiguredCRLBucket
. For more
+ * information, see Supported CloudWatch Metrics.
+ * Both PCA and the IAM principal must have permission to write to + * the S3 bucket that you specify. If the IAM principal making the call + * does not have permission to write to the bucket, then an exception is + * thrown. For more information, see Configure + * Access to ACM Private CA.
+ *ACM Private CA also writes revocation information to the audit report. For more information, + * see CreateCertificateAuthorityAuditReport.
*You cannot revoke a root CA self-signed certificate.
*Adds one or more tags to your private CA. Tags are labels that you can use to identify and - * organize your AWS resources. Each tag consists of a key and an optional value. You + *
Adds one or more tags to your private CA. Tags are labels that you can use to identify + * and organize your AWS resources. Each tag consists of a key and an optional value. You * specify the private CA on input by its Amazon Resource Name (ARN). You specify the tag * by using a key-value pair. You can apply a tag to just one private CA if you want to * identify a specific characteristic of that CA, or you can apply the same tag to multiple * private CAs if you want to filter for a common relationship among those CAs. To remove - * one or more tags, use the UntagCertificateAuthority action. Call the - * ListTags action to see what tags are associated with your CA.
+ * one or more tags, use the UntagCertificateAuthority action. Call the ListTags action to see what tags are + * associated with your CA. */ public tagCertificateAuthority( args: TagCertificateAuthorityCommandInput, @@ -866,11 +1227,11 @@ export class ACMPCA extends ACMPCAClient { } /** - *Remove one or more tags from your private CA. A tag consists of a key-value pair. If you do - * not specify the value portion of the tag when calling this action, the tag will be - * removed regardless of value. If you specify a value, the tag is removed only if it is - * associated with the specified value. To add tags to a private CA, use the TagCertificateAuthority. Call the ListTags action to - * see what tags are associated with your CA.
+ *Remove one or more tags from your private CA. A tag consists of a key-value pair. If + * you do not specify the value portion of the tag when calling this action, the tag will + * be removed regardless of value. If you specify a value, the tag is removed only if it is + * associated with the specified value. To add tags to a private CA, use the TagCertificateAuthority. Call the ListTags action to see what tags are + * associated with your CA.
*/ public untagCertificateAuthority( args: UntagCertificateAuthorityCommandInput, @@ -906,6 +1267,13 @@ export class ACMPCA extends ACMPCAClient { * private CA must be in theACTIVE
or DISABLED
state before you
* can update it. You can disable a private CA that is in the ACTIVE
state or
* make a CA that is in the DISABLED
state active again.
+ * Both PCA and the IAM principal must have permission to write to + * the S3 bucket that you specify. If the IAM principal making the call + * does not have permission to write to the bucket, then an exception is + * thrown. For more information, see Configure + * Access to ACM Private CA.
+ *This is the ACM Private CA API Reference. It provides descriptions,
+ *
This is the ACM Private CA API Reference. It provides descriptions, * syntax, and usage examples for each of the actions and data types involved in creating * and managing private certificate authorities (CA) for your organization.
*The documentation for each action shows the Query API request parameters and the XML @@ -272,8 +284,8 @@ export type ACMPCAClientResolvedConfig = __SmithyResolvedConfiguration<__HttpHan * information, see AWS * SDKs.
*Each ACM Private CA API action has a throttling limit which determines the number of times - * the action can be called per second. For more information, see API Rate Limits in ACM Private CA + *
Each ACM Private CA API action has a quota that determines the number of times the action + * can be called per second. For more information, see API Rate Quotas in ACM Private CA * in the ACM Private CA user guide.
*Fully qualified domain name (FQDN) associated with the certificate subject.
+ *Legal name of the organization with which the certificate subject is affiliated. + *
*/ - CommonName?: string; + Organization?: string; /** - *Concatenation that typically contains the first letter of the GivenName, the first letter of the middle name if one exists, and the - * first letter of the SurName.
+ *A subdivision or unit of the organization (such as sales or finance) with which the + * certificate subject is affiliated.
*/ - Initials?: string; + OrganizationalUnit?: string; /** - *A title such as Mr. or Ms., which is pre-pended to the name to refer formally to the - * certificate subject.
+ *The locality (such as a city or town) in which the certificate subject is + * located.
*/ - Title?: string; + Locality?: string; /** - *First name.
+ *Two-digit code that specifies the country in which the certificate subject + * located.
*/ - GivenName?: string; + Country?: string; + + /** + *Typically a shortened version of a longer GivenName. + * For example, Jonathan is often shortened to John. Elizabeth is often shortened to Beth, + * Liz, or Eliza.
+ */ + Pseudonym?: string; /** *State in which the subject of the certificate is located.
@@ -63,45 +72,36 @@ export interface ASN1Subject { Surname?: string; /** - *The certificate serial number.
- */ - SerialNumber?: string; - - /** - *Two-digit code that specifies the country in which the certificate subject - * located.
+ *Disambiguating information for the certificate subject.
*/ - Country?: string; + DistinguishedNameQualifier?: string; /** - *Legal name of the organization with which the certificate subject is affiliated. - *
+ *Fully qualified domain name (FQDN) associated with the certificate subject.
*/ - Organization?: string; + CommonName?: string; /** - *Typically a shortened version of a longer GivenName. - * For example, Jonathan is often shortened to John. Elizabeth is often shortened to Beth, - * Liz, or Eliza.
+ *The certificate serial number.
*/ - Pseudonym?: string; + SerialNumber?: string; /** - *A subdivision or unit of the organization (such as sales or finance) with which the - * certificate subject is affiliated.
+ *A title such as Mr. or Ms., which is pre-pended to the name to refer formally to the + * certificate subject.
*/ - OrganizationalUnit?: string; + Title?: string; /** - *Disambiguating information for the certificate subject.
+ *First name.
*/ - DistinguishedNameQualifier?: string; + GivenName?: string; /** - *The locality (such as a city or town) in which the certificate subject is - * located.
+ *Concatenation that typically contains the first letter of the GivenName, the first letter of the middle name if one exists, and the + * first letter of the SurName.
*/ - Locality?: string; + Initials?: string; /** *Typically a qualifier appended to the name of an individual. Examples include Jr. for @@ -121,18 +121,13 @@ export namespace ASN1Subject { * includes information about the class of public key algorithm and the key pair that your * private CA creates when it issues a certificate. It also includes the signature * algorithm that it uses when issuing certificates, and its X.500 distinguished name. You - * must specify this information when you call the CreateCertificateAuthority action.
+ * must specify this information when you call the CreateCertificateAuthority action. */ export interface CertificateAuthorityConfiguration { - /** - *Type of the public key algorithm and size, in bits, of the key pair that your CA creates - * when it issues a certificate. When you create a subordinate CA, you must use a key - * algorithm supported by the parent CA.
- */ - KeyAlgorithm: KeyAlgorithm | string | undefined; - /** *Name of the algorithm your private CA uses to sign certificate requests.
+ *This parameter should not be confused with the SigningAlgorithm
parameter
+ * used to sign certificates when they are issued.
Type of the public key algorithm and size, in bits, of the key pair that your CA + * creates when it issues a certificate. When you create a subordinate CA, you must use a + * key algorithm supported by the parent CA.
+ */ + KeyAlgorithm: KeyAlgorithm | string | undefined; } export namespace CertificateAuthorityConfiguration { @@ -163,6 +165,9 @@ export enum CertificateAuthorityType { * private CA copies the CNAME or the S3 bucket name to the CRL * Distribution Points extension of each certificate it issues. Your S3 * bucket policy must give write permission to ACM Private CA. + *ACM Private CAA assets that are stored in Amazon S3 can be protected with encryption. + * For more information, see Encrypting Your + * CRLs.
*Your private CA uses the value in the ExpirationInDays parameter to calculate the nextUpdate field in the CRL. The CRL is refreshed at 1/2 the age of next * update or when a certificate is revoked. When a certificate is revoked, it is recorded * in the next CRL that is generated and in the next audit report. Only time valid @@ -261,12 +266,12 @@ export enum CertificateAuthorityType { */ export interface CrlConfiguration { /** - *
Name inserted into the certificate CRL Distribution - * Points extension that enables the use of an alias for the CRL - * distribution point. Use this value if you don't want the name of your S3 bucket to be - * public.
+ *Boolean value that specifies whether certificate revocation lists (CRLs) are enabled. + * You can use this value to enable certificate revocation for a new CA when you call the + * CreateCertificateAuthority action or for an existing CA when you call the + * UpdateCertificateAuthority action.
*/ - CustomCname?: string; + Enabled: boolean | undefined; /** *Number of days until a certificate expires.
@@ -274,17 +279,18 @@ export interface CrlConfiguration { ExpirationInDays?: number; /** - *Boolean value that specifies whether certificate revocation lists (CRLs) are enabled. You - * can use this value to enable certificate revocation for a new CA when you call the CreateCertificateAuthority action or for an existing CA when you call - * the UpdateCertificateAuthority action.
+ *Name inserted into the certificate CRL Distribution + * Points extension that enables the use of an alias for the CRL + * distribution point. Use this value if you don't want the name of your S3 bucket to be + * public.
*/ - Enabled: boolean | undefined; + CustomCname?: string; /** *Name of the S3 bucket that contains the CRL. If you do not provide a value for the * CustomCname argument, the name of your S3 bucket * is placed into the CRL Distribution Points extension of - * the issued certificate. You can change the name of your bucket by calling the UpdateCertificateAuthority action. You must specify a bucket policy that + * the issued certificate. You can change the name of your bucket by calling the UpdateCertificateAuthority action. You must specify a bucket policy that * allows ACM Private CA to write the CRL to your bucket.
*/ S3BucketName?: string; @@ -297,11 +303,9 @@ export namespace CrlConfiguration { } /** - *Certificate revocation information used by the CreateCertificateAuthority - * and UpdateCertificateAuthority actions. Your private certificate - * authority (CA) can create and maintain a certificate revocation list (CRL). A CRL - * contains information about certificates revoked by your CA. For more information, see - * RevokeCertificate.
+ *Certificate revocation information used by the CreateCertificateAuthority and UpdateCertificateAuthority actions. Your private certificate authority (CA) + * can create and maintain a certificate revocation list (CRL). A CRL contains information + * about certificates revoked by your CA. For more information, see RevokeCertificate.
*/ export interface RevocationConfiguration { /** @@ -320,18 +324,19 @@ export namespace RevocationConfiguration { /** *Tags are labels that you can use to identify and organize your private CAs. Each tag * consists of a key and an optional value. You can associate up to 50 tags with a private - * CA. To add one or more tags to a private CA, call the TagCertificateAuthority action. To remove a tag, call the UntagCertificateAuthority action.
+ * CA. To add one or more tags to a private CA, call the TagCertificateAuthority + * action. To remove a tag, call the UntagCertificateAuthority action. */ export interface Tag { /** - *Key (name) of the tag.
+ *Value of the tag.
*/ - Key: string | undefined; + Value?: string; /** - *Value of the tag.
+ *Key (name) of the tag.
*/ - Value?: string; + Key: string | undefined; } export namespace Tag { @@ -342,17 +347,20 @@ export namespace Tag { export interface CreateCertificateAuthorityRequest { /** - *Contains a Boolean value that you can use to enable a certification revocation list - * (CRL) for the CA, the name of the S3 bucket to which ACM Private CA will write the CRL, and an - * optional CNAME alias that you can use to hide the name of your bucket in the CRL Distribution Points extension of your CA certificate. For - * more information, see the CrlConfiguration structure.
+ *Key-value pairs that will be attached to the new private CA. You can associate up to + * 50 tags with a private CA. For information using tags with IAM to manage permissions, + * see Controlling Access Using IAM Tags.
*/ - RevocationConfiguration?: RevocationConfiguration; + Tags?: Tag[]; /** - *The type of the certificate authority.
+ *Alphanumeric string that can be used to distinguish between calls to CreateCertificateAuthority. For a given token, ACM Private CA + * creates exactly one CA. If you issue a subsequent call using the same token, ACM Private CA + * returns the ARN of the existing CA and takes no further action. If you change the + * idempotency token across multiple calls, ACM Private CA creates a unique CA for each unique + * token.
*/ - CertificateAuthorityType: CertificateAuthorityType | string | undefined; + IdempotencyToken?: string; /** *Name and bit size of the private key algorithm, the name of the signing algorithm, and @@ -361,21 +369,18 @@ export interface CreateCertificateAuthorityRequest { CertificateAuthorityConfiguration: CertificateAuthorityConfiguration | undefined; /** - *
Alphanumeric string that can be used to distinguish between calls to CreateCertificateAuthority. Idempotency tokens time out after - * five minutes. Therefore, if you call CreateCertificateAuthority multiple times with the same idempotency - * token within a five minute period, ACM Private CA recognizes that you are requesting only one - * certificate. As a result, ACM Private CA issues only one. If you change the idempotency token for - * each call, however, ACM Private CA recognizes that you are requesting multiple - * certificates.
+ *The type of the certificate authority.
*/ - IdempotencyToken?: string; + CertificateAuthorityType: CertificateAuthorityType | string | undefined; /** - *Key-value pairs that will be attached to the new private CA. You can associate up to - * 50 tags with a private CA. For information using tags with
- *IAM to manage permissions, see Controlling Access Using IAM Tags.
+ *Contains a Boolean value that you can use to enable a certification revocation list + * (CRL) for the CA, the name of the S3 bucket to which ACM Private CA will write the CRL, and an + * optional CNAME alias that you can use to hide the name of your bucket in the CRL Distribution Points extension of your CA certificate. For + * more information, see the CrlConfiguration structure. + *
*/ - Tags?: Tag[]; + RevocationConfiguration?: RevocationConfiguration; } export namespace CreateCertificateAuthorityRequest { @@ -418,8 +423,9 @@ export namespace InvalidArgsException { } /** - *The S3 bucket policy is not valid. The policy must give ACM Private CA rights to read from - * and write to the bucket and find the bucket location.
+ *The resource policy is invalid or is missing a required statement. For general information about + * IAM policy and statement structure, see Overview + * of JSON Policies.
*/ export interface InvalidPolicyException extends __SmithyException, $MetadataBearer { name: "InvalidPolicyException"; @@ -450,8 +456,8 @@ export namespace InvalidTagException { } /** - *An ACM Private CA limit has been exceeded. See the exception message returned to determine the - * limit that was exceeded.
+ *An ACM Private CA quota has been exceeded. See the exception message returned to determine the + * quota that was exceeded.
*/ export interface LimitExceededException extends __SmithyException, $MetadataBearer { name: "LimitExceededException"; @@ -472,12 +478,9 @@ export enum AuditReportResponseFormat { export interface CreateCertificateAuthorityAuditReportRequest { /** - *The Amazon Resource Name (ARN) of the CA to be audited. This is of the form:
- *
- * arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012
- *
.
The name of the S3 bucket that will contain the audit report.
*/ - CertificateAuthorityArn: string | undefined; + S3BucketName: string | undefined; /** *The format in which to create the report. This can be either JSON or CSV.
@@ -485,9 +488,12 @@ export interface CreateCertificateAuthorityAuditReportRequest { AuditReportResponseFormat: AuditReportResponseFormat | string | undefined; /** - *The name of the S3 bucket that will contain the audit report.
+ *The Amazon Resource Name (ARN) of the CA to be audited. This is of the form:
+ *
+ * arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012
+ *
.
An alphanumeric string that contains a report identifier.
- */ - AuditReportId?: string; - /** *The key that uniquely identifies the report file in * your S3 bucket.
*/ S3Key?: string; + + /** + *An alphanumeric string that contains a report identifier.
+ */ + AuditReportId?: string; } export namespace CreateCertificateAuthorityAuditReportResponse { @@ -532,8 +538,7 @@ export namespace InvalidArnException { } /** - *The private CA is in a state during which a report or certificate cannot be - * generated.
+ *The state of the private CA does not allow this action to occur.
*/ export interface InvalidStateException extends __SmithyException, $MetadataBearer { name: "InvalidStateException"; @@ -578,7 +583,7 @@ export namespace RequestInProgressException { } /** - *A resource such as a private CA, S3 bucket, certificate, or audit report cannot be + *
A resource such as a private CA, S3 bucket, certificate, audit report, or policy cannot be * found.
*/ export interface ResourceNotFoundException extends __SmithyException, $MetadataBearer { @@ -608,20 +613,19 @@ export interface CreatePermissionRequest { Actions: (ActionType | string)[] | undefined; /** - *The AWS service or identity that receives the permission. At this time, the only
- * valid principal is acm.amazonaws.com
.
The ID of the calling account.
*/ - Principal: string | undefined; + SourceAccount?: string; /** - *The ID of the calling account.
+ *The AWS service or identity that receives the permission. At this time, the only
+ * valid principal is acm.amazonaws.com
.
The Amazon Resource Name (ARN) of the CA that grants the permissions. You can find the ARN - * by calling the ListCertificateAuthorities action. This must have the - * following form:
+ *The Amazon Resource Name (ARN) of the CA that grants the permissions. You can find the + * ARN by calling the ListCertificateAuthorities action. This must have the following form:
*
* arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012
*
.
@@ -668,19 +672,19 @@ export namespace ConcurrentModificationException {
export interface DeleteCertificateAuthorityRequest {
/**
- *
The number of days to make a CA restorable after it has been deleted. This can be - * anywhere from 7 to 30 days, with 30 being the default.
- */ - PermanentDeletionTimeInDays?: number; - - /** - *The Amazon Resource Name (ARN) that was returned when you called CreateCertificateAuthority. This must have the following form:
+ *The Amazon Resource Name (ARN) that was returned when you called CreateCertificateAuthority. This must have the following form:
*
* arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012
*
.
*
The number of days to make a CA restorable after it has been deleted. This can be + * anywhere from 7 to 30 days, with 30 being the default.
+ */ + PermanentDeletionTimeInDays?: number; } export namespace DeleteCertificateAuthorityRequest { @@ -691,9 +695,13 @@ export namespace DeleteCertificateAuthorityRequest { export interface DeletePermissionRequest { /** - *The Amazon Resource Number (ARN) of the private CA that issued the permissions. You can find - * the CA's ARN by calling the ListCertificateAuthorities action. This - * must have the following form:
+ *The AWS account that calls this action.
+ */ + SourceAccount?: string; + + /** + *The Amazon Resource Number (ARN) of the private CA that issued the permissions. You + * can find the CA's ARN by calling the ListCertificateAuthorities action. This must have the following form:
*
* arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012
*
.
@@ -701,11 +709,6 @@ export interface DeletePermissionRequest {
*/
CertificateAuthorityArn: string | undefined;
- /**
- *
The AWS account that calls this action.
- */ - SourceAccount?: string; - /** *The AWS service or identity that will have its CA permissions revoked. At this time,
* the only valid service principal is acm.amazonaws.com
@@ -720,9 +723,41 @@ export namespace DeletePermissionRequest {
});
}
+export interface DeletePolicyRequest {
+ /**
+ *
The Amazon Resource Number (ARN) of the private CA that will have its policy deleted. You
+ * can find the CA's ARN by calling the ListCertificateAuthorities action. The ARN value must have the form
+ * arn:aws:acm-pca:region:account:certificate-authority/01234567-89ab-cdef-0123-0123456789ab
.
The current action was prevented because it would lock the caller out from performing + * subsequent actions. Verify that the specified parameters would not result in the caller + * being denied access to the resource.
+ */ +export interface LockoutPreventedException extends __SmithyException, $MetadataBearer { + name: "LockoutPreventedException"; + $fault: "client"; + message?: string; +} + +export namespace LockoutPreventedException { + export const filterSensitiveLog = (obj: LockoutPreventedException): any => ({ + ...obj, + }); +} + export interface DescribeCertificateAuthorityRequest { /** - *The Amazon Resource Name (ARN) that was returned when you called CreateCertificateAuthority. This must be of the form:
+ *The Amazon Resource Name (ARN) that was returned when you called CreateCertificateAuthority. This must be of the form:
*
* arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012
*
.
@@ -754,66 +789,66 @@ export enum CertificateAuthorityStatus {
}
/**
- *
Contains information about your private certificate authority (CA). Your private CA can - * issue and revoke X.509 digital certificates. Digital certificates verify that the entity - * named in the certificate Subject field owns or controls - * the public key contained in the Subject Public Key Info - * field. Call the CreateCertificateAuthority action to create your - * private CA. You must then call the GetCertificateAuthorityCertificate - * action to retrieve a private CA certificate signing request (CSR). Sign the CSR with - * your ACM Private CA-hosted or on-premises root or subordinate CA certificate. Call the ImportCertificateAuthorityCertificate action to import the signed + *
Contains information about your private certificate authority (CA). Your private CA + * can issue and revoke X.509 digital certificates. Digital certificates verify that the + * entity named in the certificate Subject field owns or + * controls the public key contained in the Subject Public Key + * Info field. Call the CreateCertificateAuthority action to create your private CA. You must then + * call the GetCertificateAuthorityCertificate action to retrieve a private CA + * certificate signing request (CSR). Sign the CSR with your ACM Private CA-hosted or on-premises + * root or subordinate CA certificate. Call the ImportCertificateAuthorityCertificate action to import the signed * certificate into AWS Certificate Manager (ACM).
*/ export interface CertificateAuthority { /** - *Status of your private CA.
+ *Reason the request to create your private CA failed.
*/ - Status?: CertificateAuthorityStatus | string; + FailureReason?: FailureReason | string; /** - *Date and time at which your private CA was created.
+ *Date and time at which your private CA was last updated.
*/ - CreatedAt?: Date; + LastStateChangeAt?: Date; /** - *Amazon Resource Name (ARN) for your private certificate authority (CA). The format is
- *
- * 12345678-1234-1234-1234-123456789012
- *
.
The AWS account ID that owns the certificate authority.
*/ - Arn?: string; + OwnerAccount?: string; /** - *Date and time after which your private CA certificate is not valid.
+ *The period during which a deleted CA can be restored. For more information, see the
+ * PermanentDeletionTimeInDays
parameter of the DeleteCertificateAuthorityRequest action.
Serial number of your private CA.
+ *Information about the certificate revocation list (CRL) created and maintained by your + * private CA.
*/ - Serial?: string; + RevocationConfiguration?: RevocationConfiguration; /** - *The period during which a deleted CA can be restored. For more information, see the
- * PermanentDeletionTimeInDays
parameter of the DeleteCertificateAuthorityRequest action.
Amazon Resource Name (ARN) for your private certificate authority (CA). The format is
+ *
+ * 12345678-1234-1234-1234-123456789012
+ *
.
Date and time at which your private CA was last updated.
+ *Serial number of your private CA.
*/ - LastStateChangeAt?: Date; + Serial?: string; /** - *Reason the request to create your private CA failed.
+ *Status of your private CA.
*/ - FailureReason?: FailureReason | string; + Status?: CertificateAuthorityStatus | string; /** - *Information about the certificate revocation list (CRL) created and maintained by your - * private CA.
+ *Type of your private CA.
*/ - RevocationConfiguration?: RevocationConfiguration; + Type?: CertificateAuthorityType | string; /** *Date and time before which your private CA certificate is not valid.
@@ -821,9 +856,14 @@ export interface CertificateAuthority { NotBefore?: Date; /** - *Type of your private CA.
+ *Date and time after which your private CA certificate is not valid.
*/ - Type?: CertificateAuthorityType | string; + NotAfter?: Date; + + /** + *Date and time at which your private CA was created.
+ */ + CreatedAt?: Date; /** *Your private CA configuration.
@@ -839,8 +879,8 @@ export namespace CertificateAuthority { export interface DescribeCertificateAuthorityResponse { /** - *A CertificateAuthority structure that contains information about - * your private CA.
+ *A CertificateAuthority structure that contains information about your private + * CA.
*/ CertificateAuthority?: CertificateAuthority; } @@ -853,7 +893,7 @@ export namespace DescribeCertificateAuthorityResponse { export interface DescribeCertificateAuthorityAuditReportRequest { /** - *The report ID returned by calling the CreateCertificateAuthorityAuditReport action.
+ *The report ID returned by calling the CreateCertificateAuthorityAuditReport action.
*/ AuditReportId: string | undefined; @@ -880,11 +920,6 @@ export enum AuditReportStatus { } export interface DescribeCertificateAuthorityAuditReportResponse { - /** - *Specifies whether report creation is in progress, has succeeded, or has failed.
- */ - AuditReportStatus?: AuditReportStatus | string; - /** *Name of the S3 bucket that contains the report.
*/ @@ -900,6 +935,11 @@ export interface DescribeCertificateAuthorityAuditReportResponse { *The date and time at which the report was created.
*/ CreatedAt?: Date; + + /** + *Specifies whether report creation is in progress, has succeeded, or has failed.
+ */ + AuditReportStatus?: AuditReportStatus | string; } export namespace DescribeCertificateAuthorityAuditReportResponse { @@ -920,7 +960,7 @@ export interface GetCertificateRequest { CertificateArn: string | undefined; /** - *The Amazon Resource Name (ARN) that was returned when you called CreateCertificateAuthority. This must be of the form:
+ *The Amazon Resource Name (ARN) that was returned when you called CreateCertificateAuthority. This must be of the form:
*
* arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012
*
.
@@ -974,10 +1014,10 @@ export namespace GetCertificateAuthorityCertificateRequest {
export interface GetCertificateAuthorityCertificateResponse {
/**
- *
Base64-encoded certificate chain that includes any intermediate certificates and chains up - * to root on-premises certificate that you used to sign your private CA certificate. The - * chain does not include your private CA certificate. If this is a root CA, the value will - * be null.
+ *Base64-encoded certificate chain that includes any intermediate certificates and + * chains up to root on-premises certificate that you used to sign your private CA + * certificate. The chain does not include your private CA certificate. If this is a root + * CA, the value will be null.
*/ CertificateChain?: string; @@ -995,7 +1035,7 @@ export namespace GetCertificateAuthorityCertificateResponse { export interface GetCertificateAuthorityCsrRequest { /** - *The Amazon Resource Name (ARN) that was returned when you called the CreateCertificateAuthority action. This must be of the form:
+ *The Amazon Resource Name (ARN) that was returned when you called the CreateCertificateAuthority action. This must be of the form:
*
* arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012
*
@@ -1024,6 +1064,35 @@ export namespace GetCertificateAuthorityCsrResponse {
});
}
+export interface GetPolicyRequest {
+ /**
+ *
The Amazon Resource Number (ARN) of the private CA that will have its policy + * retrieved. You can find the CA's ARN by calling the ListCertificateAuthorities action. + * + *
+ */ + ResourceArn: string | undefined; +} + +export namespace GetPolicyRequest { + export const filterSensitiveLog = (obj: GetPolicyRequest): any => ({ + ...obj, + }); +} + +export interface GetPolicyResponse { + /** + *The policy attached to the private CA as a JSON document.
+ */ + Policy?: string; +} + +export namespace GetPolicyResponse { + export const filterSensitiveLog = (obj: GetPolicyResponse): any => ({ + ...obj, + }); +} + /** *The certificate authority certificate you are importing does not comply with * conditions specified in the certificate that signed it.
@@ -1042,17 +1111,13 @@ export namespace CertificateMismatchException { export interface ImportCertificateAuthorityCertificateRequest { /** - *A PEM-encoded file that contains all of your certificates, other than the certificate you're - * importing, chaining up to your root CA. Your ACM Private CA-hosted or on-premises root - * certificate is the last in the chain, and each certificate in the chain signs the one - * preceding.
- *This parameter must be supplied when you import a subordinate CA. When you import a - * root CA, there is no chain.
+ *The PEM-encoded certificate for a private CA. This may be a self-signed certificate in + * the case of a root CA, or it may be signed by another CA that you control.
*/ - CertificateChain?: Uint8Array; + Certificate: Uint8Array | undefined; /** - *The Amazon Resource Name (ARN) that was returned when you called CreateCertificateAuthority. This must be of the form:
+ *The Amazon Resource Name (ARN) that was returned when you called CreateCertificateAuthority. This must be of the form:
*
* arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012
*
@@ -1061,10 +1126,14 @@ export interface ImportCertificateAuthorityCertificateRequest {
CertificateAuthorityArn: string | undefined;
/**
- *
The PEM-encoded certificate for a private CA. This may be a self-signed certificate in the - * case of a root CA, or it may be signed by another CA that you control.
+ *A PEM-encoded file that contains all of your certificates, other than the certificate + * you're importing, chaining up to your root CA. Your ACM Private CA-hosted or on-premises root + * certificate is the last in the chain, and each certificate in the chain signs the one + * preceding.
+ *This parameter must be supplied when you import a subordinate CA. When you import a + * root CA, there is no chain.
*/ - Certificate: Uint8Array | undefined; + CertificateChain?: Uint8Array; } export namespace ImportCertificateAuthorityCertificateRequest { @@ -1112,21 +1181,65 @@ export enum ValidityPeriodType { } /** - *Length of time for which the certificate issued by your private certificate authority (CA), - * or by the private CA itself, is valid in days, months, or years. You can issue a - * certificate by calling the IssueCertificate action.
+ *Validity specifies the period of time during which a certificate is valid. Validity can be + * expressed as an explicit date and time when the certificate expires, or as a span of + * time after issuance, stated in days, months, or years. For more information, see Validity in RFC + * 5280.
+ *You can issue a certificate by calling the IssueCertificate action.
*/ export interface Validity { /** - *Specifies whether the Value
parameter represents days, months, or
- * years.
A long integer interpreted according to the value of Type
, below.
Time period.
+ *Determines how ACM Private CA interprets the Value
parameter,
+ * an integer. Supported validity types include those listed below. Type definitions with
+ * values include a sample input value and the resulting output.
+ * END_DATE
: The specific date and time when the certificate will expire,
+ * expressed using UTCTime (YYMMDDHHMMSS) or GeneralizedTime (YYYYMMDDHHMMSS) format. When
+ * UTCTime is used, if the year field (YY) is greater than or equal to 50, the year is
+ * interpreted as 19YY. If the year field is less than 50, the year is interpreted as
+ * 20YY.
Sample input value: 491231235959 (UTCTime format)
+ *Output expiration date/time: 12/31/2049 23:59:59
+ *
+ * ABSOLUTE
: The specific date and time when the certificate will expire,
+ * expressed in seconds since the Unix Epoch.
Sample input value: 2524608000
+ *Output expiration date/time: 01/01/2050 00:00:00
+ *
+ * DAYS
, MONTHS
, YEARS
: The relative time from the
+ * moment of issuance until the certificate will expire, expressed in days, months, or
+ * years.
Example if DAYS
, issued on 10/12/2020 at 12:34:54 UTC:
Sample input value: 90
+ *Output expiration date: 01/10/2020 12:34:54 UTC
+ *The Amazon Resource Name (ARN) that was returned when you called CreateCertificateAuthority. This must be of the form:
- *
- * arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012
- *
- *
The certificate signing request (CSR) for the certificate you want to issue. You can * use the following OpenSSL command to create the CSR and a 2048 bit RSA private key.
@@ -1160,19 +1264,92 @@ export interface IssueCertificateRequest { * -days -365 -keyout private/test_cert_priv_key.pem -out * csr/test_cert_.csr * + *Note: A CSR must provide either a subject name or a + * subject alternative name or the request will be rejected. + *
*/ Csr: Uint8Array | undefined; + /** + *The Amazon Resource Name (ARN) that was returned when you called CreateCertificateAuthority. This must be of the form:
+ *
+ * arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012
+ *
+ *
Custom string that can be used to distinguish between calls to the IssueCertificate action. Idempotency tokens time out after + * one hour. Therefore, if you call IssueCertificate + * multiple times with the same idempotency token within 5 minutes, ACM Private CA recognizes that + * you are requesting only one certificate and will issue only one. If you change the + * idempotency token for each call, PCA recognizes that you are requesting multiple + * certificates.
+ */ + IdempotencyToken?: string; + + /** + *The name of the algorithm that will be used to sign the certificate to be issued.
+ *This parameter should not be confused with the SigningAlgorithm
parameter
+ * used to sign a CSR.
Information describing the validity period of the certificate.
+ *When issuing a certificate, ACM Private CA sets the "Not Before" date in the validity field to + * date and time minus 60 minutes. This is intended to compensate for time inconsistencies + * across systems of 60 minutes or less.
+ *The validity period configured on a certificate must not exceed the limit set by its + * parents in the CA hierarchy.
+ */ + Validity: Validity | undefined; + /** *Specifies a custom configuration template to use when issuing a certificate. If this
* parameter is not provided, ACM Private CA defaults to the EndEntityCertificate/V1
- * template.
Note: The CA depth configured on a subordinate CA certificate must not exceed the + * limit set by its parents in the CA hierarchy.
*The following service-owned TemplateArn
values are supported by ACM Private CA:
arn:aws:acm-pca:::template/CodeSigningCertificate/V1
+ *arn:aws:acm-pca:::template/CodeSigningCertificate_CSRPassthrough/V1
+ *arn:aws:acm-pca:::template/EndEntityCertificate/V1
*arn:aws:acm-pca:::template/EndEntityCertificate_CSRPassthrough/V1
+ *arn:aws:acm-pca:::template/EndEntityClientAuthCertificate/V1
+ *arn:aws:acm-pca:::template/EndEntityClientAuthCertificate_CSRPassthrough/V1
+ *arn:aws:acm-pca:::template/EndEntityServerAuthCertificate/V1
+ *arn:aws:acm-pca:::template/EndEntityServerAuthCertificate_CSRPassthrough/V1
+ *arn:aws:acm-pca:::template/OCSPSigningCertificate/V1
+ *arn:aws:acm-pca:::template/OCSPSigningCertificate_CSRPassthrough/V1
+ *arn:aws:acm-pca:::template/RootCACertificate/V1
+ *arn:aws:acm-pca:::template/SubordinateCACertificate_PathLen0/V1
*arn:aws:acm-pca:::template/SubordinateCACertificate_PathLen3/V1
*arn:aws:acm-pca:::template/RootCACertificate/V1
- *For more information, see Using - * Templates.
+ *For more information, see Using Templates.
*/ TemplateArn?: string; - - /** - *The type of the validity period.
- */ - Validity: Validity | undefined; - - /** - *Custom string that can be used to distinguish between calls to the IssueCertificate action. Idempotency tokens time out after one hour. - * Therefore, if you call IssueCertificate multiple times - * with the same idempotency token within 5 minutes, ACM Private CA recognizes that you are - * requesting only one certificate and will issue only one. If you change the idempotency - * token for each call, PCA recognizes that you are requesting multiple - * certificates.
- */ - IdempotencyToken?: string; - - /** - *The name of the algorithm that will be used to sign the certificate to be - * issued.
- */ - SigningAlgorithm: SigningAlgorithm | string | undefined; } export namespace IssueCertificateRequest { @@ -1256,7 +1408,7 @@ export namespace MalformedCSRException { /** *The token specified in the NextToken
argument is not valid. Use the token
- * returned from your previous call to ListCertificateAuthorities.
Use this parameter when paginating results to specify the maximum number of items to @@ -1286,6 +1443,12 @@ export interface ListCertificateAuthoritiesRequest { * parameter from the response you just received.
*/ NextToken?: string; + + /** + *Use this parameter to filter the returned set of certificate authorities based on + * their owner. The default is SELF.
+ */ + ResourceOwner?: ResourceOwner | string; } export namespace ListCertificateAuthoritiesRequest { @@ -1314,12 +1477,6 @@ export namespace ListCertificateAuthoritiesResponse { } export interface ListPermissionsRequest { - /** - *When paginating results, use this parameter in a subsequent request after you receive - * a response with truncated results. Set it to the value of NextToken from the response you just received.
- */ - NextToken?: string; - /** *When paginating results, use this parameter to specify the maximum number of items to * return in the response. If additional items exist beyond the number you specify, the @@ -1329,12 +1486,17 @@ export interface ListPermissionsRequest { */ MaxResults?: number; + /** + *
When paginating results, use this parameter in a subsequent request after you receive + * a response with truncated results. Set it to the value of NextToken from the response you just received.
+ */ + NextToken?: string; + /** *The Amazon Resource Number (ARN) of the private CA to inspect. You can find the ARN by
- * calling the ListCertificateAuthorities action. This must be of the
- * form:
+ * calling the ListCertificateAuthorities action. This must be of the form:
* arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012
- * You can get a private CA's ARN by running the ListCertificateAuthorities action.
IssueCertificate
,
* GetCertificate
, and ListPermissions
). Permissions can be
- * assigned with the CreatePermission action, removed with the DeletePermission action, and listed with the ListPermissions action.
+ * assigned with the CreatePermission action,
+ * removed with the DeletePermission action, and
+ * listed with the ListPermissions action.
*/
export interface Permission {
/**
- * The AWS service or entity that holds the permission. At this time, the only valid
- * principal is acm.amazonaws.com
.
The Amazon Resource Number (ARN) of the private CA from which the permission was - * issued.
+ *The ID of the account that assigned the permission.
*/ - CertificateAuthorityArn?: string; + SourceAccount?: string; /** *The time at which the permission was created.
@@ -1371,15 +1528,22 @@ export interface Permission { CreatedAt?: Date; /** - *The ID of the account that assigned the permission.
+ *The AWS service or entity that holds the permission. At this time, the only valid
+ * principal is acm.amazonaws.com
.
The private CA actions that can be performed by the designated AWS service.
*/ Actions?: (ActionType | string)[]; + /** + *The Amazon Resource Number (ARN) of the private CA from which the permission was + * issued.
+ */ + CertificateAuthorityArn?: string; + /** *The name of the policy that is associated with the permission.
*/ @@ -1393,17 +1557,17 @@ export namespace Permission { } export interface ListPermissionsResponse { - /** - *Summary information about each permission assigned by the specified private CA, - * including the action enabled, the policy provided, and the time of creation.
- */ - Permissions?: Permission[]; - /** *When the list is truncated, this value is present and should be used for the NextToken parameter in a subsequent pagination request. *
*/ NextToken?: string; + + /** + *Summary information about each permission assigned by the specified private CA, + * including the action enabled, the policy provided, and the time of creation.
+ */ + Permissions?: Permission[]; } export namespace ListPermissionsResponse { @@ -1429,7 +1593,7 @@ export interface ListTagsRequest { NextToken?: string; /** - *The Amazon Resource Name (ARN) that was returned when you called the CreateCertificateAuthority action. This must be of the form:
+ *The Amazon Resource Name (ARN) that was returned when you called the CreateCertificateAuthority action. This must be of the form:
*
* arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012
*
@@ -1445,27 +1609,51 @@ export namespace ListTagsRequest {
}
export interface ListTagsResponse {
+ /**
+ *
The tags associated with your private CA.
+ */ + Tags?: Tag[]; + /** *When the list is truncated, this value is present and should be used for the NextToken parameter in a subsequent pagination request. *
*/ NextToken?: string; +} + +export namespace ListTagsResponse { + export const filterSensitiveLog = (obj: ListTagsResponse): any => ({ + ...obj, + }); +} +export interface PutPolicyRequest { /** - *The tags associated with your private CA.
+ *The path and filename of a JSON-formatted IAM policy to attach to the specified private CA
+ * resource. If this policy does not contain all required statements or if it includes any
+ * statement that is not allowed, the PutPolicy
action returns an InvalidPolicyException
.
+ * For information about IAM policy and statement structure, see Overview
+ * of JSON Policies.
The Amazon Resource Number (ARN) of the private CA to associate with the policy. The ARN of + * the CA can be found by calling the ListCertificateAuthorities action.
+ * + */ + ResourceArn: string | undefined; } -export namespace ListTagsResponse { - export const filterSensitiveLog = (obj: ListTagsResponse): any => ({ +export namespace PutPolicyRequest { + export const filterSensitiveLog = (obj: PutPolicyRequest): any => ({ ...obj, }); } export interface RestoreCertificateAuthorityRequest { /** - *The Amazon Resource Name (ARN) that was returned when you called the CreateCertificateAuthority action. This must be of the form:
+ *The Amazon Resource Name (ARN) that was returned when you called the CreateCertificateAuthority action. This must be of the form:
*
* arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012
*
@@ -1507,6 +1695,21 @@ export enum RevocationReason {
}
export interface RevokeCertificateRequest {
+ /**
+ *
Serial number of the certificate to be revoked. This must be in hexadecimal format. + * You can retrieve the serial number by calling GetCertificate with the Amazon + * Resource Name (ARN) of the certificate you want and the ARN of your private CA. The + * GetCertificate action retrieves the certificate in + * the PEM format. You can use the following OpenSSL command to list the certificate in + * text format and copy the hexadecimal serial number.
+ *
+ * openssl x509 -in file_path -text -noout
+ *
You can also copy the serial number from the console or use the DescribeCertificate action in the AWS Certificate Manager API + * Reference.
+ */ + CertificateSerial: string | undefined; + /** *Amazon Resource Name (ARN) of the private CA that issued the certificate to be * revoked. This must be of the form:
@@ -1521,21 +1724,6 @@ export interface RevokeCertificateRequest { *Specifies why you revoked the certificate.
*/ RevocationReason: RevocationReason | string | undefined; - - /** - *Serial number of the certificate to be revoked. This must be in hexadecimal format. You can - * retrieve the serial number by calling GetCertificate with the Amazon - * Resource Name (ARN) of the certificate you want and the ARN of your private CA. The - * GetCertificate action retrieves the certificate in - * the PEM format. You can use the following OpenSSL command to list the certificate in - * text format and copy the hexadecimal serial number.
- *
- * openssl x509 -in file_path -text -noout
- *
You can also copy the serial number from the console or use the DescribeCertificate action in the AWS Certificate Manager API - * Reference.
- */ - CertificateSerial: string | undefined; } export namespace RevokeCertificateRequest { @@ -1546,7 +1734,7 @@ export namespace RevokeCertificateRequest { export interface TagCertificateAuthorityRequest { /** - *The Amazon Resource Name (ARN) that was returned when you called CreateCertificateAuthority. This must be of the form:
+ *The Amazon Resource Name (ARN) that was returned when you called CreateCertificateAuthority. This must be of the form:
*
* arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012
*
@@ -1584,18 +1772,18 @@ export namespace TooManyTagsException {
export interface UntagCertificateAuthorityRequest {
/**
- *
The Amazon Resource Name (ARN) that was returned when you called CreateCertificateAuthority. This must be of the form:
+ *List of tags to be removed from the CA.
+ */ + Tags: Tag[] | undefined; + + /** + *The Amazon Resource Name (ARN) that was returned when you called CreateCertificateAuthority. This must be of the form:
*
* arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012
*
*
List of tags to be removed from the CA.
- */ - Tags: Tag[] | undefined; } export namespace UntagCertificateAuthorityRequest { diff --git a/clients/client-acm-pca/pagination/ListCertificateAuthoritiesPaginator.ts b/clients/client-acm-pca/pagination/ListCertificateAuthoritiesPaginator.ts index e61eae34477b..d4860d5c0e32 100644 --- a/clients/client-acm-pca/pagination/ListCertificateAuthoritiesPaginator.ts +++ b/clients/client-acm-pca/pagination/ListCertificateAuthoritiesPaginator.ts @@ -33,7 +33,7 @@ export async function* listCertificateAuthoritiesPaginate( let hasNext = true; let page: ListCertificateAuthoritiesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof ACMPCA) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listCertificateAuthoritiesPaginate( throw new Error("Invalid client, expected ACMPCA | ACMPCAClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-acm-pca/pagination/ListPermissionsPaginator.ts b/clients/client-acm-pca/pagination/ListPermissionsPaginator.ts index 07510d198c0c..5dfce999ceca 100644 --- a/clients/client-acm-pca/pagination/ListPermissionsPaginator.ts +++ b/clients/client-acm-pca/pagination/ListPermissionsPaginator.ts @@ -33,7 +33,7 @@ export async function* listPermissionsPaginate( let hasNext = true; let page: ListPermissionsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof ACMPCA) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listPermissionsPaginate( throw new Error("Invalid client, expected ACMPCA | ACMPCAClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-acm-pca/pagination/ListTagsPaginator.ts b/clients/client-acm-pca/pagination/ListTagsPaginator.ts index 66de0e7b13b3..3227e24ee5cd 100644 --- a/clients/client-acm-pca/pagination/ListTagsPaginator.ts +++ b/clients/client-acm-pca/pagination/ListTagsPaginator.ts @@ -29,7 +29,7 @@ export async function* listTagsPaginate( let hasNext = true; let page: ListTagsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof ACMPCA) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listTagsPaginate( throw new Error("Invalid client, expected ACMPCA | ACMPCAClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-acm-pca/protocols/Aws_json1_1.ts b/clients/client-acm-pca/protocols/Aws_json1_1.ts index 97ac92041e94..9e3e61880d9f 100644 --- a/clients/client-acm-pca/protocols/Aws_json1_1.ts +++ b/clients/client-acm-pca/protocols/Aws_json1_1.ts @@ -12,6 +12,7 @@ import { DeleteCertificateAuthorityCommandOutput, } from "../commands/DeleteCertificateAuthorityCommand"; import { DeletePermissionCommandInput, DeletePermissionCommandOutput } from "../commands/DeletePermissionCommand"; +import { DeletePolicyCommandInput, DeletePolicyCommandOutput } from "../commands/DeletePolicyCommand"; import { DescribeCertificateAuthorityAuditReportCommandInput, DescribeCertificateAuthorityAuditReportCommandOutput, @@ -29,6 +30,7 @@ import { GetCertificateAuthorityCsrCommandOutput, } from "../commands/GetCertificateAuthorityCsrCommand"; import { GetCertificateCommandInput, GetCertificateCommandOutput } from "../commands/GetCertificateCommand"; +import { GetPolicyCommandInput, GetPolicyCommandOutput } from "../commands/GetPolicyCommand"; import { ImportCertificateAuthorityCertificateCommandInput, ImportCertificateAuthorityCertificateCommandOutput, @@ -40,6 +42,7 @@ import { } from "../commands/ListCertificateAuthoritiesCommand"; import { ListPermissionsCommandInput, ListPermissionsCommandOutput } from "../commands/ListPermissionsCommand"; import { ListTagsCommandInput, ListTagsCommandOutput } from "../commands/ListTagsCommand"; +import { PutPolicyCommandInput, PutPolicyCommandOutput } from "../commands/PutPolicyCommand"; import { RestoreCertificateAuthorityCommandInput, RestoreCertificateAuthorityCommandOutput, @@ -72,6 +75,7 @@ import { CrlConfiguration, DeleteCertificateAuthorityRequest, DeletePermissionRequest, + DeletePolicyRequest, DescribeCertificateAuthorityAuditReportRequest, DescribeCertificateAuthorityAuditReportResponse, DescribeCertificateAuthorityRequest, @@ -82,6 +86,8 @@ import { GetCertificateAuthorityCsrResponse, GetCertificateRequest, GetCertificateResponse, + GetPolicyRequest, + GetPolicyResponse, ImportCertificateAuthorityCertificateRequest, InvalidArgsException, InvalidArnException, @@ -99,10 +105,12 @@ import { ListPermissionsResponse, ListTagsRequest, ListTagsResponse, + LockoutPreventedException, MalformedCSRException, MalformedCertificateException, Permission, PermissionAlreadyExistsException, + PutPolicyRequest, RequestAlreadyProcessedException, RequestFailedException, RequestInProgressException, @@ -192,6 +200,19 @@ export const serializeAws_json1_1DeletePermissionCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1DeletePolicyCommand = async ( + input: DeletePolicyCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "ACMPrivateCA.DeletePolicy", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1DeletePolicyRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1DescribeCertificateAuthorityCommand = async ( input: DescribeCertificateAuthorityCommandInput, context: __SerdeContext @@ -257,6 +278,19 @@ export const serializeAws_json1_1GetCertificateAuthorityCsrCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1GetPolicyCommand = async ( + input: GetPolicyCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "ACMPrivateCA.GetPolicy", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1GetPolicyRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1ImportCertificateAuthorityCertificateCommand = async ( input: ImportCertificateAuthorityCertificateCommandInput, context: __SerdeContext @@ -322,6 +356,19 @@ export const serializeAws_json1_1ListTagsCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1PutPolicyCommand = async ( + input: PutPolicyCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "Content-Type": "application/x-amz-json-1.1", + "X-Amz-Target": "ACMPrivateCA.PutPolicy", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1PutPolicyRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1RestoreCertificateAuthorityCommand = async ( input: RestoreCertificateAuthorityCommandInput, context: __SerdeContext @@ -805,6 +852,98 @@ const deserializeAws_json1_1DeletePermissionCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_json1_1DeletePolicyCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): PromiseThe value of the tag.
+ *The key of the tag.
*/ - Value?: string; + Key: string | undefined; /** - *The key of the tag.
+ *The value of the tag.
*/ - Key: string | undefined; + Value?: string; } export namespace Tag { @@ -155,14 +155,14 @@ export interface ResourceRecord { Value: string | undefined; /** - *The type of DNS record. Currently this can be CNAME
.
The name of the DNS record to create in your domain. This is supplied by ACM.
*/ - Type: RecordType | string | undefined; + Name: string | undefined; /** - *The name of the DNS record to create in your domain. This is supplied by ACM.
+ *The type of DNS record. Currently this can be CNAME
.
Contains the CNAME record that you add to your DNS database for domain validation. For - * more information, see Use DNS to Validate Domain Ownership.
- *Note: The CNAME information that you need does not include the name of your domain. If you - * include your domain name in the DNS database CNAME record, validation fails. For example, if - * the name is "_a79865eb4cd1a6ab990a45779b4e0b96.yourdomain.com", only - * "_a79865eb4cd1a6ab990a45779b4e0b96" must be used.
+ *Specifies the domain validation method.
*/ - ResourceRecord?: ResourceRecord; + ValidationMethod?: ValidationMethod | string; /** *A fully qualified domain name (FQDN) in the certificate. For example, @@ -202,21 +197,6 @@ export interface DomainValidation { */ DomainName: string | undefined; - /** - *
The domain name that ACM used to send domain validation emails.
- */ - ValidationDomain?: string; - - /** - *Specifies the domain validation method.
- */ - ValidationMethod?: ValidationMethod | string; - - /** - *A list of email addresses that ACM used to send domain validation emails.
- */ - ValidationEmails?: string[]; - /** *The validation status of the domain name. This can be one of the following values:
* @@ -237,6 +217,26 @@ export interface DomainValidation { * */ ValidationStatus?: DomainStatus | string; + + /** + *A list of email addresses that ACM used to send domain validation emails.
+ */ + ValidationEmails?: string[]; + + /** + *Contains the CNAME record that you add to your DNS database for domain validation. For + * more information, see Use DNS to Validate Domain Ownership.
+ *Note: The CNAME information that you need does not include the name of your domain. If you + * include your domain name in the DNS database CNAME record, validation fails. For example, if + * the name is "_a79865eb4cd1a6ab990a45779b4e0b96.yourdomain.com", only + * "_a79865eb4cd1a6ab990a45779b4e0b96" must be used.
+ */ + ResourceRecord?: ResourceRecord; + + /** + *The domain name that ACM used to send domain validation emails.
+ */ + ValidationDomain?: string; } export namespace DomainValidation { @@ -266,11 +266,6 @@ export enum ExtendedKeyUsageName { * the Key Usage extension. */ export interface ExtendedKeyUsage { - /** - *The name of an Extended Key Usage value.
- */ - Name?: ExtendedKeyUsageName | string; - /** *An object identifier (OID) for the extension value. OIDs are strings of numbers separated * by periods. The following OIDs are defined in RFC 3280 and RFC 5280.
@@ -324,6 +319,11 @@ export interface ExtendedKeyUsage { * */ OID?: string; + + /** + *The name of an Extended Key Usage value.
+ */ + Name?: ExtendedKeyUsageName | string; } export namespace ExtendedKeyUsage { @@ -349,6 +349,7 @@ export enum FailureReason { PCA_NAME_CONSTRAINTS_VALIDATION = "PCA_NAME_CONSTRAINTS_VALIDATION", PCA_REQUEST_FAILED = "PCA_REQUEST_FAILED", PCA_RESOURCE_NOT_FOUND = "PCA_RESOURCE_NOT_FOUND", + SLR_NOT_FOUND = "SLR_NOT_FOUND", } export enum KeyAlgorithm { @@ -437,14 +438,9 @@ export enum RenewalStatus { */ export interface RenewalSummary { /** - *The reason that a renewal request was unsuccessful.
- */ - RenewalStatusReason?: FailureReason | string; - - /** - *The status of ACM's managed renewal of the certificate.
+ *The time at which the renewal summary was last updated.
*/ - RenewalStatus: RenewalStatus | string | undefined; + UpdatedAt: Date | undefined; /** *Contains information about the validation of each domain name in the certificate, as it @@ -456,9 +452,14 @@ export interface RenewalSummary { DomainValidationOptions: DomainValidation[] | undefined; /** - *
The time at which the renewal summary was last updated.
+ *The reason that a renewal request was unsuccessful.
*/ - UpdatedAt: Date | undefined; + RenewalStatusReason?: FailureReason | string; + + /** + *The status of ACM's managed renewal of the certificate.
+ */ + RenewalStatus: RenewalStatus | string | undefined; } export namespace RenewalSummary { @@ -502,28 +503,42 @@ export enum CertificateType { */ export interface CertificateDetail { /** - *Specifies whether the certificate is eligible for renewal. At this time, only exported - * private certificates can be renewed with the RenewCertificate - * command.
+ *The algorithm that was used to generate the public-private key pair.
*/ - RenewalEligibility?: RenewalEligibility | string; + KeyAlgorithm?: KeyAlgorithm | string; /** - *The algorithm that was used to sign the certificate.
+ *A list of Key Usage X.509 v3 extension objects. Each object is a string value that + * identifies the purpose of the public key contained in the certificate. Possible extension + * values include DIGITAL_SIGNATURE, KEY_ENCHIPHERMENT, NON_REPUDIATION, and more.
*/ - SignatureAlgorithm?: string; + KeyUsages?: KeyUsage[]; /** - *A list of ARNs for the AWS resources that are using the certificate. A certificate can - * be used by multiple AWS resources.
+ *The reason the certificate request failed. This value exists only when the certificate
+ * status is FAILED
. For more information, see Certificate Request
+ * Failed in the AWS Certificate Manager User Guide.
The time at which the certificate was revoked. This value exists only when the certificate
- * status is REVOKED
.
Contains information about the status of ACM's managed renewal for the certificate. This field
+ * exists only when the certificate type is AMAZON_ISSUED
.
One or more domain names (subject alternative names) included in the certificate. This + * list contains the domain names that are bound to the public key that is contained in the + * certificate. The subject alternative names include the canonical domain name (CN) of the + * certificate and additional domain names that can be used to connect to the website.
+ */ + SubjectAlternativeNames?: string[]; + + /** + *The time after which the certificate is not valid.
+ */ + NotAfter?: Date; /** *Value that specifies whether to add the certificate to a transparency log. Certificate @@ -534,24 +549,16 @@ export interface CertificateDetail { Options?: CertificateOptions; /** - *
The date and time at which the certificate was imported. This value exists only when the
- * certificate type is IMPORTED
.
The Amazon Resource Name (ARN) of the ACM PCA private certificate authority (CA) that issued - * the certificate. This has the following format:
- *
- * arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012
- *
The status of the certificate.
*/ - CertificateAuthorityArn?: string; + Status?: CertificateStatus | string; /** - *The serial number of the certificate.
+ *Contains a list of Extended Key Usage X.509 v3 extension objects. Each object specifies a + * purpose for which the certificate public key can be used and consists of a name and an object + * identifier (OID).
*/ - Serial?: string; + ExtendedKeyUsages?: ExtendedKeyUsage[]; /** *The name of the certificate authority that issued and signed the certificate.
@@ -559,113 +566,107 @@ export interface CertificateDetail { Issuer?: string; /** - *The time at which the certificate was requested. This value exists only when the
- * certificate type is AMAZON_ISSUED
.
The fully qualified domain name for the certificate, such as www.example.com or + * example.com.
*/ - CreatedAt?: Date; + DomainName?: string; /** - *Contains information about the initial validation of each domain name that occurs as a - * result of the RequestCertificate request. This field exists only when the + *
The time at which the certificate was requested. This value exists only when the
* certificate type is AMAZON_ISSUED
.
The name of the entity that is associated with the public key contained in the - * certificate.
- */ - Subject?: string; + CreatedAt?: Date; /** - *The reason the certificate was revoked. This value exists only when the certificate status
- * is REVOKED
.
A list of ARNs for the AWS resources that are using the certificate. A certificate can + * be used by multiple AWS resources.
*/ - RevocationReason?: RevocationReason | string; + InUseBy?: string[]; /** - *One or more domain names (subject alternative names) included in the certificate. This - * list contains the domain names that are bound to the public key that is contained in the - * certificate. The subject alternative names include the canonical domain name (CN) of the - * certificate and additional domain names that can be used to connect to the website.
+ *The Amazon Resource Name (ARN) of the certificate. For more information about ARNs, see + * Amazon Resource Names (ARNs) and AWS + * Service Namespaces in the AWS General Reference.
*/ - SubjectAlternativeNames?: string[]; + CertificateArn?: string; /** - *The time at which the certificate was issued. This value exists only when the certificate
- * type is AMAZON_ISSUED
.
The source of the certificate. For certificates provided by ACM, this value is
+ * AMAZON_ISSUED
. For certificates that you imported with ImportCertificate, this value is IMPORTED
. ACM does not provide
+ * managed renewal for
+ * imported certificates. For more information about the differences between certificates that
+ * you import and those that ACM provides, see Importing Certificates in the
+ * AWS Certificate Manager User Guide.
The algorithm that was used to generate the public-private key pair.
+ *The time before which the certificate is not valid.
*/ - KeyAlgorithm?: KeyAlgorithm | string; + NotBefore?: Date; /** - *The fully qualified domain name for the certificate, such as www.example.com or - * example.com.
+ *The date and time at which the certificate was imported. This value exists only when the
+ * certificate type is IMPORTED
.
A list of Key Usage X.509 v3 extension objects. Each object is a string value that - * identifies the purpose of the public key contained in the certificate. Possible extension - * values include DIGITAL_SIGNATURE, KEY_ENCHIPHERMENT, NON_REPUDIATION, and more.
+ *The Amazon Resource Name (ARN) of the ACM PCA private certificate authority (CA) that issued + * the certificate. This has the following format:
+ *
+ * arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012
+ *
The Amazon Resource Name (ARN) of the certificate. For more information about ARNs, see - * Amazon Resource Names (ARNs) and AWS - * Service Namespaces in the AWS General Reference.
+ *The serial number of the certificate.
*/ - CertificateArn?: string; + Serial?: string; /** - *The time before which the certificate is not valid.
+ *Contains information about the initial validation of each domain name that occurs as a
+ * result of the RequestCertificate request. This field exists only when the
+ * certificate type is AMAZON_ISSUED
.
Contains a list of Extended Key Usage X.509 v3 extension objects. Each object specifies a - * purpose for which the certificate public key can be used and consists of a name and an object - * identifier (OID).
+ *The name of the entity that is associated with the public key contained in the + * certificate.
*/ - ExtendedKeyUsages?: ExtendedKeyUsage[]; + Subject?: string; /** - *The time after which the certificate is not valid.
+ *The algorithm that was used to sign the certificate.
*/ - NotAfter?: Date; + SignatureAlgorithm?: string; /** - *The status of the certificate.
+ *The time at which the certificate was revoked. This value exists only when the certificate
+ * status is REVOKED
.
Contains information about the status of ACM's managed renewal for the certificate. This field
- * exists only when the certificate type is AMAZON_ISSUED
.
Specifies whether the certificate is eligible for renewal. At this time, only exported + * private certificates can be renewed with the RenewCertificate + * command.
*/ - RenewalSummary?: RenewalSummary; + RenewalEligibility?: RenewalEligibility | string; /** - *The source of the certificate. For certificates provided by ACM, this value is
- * AMAZON_ISSUED
. For certificates that you imported with ImportCertificate, this value is IMPORTED
. ACM does not provide
- * managed renewal for
- * imported certificates. For more information about the differences between certificates that
- * you import and those that ACM provides, see Importing Certificates in the
- * AWS Certificate Manager User Guide.
The time at which the certificate was issued. This value exists only when the certificate
+ * type is AMAZON_ISSUED
.
The reason the certificate request failed. This value exists only when the certificate
- * status is FAILED
. For more information, see Certificate Request
- * Failed in the AWS Certificate Manager User Guide.
The reason the certificate was revoked. This value exists only when the certificate status
+ * is REVOKED
.
An Amazon Resource Name (ARN) of the issued certificate. This must be of the form:
- *
- * arn:aws:acm:region:account:certificate/12345678-1234-1234-1234-123456789012
- *
Passphrase to associate with the encrypted exported private key. If you want to later * decrypt the private key, you must have the passphrase. You can use the following OpenSSL @@ -757,6 +750,14 @@ export interface ExportCertificateRequest { *
*/ Passphrase: Uint8Array | undefined; + + /** + *An Amazon Resource Name (ARN) of the issued certificate. This must be of the form:
+ *
+ * arn:aws:acm:region:account:certificate/12345678-1234-1234-1234-123456789012
+ *
The encrypted private key associated with the public key in the certificate. The key is - * output in PKCS #8 format and is base64 PEM-encoded.
- */ - PrivateKey?: string; - /** *The base64 PEM-encoded certificate chain. This does not include the certificate that you * are exporting.
*/ CertificateChain?: string; + + /** + *The encrypted private key associated with the public key in the certificate. The key is + * output in PKCS #8 format and is base64 PEM-encoded.
+ */ + PrivateKey?: string; } export namespace ExportCertificateResponse { @@ -827,15 +828,15 @@ export namespace GetCertificateRequest { export interface GetCertificateResponse { /** - *Certificates forming the requested certificate's chain of trust. The chain consists of the - * certificate of the issuing CA and the intermediate certificates of any other subordinate CAs.
+ *The ACM-issued certificate corresponding to the ARN specified as input.
*/ - CertificateChain?: string; + Certificate?: string; /** - *The ACM-issued certificate corresponding to the ARN specified as input.
+ *Certificates forming the requested certificate's chain of trust. The chain consists of the + * certificate of the issuing CA and the intermediate certificates of any other subordinate CAs.
*/ - Certificate?: string; + CertificateChain?: string; } export namespace GetCertificateResponse { @@ -845,6 +846,11 @@ export namespace GetCertificateResponse { } export interface ImportCertificateRequest { + /** + *The PEM encoded certificate chain.
+ */ + CertificateChain?: Uint8Array; + /** *The Amazon Resource Name * (ARN) of an imported certificate to replace. To import a new certificate, omit this @@ -857,21 +863,16 @@ export interface ImportCertificateRequest { */ PrivateKey: Uint8Array | undefined; - /** - *
One or more resource tags to associate with the imported certificate.
- *Note: You cannot apply tags when reimporting a certificate.
- */ - Tags?: Tag[]; - /** *The certificate to import.
*/ Certificate: Uint8Array | undefined; /** - *The PEM encoded certificate chain.
+ *One or more resource tags to associate with the imported certificate.
+ *Note: You cannot apply tags when reimporting a certificate.
*/ - CertificateChain?: Uint8Array; + Tags?: Tag[]; } export namespace ImportCertificateRequest { @@ -930,11 +931,6 @@ export namespace InvalidArgsException { * output of the certificate list. */ export interface Filters { - /** - *Specify one or more KeyUsage extension values.
- */ - keyUsage?: (KeyUsageName | string)[]; - /** *Specify one or more algorithms that can be used to generate key pairs.
*Default filtering returns only RSA_2048
certificates. To return other
@@ -944,6 +940,11 @@ export interface Filters {
*/
keyTypes?: (KeyAlgorithm | string)[];
+ /**
+ *
Specify one or more KeyUsage extension values.
+ */ + keyUsage?: (KeyUsageName | string)[]; + /** *Specify one or more ExtendedKeyUsage extension values.
*/ @@ -965,6 +966,13 @@ export interface ListCertificatesRequest { */ MaxItems?: number; + /** + *Use this parameter only when paginating results and only in a subsequent request after you
+ * receive a response with truncated results. Set it to the value of NextToken
from
+ * the response you just received.
Filter the certificate list by status value.
*/ @@ -975,13 +983,6 @@ export interface ListCertificatesRequest { * structure. */ Includes?: Filters; - - /** - *Use this parameter only when paginating results and only in a subsequent request after you
- * receive a response with truncated results. Set it to the value of NextToken
from
- * the response you just received.
When the list is truncated, this value is present and contains the value to use for the
- * NextToken
parameter in a subsequent pagination request.
A list of ACM certificates.
*/ - NextToken?: string; + CertificateSummaryList?: CertificateSummary[]; /** - *A list of ACM certificates.
+ *When the list is truncated, this value is present and contains the value to use for the
+ * NextToken
parameter in a subsequent pagination request.
The domain name that you want ACM to use to send you emails so that you can validate - * domain ownership.
- */ - DomainValidationOptions?: DomainValidationOption[]; - - /** - *Customer chosen string that can be used to distinguish between calls to
- * RequestCertificate
. Idempotency tokens time out after one hour. Therefore, if
- * you call RequestCertificate
multiple times with the same idempotency token within
- * one hour, ACM recognizes that you are requesting only one certificate and will issue only
- * one. If you change the idempotency token for each call, ACM recognizes that you are
- * requesting multiple certificates.
The method you want to use if you are requesting a public certificate to validate that you - * own or control domain. You can validate with DNS or validate with - * email. We recommend that you use DNS validation.
- */ - ValidationMethod?: ValidationMethod | string; - - /** - *Currently, you can use this parameter to specify whether to add the certificate to a - * certificate transparency log. Certificate transparency makes it possible to detect SSL/TLS - * certificates that have been mistakenly or maliciously issued. Certificates that have not been - * logged typically produce an error message in a browser. For more information, see Opting Out of Certificate Transparency Logging.
- */ - Options?: CertificateOptions; - - /** - *One or more resource tags to associate with the certificate.
- */ - Tags?: Tag[]; - /** *Fully qualified domain name (FQDN), such as www.example.com, that you want to secure with * an ACM certificate. Use an asterisk (*) to create a wildcard certificate that protects @@ -1220,18 +1185,6 @@ export interface RequestCertificateRequest { */ DomainName: string | undefined; - /** - *
The Amazon Resource Name (ARN) of the private certificate authority (CA) that will be used - * to issue the certificate. If you do not provide an ARN and you are trying to request a private - * certificate, ACM will attempt to issue a public certificate. For more information about - * private CAs, see the AWS Certificate Manager Private Certificate Authority (PCA) user guide. The ARN must have the following form:
- * - *
- * arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012
- *
Additional FQDNs to be included in the Subject Alternative Name extension of the ACM * certificate. For example, add the name www.example.net to a certificate for which the @@ -1264,6 +1217,54 @@ export interface RequestCertificateRequest { * */ SubjectAlternativeNames?: string[]; + + /** + *
The domain name that you want ACM to use to send you emails so that you can validate + * domain ownership.
+ */ + DomainValidationOptions?: DomainValidationOption[]; + + /** + *The method you want to use if you are requesting a public certificate to validate that you + * own or control domain. You can validate with DNS or validate with + * email. We recommend that you use DNS validation.
+ */ + ValidationMethod?: ValidationMethod | string; + + /** + *The Amazon Resource Name (ARN) of the private certificate authority (CA) that will be used + * to issue the certificate. If you do not provide an ARN and you are trying to request a private + * certificate, ACM will attempt to issue a public certificate. For more information about + * private CAs, see the AWS Certificate Manager Private Certificate Authority (PCA) user guide. The ARN must have the following form:
+ * + *
+ * arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012
+ *
Customer chosen string that can be used to distinguish between calls to
+ * RequestCertificate
. Idempotency tokens time out after one hour. Therefore, if
+ * you call RequestCertificate
multiple times with the same idempotency token within
+ * one hour, ACM recognizes that you are requesting only one certificate and will issue only
+ * one. If you change the idempotency token for each call, ACM recognizes that you are
+ * requesting multiple certificates.
Currently, you can use this parameter to specify whether to add the certificate to a + * certificate transparency log. Certificate transparency makes it possible to detect SSL/TLS + * certificates that have been mistakenly or maliciously issued. Certificates that have not been + * logged typically produce an error message in a browser. For more information, see Opting Out of Certificate Transparency Logging.
+ */ + Options?: CertificateOptions; + + /** + *One or more resource tags to associate with the certificate.
+ */ + Tags?: Tag[]; } export namespace RequestCertificateRequest { diff --git a/clients/client-acm/pagination/ListCertificatesPaginator.ts b/clients/client-acm/pagination/ListCertificatesPaginator.ts index afef8fa88ef6..b1a7a75f9713 100644 --- a/clients/client-acm/pagination/ListCertificatesPaginator.ts +++ b/clients/client-acm/pagination/ListCertificatesPaginator.ts @@ -33,7 +33,7 @@ export async function* listCertificatesPaginate( let hasNext = true; let page: ListCertificatesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxItems"] = config.pageSize; if (config.client instanceof ACM) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listCertificatesPaginate( throw new Error("Invalid client, expected ACM | ACMClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-alexa-for-business/models/models_0.ts b/clients/client-alexa-for-business/models/models_0.ts index 4d7fd432bf37..3a01d4a6d267 100644 --- a/clients/client-alexa-for-business/models/models_0.ts +++ b/clients/client-alexa-for-business/models/models_0.ts @@ -37,14 +37,14 @@ export interface AddressBookData { Description?: string; /** - *The name of the address book.
+ *The ARN of the address book.
*/ - Name?: string; + AddressBookArn?: string; /** - *The ARN of the address book.
+ *The name of the address book.
*/ - AddressBookArn?: string; + Name?: string; } export namespace AddressBookData { @@ -188,14 +188,14 @@ export namespace DeviceNotRegisteredException { export interface AssociateDeviceWithRoomRequest { /** - *The ARN of the room with which to associate the device. Required.
+ *The ARN of the device to associate to a room. Required.
*/ - RoomArn?: string; + DeviceArn?: string; /** - *The ARN of the device to associate to a room. Required.
+ *The ARN of the room with which to associate the device. Required.
*/ - DeviceArn?: string; + RoomArn?: string; } export namespace AssociateDeviceWithRoomRequest { @@ -214,14 +214,14 @@ export namespace AssociateDeviceWithRoomResponse { export interface AssociateSkillGroupWithRoomRequest { /** - *The ARN of the skill group to associate with a room. Required.
+ *The ARN of the room with which to associate the skill group. Required.
*/ - SkillGroupArn?: string; + RoomArn?: string; /** - *The ARN of the room with which to associate the skill group. Required.
+ *The ARN of the skill group to associate with a room. Required.
*/ - RoomArn?: string; + SkillGroupArn?: string; } export namespace AssociateSkillGroupWithRoomRequest { @@ -240,14 +240,14 @@ export namespace AssociateSkillGroupWithRoomResponse { export interface AssociateSkillWithSkillGroupRequest { /** - *The ARN of the skill group to associate the skill to. Required.
+ *The unique identifier of the skill.
*/ - SkillGroupArn?: string; + SkillId: string | undefined; /** - *The unique identifier of the skill.
+ *The ARN of the skill group to associate the skill to. Required.
*/ - SkillId: string | undefined; + SkillGroupArn?: string; } export namespace AssociateSkillWithSkillGroupRequest { @@ -316,17 +316,17 @@ export namespace AlreadyExistsException { } export interface CreateAddressBookRequest { - /** - *The description of the address book.
- */ - Description?: string; - /** *A unique, user-specified identifier for the request that ensures * idempotency.
*/ ClientRequestToken?: string; + /** + *The description of the address book.
+ */ + Description?: string; + /** *The name of the address book.
*/ @@ -400,14 +400,14 @@ export namespace BusinessReportRecurrence { */ export interface Tag { /** - *The value of a tag. Tag values are case sensitive and can be null.
+ *The key of a tag. Tag keys are case-sensitive.
*/ - Value: string | undefined; + Key: string | undefined; /** - *The key of a tag. Tag keys are case-sensitive.
+ *The value of a tag. Tag values are case sensitive and can be null.
*/ - Key: string | undefined; + Value: string | undefined; } export namespace Tag { @@ -423,10 +423,9 @@ export interface CreateBusinessReportScheduleRequest { S3KeyPrefix?: string; /** - *The S3 bucket name of the output reports. If this isn't specified, the report can be - * retrieved from a download link by calling ListBusinessReportSchedule.
+ *The client request token.
*/ - S3BucketName?: string; + ClientRequestToken?: string; /** *The content range of the reports.
@@ -434,31 +433,32 @@ export interface CreateBusinessReportScheduleRequest { ContentRange: BusinessReportContentRange | undefined; /** - *The client request token.
+ *The name identifier of the schedule.
*/ - ClientRequestToken?: string; + ScheduleName?: string; /** - *The recurrence of the reports. If this isn't specified, the report will only be - * delivered one time when the API is called.
+ *The format of the generated report (individual CSV files or zipped files of + * individual files).
*/ - Recurrence?: BusinessReportRecurrence; + Format: BusinessReportFormat | string | undefined; /** - *The tags for the business report schedule.
+ *The S3 bucket name of the output reports. If this isn't specified, the report can be + * retrieved from a download link by calling ListBusinessReportSchedule.
*/ - Tags?: Tag[]; + S3BucketName?: string; /** - *The name identifier of the schedule.
+ *The tags for the business report schedule.
*/ - ScheduleName?: string; + Tags?: Tag[]; /** - *The format of the generated report (individual CSV files or zipped files of - * individual files).
+ *The recurrence of the reports. If this isn't specified, the report will only be + * delivered one time when the API is called.
*/ - Format: BusinessReportFormat | string | undefined; + Recurrence?: BusinessReportRecurrence; } export namespace CreateBusinessReportScheduleRequest { @@ -504,14 +504,14 @@ export enum CommsProtocol { */ export interface IPDialIn { /** - *The IP address.
+ *The protocol, including SIP, SIPS, and H323.
*/ - Endpoint: string | undefined; + CommsProtocol: CommsProtocol | string | undefined; /** - *The protocol, including SIP, SIPS, and H323.
+ *The IP address.
*/ - CommsProtocol: CommsProtocol | string | undefined; + Endpoint: string | undefined; } export namespace IPDialIn { @@ -559,25 +559,25 @@ export namespace MeetingSetting { *The information for public switched telephone network (PSTN) conferencing.
*/ export interface PSTNDialIn { - /** - *The delay duration before Alexa enters the conference pin with dual-tone multi-frequency (DTMF). Each number on the dial pad corresponds to a DTMF tone, which is how we send data over the telephone network.
- */ - OneClickPinDelay: string | undefined; - /** *The phone number to call to join the conference.
*/ PhoneNumber: string | undefined; /** - *The zip code.
+ *The delay duration before Alexa enters the conference pin with dual-tone multi-frequency (DTMF). Each number on the dial pad corresponds to a DTMF tone, which is how we send data over the telephone network.
*/ - CountryCode: string | undefined; + OneClickPinDelay: string | undefined; /** *The delay duration before Alexa enters the conference ID with dual-tone multi-frequency (DTMF). Each number on the dial pad corresponds to a DTMF tone, which is how we send data over the telephone network.
*/ OneClickIdDelay: string | undefined; + + /** + *The zip code.
+ */ + CountryCode: string | undefined; } export namespace PSTNDialIn { @@ -588,34 +588,34 @@ export namespace PSTNDialIn { export interface CreateConferenceProviderRequest { /** - *The IP endpoint and protocol for calling.
+ *The information for PSTN conferencing.
*/ - IPDialIn?: IPDialIn; + PSTNDialIn?: PSTNDialIn; /** - *The request token of the client.
+ *Represents a type within a list of predefined types.
*/ - ClientRequestToken?: string; + ConferenceProviderType: ConferenceProviderType | string | undefined; /** - *The information for PSTN conferencing.
+ *The IP endpoint and protocol for calling.
*/ - PSTNDialIn?: PSTNDialIn; + IPDialIn?: IPDialIn; /** - *The meeting settings for the conference provider.
+ *The name of the conference provider.
*/ - MeetingSetting: MeetingSetting | undefined; + ConferenceProviderName: string | undefined; /** - *The name of the conference provider.
+ *The meeting settings for the conference provider.
*/ - ConferenceProviderName: string | undefined; + MeetingSetting: MeetingSetting | undefined; /** - *Represents a type within a list of predefined types.
+ *The request token of the client.
*/ - ConferenceProviderType: ConferenceProviderType | string | undefined; + ClientRequestToken?: string; } export namespace CreateConferenceProviderRequest { @@ -648,21 +648,21 @@ export enum PhoneNumberType { */ export interface PhoneNumber { /** - *The raw value of the phone number.
+ *The type of the phone number.
*/ - Number: string | undefined; + Type: PhoneNumberType | string | undefined; /** - *The type of the phone number.
+ *The raw value of the phone number.
*/ - Type: PhoneNumberType | string | undefined; + Number: string | undefined; } export namespace PhoneNumber { export const filterSensitiveLog = (obj: PhoneNumber): any => ({ ...obj, - ...(obj.Number && { Number: SENSITIVE_STRING }), ...(obj.Type && { Type: SENSITIVE_STRING }), + ...(obj.Number && { Number: SENSITIVE_STRING }), }); } @@ -675,41 +675,34 @@ export enum SipType { */ export interface SipAddress { /** - *The URI for the SIP address.
+ *The type of the SIP address.
*/ - Uri: string | undefined; + Type: SipType | string | undefined; /** - *The type of the SIP address.
+ *The URI for the SIP address.
*/ - Type: SipType | string | undefined; + Uri: string | undefined; } export namespace SipAddress { export const filterSensitiveLog = (obj: SipAddress): any => ({ ...obj, - ...(obj.Uri && { Uri: SENSITIVE_STRING }), ...(obj.Type && { Type: SENSITIVE_STRING }), + ...(obj.Uri && { Uri: SENSITIVE_STRING }), }); } export interface CreateContactRequest { /** - *The first name of the contact that is used to call the contact on the - * device.
- */ - FirstName: string | undefined; - - /** - *A unique, user-specified identifier for this request that ensures - * idempotency.
+ *The list of phone numbers for the contact.
*/ - ClientRequestToken?: string; + PhoneNumbers?: PhoneNumber[]; /** - *The list of phone numbers for the contact.
+ *The list of SIP addresses for the contact.
*/ - PhoneNumbers?: PhoneNumber[]; + SipAddresses?: SipAddress[]; /** *The last name of the contact that is used to call the contact on the @@ -730,17 +723,24 @@ export interface CreateContactRequest { PhoneNumber?: string; /** - *
The list of SIP addresses for the contact.
+ *A unique, user-specified identifier for this request that ensures + * idempotency.
*/ - SipAddresses?: SipAddress[]; + ClientRequestToken?: string; + + /** + *The first name of the contact that is used to call the contact on the + * device.
+ */ + FirstName: string | undefined; } export namespace CreateContactRequest { export const filterSensitiveLog = (obj: CreateContactRequest): any => ({ ...obj, ...(obj.PhoneNumbers && { PhoneNumbers: obj.PhoneNumbers.map((item) => PhoneNumber.filterSensitiveLog(item)) }), - ...(obj.PhoneNumber && { PhoneNumber: SENSITIVE_STRING }), ...(obj.SipAddresses && { SipAddresses: obj.SipAddresses.map((item) => SipAddress.filterSensitiveLog(item)) }), + ...(obj.PhoneNumber && { PhoneNumber: SENSITIVE_STRING }), }); } @@ -764,14 +764,14 @@ export interface CreateGatewayGroupRequest { Description?: string; /** - *The name of the gateway group.
+ *A unique, user-specified identifier for the request that ensures idempotency.
*/ - Name: string | undefined; + ClientRequestToken?: string; /** - *A unique, user-specified identifier for the request that ensures idempotency.
+ *The name of the gateway group.
*/ - ClientRequestToken?: string; + Name: string | undefined; } export namespace CreateGatewayGroupRequest { @@ -807,67 +807,67 @@ export enum NetworkSecurityType { export interface CreateNetworkProfileRequest { /** - *The authentication standard that is used in the EAP framework. Currently, EAP_TLS is - * supported.
+ *The security type of the Wi-Fi network. This can be WPA2_ENTERPRISE, WPA2_PSK, WPA_PSK, + * WEP, or OPEN.
*/ - EapMethod?: NetworkEapMethod | string; + SecurityType: NetworkSecurityType | string | undefined; /** - *Detailed information about a device's network profile.
+ *The SSID of the Wi-Fi network.
*/ - Description?: string; + Ssid: string | undefined; /** - *The root certificates of your authentication server that is installed on your devices - * and used to trust your authentication server during EAP negotiation.
+ *The ARN of the Private Certificate Authority (PCA) created in AWS Certificate Manager + * (ACM). This is used to issue certificates to the devices.
*/ - TrustAnchors?: string[]; + CertificateAuthorityArn?: string; /** - *The next, or subsequent, password of the Wi-Fi network. This password is asynchronously - * transmitted to the device and is used when the password of the network changes to - * NextPassword.
+ *A unique, user-specified identifier for the request that ensures idempotency.
*/ - NextPassword?: string; + ClientRequestToken?: string; /** - *The SSID of the Wi-Fi network.
+ *The current password of the Wi-Fi network.
*/ - Ssid: string | undefined; + CurrentPassword?: string; /** - *The security type of the Wi-Fi network. This can be WPA2_ENTERPRISE, WPA2_PSK, WPA_PSK, - * WEP, or OPEN.
+ *The name of the network profile associated with a device.
*/ - SecurityType: NetworkSecurityType | string | undefined; + NetworkProfileName: string | undefined; /** - *The ARN of the Private Certificate Authority (PCA) created in AWS Certificate Manager - * (ACM). This is used to issue certificates to the devices.
+ *Detailed information about a device's network profile.
*/ - CertificateAuthorityArn?: string; + Description?: string; /** - *The current password of the Wi-Fi network.
+ *The root certificates of your authentication server that is installed on your devices + * and used to trust your authentication server during EAP negotiation.
*/ - CurrentPassword?: string; + TrustAnchors?: string[]; /** - *The name of the network profile associated with a device.
+ *The next, or subsequent, password of the Wi-Fi network. This password is asynchronously + * transmitted to the device and is used when the password of the network changes to + * NextPassword.
*/ - NetworkProfileName: string | undefined; + NextPassword?: string; /** - *A unique, user-specified identifier for the request that ensures idempotency.
+ *The authentication standard that is used in the EAP framework. Currently, EAP_TLS is + * supported.
*/ - ClientRequestToken?: string; + EapMethod?: NetworkEapMethod | string; } export namespace CreateNetworkProfileRequest { export const filterSensitiveLog = (obj: CreateNetworkProfileRequest): any => ({ ...obj, - ...(obj.NextPassword && { NextPassword: SENSITIVE_STRING }), ...(obj.CurrentPassword && { CurrentPassword: SENSITIVE_STRING }), + ...(obj.NextPassword && { NextPassword: SENSITIVE_STRING }), }); } @@ -933,14 +933,14 @@ export enum EndOfMeetingReminderType { */ export interface CreateEndOfMeetingReminder { /** - *The type of sound that users hear during the end of meeting reminder.
+ *A range of 3 to 15 minutes that determines when the reminder begins.
*/ - ReminderType: EndOfMeetingReminderType | string | undefined; + ReminderAtMinutes: number[] | undefined; /** - *A range of 3 to 15 minutes that determines when the reminder begins.
+ *The type of sound that users hear during the end of meeting reminder.
*/ - ReminderAtMinutes: number[] | undefined; + ReminderType: EndOfMeetingReminderType | string | undefined; /** *Whether an end of meeting reminder is enabled or not.
@@ -961,15 +961,15 @@ export namespace CreateEndOfMeetingReminder { */ export interface CreateInstantBooking { /** - *Duration between 15 and 240 minutes at increments of 15 that determines how long to book - * an available room when a meeting is started with Alexa.
+ *Whether instant booking is enabled or not.
*/ - DurationInMinutes: number | undefined; + Enabled: boolean | undefined; /** - *Whether instant booking is enabled or not.
+ *Duration between 15 and 240 minutes at increments of 15 that determines how long to book + * an available room when a meeting is started with Alexa.
*/ - Enabled: boolean | undefined; + DurationInMinutes: number | undefined; } export namespace CreateInstantBooking { @@ -1004,12 +1004,7 @@ export namespace CreateRequireCheckIn { */ export interface CreateMeetingRoomConfiguration { /** - *Settings to automatically book a room for a configured duration if it's free when joining a meeting with Alexa.
- */ - InstantBooking?: CreateInstantBooking; - - /** - *Settings for requiring a check in when a room is reserved. Alexa can cancel a room reservation if it's not checked into to make the room available for others. Users can check in by joining the meeting with Alexa or an AVS device, or by saying “Alexa, check in.”
+ *Settings for requiring a check in when a room is reserved. Alexa can cancel a room reservation if it's not checked into to make the room available for others. Users can check in by joining the meeting with Alexa or an AVS device, or by saying “Alexa, check in.”
*/ RequireCheckIn?: CreateRequireCheckIn; @@ -1018,6 +1013,11 @@ export interface CreateMeetingRoomConfiguration { */ RoomUtilizationMetricsEnabled?: boolean; + /** + *Settings to automatically book a room for a configured duration if it's free when joining a meeting with Alexa.
+ */ + InstantBooking?: CreateInstantBooking; + /** *Creates settings for the end of meeting reminder feature that are applied to a room * profile. The end of meeting reminder enables Alexa to remind users when a meeting is @@ -1046,69 +1046,69 @@ export enum WakeWord { export interface CreateProfileRequest { /** - *
The tags for the profile.
+ *The meeting room settings of a room profile.
*/ - Tags?: Tag[]; + MeetingRoomConfiguration?: CreateMeetingRoomConfiguration; /** - *The user-specified token that is used during the creation of a profile.
+ *The locale of the room profile. (This is currently only available to a limited preview audience.)
*/ - ClientRequestToken?: string; + Locale?: string; /** - *The name of a room profile.
+ *The time zone used by a room profile.
*/ - ProfileName: string | undefined; + Timezone: string | undefined; /** - *The temperature unit to be used by devices in the profile.
+ *The maximum volume limit for a room profile.
*/ - TemperatureUnit: TemperatureUnit | string | undefined; + MaxVolumeLimit?: number; /** - *The meeting room settings of a room profile.
+ *The name of a room profile.
*/ - MeetingRoomConfiguration?: CreateMeetingRoomConfiguration; + ProfileName: string | undefined; /** - *The valid address for the room.
+ *The distance unit to be used by devices in the profile.
*/ - Address: string | undefined; + DistanceUnit: DistanceUnit | string | undefined; /** - *Whether PSTN calling is enabled.
+ *Whether room profile setup is enabled.
*/ - PSTNEnabled?: boolean; + SetupModeDisabled?: boolean; /** - *The time zone used by a room profile.
+ *The temperature unit to be used by devices in the profile.
*/ - Timezone: string | undefined; + TemperatureUnit: TemperatureUnit | string | undefined; /** - *The locale of the room profile. (This is currently only available to a limited preview audience.)
+ *The user-specified token that is used during the creation of a profile.
*/ - Locale?: string; + ClientRequestToken?: string; /** - *The maximum volume limit for a room profile.
+ *A wake word for Alexa, Echo, Amazon, or a computer.
*/ - MaxVolumeLimit?: number; + WakeWord: WakeWord | string | undefined; /** - *Whether room profile setup is enabled.
+ *The tags for the profile.
*/ - SetupModeDisabled?: boolean; + Tags?: Tag[]; /** - *The distance unit to be used by devices in the profile.
+ *The valid address for the room.
*/ - DistanceUnit: DistanceUnit | string | undefined; + Address: string | undefined; /** - *A wake word for Alexa, Echo, Amazon, or a computer.
+ *Whether PSTN calling is enabled.
*/ - WakeWord: WakeWord | string | undefined; + PSTNEnabled?: boolean; } export namespace CreateProfileRequest { @@ -1137,25 +1137,25 @@ export interface CreateRoomRequest { ProviderCalendarId?: string; /** - *The name for the room.
+ *The description for the room.
*/ - RoomName: string | undefined; + Description?: string; /** - *A unique, user-specified identifier for this request that ensures idempotency. - *
+ *The profile ARN for the room. This is required.
*/ - ClientRequestToken?: string; + ProfileArn?: string; /** - *The profile ARN for the room. This is required.
+ *A unique, user-specified identifier for this request that ensures idempotency. + *
*/ - ProfileArn?: string; + ClientRequestToken?: string; /** - *The description for the room.
+ *The name for the room.
*/ - Description?: string; + RoomName: string | undefined; /** *The tags for the room.
@@ -1184,25 +1184,25 @@ export namespace CreateRoomResponse { export interface CreateSkillGroupRequest { /** - *The description for the skill group.
+ *A unique, user-specified identifier for this request that ensures idempotency. + *
*/ - Description?: string; + ClientRequestToken?: string; /** - *The name for the skill group.
+ *The tags for the skill group.
*/ - SkillGroupName: string | undefined; + Tags?: Tag[]; /** - *A unique, user-specified identifier for this request that ensures idempotency. - *
+ *The description for the skill group.
*/ - ClientRequestToken?: string; + Description?: string; /** - *The tags for the skill group.
+ *The name for the skill group.
*/ - Tags?: Tag[]; + SkillGroupName: string | undefined; } export namespace CreateSkillGroupRequest { @@ -1226,14 +1226,9 @@ export namespace CreateSkillGroupResponse { export interface CreateUserRequest { /** - *The ARN for the user.
- */ - UserId: string | undefined; - - /** - *The tags for the user.
+ *The email address for the user.
*/ - Tags?: Tag[]; + Email?: string; /** *A unique, user-specified identifier for this request that ensures idempotency. @@ -1247,14 +1242,19 @@ export interface CreateUserRequest { FirstName?: string; /** - *
The email address for the user.
+ *The ARN for the user.
*/ - Email?: string; + UserId: string | undefined; /** *The last name for the user.
*/ LastName?: string; + + /** + *The tags for the user.
+ */ + Tags?: Tag[]; } export namespace CreateUserRequest { @@ -1282,12 +1282,11 @@ export namespace CreateUserResponse { export interface ResourceInUseException extends __SmithyException, $MetadataBearer { name: "ResourceInUseException"; $fault: "client"; + Message?: string; /** *A unique, user-specified identifier for the request that ensures idempotency.
*/ ClientRequestToken?: string; - - Message?: string; } export namespace ResourceInUseException { @@ -1407,14 +1406,14 @@ export enum DeviceUsageType { export interface DeleteDeviceUsageDataRequest { /** - *The ARN of the device.
+ *The type of usage data to delete.
*/ - DeviceArn: string | undefined; + DeviceUsageType: DeviceUsageType | string | undefined; /** - *The type of usage data to delete.
+ *The ARN of the device.
*/ - DeviceUsageType: DeviceUsageType | string | undefined; + DeviceArn: string | undefined; } export namespace DeleteDeviceUsageDataRequest { @@ -1532,9 +1531,9 @@ export namespace DeleteRoomResponse { export interface DeleteRoomSkillParameterRequest { /** - *The ID of the skill from which to remove the room skill parameter details.
+ *The ARN of the room from which to remove the room skill parameter details.
*/ - SkillId: string | undefined; + RoomArn?: string; /** *The room skill parameter key for which to remove details.
@@ -1542,9 +1541,9 @@ export interface DeleteRoomSkillParameterRequest { ParameterKey: string | undefined; /** - *The ARN of the room from which to remove the room skill parameter details.
+ *The ID of the skill from which to remove the room skill parameter details.
*/ - RoomArn?: string; + SkillId: string | undefined; } export namespace DeleteRoomSkillParameterRequest { @@ -1563,14 +1562,14 @@ export namespace DeleteRoomSkillParameterResponse { export interface DeleteSkillAuthorizationRequest { /** - *The unique identifier of a skill.
+ *The room that the skill is authorized for.
*/ - SkillId: string | undefined; + RoomArn?: string; /** - *The room that the skill is authorized for.
+ *The unique identifier of a skill.
*/ - RoomArn?: string; + SkillId: string | undefined; } export namespace DeleteSkillAuthorizationRequest { @@ -1610,14 +1609,14 @@ export namespace DeleteSkillGroupResponse { export interface DeleteUserRequest { /** - *The ARN of the user's enrollment in the organization. Required.
+ *The ARN of the user to delete in the organization. Required.
*/ - EnrollmentId: string | undefined; + UserArn?: string; /** - *The ARN of the user to delete in the organization. Required.
+ *The ARN of the user's enrollment in the organization. Required.
*/ - UserArn?: string; + EnrollmentId: string | undefined; } export namespace DeleteUserRequest { @@ -1683,14 +1682,14 @@ export namespace DisassociateDeviceFromRoomResponse { export interface DisassociateSkillFromSkillGroupRequest { /** - *The ARN of a skill group to associate to a skill.
+ *The unique identifier of a skill. Required.
*/ - SkillId: string | undefined; + SkillGroupArn?: string; /** - *The unique identifier of a skill. Required.
+ *The ARN of a skill group to associate to a skill.
*/ - SkillGroupArn?: string; + SkillId: string | undefined; } export namespace DisassociateSkillFromSkillGroupRequest { @@ -1729,16 +1728,16 @@ export namespace DisassociateSkillFromUsersResponse { } export interface DisassociateSkillGroupFromRoomRequest { - /** - *The ARN of the skill group to disassociate from a room. Required.
- */ - SkillGroupArn?: string; - /** *The ARN of the room from which the skill group is to be disassociated. * Required.
*/ RoomArn?: string; + + /** + *The ARN of the skill group to disassociate from a room. Required.
+ */ + SkillGroupArn?: string; } export namespace DisassociateSkillGroupFromRoomRequest { @@ -1858,34 +1857,34 @@ export namespace GetConferenceProviderRequest { */ export interface ConferenceProvider { /** - *The IP endpoint and protocol for calling.
+ *The ARN of the newly created conference provider.
*/ - IPDialIn?: IPDialIn; + Arn?: string; /** - *The type of conference providers.
+ *The information for PSTN conferencing.
*/ - Type?: ConferenceProviderType | string; + PSTNDialIn?: PSTNDialIn; /** - *The name of the conference provider.
+ *The meeting settings for the conference provider.
*/ - Name?: string; + MeetingSetting?: MeetingSetting; /** - *The meeting settings for the conference provider.
+ *The IP endpoint and protocol for calling.
*/ - MeetingSetting?: MeetingSetting; + IPDialIn?: IPDialIn; /** - *The information for PSTN conferencing.
+ *The name of the conference provider.
*/ - PSTNDialIn?: PSTNDialIn; + Name?: string; /** - *The ARN of the newly created conference provider.
+ *The type of conference providers.
*/ - Arn?: string; + Type?: ConferenceProviderType | string; } export namespace ConferenceProvider { @@ -1925,11 +1924,14 @@ export namespace GetContactRequest { */ export interface Contact { /** - *The phone number of the contact. The phone number type defaults to WORK. You can - * either specify PhoneNumber or PhoneNumbers. We recommend that you use PhoneNumbers, which - * lets you specify the phone number type and multiple numbers.
+ *The first name of the contact, used to call the contact on the device.
*/ - PhoneNumber?: string; + FirstName?: string; + + /** + *The list of phone numbers for the contact.
+ */ + PhoneNumbers?: PhoneNumber[]; /** *The list of SIP addresses for the contact.
@@ -1937,9 +1939,11 @@ export interface Contact { SipAddresses?: SipAddress[]; /** - *The name of the contact to display on the console.
+ *The phone number of the contact. The phone number type defaults to WORK. You can + * either specify PhoneNumber or PhoneNumbers. We recommend that you use PhoneNumbers, which + * lets you specify the phone number type and multiple numbers.
*/ - DisplayName?: string; + PhoneNumber?: string; /** *The ARN of the contact.
@@ -1947,27 +1951,22 @@ export interface Contact { ContactArn?: string; /** - *The last name of the contact, used to call the contact on the device.
- */ - LastName?: string; - - /** - *The first name of the contact, used to call the contact on the device.
+ *The name of the contact to display on the console.
*/ - FirstName?: string; + DisplayName?: string; /** - *The list of phone numbers for the contact.
+ *The last name of the contact, used to call the contact on the device.
*/ - PhoneNumbers?: PhoneNumber[]; + LastName?: string; } export namespace Contact { export const filterSensitiveLog = (obj: Contact): any => ({ ...obj, - ...(obj.PhoneNumber && { PhoneNumber: SENSITIVE_STRING }), - ...(obj.SipAddresses && { SipAddresses: obj.SipAddresses.map((item) => SipAddress.filterSensitiveLog(item)) }), ...(obj.PhoneNumbers && { PhoneNumbers: obj.PhoneNumbers.map((item) => PhoneNumber.filterSensitiveLog(item)) }), + ...(obj.SipAddresses && { SipAddresses: obj.SipAddresses.map((item) => SipAddress.filterSensitiveLog(item)) }), + ...(obj.PhoneNumber && { PhoneNumber: SENSITIVE_STRING }), }); } @@ -2047,14 +2046,14 @@ export enum Feature { */ export interface DeviceStatusDetail { /** - *The list of available features on the device.
+ *The device status detail code.
*/ - Feature?: Feature | string; + Code?: DeviceStatusDetailCode | string; /** - *The device status detail code.
+ *The list of available features on the device.
*/ - Code?: DeviceStatusDetailCode | string; + Feature?: Feature | string; } export namespace DeviceStatusDetail { @@ -2068,14 +2067,14 @@ export namespace DeviceStatusDetail { */ export interface DeviceStatusInfo { /** - *The time (in epoch) when the device connection status changed.
+ *The latest available information about the connection status of a device.
*/ - ConnectionStatusUpdatedTime?: Date; + ConnectionStatus?: ConnectionStatus | string; /** - *The latest available information about the connection status of a device.
+ *The time (in epoch) when the device connection status changed.
*/ - ConnectionStatus?: ConnectionStatus | string; + ConnectionStatusUpdatedTime?: Date; /** *One or more device status detail descriptions.
@@ -2093,6 +2092,11 @@ export namespace DeviceStatusInfo { *Detailed information about a device's network profile.
*/ export interface DeviceNetworkProfileInfo { + /** + *The ARN of the certificate associated with a device.
+ */ + CertificateArn?: string; + /** *The ARN of the network profile associated with a device.
*/ @@ -2102,11 +2106,6 @@ export interface DeviceNetworkProfileInfo { *The time (in epoch) when the certificate expires.
*/ CertificateExpirationTime?: Date; - - /** - *The ARN of the certificate associated with a device.
- */ - CertificateArn?: string; } export namespace DeviceNetworkProfileInfo { @@ -2130,45 +2129,45 @@ export interface Device { DeviceSerialNumber?: string; /** - *The status of a device. If the status is not READY, check the DeviceStatusInfo value - * for details.
+ *Detailed information about a device's status.
*/ - DeviceStatus?: DeviceStatus | string; + DeviceStatusInfo?: DeviceStatusInfo; /** - *The name of a device.
+ *Detailed information about a device's network profile.
*/ - DeviceName?: string; + NetworkProfileInfo?: DeviceNetworkProfileInfo; /** - *The MAC address of a device.
+ *The software version of a device.
*/ - MacAddress?: string; + SoftwareVersion?: string; /** - *Detailed information about a device's status.
+ *The type of a device.
*/ - DeviceStatusInfo?: DeviceStatusInfo; + DeviceType?: string; /** - *The room ARN of a device.
+ *The name of a device.
*/ - RoomArn?: string; + DeviceName?: string; /** - *The type of a device.
+ *The MAC address of a device.
*/ - DeviceType?: string; + MacAddress?: string; /** - *The software version of a device.
+ *The room ARN of a device.
*/ - SoftwareVersion?: string; + RoomArn?: string; /** - *Detailed information about a device's network profile.
+ *The status of a device. If the status is not READY, check the DeviceStatusInfo value + * for details.
*/ - NetworkProfileInfo?: DeviceNetworkProfileInfo; + DeviceStatus?: DeviceStatus | string; } export namespace Device { @@ -2208,9 +2207,10 @@ export namespace GetGatewayRequest { */ export interface Gateway { /** - *The ARN of the gateway.
+ *The software version of the gateway. The gateway automatically updates its software + * version during normal operation.
*/ - Arn?: string; + SoftwareVersion?: string; /** *The description of the gateway.
@@ -2223,10 +2223,9 @@ export interface Gateway { GatewayGroupArn?: string; /** - *The software version of the gateway. The gateway automatically updates its software - * version during normal operation.
+ *The ARN of the gateway.
*/ - SoftwareVersion?: string; + Arn?: string; /** *The name of the gateway.
@@ -2271,14 +2270,14 @@ export namespace GetGatewayGroupRequest { */ export interface GatewayGroup { /** - *The description of the gateway group.
+ *The name of the gateway group.
*/ - Description?: string; + Name?: string; /** - *The name of the gateway group.
+ *The description of the gateway group.
*/ - Name?: string; + Description?: string; /** *The ARN of the gateway group.
@@ -2315,10 +2314,9 @@ export namespace GetInvitationConfigurationRequest { export interface GetInvitationConfigurationResponse { /** - *The email ID of the organization or individual contact that the enrolled user can use. - *
+ *The name of the organization sending the enrollment invite to a user.
*/ - ContactEmail?: string; + OrganizationName?: string; /** *The list of private skill IDs that you want to recommend to the user to enable in the @@ -2327,9 +2325,10 @@ export interface GetInvitationConfigurationResponse { PrivateSkillIds?: string[]; /** - *
The name of the organization sending the enrollment invite to a user.
+ *The email ID of the organization or individual contact that the enrolled user can use. + *
*/ - OrganizationName?: string; + ContactEmail?: string; } export namespace GetInvitationConfigurationResponse { @@ -2356,16 +2355,22 @@ export namespace GetNetworkProfileRequest { */ export interface NetworkProfile { /** - *The root certificates of your authentication server, which is installed on your devices - * and used to trust your authentication server during EAP negotiation.
+ *The ARN of the Private Certificate Authority (PCA) created in AWS Certificate Manager + * (ACM). This is used to issue certificates to the devices.
*/ - TrustAnchors?: string[]; + CertificateAuthorityArn?: string; /** - *The authentication standard that is used in the EAP framework. Currently, EAP_TLS is - * supported.
+ *The security type of the Wi-Fi network. This can be WPA2_ENTERPRISE, WPA2_PSK, WPA_PSK, + * WEP, or OPEN.
*/ - EapMethod?: NetworkEapMethod | string; + SecurityType?: NetworkSecurityType | string; + + /** + *The root certificates of your authentication server, which is installed on your devices + * and used to trust your authentication server during EAP negotiation.
+ */ + TrustAnchors?: string[]; /** *The next, or subsequent, password of the Wi-Fi network. This password is asynchronously @@ -2374,42 +2379,36 @@ export interface NetworkProfile { */ NextPassword?: string; - /** - *
Detailed information about a device's network profile.
- */ - Description?: string; - /** *The current password of the Wi-Fi network.
*/ CurrentPassword?: string; /** - *The name of the network profile associated with a device.
+ *The SSID of the Wi-Fi network.
*/ - NetworkProfileName?: string; + Ssid?: string; /** - *The ARN of the network profile associated with a device.
+ *The authentication standard that is used in the EAP framework. Currently, EAP_TLS is + * supported.
*/ - NetworkProfileArn?: string; + EapMethod?: NetworkEapMethod | string; /** - *The security type of the Wi-Fi network. This can be WPA2_ENTERPRISE, WPA2_PSK, WPA_PSK, - * WEP, or OPEN.
+ *The ARN of the network profile associated with a device.
*/ - SecurityType?: NetworkSecurityType | string; + NetworkProfileArn?: string; /** - *The SSID of the Wi-Fi network.
+ *Detailed information about a device's network profile.
*/ - Ssid?: string; + Description?: string; /** - *The ARN of the Private Certificate Authority (PCA) created in AWS Certificate Manager - * (ACM). This is used to issue certificates to the devices.
+ *The name of the network profile associated with a device.
*/ - CertificateAuthorityArn?: string; + NetworkProfileName?: string; } export namespace NetworkProfile { @@ -2467,6 +2466,11 @@ export namespace GetProfileRequest { * end of meeting reminder enables Alexa to remind users when a meeting is ending. */ export interface EndOfMeetingReminder { + /** + *A range of 3 to 15 minutes that determines when the reminder begins.
+ */ + ReminderAtMinutes?: number[]; + /** *Whether an end of meeting reminder is enabled or not.
*/ @@ -2476,11 +2480,6 @@ export interface EndOfMeetingReminder { *The type of sound that users hear during the end of meeting reminder.
*/ ReminderType?: EndOfMeetingReminderType | string; - - /** - *A range of 3 to 15 minutes that determines when the reminder begins.
- */ - ReminderAtMinutes?: number[]; } export namespace EndOfMeetingReminder { @@ -2538,17 +2537,6 @@ export namespace RequireCheckIn { *Meeting room settings of a room profile.
*/ export interface MeetingRoomConfiguration { - /** - *Settings to automatically book the room if available for a configured duration when - * joining a meeting with Alexa.
- */ - InstantBooking?: InstantBooking; - - /** - *Whether room utilization metrics are enabled or not.
- */ - RoomUtilizationMetricsEnabled?: boolean; - /** *Settings for requiring a check in when a room is reserved. Alexa can cancel a room * reservation if it's not checked into. This makes the room available for others. Users can @@ -2562,6 +2550,17 @@ export interface MeetingRoomConfiguration { * end of meeting reminder enables Alexa to remind users when a meeting is ending.
*/ EndOfMeetingReminder?: EndOfMeetingReminder; + + /** + *Whether room utilization metrics are enabled or not.
+ */ + RoomUtilizationMetricsEnabled?: boolean; + + /** + *Settings to automatically book the room if available for a configured duration when + * joining a meeting with Alexa.
+ */ + InstantBooking?: InstantBooking; } export namespace MeetingRoomConfiguration { @@ -2575,30 +2574,29 @@ export namespace MeetingRoomConfiguration { */ export interface Profile { /** - *The time zone of a room profile.
+ *The distance unit of a room profile.
*/ - Timezone?: string; + DistanceUnit?: DistanceUnit | string; /** - *Retrieves if the profile is default or not.
+ *The ARN of the address book.
*/ - IsDefault?: boolean; + AddressBookArn?: string; /** - *The locale of a room profile. (This is currently available only to a limited preview - * audience.)
+ *Meeting room settings of a room profile.
*/ - Locale?: string; + MeetingRoomConfiguration?: MeetingRoomConfiguration; /** - *The wake word of a room profile.
+ *The name of a room profile.
*/ - WakeWord?: WakeWord | string; + ProfileName?: string; /** - *The ARN of a room profile.
+ *The setup mode of a room profile.
*/ - ProfileArn?: string; + SetupModeDisabled?: boolean; /** *The temperature unit of a room profile.
@@ -2606,44 +2604,45 @@ export interface Profile { TemperatureUnit?: TemperatureUnit | string; /** - *The name of a room profile.
+ *The PSTN setting of a room profile.
*/ - ProfileName?: string; + PSTNEnabled?: boolean; /** - *The max volume limit of a room profile.
+ *The locale of a room profile. (This is currently available only to a limited preview + * audience.)
*/ - MaxVolumeLimit?: number; + Locale?: string; /** - *Meeting room settings of a room profile.
+ *The address of a room profile.
*/ - MeetingRoomConfiguration?: MeetingRoomConfiguration; + Address?: string; /** - *The ARN of the address book.
+ *The max volume limit of a room profile.
*/ - AddressBookArn?: string; + MaxVolumeLimit?: number; /** - *The distance unit of a room profile.
+ *Retrieves if the profile is default or not.
*/ - DistanceUnit?: DistanceUnit | string; + IsDefault?: boolean; /** - *The setup mode of a room profile.
+ *The time zone of a room profile.
*/ - SetupModeDisabled?: boolean; + Timezone?: string; /** - *The address of a room profile.
+ *The wake word of a room profile.
*/ - Address?: string; + WakeWord?: WakeWord | string; /** - *The PSTN setting of a room profile.
+ *The ARN of a room profile.
*/ - PSTNEnabled?: boolean; + ProfileArn?: string; } export namespace Profile { @@ -2682,16 +2681,6 @@ export namespace GetRoomRequest { *A room with attributes.
*/ export interface Room { - /** - *The ARN of a room.
- */ - RoomArn?: string; - - /** - *The provider calendar ARN of a room.
- */ - ProviderCalendarId?: string; - /** *The description of a room.
*/ @@ -2702,10 +2691,20 @@ export interface Room { */ ProfileArn?: string; + /** + *The provider calendar ARN of a room.
+ */ + ProviderCalendarId?: string; + /** *The name of a room.
*/ RoomName?: string; + + /** + *The ARN of a room.
+ */ + RoomArn?: string; } export namespace Room { @@ -2728,11 +2727,6 @@ export namespace GetRoomResponse { } export interface GetRoomSkillParameterRequest { - /** - *The room skill parameter key for which to get details. Required.
- */ - ParameterKey: string | undefined; - /** *The ARN of the skill from which to get the room skill parameter details. * Required.
@@ -2743,6 +2737,11 @@ export interface GetRoomSkillParameterRequest { *The ARN of the room from which to get the room skill parameter details.
*/ RoomArn?: string; + + /** + *The room skill parameter key for which to get details. Required.
+ */ + ParameterKey: string | undefined; } export namespace GetRoomSkillParameterRequest { @@ -2804,14 +2803,14 @@ export namespace GetSkillGroupRequest { */ export interface SkillGroup { /** - *The name of a skill group.
+ *The ARN of a skill group.
*/ - SkillGroupName?: string; + SkillGroupArn?: string; /** - *The ARN of a skill group.
+ *The name of a skill group.
*/ - SkillGroupArn?: string; + SkillGroupName?: string; /** *The description of a skill group.
@@ -2867,14 +2866,14 @@ export enum BusinessReportFailureCode { */ export interface BusinessReportS3Location { /** - *The S3 bucket name of the output reports.
+ *The path of the business report.
*/ - BucketName?: string; + Path?: string; /** - *The path of the business report.
+ *The S3 bucket name of the output reports.
*/ - Path?: string; + BucketName?: string; } export namespace BusinessReportS3Location { @@ -2894,14 +2893,15 @@ export enum BusinessReportStatus { */ export interface BusinessReport { /** - *The failure code.
+ *The status of the report generation execution (RUNNING, SUCCEEDED, or + * FAILED).
*/ - FailureCode?: BusinessReportFailureCode | string; + Status?: BusinessReportStatus | string; /** - *The S3 location of the output reports.
+ *The failure code.
*/ - S3Location?: BusinessReportS3Location; + FailureCode?: BusinessReportFailureCode | string; /** *The time of report delivery.
@@ -2914,10 +2914,9 @@ export interface BusinessReport { DownloadUrl?: string; /** - *The status of the report generation execution (RUNNING, SUCCEEDED, or - * FAILED).
+ *The S3 location of the output reports.
*/ - Status?: BusinessReportStatus | string; + S3Location?: BusinessReportS3Location; } export namespace BusinessReport { @@ -2931,9 +2930,9 @@ export namespace BusinessReport { */ export interface BusinessReportSchedule { /** - *The name identifier of the schedule.
+ *The S3 bucket name of the output reports.
*/ - ScheduleName?: string; + S3BucketName?: string; /** *The content range of the reports.
@@ -2941,14 +2940,9 @@ export interface BusinessReportSchedule { ContentRange?: BusinessReportContentRange; /** - *The S3 bucket name of the output reports.
- */ - S3BucketName?: string; - - /** - *The recurrence of the reports.
+ *The S3 key where the report is delivered.
*/ - Recurrence?: BusinessReportRecurrence; + S3KeyPrefix?: string; /** *The details of the last business report delivery for a specified time @@ -2956,11 +2950,6 @@ export interface BusinessReportSchedule { */ LastBusinessReport?: BusinessReport; - /** - *
The S3 key where the report is delivered.
- */ - S3KeyPrefix?: string; - /** *The ARN of the business report schedule.
*/ @@ -2971,6 +2960,16 @@ export interface BusinessReportSchedule { * individual files). */ Format?: BusinessReportFormat | string; + + /** + *The recurrence of the reports.
+ */ + Recurrence?: BusinessReportRecurrence; + + /** + *The name identifier of the schedule.
+ */ + ScheduleName?: string; } export namespace BusinessReportSchedule { @@ -2981,14 +2980,14 @@ export namespace BusinessReportSchedule { export interface ListBusinessReportSchedulesResponse { /** - *The schedule of the reports.
+ *The token used to list the remaining schedules from the previous API call.
*/ - BusinessReportSchedules?: BusinessReportSchedule[]; + NextToken?: string; /** - *The token used to list the remaining schedules from the previous API call.
+ *The schedule of the reports.
*/ - NextToken?: string; + BusinessReportSchedules?: BusinessReportSchedule[]; } export namespace ListBusinessReportSchedulesResponse { @@ -2998,16 +2997,16 @@ export namespace ListBusinessReportSchedulesResponse { } export interface ListConferenceProvidersRequest { - /** - *The tokens used for pagination.
- */ - NextToken?: string; - /** *The maximum number of conference providers to be returned, per paginated * calls.
*/ MaxResults?: number; + + /** + *The tokens used for pagination.
+ */ + NextToken?: string; } export namespace ListConferenceProvidersRequest { @@ -3040,6 +3039,13 @@ export enum DeviceEventType { } export interface ListDeviceEventsRequest { + /** + *The maximum number of results to include in the response. The default value is 50. If + * more results exist than the specified MaxResults value, a token is included in the response + * so that the remaining results can be retrieved.
+ */ + MaxResults?: number; + /** *The event type to filter device events. If EventType isn't specified, this returns a * list of all device events in reverse chronological order. If EventType is specified, this @@ -3049,11 +3055,9 @@ export interface ListDeviceEventsRequest { EventType?: DeviceEventType | string; /** - *
The maximum number of results to include in the response. The default value is 50. If - * more results exist than the specified MaxResults value, a token is included in the response - * so that the remaining results can be retrieved.
+ *The ARN of a device.
*/ - MaxResults?: number; + DeviceArn: string | undefined; /** *An optional token returned from a prior request. Use this token for pagination of @@ -3062,11 +3066,6 @@ export interface ListDeviceEventsRequest { * is reached, the response has a value of null.
*/ NextToken?: string; - - /** - *The ARN of a device.
- */ - DeviceArn: string | undefined; } export namespace ListDeviceEventsRequest { @@ -3080,9 +3079,9 @@ export namespace ListDeviceEventsRequest { */ export interface DeviceEvent { /** - *The type of device event.
+ *The value of the event.
*/ - Type?: DeviceEventType | string; + Value?: string; /** *The time (in epoch) when the event occurred.
@@ -3090,9 +3089,9 @@ export interface DeviceEvent { Timestamp?: Date; /** - *The value of the event.
+ *The type of device event.
*/ - Value?: string; + Type?: DeviceEventType | string; } export namespace DeviceEvent { @@ -3121,14 +3120,14 @@ export namespace ListDeviceEventsResponse { export interface ListGatewayGroupsRequest { /** - *The token used to paginate though multiple pages of gateway group summaries.
+ *The maximum number of gateway group summaries to return. The default is 50.
*/ - NextToken?: string; + MaxResults?: number; /** - *The maximum number of gateway group summaries to return. The default is 50.
+ *The token used to paginate though multiple pages of gateway group summaries.
*/ - MaxResults?: number; + NextToken?: string; } export namespace ListGatewayGroupsRequest { @@ -3142,9 +3141,9 @@ export namespace ListGatewayGroupsRequest { */ export interface GatewayGroupSummary { /** - *The name of the gateway group.
+ *The description of the gateway group.
*/ - Name?: string; + Description?: string; /** *The ARN of the gateway group.
@@ -3152,9 +3151,9 @@ export interface GatewayGroupSummary { Arn?: string; /** - *The description of the gateway group.
+ *The name of the gateway group.
*/ - Description?: string; + Name?: string; } export namespace GatewayGroupSummary { @@ -3165,14 +3164,14 @@ export namespace GatewayGroupSummary { export interface ListGatewayGroupsResponse { /** - *The token used to paginate though multiple pages of gateway group summaries.
+ *The gateway groups in the list.
*/ - NextToken?: string; + GatewayGroups?: GatewayGroupSummary[]; /** - *The gateway groups in the list.
+ *The token used to paginate though multiple pages of gateway group summaries.
*/ - GatewayGroups?: GatewayGroupSummary[]; + NextToken?: string; } export namespace ListGatewayGroupsResponse { @@ -3182,6 +3181,11 @@ export namespace ListGatewayGroupsResponse { } export interface ListGatewaysRequest { + /** + *The maximum number of gateway summaries to return. The default is 50.
+ */ + MaxResults?: number; + /** *The token used to paginate though multiple pages of gateway summaries.
*/ @@ -3191,11 +3195,6 @@ export interface ListGatewaysRequest { *The gateway group ARN for which to list gateways.
*/ GatewayGroupArn?: string; - - /** - *The maximum number of gateway summaries to return. The default is 50.
- */ - MaxResults?: number; } export namespace ListGatewaysRequest { @@ -3209,9 +3208,10 @@ export namespace ListGatewaysRequest { */ export interface GatewaySummary { /** - *The description of the gateway.
+ *The software version of the gateway. The gateway automatically updates its software + * version during normal operation.
*/ - Description?: string; + SoftwareVersion?: string; /** *The ARN of the gateway.
@@ -3229,10 +3229,9 @@ export interface GatewaySummary { Name?: string; /** - *The software version of the gateway. The gateway automatically updates its software - * version during normal operation.
+ *The description of the gateway.
*/ - SoftwareVersion?: string; + Description?: string; } export namespace GatewaySummary { @@ -3272,33 +3271,33 @@ export enum SkillTypeFilter { export interface ListSkillsRequest { /** - *The ARN of the skill group for which to list enabled skills.
+ *An optional token returned from a prior request. Use this token for pagination of
+ * results from this action. If this parameter is specified, the response includes only
+ * results beyond the token, up to the value specified by MaxResults
.
Whether the skill is publicly available or is a private skill.
+ *The ARN of the skill group for which to list enabled skills.
*/ - SkillType?: SkillTypeFilter | string; + SkillGroupArn?: string; /** - *Whether the skill is enabled under the user's account.
+ *The maximum number of results to include in the response. If more results exist than
+ * the specified MaxResults
value, a token is included in the response so that
+ * the remaining results can be retrieved.
An optional token returned from a prior request. Use this token for pagination of
- * results from this action. If this parameter is specified, the response includes only
- * results beyond the token, up to the value specified by MaxResults
.
Whether the skill is publicly available or is a private skill.
*/ - NextToken?: string; + SkillType?: SkillTypeFilter | string; /** - *The maximum number of results to include in the response. If more results exist than
- * the specified MaxResults
value, a token is included in the response so that
- * the remaining results can be retrieved.
Whether the skill is enabled under the user's account.
*/ - MaxResults?: number; + EnablementType?: EnablementTypeFilter | string; } export namespace ListSkillsRequest { @@ -3327,25 +3326,25 @@ export interface SkillSummary { SkillId?: string; /** - *Whether the skill is enabled under the user's account, or if it requires linking to be - * used.
+ *The name of the skill.
*/ - EnablementType?: EnablementType | string; + SkillName?: string; /** - *Linking support for a skill.
+ *Whether the skill is publicly available or is a private skill.
*/ - SupportsLinking?: boolean; + SkillType?: SkillType | string; /** - *Whether the skill is publicly available or is a private skill.
+ *Whether the skill is enabled under the user's account, or if it requires linking to be + * used.
*/ - SkillType?: SkillType | string; + EnablementType?: EnablementType | string; /** - *The name of the skill.
+ *Linking support for a skill.
*/ - SkillName?: string; + SupportsLinking?: boolean; } export namespace SkillSummary { @@ -3432,15 +3431,15 @@ export namespace ListSkillsStoreCategoriesResponse { export interface ListSkillsStoreSkillsByCategoryRequest { /** - *The category ID for which the skills are being retrieved from the skill - * store.
+ *The tokens used for pagination.
*/ - CategoryId: number | undefined; + NextToken?: string; /** - *The tokens used for pagination.
+ *The category ID for which the skills are being retrieved from the skill + * store.
*/ - NextToken?: string; + CategoryId: number | undefined; /** *The maximum number of skills returned per paginated calls.
@@ -3459,24 +3458,24 @@ export namespace ListSkillsStoreSkillsByCategoryRequest { */ export interface DeveloperInfo { /** - *The email of the developer.
+ *The website of the developer.
*/ - Email?: string; + Url?: string; /** - *The name of the developer.
+ *The URL of the privacy policy.
*/ - DeveloperName?: string; + PrivacyPolicy?: string; /** - *The URL of the privacy policy.
+ *The email of the developer.
*/ - PrivacyPolicy?: string; + Email?: string; /** - *The website of the developer.
+ *The name of the developer.
*/ - Url?: string; + DeveloperName?: string; } export namespace DeveloperInfo { @@ -3490,34 +3489,25 @@ export namespace DeveloperInfo { */ export interface SkillDetails { /** - *The details about what the skill supports organized as bullet points.
- */ - BulletPoints?: string[]; - - /** - *The types of skills.
- */ - SkillTypes?: string[]; - - /** - *The updates added in bullet points.
+ *The details about the developer that published the skill.
*/ - NewInThisVersionBulletPoints?: string[]; + DeveloperInfo?: DeveloperInfo; /** - *The date when the skill was released.
+ *The generic keywords associated with the skill that can be used to find a + * skill.
*/ - ReleaseDate?: string; + GenericKeywords?: string[]; /** - *The details about the developer that published the skill.
+ *The description of the product.
*/ - DeveloperInfo?: DeveloperInfo; + ProductDescription?: string; /** - *The description of the product.
+ *The types of skills.
*/ - ProductDescription?: string; + SkillTypes?: string[]; /** *@@ -3527,21 +3517,30 @@ export interface SkillDetails { */ Reviews?: { [key: string]: string }; + /** + *
The URL of the end user license agreement.
+ */ + EndUserLicenseAgreement?: string; + /** *The phrase used to trigger the skill.
*/ InvocationPhrase?: string; /** - *The generic keywords associated with the skill that can be used to find a - * skill.
+ *The date when the skill was released.
*/ - GenericKeywords?: string[]; + ReleaseDate?: string; /** - *The URL of the end user license agreement.
+ *The details about what the skill supports organized as bullet points.
*/ - EndUserLicenseAgreement?: string; + BulletPoints?: string[]; + + /** + *The updates added in bullet points.
+ */ + NewInThisVersionBulletPoints?: string[]; } export namespace SkillDetails { @@ -3555,14 +3554,14 @@ export namespace SkillDetails { */ export interface SkillsStoreSkill { /** - *The URL where the skill icon resides.
+ *The ARN of the skill.
*/ - IconUrl?: string; + SkillId?: string; /** - *The name of the skill.
+ *Information about the skill.
*/ - SkillName?: string; + SkillDetails?: SkillDetails; /** *Sample utterances that interact with the skill.
@@ -3575,19 +3574,19 @@ export interface SkillsStoreSkill { SupportsLinking?: boolean; /** - *The ARN of the skill.
+ *The URL where the skill icon resides.
*/ - SkillId?: string; + IconUrl?: string; /** - *Short description about the skill.
+ *The name of the skill.
*/ - ShortDescription?: string; + SkillName?: string; /** - *Information about the skill.
+ *Short description about the skill.
*/ - SkillDetails?: SkillDetails; + ShortDescription?: string; } export namespace SkillsStoreSkill { @@ -3597,18 +3596,18 @@ export namespace SkillsStoreSkill { } export interface ListSkillsStoreSkillsByCategoryResponse { - /** - *The skill store skills.
- */ - SkillsStoreSkills?: SkillsStoreSkill[]; - /** *The tokens used for pagination.
*/ NextToken?: string; -} -export namespace ListSkillsStoreSkillsByCategoryResponse { + /** + *The skill store skills.
+ */ + SkillsStoreSkills?: SkillsStoreSkill[]; +} + +export namespace ListSkillsStoreSkillsByCategoryResponse { export const filterSensitiveLog = (obj: ListSkillsStoreSkillsByCategoryResponse): any => ({ ...obj, }); @@ -3643,9 +3642,9 @@ export namespace ListSmartHomeAppliancesRequest { */ export interface SmartHomeAppliance { /** - *The friendly name of the smart home appliance.
+ *The name of the manufacturer of the smart home appliance.
*/ - FriendlyName?: string; + ManufacturerName?: string; /** *The description of the smart home appliance.
@@ -3653,9 +3652,9 @@ export interface SmartHomeAppliance { Description?: string; /** - *The name of the manufacturer of the smart home appliance.
+ *The friendly name of the smart home appliance.
*/ - ManufacturerName?: string; + FriendlyName?: string; } export namespace SmartHomeAppliance { @@ -3666,14 +3665,14 @@ export namespace SmartHomeAppliance { export interface ListSmartHomeAppliancesResponse { /** - *The smart home appliances.
+ *The tokens used for pagination.
*/ - SmartHomeAppliances?: SmartHomeAppliance[]; + NextToken?: string; /** - *The tokens used for pagination.
+ *The smart home appliances.
*/ - NextToken?: string; + SmartHomeAppliances?: SmartHomeAppliance[]; } export namespace ListSmartHomeAppliancesResponse { @@ -3683,6 +3682,11 @@ export namespace ListSmartHomeAppliancesResponse { } export interface ListTagsRequest { + /** + *The ARN of the specified resource for which to list tags.
+ */ + Arn: string | undefined; + /** *An optional token returned from a prior request. Use this token for pagination of * results from this action. If this parameter is specified, the response includes only @@ -3696,11 +3700,6 @@ export interface ListTagsRequest { * the remaining results can be retrieved.
*/ MaxResults?: number; - - /** - *The ARN of the specified resource for which to list tags.
- */ - Arn: string | undefined; } export namespace ListTagsRequest { @@ -3749,6 +3748,12 @@ export namespace PutConferencePreferenceResponse { } export interface PutInvitationConfigurationRequest { + /** + *The email ID of the organization or individual contact that the enrolled user can use. + *
+ */ + ContactEmail?: string; + /** *The name of the organization sending the enrollment invite to a user.
*/ @@ -3759,12 +3764,6 @@ export interface PutInvitationConfigurationRequest { * invitation. */ PrivateSkillIds?: string[]; - - /** - *The email ID of the organization or individual contact that the enrolled user can use. - *
- */ - ContactEmail?: string; } export namespace PutInvitationConfigurationRequest { @@ -3788,14 +3787,14 @@ export interface PutRoomSkillParameterRequest { RoomArn?: string; /** - *The updated room skill parameter. Required.
+ *The ARN of the skill associated with the room skill parameter. Required.
*/ - RoomSkillParameter: RoomSkillParameter | undefined; + SkillId: string | undefined; /** - *The ARN of the skill associated with the room skill parameter. Required.
+ *The updated room skill parameter. Required.
*/ - SkillId: string | undefined; + RoomSkillParameter: RoomSkillParameter | undefined; } export namespace PutRoomSkillParameterRequest { @@ -3813,11 +3812,6 @@ export namespace PutRoomSkillParameterResponse { } export interface PutSkillAuthorizationRequest { - /** - *The unique identifier of a skill.
- */ - SkillId: string | undefined; - /** *The room that the skill is authorized for.
*/ @@ -3828,6 +3822,11 @@ export interface PutSkillAuthorizationRequest { * populated in the AuthorizationResult map to establish the authorization. */ AuthorizationResult: { [key: string]: string } | undefined; + + /** + *The unique identifier of a skill.
+ */ + SkillId: string | undefined; } export namespace PutSkillAuthorizationRequest { @@ -3876,12 +3875,6 @@ export namespace InvalidDeviceException { } export interface RegisterAVSDeviceRequest { - /** - *The device type ID for your AVS device generated by Amazon when the OEM creates a new - * product on Amazon's Developer Console.
- */ - AmazonId: string | undefined; - /** *The ARN of the room with which to associate your AVS device.
*/ @@ -3910,6 +3903,12 @@ export interface RegisterAVSDeviceRequest { * AVS device. */ DeviceSerialNumber?: string; + + /** + *The device type ID for your AVS device generated by Amazon when the OEM creates a new + * product on Amazon's Developer Console.
+ */ + AmazonId: string | undefined; } export namespace RegisterAVSDeviceRequest { @@ -3954,14 +3953,14 @@ export namespace RejectSkillResponse { export interface ResolveRoomRequest { /** - *The ARN of the skill that was requested. Required.
+ *The ARN of the user. Required.
*/ - SkillId: string | undefined; + UserId: string | undefined; /** - *The ARN of the user. Required.
+ *The ARN of the skill that was requested. Required.
*/ - UserId: string | undefined; + SkillId: string | undefined; } export namespace ResolveRoomRequest { @@ -3972,9 +3971,9 @@ export namespace ResolveRoomRequest { export interface ResolveRoomResponse { /** - *The name of the room from which the skill request was invoked.
+ *Response to get the room profile request. Required.
*/ - RoomName?: string; + RoomSkillParameters?: RoomSkillParameter[]; /** *The ARN of the room from which the skill request was invoked.
@@ -3982,9 +3981,9 @@ export interface ResolveRoomResponse { RoomArn?: string; /** - *Response to get the room profile request. Required.
+ *The name of the room from which the skill request was invoked.
*/ - RoomSkillParameters?: RoomSkillParameter[]; + RoomName?: string; } export namespace ResolveRoomResponse { @@ -4025,14 +4024,14 @@ export namespace RevokeInvitationResponse { */ export interface Filter { /** - *The values of a filter.
+ *The key of a filter.
*/ - Values: string[] | undefined; + Key: string | undefined; /** - *The key of a filter.
+ *The values of a filter.
*/ - Key: string | undefined; + Values: string[] | undefined; } export namespace Filter { @@ -4076,10 +4075,11 @@ export interface SearchAddressBooksRequest { NextToken?: string; /** - *The filters to use to list a specified set of address books. The supported filter key - * is AddressBookName.
+ *The maximum number of results to include in the response. If more results exist than + * the specified MaxResults value, a token is included in the response so that the remaining + * results can be retrieved.
*/ - Filters?: Filter[]; + MaxResults?: number; /** *The sort order to use in listing the specified set of address books. The supported @@ -4088,11 +4088,10 @@ export interface SearchAddressBooksRequest { SortCriteria?: Sort[]; /** - *
The maximum number of results to include in the response. If more results exist than - * the specified MaxResults value, a token is included in the response so that the remaining - * results can be retrieved.
+ *The filters to use to list a specified set of address books. The supported filter key + * is AddressBookName.
*/ - MaxResults?: number; + Filters?: Filter[]; } export namespace SearchAddressBooksRequest { @@ -4132,13 +4131,6 @@ export interface SearchContactsRequest { */ SortCriteria?: Sort[]; - /** - *An optional token returned from a prior request. Use this token for pagination of - * results from this action. If this parameter is specified, the response only includes - * results beyond the token, up to the value specified by MaxResults.
- */ - NextToken?: string; - /** *The maximum number of results to include in the response. If more results exist than * the specified MaxResults value, a token is included in the response so that the remaining @@ -4146,6 +4138,13 @@ export interface SearchContactsRequest { */ MaxResults?: number; + /** + *
An optional token returned from a prior request. Use this token for pagination of + * results from this action. If this parameter is specified, the response only includes + * results beyond the token, up to the value specified by MaxResults.
+ */ + NextToken?: string; + /** *The filters to use to list a specified set of address books. The supported filter * keys are DisplayName, FirstName, LastName, and AddressBookArns.
@@ -4164,57 +4163,57 @@ export namespace SearchContactsRequest { */ export interface ContactData { /** - *The phone number of the contact. The phone number type defaults to WORK. You can - * specify PhoneNumber or PhoneNumbers. We recommend that you use PhoneNumbers, which lets you - * specify the phone number type and multiple numbers.
+ *The list of phone numbers for the contact.
*/ - PhoneNumber?: string; + PhoneNumbers?: PhoneNumber[]; /** - *The name of the contact to display on the console.
+ *The first name of the contact, used to call the contact on the device.
*/ - DisplayName?: string; + FirstName?: string; /** - *The last name of the contact, used to call the contact on the device.
+ *The list of SIP addresses for the contact.
*/ - LastName?: string; + SipAddresses?: SipAddress[]; /** - *The list of SIP addresses for the contact.
+ *The phone number of the contact. The phone number type defaults to WORK. You can + * specify PhoneNumber or PhoneNumbers. We recommend that you use PhoneNumbers, which lets you + * specify the phone number type and multiple numbers.
*/ - SipAddresses?: SipAddress[]; + PhoneNumber?: string; /** - *The ARN of the contact.
+ *The name of the contact to display on the console.
*/ - ContactArn?: string; + DisplayName?: string; /** - *The list of phone numbers for the contact.
+ *The ARN of the contact.
*/ - PhoneNumbers?: PhoneNumber[]; + ContactArn?: string; /** - *The first name of the contact, used to call the contact on the device.
+ *The last name of the contact, used to call the contact on the device.
*/ - FirstName?: string; + LastName?: string; } export namespace ContactData { export const filterSensitiveLog = (obj: ContactData): any => ({ ...obj, - ...(obj.PhoneNumber && { PhoneNumber: SENSITIVE_STRING }), - ...(obj.SipAddresses && { SipAddresses: obj.SipAddresses.map((item) => SipAddress.filterSensitiveLog(item)) }), ...(obj.PhoneNumbers && { PhoneNumbers: obj.PhoneNumbers.map((item) => PhoneNumber.filterSensitiveLog(item)) }), + ...(obj.SipAddresses && { SipAddresses: obj.SipAddresses.map((item) => SipAddress.filterSensitiveLog(item)) }), + ...(obj.PhoneNumber && { PhoneNumber: SENSITIVE_STRING }), }); } export interface SearchContactsResponse { /** - *The contacts that meet the specified set of filter criteria, in sort order.
+ *The total number of contacts returned.
*/ - Contacts?: ContactData[]; + TotalCount?: number; /** *The token returned to indicate that there is more data available.
@@ -4222,9 +4221,9 @@ export interface SearchContactsResponse { NextToken?: string; /** - *The total number of contacts returned.
+ *The contacts that meet the specified set of filter criteria, in sort order.
*/ - TotalCount?: number; + Contacts?: ContactData[]; } export namespace SearchContactsResponse { @@ -4235,6 +4234,14 @@ export namespace SearchContactsResponse { } export interface SearchDevicesRequest { + /** + *The filters to use to list a specified set of devices. Supported filter keys are + * DeviceName, DeviceStatus, DeviceStatusDetailCode, RoomName, DeviceType, DeviceSerialNumber, + * UnassociatedOnly, ConnectionStatus (ONLINE and OFFLINE), NetworkProfileName, + * NetworkProfileArn, Feature, and FailureCode.
+ */ + Filters?: Filter[]; + /** *The sort order to use in listing the specified set of devices. Supported sort keys
* are DeviceName, DeviceStatus, RoomName, DeviceType, DeviceSerialNumber, ConnectionStatus,
@@ -4255,14 +4262,6 @@ export interface SearchDevicesRequest {
* results beyond the token, up to the value specified by MaxResults
.
The filters to use to list a specified set of devices. Supported filter keys are - * DeviceName, DeviceStatus, DeviceStatusDetailCode, RoomName, DeviceType, DeviceSerialNumber, - * UnassociatedOnly, ConnectionStatus (ONLINE and OFFLINE), NetworkProfileName, - * NetworkProfileArn, Feature, and FailureCode.
- */ - Filters?: Filter[]; } export namespace SearchDevicesRequest { @@ -4276,69 +4275,69 @@ export namespace SearchDevicesRequest { */ export interface DeviceData { /** - *The name of the room associated with a device.
+ *The MAC address of a device.
*/ - RoomName?: string; + MacAddress?: string; /** - *The room ARN associated with a device.
+ *The time (in epoch) when the device data was created.
*/ - RoomArn?: string; + CreatedTime?: Date; /** - *Detailed information about a device's status.
+ *The status of a device.
*/ - DeviceStatusInfo?: DeviceStatusInfo; + DeviceStatus?: DeviceStatus | string; /** - *The name of a device.
+ *The name of the room associated with a device.
*/ - DeviceName?: string; + RoomName?: string; /** - *The status of a device.
+ *The name of a device.
*/ - DeviceStatus?: DeviceStatus | string; + DeviceName?: string; /** - *The ARN of a device.
+ *The room ARN associated with a device.
*/ - DeviceArn?: string; + RoomArn?: string; /** - *The name of the network profile associated with a device.
+ *Detailed information about a device's status.
*/ - NetworkProfileName?: string; + DeviceStatusInfo?: DeviceStatusInfo; /** - *The type of a device.
+ *The serial number of a device.
*/ - DeviceType?: string; + DeviceSerialNumber?: string; /** - *The software version of a device.
+ *The ARN of a device.
*/ - SoftwareVersion?: string; + DeviceArn?: string; /** - *The time (in epoch) when the device data was created.
+ *The ARN of the network profile associated with a device.
*/ - CreatedTime?: Date; + NetworkProfileArn?: string; /** - *The serial number of a device.
+ *The software version of a device.
*/ - DeviceSerialNumber?: string; + SoftwareVersion?: string; /** - *The MAC address of a device.
+ *The type of a device.
*/ - MacAddress?: string; + DeviceType?: string; /** - *The ARN of the network profile associated with a device.
+ *The name of the network profile associated with a device.
*/ - NetworkProfileArn?: string; + NetworkProfileName?: string; } export namespace DeviceData { @@ -4372,10 +4371,11 @@ export namespace SearchDevicesResponse { export interface SearchNetworkProfilesRequest { /** - *The sort order to use to list the specified set of network profiles. Valid sort criteria - * includes NetworkProfileName, Ssid, and SecurityType.
+ *An optional token returned from a prior request. Use this token for pagination of + * results from this action. If this parameter is specified, the response includes only + * results beyond the token, up to the value specified by MaxResults.
*/ - SortCriteria?: Sort[]; + NextToken?: string; /** *The filters to use to list a specified set of network profiles. Valid filters are @@ -4384,11 +4384,10 @@ export interface SearchNetworkProfilesRequest { Filters?: Filter[]; /** - *
An optional token returned from a prior request. Use this token for pagination of - * results from this action. If this parameter is specified, the response includes only - * results beyond the token, up to the value specified by MaxResults.
+ *The sort order to use to list the specified set of network profiles. Valid sort criteria + * includes NetworkProfileName, Ssid, and SecurityType.
*/ - NextToken?: string; + SortCriteria?: Sort[]; /** *The maximum number of results to include in the response. If more results exist than the @@ -4409,25 +4408,26 @@ export namespace SearchNetworkProfilesRequest { */ export interface NetworkProfileData { /** - *
The SSID of the Wi-Fi network.
+ *The authentication standard that is used in the EAP framework. Currently, EAP_TLS is + * supported.
*/ - Ssid?: string; + EapMethod?: NetworkEapMethod | string; /** - *The ARN of the network profile associated with a device.
+ *The name of the network profile associated with a device.
*/ - NetworkProfileArn?: string; + NetworkProfileName?: string; /** - *The authentication standard that is used in the EAP framework. Currently, EAP_TLS is - * supported.
+ *The SSID of the Wi-Fi network.
*/ - EapMethod?: NetworkEapMethod | string; + Ssid?: string; /** - *Detailed information about a device's network profile.
+ *The ARN of the Private Certificate Authority (PCA) created in AWS Certificate Manager + * (ACM). This is used to issue certificates to the devices.
*/ - Description?: string; + CertificateAuthorityArn?: string; /** *The security type of the Wi-Fi network. This can be WPA2_ENTERPRISE, WPA2_PSK, WPA_PSK, @@ -4436,15 +4436,14 @@ export interface NetworkProfileData { SecurityType?: NetworkSecurityType | string; /** - *
The ARN of the Private Certificate Authority (PCA) created in AWS Certificate Manager - * (ACM). This is used to issue certificates to the devices.
+ *The ARN of the network profile associated with a device.
*/ - CertificateAuthorityArn?: string; + NetworkProfileArn?: string; /** - *The name of the network profile associated with a device.
+ *Detailed information about a device's network profile.
*/ - NetworkProfileName?: string; + Description?: string; } export namespace NetworkProfileData { @@ -4455,11 +4454,10 @@ export namespace NetworkProfileData { export interface SearchNetworkProfilesResponse { /** - *An optional token returned from a prior request. Use this token for pagination of - * results from this action. If this parameter is specified, the response includes only - * results beyond the token, up to the value specified by MaxResults.
+ *The network profiles that meet the specified set of filter criteria, in sort order. It + * is a list of NetworkProfileData objects.
*/ - NextToken?: string; + NetworkProfiles?: NetworkProfileData[]; /** *The total number of network profiles returned.
@@ -4467,10 +4465,11 @@ export interface SearchNetworkProfilesResponse { TotalCount?: number; /** - *The network profiles that meet the specified set of filter criteria, in sort order. It - * is a list of NetworkProfileData objects.
+ *An optional token returned from a prior request. Use this token for pagination of + * results from this action. If this parameter is specified, the response includes only + * results beyond the token, up to the value specified by MaxResults.
*/ - NetworkProfiles?: NetworkProfileData[]; + NextToken?: string; } export namespace SearchNetworkProfilesResponse { @@ -4481,16 +4480,17 @@ export namespace SearchNetworkProfilesResponse { export interface SearchProfilesRequest { /** - *The filters to use to list a specified set of room profiles. Supported filter keys - * are ProfileName and Address. Required.
+ *An optional token returned from a prior request. Use this token for pagination of
+ * results from this action. If this parameter is specified, the response includes only
+ * results beyond the token, up to the value specified by MaxResults
.
The sort order to use in listing the specified set of room profiles. Supported sort - * keys are ProfileName and Address.
+ *The filters to use to list a specified set of room profiles. Supported filter keys + * are ProfileName and Address. Required.
*/ - SortCriteria?: Sort[]; + Filters?: Filter[]; /** *The maximum number of results to include in the response. If more results exist than @@ -4500,11 +4500,10 @@ export interface SearchProfilesRequest { MaxResults?: number; /** - *
An optional token returned from a prior request. Use this token for pagination of
- * results from this action. If this parameter is specified, the response includes only
- * results beyond the token, up to the value specified by MaxResults
.
The sort order to use in listing the specified set of room profiles. Supported sort + * keys are ProfileName and Address.
*/ - NextToken?: string; + SortCriteria?: Sort[]; } export namespace SearchProfilesRequest { @@ -4518,9 +4517,9 @@ export namespace SearchProfilesRequest { */ export interface ProfileData { /** - *The name of a room profile.
+ *Retrieves if the profile data is default or not.
*/ - ProfileName?: string; + IsDefault?: boolean; /** *The ARN of a room profile.
@@ -4528,30 +4527,25 @@ export interface ProfileData { ProfileArn?: string; /** - *The locale of a room profile. (This is currently available only to a limited preview - * audience.)
- */ - Locale?: string; - - /** - *The time zone of a room profile.
+ *The temperature unit of a room profile.
*/ - Timezone?: string; + TemperatureUnit?: TemperatureUnit | string; /** - *Retrieves if the profile data is default or not.
+ *The name of a room profile.
*/ - IsDefault?: boolean; + ProfileName?: string; /** - *The address of a room profile.
+ *The time zone of a room profile.
*/ - Address?: string; + Timezone?: string; /** - *The temperature unit of a room profile.
+ *The locale of a room profile. (This is currently available only to a limited preview + * audience.)
*/ - TemperatureUnit?: TemperatureUnit | string; + Locale?: string; /** *The distance unit of a room profile.
@@ -4562,6 +4556,11 @@ export interface ProfileData { *The wake word of a room profile.
*/ WakeWord?: WakeWord | string; + + /** + *The address of a room profile.
+ */ + Address?: string; } export namespace ProfileData { @@ -4571,6 +4570,11 @@ export namespace ProfileData { } export interface SearchProfilesResponse { + /** + *The profiles that meet the specified set of filter criteria, in sort order.
+ */ + Profiles?: ProfileData[]; + /** *The token returned to indicate that there is more data available.
*/ @@ -4580,11 +4584,6 @@ export interface SearchProfilesResponse { *The total number of room profiles returned.
*/ TotalCount?: number; - - /** - *The profiles that meet the specified set of filter criteria, in sort order.
- */ - Profiles?: ProfileData[]; } export namespace SearchProfilesResponse { @@ -4595,11 +4594,10 @@ export namespace SearchProfilesResponse { export interface SearchRoomsRequest { /** - *The maximum number of results to include in the response. If more results exist than
- * the specified MaxResults
value, a token is included in the response so that
- * the remaining results can be retrieved.
The sort order to use in listing the specified set of rooms. The supported sort keys + * are RoomName and ProfileName.
*/ - MaxResults?: number; + SortCriteria?: Sort[]; /** *The filters to use to list a specified set of rooms. The supported filter keys are @@ -4607,18 +4605,19 @@ export interface SearchRoomsRequest { */ Filters?: Filter[]; + /** + *
The maximum number of results to include in the response. If more results exist than
+ * the specified MaxResults
value, a token is included in the response so that
+ * the remaining results can be retrieved.
An optional token returned from a prior request. Use this token for pagination of
* results from this action. If this parameter is specified, the response includes only
* results beyond the token, up to the value specified by MaxResults
.
The sort order to use in listing the specified set of rooms. The supported sort keys - * are RoomName and ProfileName.
- */ - SortCriteria?: Sort[]; } export namespace SearchRoomsRequest { @@ -4632,9 +4631,9 @@ export namespace SearchRoomsRequest { */ export interface RoomData { /** - *The profile name of a room.
+ *The description of a room.
*/ - ProfileName?: string; + Description?: string; /** *The name of a room.
@@ -4652,14 +4651,14 @@ export interface RoomData { ProviderCalendarId?: string; /** - *The description of a room.
+ *The profile ARN of a room.
*/ - Description?: string; + ProfileArn?: string; /** - *The profile ARN of a room.
+ *The profile name of a room.
*/ - ProfileArn?: string; + ProfileName?: string; } export namespace RoomData { @@ -4675,14 +4674,14 @@ export interface SearchRoomsResponse { NextToken?: string; /** - *The total number of rooms returned.
+ *The rooms that meet the specified set of filter criteria, in sort order.
*/ - TotalCount?: number; + Rooms?: RoomData[]; /** - *The rooms that meet the specified set of filter criteria, in sort order.
+ *The total number of rooms returned.
*/ - Rooms?: RoomData[]; + TotalCount?: number; } export namespace SearchRoomsResponse { @@ -4693,16 +4692,17 @@ export namespace SearchRoomsResponse { export interface SearchSkillGroupsRequest { /** - *The filters to use to list a specified set of skill groups. The supported filter key - * is SkillGroupName.
+ *The maximum number of results to include in the response. If more results exist than
+ * the specified MaxResults
value, a token is included in the response so that
+ * the remaining results can be retrieved.
The sort order to use in listing the specified set of skill groups. The supported - * sort key is SkillGroupName.
+ *The filters to use to list a specified set of skill groups. The supported filter key + * is SkillGroupName.
*/ - SortCriteria?: Sort[]; + Filters?: Filter[]; /** *An optional token returned from a prior request. Use this token for pagination of @@ -4713,11 +4713,10 @@ export interface SearchSkillGroupsRequest { NextToken?: string; /** - *
The maximum number of results to include in the response. If more results exist than
- * the specified MaxResults
value, a token is included in the response so that
- * the remaining results can be retrieved.
The sort order to use in listing the specified set of skill groups. The supported + * sort key is SkillGroupName.
*/ - MaxResults?: number; + SortCriteria?: Sort[]; } export namespace SearchSkillGroupsRequest { @@ -4730,11 +4729,6 @@ export namespace SearchSkillGroupsRequest { *The attributes of a skill group.
*/ export interface SkillGroupData { - /** - *The description of a skill group.
- */ - Description?: string; - /** *The skill group ARN of a skill group.
*/ @@ -4744,6 +4738,11 @@ export interface SkillGroupData { *The skill group name of a skill group.
*/ SkillGroupName?: string; + + /** + *The description of a skill group.
+ */ + Description?: string; } export namespace SkillGroupData { @@ -4753,6 +4752,11 @@ export namespace SkillGroupData { } export interface SearchSkillGroupsResponse { + /** + *The token returned to indicate that there is more data available.
+ */ + NextToken?: string; + /** *The total number of skill groups returned.
*/ @@ -4762,11 +4766,6 @@ export interface SearchSkillGroupsResponse { *The skill groups that meet the filter criteria, in sort order.
*/ SkillGroups?: SkillGroupData[]; - - /** - *The token returned to indicate that there is more data available.
- */ - NextToken?: string; } export namespace SearchSkillGroupsResponse { @@ -4777,18 +4776,10 @@ export namespace SearchSkillGroupsResponse { export interface SearchUsersRequest { /** - *An optional token returned from a prior request. Use this token for pagination of
- * results from this action. If this parameter is specified, the response includes only
- * results beyond the token, up to the value specified by MaxResults
.
- * Required.
The sort order to use in listing the filtered set of users. Required. Supported sort + *
The filters to use for listing a specific set of users. Required. Supported filter * keys are UserId, FirstName, LastName, Email, and EnrollmentStatus.
*/ - SortCriteria?: Sort[]; + Filters?: Filter[]; /** *The maximum number of results to include in the response. If more results exist than @@ -4798,10 +4789,18 @@ export interface SearchUsersRequest { MaxResults?: number; /** - *
The filters to use for listing a specific set of users. Required. Supported filter + *
The sort order to use in listing the filtered set of users. Required. Supported sort * keys are UserId, FirstName, LastName, Email, and EnrollmentStatus.
*/ - Filters?: Filter[]; + SortCriteria?: Sort[]; + + /** + *An optional token returned from a prior request. Use this token for pagination of
+ * results from this action. If this parameter is specified, the response includes only
+ * results beyond the token, up to the value specified by MaxResults
.
+ * Required.
The first name of a user.
+ *The enrollment status of a user.
*/ - FirstName?: string; + EnrollmentStatus?: EnrollmentStatus | string; /** *The last name of a user.
@@ -4843,14 +4842,14 @@ export interface UserData { LastName?: string; /** - *The enrollment status of a user.
+ *The ARN of a user.
*/ - EnrollmentStatus?: EnrollmentStatus | string; + UserArn?: string; /** - *The ARN of a user.
+ *The first name of a user.
*/ - UserArn?: string; + FirstName?: string; } export namespace UserData { @@ -4922,14 +4921,14 @@ export namespace Audio { */ export interface Ssml { /** - *The value of the SSML message in the correct SSML format. The audio tag is not supported.
+ *The locale of the SSML message. Currently, en-US is supported.
*/ - Value: string | undefined; + Locale: Locale | string | undefined; /** - *The locale of the SSML message. Currently, en-US is supported.
+ *The value of the SSML message in the correct SSML format. The audio tag is not supported.
*/ - Locale: Locale | string | undefined; + Value: string | undefined; } export namespace Ssml { @@ -4943,14 +4942,14 @@ export namespace Ssml { */ export interface Text { /** - *The value of the text message.
+ *The locale of the text message. Currently, en-US is supported.
*/ - Value: string | undefined; + Locale: Locale | string | undefined; /** - *The locale of the text message. Currently, en-US is supported.
+ *The value of the text message.
*/ - Locale: Locale | string | undefined; + Value: string | undefined; } export namespace Text { @@ -4988,25 +4987,25 @@ export namespace Content { export interface SendAnnouncementRequest { /** - *The time to live for an announcement. Default is 300. If delivery doesn't occur within this time, the - * announcement is not delivered.
+ *The unique, user-specified identifier for the request that ensures idempotency.
*/ - TimeToLiveInSeconds?: number; + ClientRequestToken?: string; /** - *The announcement content. This can contain only one of the three possible announcement types (text, SSML or audio).
+ *The filters to use to send an announcement to a specified list of rooms. The supported filter keys are RoomName, ProfileName, RoomArn, and ProfileArn. To send to all rooms, specify an empty RoomFilters list.
*/ - Content: Content | undefined; + RoomFilters: Filter[] | undefined; /** - *The unique, user-specified identifier for the request that ensures idempotency.
+ *The time to live for an announcement. Default is 300. If delivery doesn't occur within this time, the + * announcement is not delivered.
*/ - ClientRequestToken?: string; + TimeToLiveInSeconds?: number; /** - *The filters to use to send an announcement to a specified list of rooms. The supported filter keys are RoomName, ProfileName, RoomArn, and ProfileArn. To send to all rooms, specify an empty RoomFilters list.
+ *The announcement content. This can contain only one of the three possible announcement types (text, SSML or audio).
*/ - RoomFilters: Filter[] | undefined; + Content: Content | undefined; } export namespace SendAnnouncementRequest { @@ -5065,6 +5064,11 @@ export namespace SendInvitationResponse { } export interface StartDeviceSyncRequest { + /** + *Request structure to start the device sync. Required.
+ */ + Features: (Feature | string)[] | undefined; + /** *The ARN of the room with which the device to sync is associated. Required.
*/ @@ -5074,11 +5078,6 @@ export interface StartDeviceSyncRequest { *The ARN of the device to sync. Required.
*/ DeviceArn?: string; - - /** - *Request structure to start the device sync. Required.
- */ - Features: (Feature | string)[] | undefined; } export namespace StartDeviceSyncRequest { @@ -5117,16 +5116,16 @@ export namespace StartSmartHomeApplianceDiscoveryResponse { } export interface TagResourceRequest { - /** - *The ARN of the resource to which to add metadata tags. Required.
- */ - Arn: string | undefined; - /** *The tags to be added to the specified resource. Do not provide system tags. Required. *
*/ Tags: Tag[] | undefined; + + /** + *The ARN of the resource to which to add metadata tags. Required.
+ */ + Arn: string | undefined; } export namespace TagResourceRequest { @@ -5145,15 +5144,15 @@ export namespace TagResourceResponse { export interface UntagResourceRequest { /** - *The tags to be removed from the specified resource. Do not provide system tags. - * Required.
+ *The ARN of the resource from which to remove metadata tags. Required.
*/ - TagKeys: string[] | undefined; + Arn: string | undefined; /** - *The ARN of the resource from which to remove metadata tags. Required.
+ *The tags to be removed from the specified resource. Do not provide system tags. + * Required.
*/ - Arn: string | undefined; + TagKeys: string[] | undefined; } export namespace UntagResourceRequest { @@ -5192,14 +5191,14 @@ export interface UpdateAddressBookRequest { Name?: string; /** - *The updated description of the room.
+ *The ARN of the room to update.
*/ - Description?: string; + AddressBookArn: string | undefined; /** - *The ARN of the room to update.
+ *The updated description of the room.
*/ - AddressBookArn: string | undefined; + Description?: string; } export namespace UpdateAddressBookRequest { @@ -5218,20 +5217,20 @@ export namespace UpdateAddressBookResponse { export interface UpdateBusinessReportScheduleRequest { /** - *The ARN of the business report schedule.
+ *The format of the generated report (individual CSV files or zipped files of + * individual files).
*/ - ScheduleArn: string | undefined; + Format?: BusinessReportFormat | string; /** - *The recurrence of the reports.
+ *The name identifier of the schedule.
*/ - Recurrence?: BusinessReportRecurrence; + ScheduleName?: string; /** - *The format of the generated report (individual CSV files or zipped files of - * individual files).
+ *The ARN of the business report schedule.
*/ - Format?: BusinessReportFormat | string; + ScheduleArn: string | undefined; /** *The S3 key where the report is delivered.
@@ -5239,14 +5238,14 @@ export interface UpdateBusinessReportScheduleRequest { S3KeyPrefix?: string; /** - *The S3 location of the output reports.
+ *The recurrence of the reports.
*/ - S3BucketName?: string; + Recurrence?: BusinessReportRecurrence; /** - *The name identifier of the schedule.
+ *The S3 location of the output reports.
*/ - ScheduleName?: string; + S3BucketName?: string; } export namespace UpdateBusinessReportScheduleRequest { @@ -5265,14 +5264,19 @@ export namespace UpdateBusinessReportScheduleResponse { export interface UpdateConferenceProviderRequest { /** - *The ARN of the conference provider.
+ *The IP endpoint and protocol for calling.
*/ - ConferenceProviderArn: string | undefined; + IPDialIn?: IPDialIn; /** - *The IP endpoint and protocol for calling.
+ *The information for PSTN conferencing.
*/ - IPDialIn?: IPDialIn; + PSTNDialIn?: PSTNDialIn; + + /** + *The ARN of the conference provider.
+ */ + ConferenceProviderArn: string | undefined; /** *The meeting settings for the conference provider.
@@ -5283,11 +5287,6 @@ export interface UpdateConferenceProviderRequest { *The type of the conference provider.
*/ ConferenceProviderType: ConferenceProviderType | string | undefined; - - /** - *The information for PSTN conferencing.
- */ - PSTNDialIn?: PSTNDialIn; } export namespace UpdateConferenceProviderRequest { @@ -5306,24 +5305,14 @@ export namespace UpdateConferenceProviderResponse { export interface UpdateContactRequest { /** - *The list of SIP addresses for the contact.
- */ - SipAddresses?: SipAddress[]; - - /** - *The updated first name of the contact.
- */ - FirstName?: string; - - /** - *The list of phone numbers for the contact.
+ *The ARN of the contact to update.
*/ - PhoneNumbers?: PhoneNumber[]; + ContactArn: string | undefined; /** - *The updated last name of the contact.
+ *The list of SIP addresses for the contact.
*/ - LastName?: string; + SipAddresses?: SipAddress[]; /** *The updated display name of the contact.
@@ -5338,17 +5327,27 @@ export interface UpdateContactRequest { PhoneNumber?: string; /** - *The ARN of the contact to update.
+ *The updated first name of the contact.
*/ - ContactArn: string | undefined; + FirstName?: string; + + /** + *The updated last name of the contact.
+ */ + LastName?: string; + + /** + *The list of phone numbers for the contact.
+ */ + PhoneNumbers?: PhoneNumber[]; } export namespace UpdateContactRequest { export const filterSensitiveLog = (obj: UpdateContactRequest): any => ({ ...obj, ...(obj.SipAddresses && { SipAddresses: obj.SipAddresses.map((item) => SipAddress.filterSensitiveLog(item)) }), - ...(obj.PhoneNumbers && { PhoneNumbers: obj.PhoneNumbers.map((item) => PhoneNumber.filterSensitiveLog(item)) }), ...(obj.PhoneNumber && { PhoneNumber: SENSITIVE_STRING }), + ...(obj.PhoneNumbers && { PhoneNumbers: obj.PhoneNumbers.map((item) => PhoneNumber.filterSensitiveLog(item)) }), }); } @@ -5388,9 +5387,9 @@ export namespace UpdateDeviceResponse { export interface UpdateGatewayRequest { /** - *The ARN of the gateway to update.
+ *The updated description of the gateway.
*/ - GatewayArn: string | undefined; + Description?: string; /** *The updated software version of the gateway. The gateway automatically updates its @@ -5404,9 +5403,9 @@ export interface UpdateGatewayRequest { Name?: string; /** - *
The updated description of the gateway.
+ *The ARN of the gateway to update.
*/ - Description?: string; + GatewayArn: string | undefined; } export namespace UpdateGatewayRequest { @@ -5425,9 +5424,9 @@ export namespace UpdateGatewayResponse { export interface UpdateGatewayGroupRequest { /** - *The ARN of the gateway group to update.
+ *The updated description of the gateway group.
*/ - GatewayGroupArn: string | undefined; + Description?: string; /** *The updated name of the gateway group.
@@ -5435,9 +5434,9 @@ export interface UpdateGatewayGroupRequest { Name?: string; /** - *The updated description of the gateway group.
+ *The ARN of the gateway group to update.
*/ - Description?: string; + GatewayGroupArn: string | undefined; } export namespace UpdateGatewayGroupRequest { @@ -5455,6 +5454,17 @@ export namespace UpdateGatewayGroupResponse { } export interface UpdateNetworkProfileRequest { + /** + *The ARN of the Private Certificate Authority (PCA) created in AWS Certificate Manager + * (ACM). This is used to issue certificates to the devices.
+ */ + CertificateAuthorityArn?: string; + + /** + *The current password of the Wi-Fi network.
+ */ + CurrentPassword?: string; + /** *The root certificate(s) of your authentication server that will be installed on your * devices and used to trust your authentication server during EAP negotiation.
@@ -5468,38 +5478,27 @@ export interface UpdateNetworkProfileRequest { */ NextPassword?: string; - /** - *Detailed information about a device's network profile.
- */ - Description?: string; - - /** - *The name of the network profile associated with a device.
- */ - NetworkProfileName?: string; - /** *The ARN of the network profile associated with a device.
*/ NetworkProfileArn: string | undefined; /** - *The ARN of the Private Certificate Authority (PCA) created in AWS Certificate Manager - * (ACM). This is used to issue certificates to the devices.
+ *Detailed information about a device's network profile.
*/ - CertificateAuthorityArn?: string; + Description?: string; /** - *The current password of the Wi-Fi network.
+ *The name of the network profile associated with a device.
*/ - CurrentPassword?: string; + NetworkProfileName?: string; } export namespace UpdateNetworkProfileRequest { export const filterSensitiveLog = (obj: UpdateNetworkProfileRequest): any => ({ ...obj, - ...(obj.NextPassword && { NextPassword: SENSITIVE_STRING }), ...(obj.CurrentPassword && { CurrentPassword: SENSITIVE_STRING }), + ...(obj.NextPassword && { NextPassword: SENSITIVE_STRING }), }); } @@ -5517,11 +5516,9 @@ export namespace UpdateNetworkProfileResponse { */ export interface UpdateEndOfMeetingReminder { /** - *Updates settings for the end of meeting reminder feature that are applied to a room - * profile. The end of meeting reminder enables Alexa to remind users when a meeting is - * ending.
+ *Whether an end of meeting reminder is enabled or not.
*/ - ReminderAtMinutes?: number[]; + Enabled?: boolean; /** *The type of sound that users hear during the end of meeting reminder.
@@ -5529,9 +5526,11 @@ export interface UpdateEndOfMeetingReminder { ReminderType?: EndOfMeetingReminderType | string; /** - *Whether an end of meeting reminder is enabled or not.
+ *Updates settings for the end of meeting reminder feature that are applied to a room + * profile. The end of meeting reminder enables Alexa to remind users when a meeting is + * ending.
*/ - Enabled?: boolean; + ReminderAtMinutes?: number[]; } export namespace UpdateEndOfMeetingReminder { @@ -5569,14 +5568,14 @@ export namespace UpdateInstantBooking { */ export interface UpdateRequireCheckIn { /** - *Duration between 5 and 20 minutes to determine when to release the room if it's not checked into.
+ *Whether require check in is enabled or not.
*/ - ReleaseAfterMinutes?: number; + Enabled?: boolean; /** - *Whether require check in is enabled or not.
+ *Duration between 5 and 20 minutes to determine when to release the room if it's not checked into.
*/ - Enabled?: boolean; + ReleaseAfterMinutes?: number; } export namespace UpdateRequireCheckIn { @@ -5590,26 +5589,26 @@ export namespace UpdateRequireCheckIn { */ export interface UpdateMeetingRoomConfiguration { /** - *Settings for the end of meeting reminder feature that are applied to a room profile. The - * end of meeting reminder enables Alexa to remind users when a meeting is ending.
+ *Whether room utilization metrics are enabled or not.
*/ - EndOfMeetingReminder?: UpdateEndOfMeetingReminder; + RoomUtilizationMetricsEnabled?: boolean; /** - *Settings for requiring a check in when a room is reserved. Alexa can cancel a room reservation if it's not checked into to make the room available for others. Users can check in by joining the meeting with Alexa or an AVS device, or by saying “Alexa, check in.”
+ *Settings to automatically book an available room available for a configured duration + * when joining a meeting with Alexa.
*/ - RequireCheckIn?: UpdateRequireCheckIn; + InstantBooking?: UpdateInstantBooking; /** - *Whether room utilization metrics are enabled or not.
+ *Settings for requiring a check in when a room is reserved. Alexa can cancel a room reservation if it's not checked into to make the room available for others. Users can check in by joining the meeting with Alexa or an AVS device, or by saying “Alexa, check in.”
*/ - RoomUtilizationMetricsEnabled?: boolean; + RequireCheckIn?: UpdateRequireCheckIn; /** - *Settings to automatically book an available room available for a configured duration - * when joining a meeting with Alexa.
+ *Settings for the end of meeting reminder feature that are applied to a room profile. The + * end of meeting reminder enables Alexa to remind users when a meeting is ending.
*/ - InstantBooking?: UpdateInstantBooking; + EndOfMeetingReminder?: UpdateEndOfMeetingReminder; } export namespace UpdateMeetingRoomConfiguration { @@ -5620,19 +5619,24 @@ export namespace UpdateMeetingRoomConfiguration { export interface UpdateProfileRequest { /** - *The updated name for the room profile.
+ *The updated timezone for the room profile.
*/ - ProfileName?: string; + Timezone?: string; /** - *The updated distance unit for the room profile.
+ *The updated meeting room settings of a room profile.
*/ - DistanceUnit?: DistanceUnit | string; + MeetingRoomConfiguration?: UpdateMeetingRoomConfiguration; /** - *The updated temperature unit for the room profile.
+ *The updated name for the room profile.
*/ - TemperatureUnit?: TemperatureUnit | string; + ProfileName?: string; + + /** + *The updated maximum volume limit for the room profile.
+ */ + MaxVolumeLimit?: number; /** *The updated locale for the room profile. (This is currently only available to a limited preview audience.)
@@ -5640,20 +5644,19 @@ export interface UpdateProfileRequest { Locale?: string; /** - *The updated meeting room settings of a room profile.
+ *Whether the setup mode of the profile is enabled.
*/ - MeetingRoomConfiguration?: UpdateMeetingRoomConfiguration; + SetupModeDisabled?: boolean; /** - *The updated timezone for the room profile.
+ *The updated wake word for the room profile.
*/ - Timezone?: string; + WakeWord?: WakeWord | string; /** - *Sets the profile as default if selected. If this is missing, no update is done to the - * default status.
+ *The updated temperature unit for the room profile.
*/ - IsDefault?: boolean; + TemperatureUnit?: TemperatureUnit | string; /** *The ARN of the room profile to update. Required.
@@ -5661,14 +5664,15 @@ export interface UpdateProfileRequest { ProfileArn?: string; /** - *The updated maximum volume limit for the room profile.
+ *Sets the profile as default if selected. If this is missing, no update is done to the + * default status.
*/ - MaxVolumeLimit?: number; + IsDefault?: boolean; /** - *The updated address for the room profile.
+ *The updated distance unit for the room profile.
*/ - Address?: string; + DistanceUnit?: DistanceUnit | string; /** *Whether the PSTN setting of the room profile is enabled.
@@ -5676,14 +5680,9 @@ export interface UpdateProfileRequest { PSTNEnabled?: boolean; /** - *The updated wake word for the room profile.
- */ - WakeWord?: WakeWord | string; - - /** - *Whether the setup mode of the profile is enabled.
+ *The updated address for the room profile.
*/ - SetupModeDisabled?: boolean; + Address?: string; } export namespace UpdateProfileRequest { @@ -5711,11 +5710,6 @@ export interface UpdateRoomRequest { */ ProfileArn?: string; - /** - *The ARN of the room to update.
- */ - RoomArn?: string; - /** *The updated provider calendar ARN for the room.
*/ @@ -5725,6 +5719,11 @@ export interface UpdateRoomRequest { *The updated name for the room.
*/ RoomName?: string; + + /** + *The ARN of the room to update.
+ */ + RoomArn?: string; } export namespace UpdateRoomRequest { @@ -5743,9 +5742,9 @@ export namespace UpdateRoomResponse { export interface UpdateSkillGroupRequest { /** - *The updated name for the skill group.
+ *The updated description for the skill group.
*/ - SkillGroupName?: string; + Description?: string; /** *The ARN of the skill group to update.
@@ -5753,9 +5752,9 @@ export interface UpdateSkillGroupRequest { SkillGroupArn?: string; /** - *The updated description for the skill group.
+ *The updated name for the skill group.
*/ - Description?: string; + SkillGroupName?: string; } export namespace UpdateSkillGroupRequest { diff --git a/clients/client-alexa-for-business/pagination/ListBusinessReportSchedulesPaginator.ts b/clients/client-alexa-for-business/pagination/ListBusinessReportSchedulesPaginator.ts index b2b0078cffb2..ca00bb149ef3 100644 --- a/clients/client-alexa-for-business/pagination/ListBusinessReportSchedulesPaginator.ts +++ b/clients/client-alexa-for-business/pagination/ListBusinessReportSchedulesPaginator.ts @@ -33,7 +33,7 @@ export async function* listBusinessReportSchedulesPaginate( let hasNext = true; let page: ListBusinessReportSchedulesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof AlexaForBusiness) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listBusinessReportSchedulesPaginate( throw new Error("Invalid client, expected AlexaForBusiness | AlexaForBusinessClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-alexa-for-business/pagination/ListConferenceProvidersPaginator.ts b/clients/client-alexa-for-business/pagination/ListConferenceProvidersPaginator.ts index 6b549fbfc35a..f7bff7ed1796 100644 --- a/clients/client-alexa-for-business/pagination/ListConferenceProvidersPaginator.ts +++ b/clients/client-alexa-for-business/pagination/ListConferenceProvidersPaginator.ts @@ -33,7 +33,7 @@ export async function* listConferenceProvidersPaginate( let hasNext = true; let page: ListConferenceProvidersCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof AlexaForBusiness) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listConferenceProvidersPaginate( throw new Error("Invalid client, expected AlexaForBusiness | AlexaForBusinessClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-alexa-for-business/pagination/ListDeviceEventsPaginator.ts b/clients/client-alexa-for-business/pagination/ListDeviceEventsPaginator.ts index 69b4651a8da5..1faefaa556f6 100644 --- a/clients/client-alexa-for-business/pagination/ListDeviceEventsPaginator.ts +++ b/clients/client-alexa-for-business/pagination/ListDeviceEventsPaginator.ts @@ -33,7 +33,7 @@ export async function* listDeviceEventsPaginate( let hasNext = true; let page: ListDeviceEventsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof AlexaForBusiness) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listDeviceEventsPaginate( throw new Error("Invalid client, expected AlexaForBusiness | AlexaForBusinessClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-alexa-for-business/pagination/ListGatewayGroupsPaginator.ts b/clients/client-alexa-for-business/pagination/ListGatewayGroupsPaginator.ts index 84f8b5803704..79633f8168e4 100644 --- a/clients/client-alexa-for-business/pagination/ListGatewayGroupsPaginator.ts +++ b/clients/client-alexa-for-business/pagination/ListGatewayGroupsPaginator.ts @@ -33,7 +33,7 @@ export async function* listGatewayGroupsPaginate( let hasNext = true; let page: ListGatewayGroupsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof AlexaForBusiness) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listGatewayGroupsPaginate( throw new Error("Invalid client, expected AlexaForBusiness | AlexaForBusinessClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-alexa-for-business/pagination/ListGatewaysPaginator.ts b/clients/client-alexa-for-business/pagination/ListGatewaysPaginator.ts index 1797267d934c..5bbc950203df 100644 --- a/clients/client-alexa-for-business/pagination/ListGatewaysPaginator.ts +++ b/clients/client-alexa-for-business/pagination/ListGatewaysPaginator.ts @@ -33,7 +33,7 @@ export async function* listGatewaysPaginate( let hasNext = true; let page: ListGatewaysCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof AlexaForBusiness) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listGatewaysPaginate( throw new Error("Invalid client, expected AlexaForBusiness | AlexaForBusinessClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-alexa-for-business/pagination/ListSkillsPaginator.ts b/clients/client-alexa-for-business/pagination/ListSkillsPaginator.ts index ed1ce7533b53..edb93c3910cb 100644 --- a/clients/client-alexa-for-business/pagination/ListSkillsPaginator.ts +++ b/clients/client-alexa-for-business/pagination/ListSkillsPaginator.ts @@ -29,7 +29,7 @@ export async function* listSkillsPaginate( let hasNext = true; let page: ListSkillsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof AlexaForBusiness) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listSkillsPaginate( throw new Error("Invalid client, expected AlexaForBusiness | AlexaForBusinessClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-alexa-for-business/pagination/ListSkillsStoreCategoriesPaginator.ts b/clients/client-alexa-for-business/pagination/ListSkillsStoreCategoriesPaginator.ts index e5b9372fdb04..245ed9ab407d 100644 --- a/clients/client-alexa-for-business/pagination/ListSkillsStoreCategoriesPaginator.ts +++ b/clients/client-alexa-for-business/pagination/ListSkillsStoreCategoriesPaginator.ts @@ -33,7 +33,7 @@ export async function* listSkillsStoreCategoriesPaginate( let hasNext = true; let page: ListSkillsStoreCategoriesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof AlexaForBusiness) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listSkillsStoreCategoriesPaginate( throw new Error("Invalid client, expected AlexaForBusiness | AlexaForBusinessClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-alexa-for-business/pagination/ListSkillsStoreSkillsByCategoryPaginator.ts b/clients/client-alexa-for-business/pagination/ListSkillsStoreSkillsByCategoryPaginator.ts index 5c2ebb4bb4db..5121e956b9a2 100644 --- a/clients/client-alexa-for-business/pagination/ListSkillsStoreSkillsByCategoryPaginator.ts +++ b/clients/client-alexa-for-business/pagination/ListSkillsStoreSkillsByCategoryPaginator.ts @@ -33,7 +33,7 @@ export async function* listSkillsStoreSkillsByCategoryPaginate( let hasNext = true; let page: ListSkillsStoreSkillsByCategoryCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof AlexaForBusiness) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listSkillsStoreSkillsByCategoryPaginate( throw new Error("Invalid client, expected AlexaForBusiness | AlexaForBusinessClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-alexa-for-business/pagination/ListSmartHomeAppliancesPaginator.ts b/clients/client-alexa-for-business/pagination/ListSmartHomeAppliancesPaginator.ts index 265ebc5e7705..77c6183776bb 100644 --- a/clients/client-alexa-for-business/pagination/ListSmartHomeAppliancesPaginator.ts +++ b/clients/client-alexa-for-business/pagination/ListSmartHomeAppliancesPaginator.ts @@ -33,7 +33,7 @@ export async function* listSmartHomeAppliancesPaginate( let hasNext = true; let page: ListSmartHomeAppliancesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof AlexaForBusiness) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listSmartHomeAppliancesPaginate( throw new Error("Invalid client, expected AlexaForBusiness | AlexaForBusinessClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-alexa-for-business/pagination/ListTagsPaginator.ts b/clients/client-alexa-for-business/pagination/ListTagsPaginator.ts index e9ce149c4481..bc61d18f3542 100644 --- a/clients/client-alexa-for-business/pagination/ListTagsPaginator.ts +++ b/clients/client-alexa-for-business/pagination/ListTagsPaginator.ts @@ -29,7 +29,7 @@ export async function* listTagsPaginate( let hasNext = true; let page: ListTagsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof AlexaForBusiness) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* listTagsPaginate( throw new Error("Invalid client, expected AlexaForBusiness | AlexaForBusinessClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-alexa-for-business/pagination/SearchAddressBooksPaginator.ts b/clients/client-alexa-for-business/pagination/SearchAddressBooksPaginator.ts index bec747c92889..ec851912391c 100644 --- a/clients/client-alexa-for-business/pagination/SearchAddressBooksPaginator.ts +++ b/clients/client-alexa-for-business/pagination/SearchAddressBooksPaginator.ts @@ -33,7 +33,7 @@ export async function* searchAddressBooksPaginate( let hasNext = true; let page: SearchAddressBooksCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof AlexaForBusiness) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* searchAddressBooksPaginate( throw new Error("Invalid client, expected AlexaForBusiness | AlexaForBusinessClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-alexa-for-business/pagination/SearchContactsPaginator.ts b/clients/client-alexa-for-business/pagination/SearchContactsPaginator.ts index 4ad14d528eaa..f1705ebe74c9 100644 --- a/clients/client-alexa-for-business/pagination/SearchContactsPaginator.ts +++ b/clients/client-alexa-for-business/pagination/SearchContactsPaginator.ts @@ -33,7 +33,7 @@ export async function* searchContactsPaginate( let hasNext = true; let page: SearchContactsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof AlexaForBusiness) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* searchContactsPaginate( throw new Error("Invalid client, expected AlexaForBusiness | AlexaForBusinessClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-alexa-for-business/pagination/SearchDevicesPaginator.ts b/clients/client-alexa-for-business/pagination/SearchDevicesPaginator.ts index 479a84f9384f..f46fc7df97e3 100644 --- a/clients/client-alexa-for-business/pagination/SearchDevicesPaginator.ts +++ b/clients/client-alexa-for-business/pagination/SearchDevicesPaginator.ts @@ -33,7 +33,7 @@ export async function* searchDevicesPaginate( let hasNext = true; let page: SearchDevicesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof AlexaForBusiness) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* searchDevicesPaginate( throw new Error("Invalid client, expected AlexaForBusiness | AlexaForBusinessClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-alexa-for-business/pagination/SearchNetworkProfilesPaginator.ts b/clients/client-alexa-for-business/pagination/SearchNetworkProfilesPaginator.ts index dfc4972d92db..977ceac40e3b 100644 --- a/clients/client-alexa-for-business/pagination/SearchNetworkProfilesPaginator.ts +++ b/clients/client-alexa-for-business/pagination/SearchNetworkProfilesPaginator.ts @@ -33,7 +33,7 @@ export async function* searchNetworkProfilesPaginate( let hasNext = true; let page: SearchNetworkProfilesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof AlexaForBusiness) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* searchNetworkProfilesPaginate( throw new Error("Invalid client, expected AlexaForBusiness | AlexaForBusinessClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-alexa-for-business/pagination/SearchProfilesPaginator.ts b/clients/client-alexa-for-business/pagination/SearchProfilesPaginator.ts index 4be00e7d94f0..d98d6acca0cd 100644 --- a/clients/client-alexa-for-business/pagination/SearchProfilesPaginator.ts +++ b/clients/client-alexa-for-business/pagination/SearchProfilesPaginator.ts @@ -33,7 +33,7 @@ export async function* searchProfilesPaginate( let hasNext = true; let page: SearchProfilesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof AlexaForBusiness) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* searchProfilesPaginate( throw new Error("Invalid client, expected AlexaForBusiness | AlexaForBusinessClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-alexa-for-business/pagination/SearchRoomsPaginator.ts b/clients/client-alexa-for-business/pagination/SearchRoomsPaginator.ts index c4a84a08bd76..fa98254193c1 100644 --- a/clients/client-alexa-for-business/pagination/SearchRoomsPaginator.ts +++ b/clients/client-alexa-for-business/pagination/SearchRoomsPaginator.ts @@ -29,7 +29,7 @@ export async function* searchRoomsPaginate( let hasNext = true; let page: SearchRoomsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof AlexaForBusiness) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* searchRoomsPaginate( throw new Error("Invalid client, expected AlexaForBusiness | AlexaForBusinessClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-alexa-for-business/pagination/SearchSkillGroupsPaginator.ts b/clients/client-alexa-for-business/pagination/SearchSkillGroupsPaginator.ts index dbfe4f85e132..83a511725b22 100644 --- a/clients/client-alexa-for-business/pagination/SearchSkillGroupsPaginator.ts +++ b/clients/client-alexa-for-business/pagination/SearchSkillGroupsPaginator.ts @@ -33,7 +33,7 @@ export async function* searchSkillGroupsPaginate( let hasNext = true; let page: SearchSkillGroupsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof AlexaForBusiness) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* searchSkillGroupsPaginate( throw new Error("Invalid client, expected AlexaForBusiness | AlexaForBusinessClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-alexa-for-business/pagination/SearchUsersPaginator.ts b/clients/client-alexa-for-business/pagination/SearchUsersPaginator.ts index 8b135db32bce..ba1bcfc1cdc6 100644 --- a/clients/client-alexa-for-business/pagination/SearchUsersPaginator.ts +++ b/clients/client-alexa-for-business/pagination/SearchUsersPaginator.ts @@ -29,7 +29,7 @@ export async function* searchUsersPaginate( let hasNext = true; let page: SearchUsersCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof AlexaForBusiness) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -39,7 +39,7 @@ export async function* searchUsersPaginate( throw new Error("Invalid client, expected AlexaForBusiness | AlexaForBusinessClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-amplify/models/models_0.ts b/clients/client-amplify/models/models_0.ts index 5e5e262d2852..e3eceb8564b9 100644 --- a/clients/client-amplify/models/models_0.ts +++ b/clients/client-amplify/models/models_0.ts @@ -29,14 +29,14 @@ export enum Stage { */ export interface AutoBranchCreationConfig { /** - *The Amplify environment name for the pull request.
+ *The environment variables for the autocreated branch.
*/ - pullRequestEnvironmentName?: string; + environmentVariables?: { [key: string]: string }; /** - *Enables basic authorization for the autocreated branch.
+ *Enables auto building for the autocreated branch.
*/ - enableBasicAuth?: boolean; + enableAutoBuild?: boolean; /** *The framework for the autocreated branch.
@@ -44,34 +44,39 @@ export interface AutoBranchCreationConfig { framework?: string; /** - *Enables pull request preview for the autocreated branch.
+ *The basic authorization credentials for the autocreated branch.
*/ - enablePullRequestPreview?: boolean; + basicAuthCredentials?: string; /** - *The environment variables for the autocreated branch.
+ *Describes the current stage for the autocreated branch.
*/ - environmentVariables?: { [key: string]: string }; + stage?: Stage | string; /** - *Enables auto building for the autocreated branch.
+ *The build specification (build spec) for the autocreated branch.
*/ - enableAutoBuild?: boolean; + buildSpec?: string; /** - *Describes the current stage for the autocreated branch.
+ *Performance mode optimizes for faster hosting performance by keeping content cached at the edge for a longer interval. Enabling performance mode will mean that hosting configuration or code changes can take up to 10 minutes to roll out.
*/ - stage?: Stage | string; + enablePerformanceMode?: boolean; /** - *The basic authorization credentials for the autocreated branch.
+ *Enables pull request preview for the autocreated branch.
*/ - basicAuthCredentials?: string; + enablePullRequestPreview?: boolean; /** - *The build specification (build spec) for the autocreated branch.
+ *The Amplify environment name for the pull request.
*/ - buildSpec?: string; + pullRequestEnvironmentName?: string; + + /** + *Enables basic authorization for the autocreated branch.
+ */ + enableBasicAuth?: boolean; } export namespace AutoBranchCreationConfig { @@ -86,9 +91,9 @@ export namespace AutoBranchCreationConfig { */ export interface CustomRule { /** - *The source pattern for a URL rewrite or redirect rule.
+ *The target pattern for a URL rewrite or redirect rule.
*/ - source: string | undefined; + target: string | undefined; /** *The condition for a URL rewrite or redirect rule, such as a country code.
@@ -97,13 +102,36 @@ export interface CustomRule { /** *The status code for a URL rewrite or redirect rule.
+ * + *Represents a 200 rewrite rule.
+ *Represents a 301 (moved pemanently) redirect rule. This and all future requests should be directed to the target URL.
+ *Represents a 302 temporary redirect rule.
+ *Represents a 404 redirect rule.
+ *Represents a 404 rewrite rule.
+ *The target pattern for a URL rewrite or redirect rule.
+ *The source pattern for a URL rewrite or redirect rule.
*/ - target: string | undefined; + source: string | undefined; } export namespace CustomRule { @@ -121,35 +149,25 @@ export enum Platform { */ export interface CreateAppRequest { /** - *The tag for an Amplify app.
- */ - tags?: { [key: string]: string }; - - /** - *The repository for an Amplify app.
- */ - repository?: string; - - /** - *Enables the auto building of branches for an Amplify app.
+ *Enables automated branch creation for the Amplify app.
*/ - enableBranchAutoBuild?: boolean; + enableAutoBranchCreation?: boolean; /** - *Automatically disconnects a branch in the Amplify Console when you delete a branch - * from your Git repository.
+ *Enables basic authorization for an Amplify app. This will apply to all branches that + * are part of this app.
*/ - enableBranchAutoDeletion?: boolean; + enableBasicAuth?: boolean; /** - *The credentials for basic authorization for an Amplify app.
+ *The description for an Amplify app.
*/ - basicAuthCredentials?: string; + description?: string; /** - *The description for an Amplify app.
+ *The platform or framework for an Amplify app.
*/ - description?: string; + platform?: Platform | string; /** *The personal access token for a third-party source control system for an Amplify app. @@ -159,19 +177,19 @@ export interface CreateAppRequest { accessToken?: string; /** - *
The build specification (build spec) for an Amplify app.
+ *The repository for an Amplify app.
*/ - buildSpec?: string; + repository?: string; /** - *Enables automated branch creation for the Amplify app.
+ *Enables the auto building of branches for an Amplify app.
*/ - enableAutoBranchCreation?: boolean; + enableBranchAutoBuild?: boolean; /** - *The AWS Identity and Access Management (IAM) service role for an Amplify app.
+ *The tag for an Amplify app.
*/ - iamServiceRoleArn?: string; + tags?: { [key: string]: string }; /** *The OAuth token for a third-party source control system for an Amplify app. The OAuth @@ -186,25 +204,24 @@ export interface CreateAppRequest { autoBranchCreationPatterns?: string[]; /** - *
The environment variables map for an Amplify app.
+ *The custom rewrite and redirect rules for an Amplify app.
*/ - environmentVariables?: { [key: string]: string }; + customRules?: CustomRule[]; /** - *Enables basic authorization for an Amplify app. This will apply to all branches that - * are part of this app.
+ *The environment variables map for an Amplify app.
*/ - enableBasicAuth?: boolean; + environmentVariables?: { [key: string]: string }; /** - *The name for the Amplify app.
+ *The AWS Identity and Access Management (IAM) service role for an Amplify app.
*/ - name: string | undefined; + iamServiceRoleArn?: string; /** - *The platform or framework for an Amplify app.
+ *The build specification (build spec) for an Amplify app.
*/ - platform?: Platform | string; + buildSpec?: string; /** *The automated branch creation configuration for the Amplify app.
@@ -212,20 +229,31 @@ export interface CreateAppRequest { autoBranchCreationConfig?: AutoBranchCreationConfig; /** - *The custom rewrite and redirect rules for an Amplify app.
+ *The credentials for basic authorization for an Amplify app.
*/ - customRules?: CustomRule[]; + basicAuthCredentials?: string; + + /** + *The name for the Amplify app.
+ */ + name: string | undefined; + + /** + *Automatically disconnects a branch in the Amplify Console when you delete a branch + * from your Git repository.
+ */ + enableBranchAutoDeletion?: boolean; } export namespace CreateAppRequest { export const filterSensitiveLog = (obj: CreateAppRequest): any => ({ ...obj, - ...(obj.basicAuthCredentials && { basicAuthCredentials: SENSITIVE_STRING }), ...(obj.accessToken && { accessToken: SENSITIVE_STRING }), ...(obj.oauthToken && { oauthToken: SENSITIVE_STRING }), ...(obj.autoBranchCreationConfig && { autoBranchCreationConfig: AutoBranchCreationConfig.filterSensitiveLog(obj.autoBranchCreationConfig), }), + ...(obj.basicAuthCredentials && { basicAuthCredentials: SENSITIVE_STRING }), }); } @@ -234,24 +262,24 @@ export namespace CreateAppRequest { */ export interface ProductionBranch { /** - *The thumbnail URL for the production branch.
+ *The branch name for the production branch.
*/ - thumbnailUrl?: string; + branchName?: string; /** - *The status of the production branch.
+ *The last deploy time of the production branch.
*/ - status?: string; + lastDeployTime?: Date; /** - *The last deploy time of the production branch.
+ *The status of the production branch.
*/ - lastDeployTime?: Date; + status?: string; /** - *The branch name for the production branch.
+ *The thumbnail URL for the production branch.
*/ - branchName?: string; + thumbnailUrl?: string; } export namespace ProductionBranch { @@ -266,19 +294,19 @@ export namespace ProductionBranch { */ export interface App { /** - *The platform for the Amplify app.
+ *The unique ID of the Amplify app.
*/ - platform: Platform | string | undefined; + appId: string | undefined; /** - *Enables basic authorization for the Amplify app's branches.
+ *Describes the automated branch creation glob patterns for the Amplify app.
*/ - enableBasicAuth: boolean | undefined; + autoBranchCreationPatterns?: string[]; /** - *The name for the Amplify app.
+ *Describes the custom redirect and rewrite rules for the Amplify app.
*/ - name: string | undefined; + customRules?: CustomRule[]; /** *The environment variables for the Amplify app.
@@ -286,56 +314,55 @@ export interface App { environmentVariables: { [key: string]: string } | undefined; /** - *Describes the automated branch creation glob patterns for the Amplify app.
+ *Describes the automated branch creation configuration for the Amplify app.
*/ - autoBranchCreationPatterns?: string[]; + autoBranchCreationConfig?: AutoBranchCreationConfig; /** - *Updates the date and time for the Amplify app.
+ *The AWS Identity and Access Management (IAM) service role for the Amazon Resource + * Name (ARN) of the Amplify app.
*/ - updateTime: Date | undefined; + iamServiceRoleArn?: string; /** - *The Amazon Resource Name (ARN) of the Amplify app.
+ *Enables automated branch creation for the Amplify app.
*/ - appArn: string | undefined; + enableAutoBranchCreation?: boolean; /** - *Describes the content of the build specification (build spec) for the Amplify app. - *
+ *The default domain for the Amplify app.
*/ - buildSpec?: string; + defaultDomain: string | undefined; /** - *The default domain for the Amplify app.
+ *Enables basic authorization for the Amplify app's branches.
*/ - defaultDomain: string | undefined; + enableBasicAuth: boolean | undefined; /** - *Creates a date and time for the Amplify app.
+ *Enables the auto-building of branches for the Amplify app.
*/ - createTime: Date | undefined; + enableBranchAutoBuild: boolean | undefined; /** - *The unique ID of the Amplify app.
+ *The repository for the Amplify app.
*/ - appId: string | undefined; + repository: string | undefined; /** - *Enables automated branch creation for the Amplify app.
+ *The platform for the Amplify app.
*/ - enableAutoBranchCreation?: boolean; + platform: Platform | string | undefined; /** - *The basic authorization credentials for branches for the Amplify app.
+ *The description for the Amplify app.
*/ - basicAuthCredentials?: string; + description: string | undefined; /** - *Automatically disconnect a branch in the Amplify Console when you delete a branch - * from your Git repository.
+ *Updates the date and time for the Amplify app.
*/ - enableBranchAutoDeletion?: boolean; + updateTime: Date | undefined; /** *The tag for the Amplify app.
@@ -343,49 +370,50 @@ export interface App { tags?: { [key: string]: string }; /** - *Enables the auto-building of branches for the Amplify app.
+ *Describes the information about a production branch of the Amplify app.
*/ - enableBranchAutoBuild: boolean | undefined; + productionBranch?: ProductionBranch; /** - *The repository for the Amplify app.
+ *The Amazon Resource Name (ARN) of the Amplify app.
*/ - repository: string | undefined; + appArn: string | undefined; /** - *The description for the Amplify app.
+ *Describes the content of the build specification (build spec) for the Amplify app. + *
*/ - description: string | undefined; + buildSpec?: string; /** - *Describes the information about a production branch of the Amplify app.
+ *The basic authorization credentials for branches for the Amplify app.
*/ - productionBranch?: ProductionBranch; + basicAuthCredentials?: string; /** - *Describes the automated branch creation configuration for the Amplify app.
+ *The name for the Amplify app.
*/ - autoBranchCreationConfig?: AutoBranchCreationConfig; + name: string | undefined; /** - *Describes the custom redirect and rewrite rules for the Amplify app.
+ *Automatically disconnect a branch in the Amplify Console when you delete a branch + * from your Git repository.
*/ - customRules?: CustomRule[]; + enableBranchAutoDeletion?: boolean; /** - *The AWS Identity and Access Management (IAM) service role for the Amazon Resource - * Name (ARN) of the Amplify app.
+ *Creates a date and time for the Amplify app.
*/ - iamServiceRoleArn?: string; + createTime: Date | undefined; } export namespace App { export const filterSensitiveLog = (obj: App): any => ({ ...obj, - ...(obj.basicAuthCredentials && { basicAuthCredentials: SENSITIVE_STRING }), ...(obj.autoBranchCreationConfig && { autoBranchCreationConfig: AutoBranchCreationConfig.filterSensitiveLog(obj.autoBranchCreationConfig), }), + ...(obj.basicAuthCredentials && { basicAuthCredentials: SENSITIVE_STRING }), }); } @@ -469,14 +497,14 @@ export namespace UnauthorizedException { */ export interface CreateBackendEnvironmentRequest { /** - *The AWS CloudFormation stack name of a backend environment.
+ *The unique ID for an Amplify app.
*/ - stackName?: string; + appId: string | undefined; /** - *The unique ID for an Amplify app.
+ *The name for the backend environment.
*/ - appId: string | undefined; + environmentName: string | undefined; /** *The name of deployment artifacts.
@@ -484,9 +512,9 @@ export interface CreateBackendEnvironmentRequest { deploymentArtifacts?: string; /** - *The name for the backend environment.
+ *The AWS CloudFormation stack name of a backend environment.
*/ - environmentName: string | undefined; + stackName?: string; } export namespace CreateBackendEnvironmentRequest { @@ -500,9 +528,10 @@ export namespace CreateBackendEnvironmentRequest { */ export interface BackendEnvironment { /** - *The name of deployment artifacts.
+ *The creation date and time for a backend environment that is part of an Amplify app. + *
*/ - deploymentArtifacts?: string; + createTime: Date | undefined; /** *The Amazon Resource Name (ARN) for a backend environment that is part of an Amplify @@ -510,11 +539,6 @@ export interface BackendEnvironment { */ backendEnvironmentArn: string | undefined; - /** - *
The name for a backend environment that is part of an Amplify app.
- */ - environmentName: string | undefined; - /** *The last updated date and time for a backend environment that is part of an Amplify * app.
@@ -522,15 +546,19 @@ export interface BackendEnvironment { updateTime: Date | undefined; /** - *The creation date and time for a backend environment that is part of an Amplify app. - *
+ *The AWS CloudFormation stack name of a backend environment.
*/ - createTime: Date | undefined; + stackName?: string; /** - *The AWS CloudFormation stack name of a backend environment.
+ *The name for a backend environment that is part of an Amplify app.
*/ - stackName?: string; + environmentName: string | undefined; + + /** + *The name of deployment artifacts.
+ */ + deploymentArtifacts?: string; } export namespace BackendEnvironment { @@ -575,9 +603,9 @@ export namespace NotFoundException { */ export interface CreateBranchRequest { /** - *Enables pull request preview for this branch.
+ *Enables notifications for the branch.
*/ - enablePullRequestPreview?: boolean; + enableNotification?: boolean; /** *Enables basic authorization for the branch.
@@ -585,9 +613,9 @@ export interface CreateBranchRequest { enableBasicAuth?: boolean; /** - *The unique ID for an Amplify app.
+ *Performance mode optimizes for faster hosting performance by keeping content cached at the edge for a longer interval. Enabling performance mode will mean that hosting configuration or code changes can take up to 10 minutes to roll out.
*/ - appId: string | undefined; + enablePerformanceMode?: boolean; /** *Describes the current stage for the branch.
@@ -595,19 +623,19 @@ export interface CreateBranchRequest { stage?: Stage | string; /** - *Enables notifications for the branch.
+ *Enables pull request preview for this branch.
*/ - enableNotification?: boolean; + enablePullRequestPreview?: boolean; /** - *The basic authorization credentials for the branch.
+ *The environment variables for the branch.
*/ - basicAuthCredentials?: string; + environmentVariables?: { [key: string]: string }; /** - *The build specification (build spec) for the branch.
+ *The unique ID for an Amplify app.
*/ - buildSpec?: string; + appId: string | undefined; /** *The content Time To Live (TTL) for the website in seconds.
@@ -615,14 +643,14 @@ export interface CreateBranchRequest { ttl?: string; /** - *The Amplify environment name for the pull request.
+ *The tag for the branch.
*/ - pullRequestEnvironmentName?: string; + tags?: { [key: string]: string }; /** - *The name for the branch.
+ *The framework for the branch.
*/ - branchName: string | undefined; + framework?: string; /** *The Amazon Resource Name (ARN) for a backend environment that is part of an Amplify @@ -631,34 +659,39 @@ export interface CreateBranchRequest { backendEnvironmentArn?: string; /** - *
The framework for the branch.
+ *The description for the branch.
*/ - framework?: string; + description?: string; /** - *The tag for the branch.
+ *The basic authorization credentials for the branch.
*/ - tags?: { [key: string]: string }; + basicAuthCredentials?: string; /** - *The environment variables for the branch.
+ *The name for the branch.
*/ - environmentVariables?: { [key: string]: string }; + branchName: string | undefined; /** - *The display name for a branch. This is used as the default domain prefix.
+ *The build specification (build spec) for the branch.
*/ - displayName?: string; + buildSpec?: string; /** - *The description for the branch.
+ *Enables auto building for the branch.
*/ - description?: string; + enableAutoBuild?: boolean; + + /** + *The display name for a branch. This is used as the default domain prefix.
+ */ + displayName?: string; /** - *Enables auto building for the branch.
+ *The Amplify environment name for the pull request.
*/ - enableAutoBuild?: boolean; + pullRequestEnvironmentName?: string; } export namespace CreateBranchRequest { @@ -673,64 +706,59 @@ export namespace CreateBranchRequest { */ export interface Branch { /** - *The name for the branch that is part of an Amplify app.
- */ - branchName: string | undefined; - - /** - *The Amplify environment name for the pull request.
+ *Enables auto-building on push for a branch of an Amplify app.
*/ - pullRequestEnvironmentName?: string; + enableAutoBuild: boolean | undefined; /** - *The thumbnail URL for the branch of an Amplify app.
+ *The tag for the branch of an Amplify app.
*/ - thumbnailUrl?: string; + tags?: { [key: string]: string }; /** - *The tag for the branch of an Amplify app.
+ *The total number of jobs that are part of an Amplify app.
*/ - tags?: { [key: string]: string }; + totalNumberOfJobs: string | undefined; /** - *The ID of the active job for a branch of an Amplify app.
+ *The source branch if the branch is a pull request branch.
*/ - activeJobId: string | undefined; + sourceBranch?: string; /** - *The content Time to Live (TTL) for the website in seconds.
+ *The thumbnail URL for the branch of an Amplify app.
*/ - ttl: string | undefined; + thumbnailUrl?: string; /** - *Enables auto-building on push for a branch of an Amplify app.
+ *The Amplify environment name for the pull request.
*/ - enableAutoBuild: boolean | undefined; + pullRequestEnvironmentName?: string; /** - *Enables basic authorization for a branch of an Amplify app.
+ *The destination branch if the branch is a pull request branch.
*/ - enableBasicAuth: boolean | undefined; + destinationBranch?: string; /** - *The last updated date and time for a branch that is part of an Amplify app.
+ *The ID of the active job for a branch of an Amplify app.
*/ - updateTime: Date | undefined; + activeJobId: string | undefined; /** - *The framework for a branch of an Amplify app.
+ *The current stage for the branch that is part of an Amplify app.
*/ - framework: string | undefined; + stage: Stage | string | undefined; /** - *The destination branch if the branch is a pull request branch.
+ *Performance mode optimizes for faster hosting performance by keeping content cached at the edge for a longer interval. Enabling performance mode will mean that hosting configuration or code changes can take up to 10 minutes to roll out.
*/ - destinationBranch?: string; + enablePerformanceMode?: boolean; /** - *The current stage for the branch that is part of an Amplify app.
+ *A list of custom resources that are linked to this branch.
*/ - stage: Stage | string | undefined; + associatedResources?: string[]; /** *The creation date and time for a branch that is part of an Amplify app.
@@ -744,14 +772,24 @@ export interface Branch { buildSpec?: string; /** - *The basic authorization credentials for a branch of an Amplify app.
+ *The last updated date and time for a branch that is part of an Amplify app.
*/ - basicAuthCredentials?: string; + updateTime: Date | undefined; /** - *A list of custom resources that are linked to this branch.
+ *The framework for a branch of an Amplify app.
*/ - associatedResources?: string[]; + framework: string | undefined; + + /** + *Enables basic authorization for a branch of an Amplify app.
+ */ + enableBasicAuth: boolean | undefined; + + /** + *The display name for the branch. This is used as the default domain prefix.
+ */ + displayName: string | undefined; /** *The description for the branch that is part of an Amplify app.
@@ -759,15 +797,14 @@ export interface Branch { description: string | undefined; /** - *The Amazon Resource Name (ARN) for a backend environment that is part of an Amplify - * app.
+ *The basic authorization credentials for a branch of an Amplify app.
*/ - backendEnvironmentArn?: string; + basicAuthCredentials?: string; /** - *The display name for the branch. This is used as the default domain prefix.
+ *The custom domains for a branch of an Amplify app.
*/ - displayName: string | undefined; + customDomains: string[] | undefined; /** *The environment variables specific to a branch of an Amplify app.
@@ -775,34 +812,35 @@ export interface Branch { environmentVariables: { [key: string]: string } | undefined; /** - *Enables pull request preview for the branch.
+ *Enables notifications for a branch that is part of an Amplify app.
*/ - enablePullRequestPreview: boolean | undefined; + enableNotification: boolean | undefined; /** - *The total number of jobs that are part of an Amplify app.
+ *Enables pull request preview for the branch.
*/ - totalNumberOfJobs: string | undefined; + enablePullRequestPreview: boolean | undefined; /** - *The source branch if the branch is a pull request branch.
+ *The Amazon Resource Name (ARN) for a branch that is part of an Amplify app.
*/ - sourceBranch?: string; + branchArn: string | undefined; /** - *The Amazon Resource Name (ARN) for a branch that is part of an Amplify app.
+ *The name for the branch that is part of an Amplify app.
*/ - branchArn: string | undefined; + branchName: string | undefined; /** - *The custom domains for a branch of an Amplify app.
+ *The content Time to Live (TTL) for the website in seconds.
*/ - customDomains: string[] | undefined; + ttl: string | undefined; /** - *Enables notifications for a branch that is part of an Amplify app.
+ *The Amazon Resource Name (ARN) for a backend environment that is part of an Amplify + * app.
*/ - enableNotification: boolean | undefined; + backendEnvironmentArn?: string; } export namespace Branch { @@ -839,6 +877,11 @@ export interface CreateDeploymentRequest { */ appId: string | undefined; + /** + *The name for the branch, for the job.
+ */ + branchName: string | undefined; + /** *An optional file map that contains the file name as the key and the file content md5 * hash as the value. If this argument is provided, the service will generate a unique @@ -846,11 +889,6 @@ export interface CreateDeploymentRequest { * the zipped files.
*/ fileMap?: { [key: string]: string }; - - /** - *The name for the branch, for the job.
- */ - branchName: string | undefined; } export namespace CreateDeploymentRequest { @@ -868,17 +906,17 @@ export interface CreateDeploymentResult { */ jobId?: string; - /** - * When the fileMap
argument is provided in the request,
- * fileUploadUrls
will contain a map of file names to upload URLs.
When the fileMap
argument is not provided in the request, this
* zipUploadUrl
is returned.
When the fileMap
argument is provided in the request,
+ * fileUploadUrls
will contain a map of file names to upload URLs.
The prefix setting for the subdomain.
+ *The branch name setting for the subdomain.
*/ - prefix: string | undefined; + branchName: string | undefined; /** - *The branch name setting for the subdomain.
+ *The prefix setting for the subdomain.
*/ - branchName: string | undefined; + prefix: string | undefined; } export namespace SubDomainSetting { @@ -913,35 +951,35 @@ export namespace SubDomainSetting { */ export interface CreateDomainAssociationRequest { /** - *The required AWS Identity and Access Management (IAM) service role for the Amazon - * Resource Name (ARN) for automatically creating subdomains.
+ *The domain name for the domain association.
*/ - autoSubDomainIAMRole?: string; + domainName: string | undefined; /** - *Enables the automated creation of subdomains for branches.
+ *The setting for the subdomain.
*/ - enableAutoSubDomain?: boolean; + subDomainSettings: SubDomainSetting[] | undefined; /** - *The unique ID for an Amplify app.
+ *Sets the branch patterns for automatic subdomain creation.
*/ - appId: string | undefined; + autoSubDomainCreationPatterns?: string[]; /** - *Sets the branch patterns for automatic subdomain creation.
+ *The unique ID for an Amplify app.
*/ - autoSubDomainCreationPatterns?: string[]; + appId: string | undefined; /** - *The domain name for the domain association.
+ *Enables the automated creation of subdomains for branches.
*/ - domainName: string | undefined; + enableAutoSubDomain?: boolean; /** - *The setting for the subdomain.
+ *The required AWS Identity and Access Management (IAM) service role for the Amazon + * Resource Name (ARN) for automatically creating subdomains.
*/ - subDomainSettings: SubDomainSetting[] | undefined; + autoSubDomainIAMRole?: string; } export namespace CreateDomainAssociationRequest { @@ -966,9 +1004,9 @@ export enum DomainStatus { */ export interface SubDomain { /** - *The DNS record for the subdomain.
+ *Describes the settings for the subdomain.
*/ - dnsRecord: string | undefined; + subDomainSetting: SubDomainSetting | undefined; /** *The verified status of the subdomain
@@ -976,9 +1014,9 @@ export interface SubDomain { verified: boolean | undefined; /** - *Describes the settings for the subdomain.
+ *The DNS record for the subdomain.
*/ - subDomainSetting: SubDomainSetting | undefined; + dnsRecord: string | undefined; } export namespace SubDomain { @@ -993,50 +1031,50 @@ export namespace SubDomain { */ export interface DomainAssociation { /** - *Enables the automated creation of subdomains for branches.
+ *The DNS record for certificate verification.
*/ - enableAutoSubDomain: boolean | undefined; + certificateVerificationDNSRecord?: string; /** - *The reason for the current status of the domain association.
+ *The current status of the domain association.
*/ - statusReason: string | undefined; + domainStatus: DomainStatus | string | undefined; /** - *The DNS record for certificate verification.
+ *Enables the automated creation of subdomains for branches.
*/ - certificateVerificationDNSRecord?: string; + enableAutoSubDomain: boolean | undefined; /** - *The Amazon Resource Name (ARN) for the domain association.
+ *The required AWS Identity and Access Management (IAM) service role for the Amazon + * Resource Name (ARN) for automatically creating subdomains.
*/ - domainAssociationArn: string | undefined; + autoSubDomainIAMRole?: string; /** - *Sets branch patterns for automatic subdomain creation.
+ *The subdomains for the domain association.
*/ - autoSubDomainCreationPatterns?: string[]; + subDomains: SubDomain[] | undefined; /** - *The current status of the domain association.
+ *The Amazon Resource Name (ARN) for the domain association.
*/ - domainStatus: DomainStatus | string | undefined; + domainAssociationArn: string | undefined; /** - *The required AWS Identity and Access Management (IAM) service role for the Amazon - * Resource Name (ARN) for automatically creating subdomains.
+ *The name of the domain.
*/ - autoSubDomainIAMRole?: string; + domainName: string | undefined; /** - *The name of the domain.
+ *The reason for the current status of the domain association.
*/ - domainName: string | undefined; + statusReason: string | undefined; /** - *The subdomains for the domain association.
+ *Sets branch patterns for automatic subdomain creation.
*/ - subDomains: SubDomain[] | undefined; + autoSubDomainCreationPatterns?: string[]; } export namespace DomainAssociation { @@ -1066,6 +1104,11 @@ export namespace CreateDomainAssociationResult { *The request structure for the create webhook request.
*/ export interface CreateWebhookRequest { + /** + *The unique ID for an Amplify app.
+ */ + appId: string | undefined; + /** *The description for a webhook.
*/ @@ -1075,11 +1118,6 @@ export interface CreateWebhookRequest { *The name for a branch that is part of an Amplify app.
*/ branchName: string | undefined; - - /** - *The unique ID for an Amplify app.
- */ - appId: string | undefined; } export namespace CreateWebhookRequest { @@ -1093,9 +1131,9 @@ export namespace CreateWebhookRequest { */ export interface Webhook { /** - *The description for a webhook.
+ *The Amazon Resource Name (ARN) for the webhook.
*/ - description: string | undefined; + webhookArn: string | undefined; /** *The ID of the webhook.
@@ -1103,29 +1141,29 @@ export interface Webhook { webhookId: string | undefined; /** - *The create date and time for a webhook.
+ *The URL of the webhook.
*/ - createTime: Date | undefined; + webhookUrl: string | undefined; /** - *Updates the date and time for a webhook.
+ *The name for a branch that is part of an Amplify app.
*/ - updateTime: Date | undefined; + branchName: string | undefined; /** - *The name for a branch that is part of an Amplify app.
+ *The description for a webhook.
*/ - branchName: string | undefined; + description: string | undefined; /** - *The Amazon Resource Name (ARN) for the webhook.
+ *Updates the date and time for a webhook.
*/ - webhookArn: string | undefined; + updateTime: Date | undefined; /** - *The URL of the webhook.
+ *The create date and time for a webhook.
*/ - webhookUrl: string | undefined; + createTime: Date | undefined; } export namespace Webhook { @@ -1226,14 +1264,14 @@ export namespace DeleteBackendEnvironmentResult { */ export interface DeleteBranchRequest { /** - *The unique ID for an Amplify app.
+ *The name for the branch.
*/ - appId: string | undefined; + branchName: string | undefined; /** - *The name for the branch.
+ *The unique ID for an Amplify app.
*/ - branchName: string | undefined; + appId: string | undefined; } export namespace DeleteBranchRequest { @@ -1298,11 +1336,6 @@ export namespace DeleteDomainAssociationResult { *The request structure for the delete job request.
*/ export interface DeleteJobRequest { - /** - *The unique ID for the job.
- */ - jobId: string | undefined; - /** *The name for the branch, for the job.
*/ @@ -1312,6 +1345,11 @@ export interface DeleteJobRequest { *The unique ID for an Amplify app.
*/ appId: string | undefined; + + /** + *The unique ID for the job.
+ */ + jobId: string | undefined; } export namespace DeleteJobRequest { @@ -1342,38 +1380,34 @@ export enum JobStatus { */ export interface JobSummary { /** - *The start date and time for the job.
+ *The Amazon Resource Name (ARN) for the job.
*/ - startTime: Date | undefined; + jobArn: string | undefined; /** - *The commit ID from a third-party repository provider for the job.
+ *The end date and time for the job.
*/ - commitId: string | undefined; + endTime?: Date; /** - * The type for the job. If the value is RELEASE
, the job was manually
- * released from its source by using the StartJob
API. If the value is
- * RETRY
, the job was manually retried using the StartJob
- * API. If the value is WEB_HOOK
, the job was automatically triggered by
- * webhooks.
The current status for the job.
*/ - jobType: JobType | string | undefined; + status: JobStatus | string | undefined; /** - *The Amazon Resource Name (ARN) for the job.
+ *The start date and time for the job.
*/ - jobArn: string | undefined; + startTime: Date | undefined; /** - *The end date and time for the job.
+ *The commit message from a third-party repository provider for the job.
*/ - endTime?: Date; + commitMessage: string | undefined; /** - *The current status for the job.
+ *The commit date and time for the job.
*/ - status: JobStatus | string | undefined; + commitTime: Date | undefined; /** *The unique ID for the job.
@@ -1381,14 +1415,18 @@ export interface JobSummary { jobId: string | undefined; /** - *The commit message from a third-party repository provider for the job.
+ * The type for the job. If the value is RELEASE
, the job was manually
+ * released from its source by using the StartJob
API. If the value is
+ * RETRY
, the job was manually retried using the StartJob
+ * API. If the value is WEB_HOOK
, the job was automatically triggered by
+ * webhooks.
The commit date and time for the job.
+ *The commit ID from a third-party repository provider for the job.
*/ - commitTime: Date | undefined; + commitId: string | undefined; } export namespace JobSummary { @@ -1449,6 +1487,12 @@ export namespace DeleteWebhookResult { *The request structure for the generate access logs request.
*/ export interface GenerateAccessLogsRequest { + /** + *The time at which the logs should start. The time range specified is inclusive of the + * start time.
+ */ + startTime?: Date; + /** *The time at which the logs should end. The time range specified is inclusive of the * end time.
@@ -1464,12 +1508,6 @@ export interface GenerateAccessLogsRequest { *The unique ID for an Amplify app.
*/ appId: string | undefined; - - /** - *The time at which the logs should start. The time range specified is inclusive of the - * start time.
- */ - startTime?: Date; } export namespace GenerateAccessLogsRequest { @@ -1546,14 +1584,14 @@ export namespace GetArtifactUrlRequest { */ export interface GetArtifactUrlResult { /** - *The presigned URL for the artifact.
+ *The unique ID for an artifact.
*/ - artifactUrl: string | undefined; + artifactId: string | undefined; /** - *The unique ID for an artifact.
+ *The presigned URL for the artifact.
*/ - artifactId: string | undefined; + artifactUrl: string | undefined; } export namespace GetArtifactUrlResult { @@ -1567,14 +1605,14 @@ export namespace GetArtifactUrlResult { */ export interface GetBackendEnvironmentRequest { /** - *The unique id for an Amplify app.
+ *The name for the backend environment.
*/ - appId: string | undefined; + environmentName: string | undefined; /** - *The name for the backend environment.
+ *The unique id for an Amplify app.
*/ - environmentName: string | undefined; + appId: string | undefined; } export namespace GetBackendEnvironmentRequest { @@ -1604,14 +1642,14 @@ export namespace GetBackendEnvironmentResult { */ export interface GetBranchRequest { /** - *The name for the branch.
+ *The unique ID for an Amplify app.
*/ - branchName: string | undefined; + appId: string | undefined; /** - *The unique ID for an Amplify app.
+ *The name for the branch.
*/ - appId: string | undefined; + branchName: string | undefined; } export namespace GetBranchRequest { @@ -1639,14 +1677,14 @@ export namespace GetBranchResult { */ export interface GetDomainAssociationRequest { /** - *The name of the domain.
+ *The unique id for an Amplify app.
*/ - domainName: string | undefined; + appId: string | undefined; /** - *The unique id for an Amplify app.
+ *The name of the domain.
*/ - appId: string | undefined; + domainName: string | undefined; } export namespace GetDomainAssociationRequest { @@ -1676,6 +1714,11 @@ export namespace GetDomainAssociationResult { *The request structure for the get job request.
*/ export interface GetJobRequest { + /** + *The unique ID for an Amplify app.
+ */ + appId: string | undefined; + /** *The branch name for the job.
*/ @@ -1685,11 +1728,6 @@ export interface GetJobRequest { *The unique ID for the job.
*/ jobId: string | undefined; - - /** - *The unique ID for an Amplify app.
- */ - appId: string | undefined; } export namespace GetJobRequest { @@ -1703,20 +1741,19 @@ export namespace GetJobRequest { */ export interface Step { /** - *The context for the current step. Includes a build image if the step is build. - *
+ *The URL to the logs for the execution step.
*/ - context?: string; + logUrl?: string; /** - *The start date and time of the execution step.
+ *The URL to the test configuration for the execution step.
*/ - startTime: Date | undefined; + testConfigUrl?: string; /** - *The name of the execution step.
+ *The status of the execution step.
*/ - stepName: string | undefined; + status: JobStatus | string | undefined; /** *The end date and time of the execution step.
@@ -1724,39 +1761,40 @@ export interface Step { endTime: Date | undefined; /** - *The URL to the artifact for the execution step.
+ *The list of screenshot URLs for the execution step, if relevant.
*/ - artifactsUrl?: string; + screenshots?: { [key: string]: string }; /** - *The reason for the current step status.
+ *The URL to the test artifact for the execution step.
*/ - statusReason?: string; + testArtifactsUrl?: string; /** - *The status of the execution step.
+ *The start date and time of the execution step.
*/ - status: JobStatus | string | undefined; + startTime: Date | undefined; /** - *The URL to the logs for the execution step.
+ *The context for the current step. Includes a build image if the step is build. + *
*/ - logUrl?: string; + context?: string; /** - *The URL to the test configuration for the execution step.
+ *The reason for the current step status.
*/ - testConfigUrl?: string; + statusReason?: string; /** - *The list of screenshot URLs for the execution step, if relevant.
+ *The URL to the artifact for the execution step.
*/ - screenshots?: { [key: string]: string }; + artifactsUrl?: string; /** - *The URL to the test artifact for the execution step.
+ *The name of the execution step.
*/ - testArtifactsUrl?: string; + stepName: string | undefined; } export namespace Step { @@ -1770,14 +1808,14 @@ export namespace Step { */ export interface Job { /** - *The execution steps for an execution job, for an Amplify app.
+ *Describes the summary for an execution job for an Amplify app.
*/ - steps: Step[] | undefined; + summary: JobSummary | undefined; /** - *Describes the summary for an execution job for an Amplify app.
+ *The execution steps for an execution job, for an Amplify app.
*/ - summary: JobSummary | undefined; + steps: Step[] | undefined; } export namespace Job { @@ -1857,17 +1895,17 @@ export namespace ListAppsRequest { *The result structure for an Amplify app list request.
*/ export interface ListAppsResult { + /** + *A list of Amplify apps.
+ */ + apps: App[] | undefined; + /** *A pagination token. Set to null to start listing apps from start. If non-null, the * pagination token is returned in a result. Pass its value in here to list more projects. *
*/ nextToken?: string; - - /** - *A list of Amplify apps.
- */ - apps: App[] | undefined; } export namespace ListAppsResult { @@ -1881,6 +1919,13 @@ export namespace ListAppsResult { *Describes the request structure for the list artifacts request.
*/ export interface ListArtifactsRequest { + /** + *A pagination token. Set to null to start listing artifacts from start. If a non-null + * pagination token is returned in a result, pass its value in here to list more artifacts. + *
+ */ + nextToken?: string; + /** *The name of a branch that is part of an Amplify app.
*/ @@ -1892,21 +1937,14 @@ export interface ListArtifactsRequest { maxResults?: number; /** - *A pagination token. Set to null to start listing artifacts from start. If a non-null - * pagination token is returned in a result, pass its value in here to list more artifacts. - *
+ *The unique ID for a job.
*/ - nextToken?: string; + jobId: string | undefined; /** *The unique ID for an Amplify app.
*/ appId: string | undefined; - - /** - *The unique ID for a job.
- */ - jobId: string | undefined; } export namespace ListArtifactsRequest { @@ -1963,9 +2001,11 @@ export namespace ListArtifactsResult { */ export interface ListBackendEnvironmentsRequest { /** - *The maximum number of records to list in a single response.
+ *A pagination token. Set to null to start listing backend environments from the start. + * If a non-null pagination token is returned in a result, pass its value in here to list + * more backend environments.
*/ - maxResults?: number; + nextToken?: string; /** *The unique ID for an Amplify app.
@@ -1973,16 +2013,14 @@ export interface ListBackendEnvironmentsRequest { appId: string | undefined; /** - *The name of the backend environment
+ *The maximum number of records to list in a single response.
*/ - environmentName?: string; + maxResults?: number; /** - *A pagination token. Set to null to start listing backend environments from the start. - * If a non-null pagination token is returned in a result, pass its value in here to list - * more backend environments.
+ *The name of the backend environment
*/ - nextToken?: string; + environmentName?: string; } export namespace ListBackendEnvironmentsRequest { @@ -1995,16 +2033,16 @@ export namespace ListBackendEnvironmentsRequest { *The result structure for the list backend environments result.
*/ export interface ListBackendEnvironmentsResult { - /** - *The list of backend environments for an Amplify app.
- */ - backendEnvironments: BackendEnvironment[] | undefined; - /** *A pagination token. If a non-null pagination token is returned in a result, pass its * value in another request to retrieve more entries.
*/ nextToken?: string; + + /** + *The list of backend environments for an Amplify app.
+ */ + backendEnvironments: BackendEnvironment[] | undefined; } export namespace ListBackendEnvironmentsResult { @@ -2017,11 +2055,6 @@ export namespace ListBackendEnvironmentsResult { *The request structure for the list branches request.
*/ export interface ListBranchesRequest { - /** - *The unique ID for an Amplify app.
- */ - appId: string | undefined; - /** *A pagination token. Set to null to start listing branches from the start. If a * non-null pagination token is returned in a result, pass its value in here to list more @@ -2033,6 +2066,11 @@ export interface ListBranchesRequest { *
The maximum number of records to list in a single response.
*/ maxResults?: number; + + /** + *The unique ID for an Amplify app.
+ */ + appId: string | undefined; } export namespace ListBranchesRequest { @@ -2046,15 +2084,15 @@ export namespace ListBranchesRequest { */ export interface ListBranchesResult { /** - *A pagination token. If a non-null pagination token is returned in a result, pass its - * value in another request to retrieve more entries.
+ *A list of branches for an Amplify app.
*/ - nextToken?: string; + branches: Branch[] | undefined; /** - *A list of branches for an Amplify app.
+ *A pagination token. If a non-null pagination token is returned in a result, pass its + * value in another request to retrieve more entries.
*/ - branches: Branch[] | undefined; + nextToken?: string; } export namespace ListBranchesResult { @@ -2069,11 +2107,9 @@ export namespace ListBranchesResult { */ export interface ListDomainAssociationsRequest { /** - *A pagination token. Set to null to start listing apps from the start. If non-null, a - * pagination token is returned in a result. Pass its value in here to list more projects. - *
+ *The unique ID for an Amplify app.
*/ - nextToken?: string; + appId: string | undefined; /** *The maximum number of records to list in a single response.
@@ -2081,9 +2117,11 @@ export interface ListDomainAssociationsRequest { maxResults?: number; /** - *The unique ID for an Amplify app.
+ *A pagination token. Set to null to start listing apps from the start. If non-null, a + * pagination token is returned in a result. Pass its value in here to list more projects. + *
*/ - appId: string | undefined; + nextToken?: string; } export namespace ListDomainAssociationsRequest { @@ -2097,15 +2135,15 @@ export namespace ListDomainAssociationsRequest { */ export interface ListDomainAssociationsResult { /** - *A pagination token. If non-null, a pagination token is returned in a result. Pass its - * value in another request to retrieve more entries.
+ *A list of domain associations.
*/ - nextToken?: string; + domainAssociations: DomainAssociation[] | undefined; /** - *A list of domain associations.
+ *A pagination token. If non-null, a pagination token is returned in a result. Pass its + * value in another request to retrieve more entries.
*/ - domainAssociations: DomainAssociation[] | undefined; + nextToken?: string; } export namespace ListDomainAssociationsResult { @@ -2119,26 +2157,26 @@ export namespace ListDomainAssociationsResult { */ export interface ListJobsRequest { /** - *The name for a branch.
+ *The unique ID for an Amplify app.
*/ - branchName: string | undefined; + appId: string | undefined; /** - *The unique ID for an Amplify app.
+ *A pagination token. Set to null to start listing steps from the start. If a non-null + * pagination token is returned in a result, pass its value in here to list more steps. + *
*/ - appId: string | undefined; + nextToken?: string; /** *The maximum number of records to list in a single response.
*/ maxResults?: number; - - /** - *A pagination token. Set to null to start listing steps from the start. If a non-null - * pagination token is returned in a result, pass its value in here to list more steps. - *
+ + /** + *The name for a branch.
*/ - nextToken?: string; + branchName: string | undefined; } export namespace ListJobsRequest { @@ -2151,16 +2189,16 @@ export namespace ListJobsRequest { *The maximum number of records to list in a single response.
*/ export interface ListJobsResult { - /** - *The result structure for the list job result request.
- */ - jobSummaries: JobSummary[] | undefined; - /** *A pagination token. If non-null the pagination token is returned in a result. Pass * its value in another request to retrieve more entries.
*/ nextToken?: string; + + /** + *The result structure for the list job result request.
+ */ + jobSummaries: JobSummary[] | undefined; } export namespace ListJobsResult { @@ -2222,14 +2260,14 @@ export namespace ResourceNotFoundException { */ export interface ListWebhooksRequest { /** - *The unique ID for an Amplify app.
+ *The maximum number of records to list in a single response.
*/ - appId: string | undefined; + maxResults?: number; /** - *The maximum number of records to list in a single response.
+ *The unique ID for an Amplify app.
*/ - maxResults?: number; + appId: string | undefined; /** *A pagination token. Set to null to start listing webhooks from the start. If @@ -2249,16 +2287,16 @@ export namespace ListWebhooksRequest { *
The result structure for the list webhooks request.
*/ export interface ListWebhooksResult { - /** - *A list of webhooks.
- */ - webhooks: Webhook[] | undefined; - /** *A pagination token. If non-null, the pagination token is returned in a result. Pass * its value in another request to retrieve more entries.
*/ nextToken?: string; + + /** + *A list of webhooks.
+ */ + webhooks: Webhook[] | undefined; } export namespace ListWebhooksResult { @@ -2272,9 +2310,9 @@ export namespace ListWebhooksResult { */ export interface StartDeploymentRequest { /** - *The job ID for this deployment, generated by the create deployment request.
+ *The name for the branch, for the job.
*/ - jobId?: string; + branchName: string | undefined; /** *The source URL for this deployment, used when calling start deployment without create @@ -2289,9 +2327,9 @@ export interface StartDeploymentRequest { appId: string | undefined; /** - *
The name for the branch, for the job.
+ *The job ID for this deployment, generated by the create deployment request.
*/ - branchName: string | undefined; + jobId?: string; } export namespace StartDeploymentRequest { @@ -2321,15 +2359,9 @@ export namespace StartDeploymentResult { */ export interface StartJobRequest { /** - * The unique ID for an existing job. This is required if the value of
- * jobType
is RETRY
.
The unique ID for an Amplify app.
+ *The commit message from a third-party repository provider for the job.
*/ - appId: string | undefined; + commitMessage?: string; /** *A descriptive reason for starting this job.
@@ -2337,15 +2369,26 @@ export interface StartJobRequest { jobReason?: string; /** - *The commit message from a third-party repository provider for the job.
+ *The commit ID from a third-party repository provider for the job.
*/ - commitMessage?: string; + commitId?: string; /** *The commit date and time for the job.
*/ commitTime?: Date; + /** + *The unique ID for an Amplify app.
+ */ + appId: string | undefined; + + /** + * The unique ID for an existing job. This is required if the value of
+ * jobType
is RETRY
.
The branch name for the job.
*/ @@ -2359,11 +2402,6 @@ export interface StartJobRequest { * required. */ jobType: JobType | string | undefined; - - /** - *The commit ID from a third-party repository provider for the job.
- */ - commitId?: string; } export namespace StartJobRequest { @@ -2435,14 +2473,14 @@ export namespace StopJobResult { */ export interface TagResourceRequest { /** - *The Amazon Resource Name (ARN) to use to tag a resource.
+ *The tags used to tag the resource.
*/ - resourceArn: string | undefined; + tags: { [key: string]: string } | undefined; /** - *The tags used to tag the resource.
+ *The Amazon Resource Name (ARN) to use to tag a resource.
*/ - tags: { [key: string]: string } | undefined; + resourceArn: string | undefined; } export namespace TagResourceRequest { @@ -2467,14 +2505,14 @@ export namespace TagResourceResponse { */ export interface UntagResourceRequest { /** - *The tag keys to use to untag a resource.
+ *The Amazon Resource Name (ARN) to use to untag a resource.
*/ - tagKeys: string[] | undefined; + resourceArn: string | undefined; /** - *The Amazon Resource Name (ARN) to use to untag a resource.
+ *The tag keys to use to untag a resource.
*/ - resourceArn: string | undefined; + tagKeys: string[] | undefined; } export namespace UntagResourceRequest { @@ -2498,21 +2536,6 @@ export namespace UntagResourceResponse { *The request structure for the update app request.
*/ export interface UpdateAppRequest { - /** - *Enables branch auto-building for an Amplify app.
- */ - enableBranchAutoBuild?: boolean; - - /** - *The name of the repository for an Amplify app
- */ - repository?: string; - - /** - *The basic authorization credentials for an Amplify app.
- */ - basicAuthCredentials?: string; - /** *The personal access token for a third-party source control system for an Amplify app. * The token is used to create webhook and a read-only deploy key. The token is not stored. @@ -2521,31 +2544,30 @@ export interface UpdateAppRequest { accessToken?: string; /** - *
Enables automated branch creation for the Amplify app.
+ *Automatically disconnects a branch in the Amplify Console when you delete a branch + * from your Git repository.
*/ - enableAutoBranchCreation?: boolean; + enableBranchAutoDeletion?: boolean; /** - *The description for an Amplify app.
+ *Enables branch auto-building for an Amplify app.
*/ - description?: string; + enableBranchAutoBuild?: boolean; /** - *Enables basic authorization for an Amplify app.
+ *The name of the repository for an Amplify app
*/ - enableBasicAuth?: boolean; + repository?: string; /** - *The OAuth token for a third-party source control system for an Amplify app. The token - * is used to create a webhook and a read-only deploy key. The OAuth token is not stored. - *
+ *The description for an Amplify app.
*/ - oauthToken?: string; + description?: string; /** - *The platform for an Amplify app.
+ *The name for an Amplify app.
*/ - platform?: Platform | string; + name?: string; /** *The AWS Identity and Access Management (IAM) service role for an Amplify app.
@@ -2558,9 +2580,9 @@ export interface UpdateAppRequest { environmentVariables?: { [key: string]: string }; /** - *Describes the automated branch creation glob patterns for the Amplify app.
+ *The automated branch creation configuration for the Amplify app.
*/ - autoBranchCreationPatterns?: string[]; + autoBranchCreationConfig?: AutoBranchCreationConfig; /** *The custom redirect and rewrite rules for an Amplify app.
@@ -2568,41 +2590,57 @@ export interface UpdateAppRequest { customRules?: CustomRule[]; /** - *The unique ID for an Amplify app.
+ *Describes the automated branch creation glob patterns for the Amplify app.
*/ - appId: string | undefined; + autoBranchCreationPatterns?: string[]; /** - *The automated branch creation configuration for the Amplify app.
+ *The OAuth token for a third-party source control system for an Amplify app. The token + * is used to create a webhook and a read-only deploy key. The OAuth token is not stored. + *
*/ - autoBranchCreationConfig?: AutoBranchCreationConfig; + oauthToken?: string; /** - *The build specification (build spec) for an Amplify app.
+ *The platform for an Amplify app.
*/ - buildSpec?: string; + platform?: Platform | string; /** - *The name for an Amplify app.
+ *The basic authorization credentials for an Amplify app.
*/ - name?: string; + basicAuthCredentials?: string; /** - *Automatically disconnects a branch in the Amplify Console when you delete a branch - * from your Git repository.
+ *Enables basic authorization for an Amplify app.
*/ - enableBranchAutoDeletion?: boolean; + enableBasicAuth?: boolean; + + /** + *Enables automated branch creation for the Amplify app.
+ */ + enableAutoBranchCreation?: boolean; + + /** + *The build specification (build spec) for an Amplify app.
+ */ + buildSpec?: string; + + /** + *The unique ID for an Amplify app.
+ */ + appId: string | undefined; } export namespace UpdateAppRequest { export const filterSensitiveLog = (obj: UpdateAppRequest): any => ({ ...obj, - ...(obj.basicAuthCredentials && { basicAuthCredentials: SENSITIVE_STRING }), ...(obj.accessToken && { accessToken: SENSITIVE_STRING }), - ...(obj.oauthToken && { oauthToken: SENSITIVE_STRING }), ...(obj.autoBranchCreationConfig && { autoBranchCreationConfig: AutoBranchCreationConfig.filterSensitiveLog(obj.autoBranchCreationConfig), }), + ...(obj.oauthToken && { oauthToken: SENSITIVE_STRING }), + ...(obj.basicAuthCredentials && { basicAuthCredentials: SENSITIVE_STRING }), }); } @@ -2633,60 +2671,60 @@ export interface UpdateBranchRequest { enableNotification?: boolean; /** - *Enables pull request preview for this branch.
+ *The environment variables for the branch.
*/ - enablePullRequestPreview?: boolean; + environmentVariables?: { [key: string]: string }; /** - *Describes the current stage for the branch.
+ *Enables basic authorization for the branch.
*/ - stage?: Stage | string; + enableBasicAuth?: boolean; /** - *The unique ID for an Amplify app.
+ *The build specification (build spec) for the branch.
*/ - appId: string | undefined; + buildSpec?: string; /** - *The display name for a branch. This is used as the default domain prefix.
+ *The content Time to Live (TTL) for the website in seconds.
*/ - displayName?: string; + ttl?: string; /** - *The name for the branch.
+ *The Amazon Resource Name (ARN) for a backend environment that is part of an Amplify + * app.
*/ - branchName: string | undefined; + backendEnvironmentArn?: string; /** - *The Amplify environment name for the pull request.
+ *The unique ID for an Amplify app.
*/ - pullRequestEnvironmentName?: string; + appId: string | undefined; /** - *The content Time to Live (TTL) for the website in seconds.
+ *Performance mode optimizes for faster hosting performance by keeping content cached at the edge for a longer interval. Enabling performance mode will mean that hosting configuration or code changes can take up to 10 minutes to roll out.
*/ - ttl?: string; + enablePerformanceMode?: boolean; /** - *The basic authorization credentials for the branch.
+ *The framework for the branch.
*/ - basicAuthCredentials?: string; + framework?: string; /** - *The build specification (build spec) for the branch.
+ *Enables pull request preview for this branch.
*/ - buildSpec?: string; + enablePullRequestPreview?: boolean; /** - *The environment variables for the branch.
+ *Describes the current stage for the branch.
*/ - environmentVariables?: { [key: string]: string }; + stage?: Stage | string; /** - *The Amazon Resource Name (ARN) for a backend environment that is part of an Amplify - * app.
+ *The basic authorization credentials for the branch.
*/ - backendEnvironmentArn?: string; + basicAuthCredentials?: string; /** *Enables auto building for the branch.
@@ -2694,19 +2732,24 @@ export interface UpdateBranchRequest { enableAutoBuild?: boolean; /** - *The framework for the branch.
+ *The name for the branch.
*/ - framework?: string; + branchName: string | undefined; /** - *Enables basic authorization for the branch.
+ *The Amplify environment name for the pull request.
*/ - enableBasicAuth?: boolean; + pullRequestEnvironmentName?: string; /** *The description for the branch.
*/ description?: string; + + /** + *The display name for a branch. This is used as the default domain prefix.
+ */ + displayName?: string; } export namespace UpdateBranchRequest { @@ -2738,9 +2781,9 @@ export namespace UpdateBranchResult { */ export interface UpdateDomainAssociationRequest { /** - *Enables the automated creation of subdomains for branches.
+ *The unique ID for an Amplify app.
*/ - enableAutoSubDomain?: boolean; + appId: string | undefined; /** *Sets the branch patterns for automatic subdomain creation.
@@ -2748,15 +2791,9 @@ export interface UpdateDomainAssociationRequest { autoSubDomainCreationPatterns?: string[]; /** - *The required AWS Identity and Access Management (IAM) service role for the Amazon - * Resource Name (ARN) for automatically creating subdomains.
- */ - autoSubDomainIAMRole?: string; - - /** - *The unique ID for an Amplify app.
+ *Enables the automated creation of subdomains for branches.
*/ - appId: string | undefined; + enableAutoSubDomain?: boolean; /** *Describes the settings for the subdomain.
@@ -2767,6 +2804,12 @@ export interface UpdateDomainAssociationRequest { *The name of the domain.
*/ domainName: string | undefined; + + /** + *The required AWS Identity and Access Management (IAM) service role for the Amazon + * Resource Name (ARN) for automatically creating subdomains.
+ */ + autoSubDomainIAMRole?: string; } export namespace UpdateDomainAssociationRequest { @@ -2797,9 +2840,9 @@ export namespace UpdateDomainAssociationResult { */ export interface UpdateWebhookRequest { /** - *The name for a branch that is part of an Amplify app.
+ *The unique ID for a webhook.
*/ - branchName?: string; + webhookId: string | undefined; /** *The description for a webhook.
@@ -2807,9 +2850,9 @@ export interface UpdateWebhookRequest { description?: string; /** - *The unique ID for a webhook.
+ *The name for a branch that is part of an Amplify app.
*/ - webhookId: string | undefined; + branchName?: string; } export namespace UpdateWebhookRequest { diff --git a/clients/client-amplify/protocols/Aws_restJson1.ts b/clients/client-amplify/protocols/Aws_restJson1.ts index 706f2e7a0d0b..9e3adcbac470 100644 --- a/clients/client-amplify/protocols/Aws_restJson1.ts +++ b/clients/client-amplify/protocols/Aws_restJson1.ts @@ -215,6 +215,7 @@ export const serializeAws_restJson1CreateBranchCommand = async ( ...(input.enableAutoBuild !== undefined && { enableAutoBuild: input.enableAutoBuild }), ...(input.enableBasicAuth !== undefined && { enableBasicAuth: input.enableBasicAuth }), ...(input.enableNotification !== undefined && { enableNotification: input.enableNotification }), + ...(input.enablePerformanceMode !== undefined && { enablePerformanceMode: input.enablePerformanceMode }), ...(input.enablePullRequestPreview !== undefined && { enablePullRequestPreview: input.enablePullRequestPreview }), ...(input.environmentVariables !== undefined && { environmentVariables: serializeAws_restJson1EnvironmentVariables(input.environmentVariables, context), @@ -436,15 +437,6 @@ export const serializeAws_restJson1DeleteBranchCommand = async ( "Content-Type": "", }; let resolvedPath = "/apps/{appId}/branches/{branchName}"; - if (input.appId !== undefined) { - const labelValue: string = input.appId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: appId."); - } - resolvedPath = resolvedPath.replace("{appId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: appId."); - } if (input.branchName !== undefined) { const labelValue: string = input.branchName; if (labelValue.length <= 0) { @@ -454,6 +446,15 @@ export const serializeAws_restJson1DeleteBranchCommand = async ( } else { throw new Error("No value provided for input HTTP label: branchName."); } + if (input.appId !== undefined) { + const labelValue: string = input.appId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: appId."); + } + resolvedPath = resolvedPath.replace("{appId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: appId."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -514,15 +515,6 @@ export const serializeAws_restJson1DeleteJobCommand = async ( "Content-Type": "", }; let resolvedPath = "/apps/{appId}/branches/{branchName}/jobs/{jobId}"; - if (input.jobId !== undefined) { - const labelValue: string = input.jobId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: jobId."); - } - resolvedPath = resolvedPath.replace("{jobId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: jobId."); - } if (input.branchName !== undefined) { const labelValue: string = input.branchName; if (labelValue.length <= 0) { @@ -541,6 +533,15 @@ export const serializeAws_restJson1DeleteJobCommand = async ( } else { throw new Error("No value provided for input HTTP label: appId."); } + if (input.jobId !== undefined) { + const labelValue: string = input.jobId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: jobId."); + } + resolvedPath = resolvedPath.replace("{jobId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: jobId."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -687,15 +688,6 @@ export const serializeAws_restJson1GetBackendEnvironmentCommand = async ( "Content-Type": "", }; let resolvedPath = "/apps/{appId}/backendenvironments/{environmentName}"; - if (input.appId !== undefined) { - const labelValue: string = input.appId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: appId."); - } - resolvedPath = resolvedPath.replace("{appId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: appId."); - } if (input.environmentName !== undefined) { const labelValue: string = input.environmentName; if (labelValue.length <= 0) { @@ -705,6 +697,15 @@ export const serializeAws_restJson1GetBackendEnvironmentCommand = async ( } else { throw new Error("No value provided for input HTTP label: environmentName."); } + if (input.appId !== undefined) { + const labelValue: string = input.appId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: appId."); + } + resolvedPath = resolvedPath.replace("{appId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: appId."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -726,15 +727,6 @@ export const serializeAws_restJson1GetBranchCommand = async ( "Content-Type": "", }; let resolvedPath = "/apps/{appId}/branches/{branchName}"; - if (input.branchName !== undefined) { - const labelValue: string = input.branchName; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: branchName."); - } - resolvedPath = resolvedPath.replace("{branchName}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: branchName."); - } if (input.appId !== undefined) { const labelValue: string = input.appId; if (labelValue.length <= 0) { @@ -744,6 +736,15 @@ export const serializeAws_restJson1GetBranchCommand = async ( } else { throw new Error("No value provided for input HTTP label: appId."); } + if (input.branchName !== undefined) { + const labelValue: string = input.branchName; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: branchName."); + } + resolvedPath = resolvedPath.replace("{branchName}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: branchName."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -765,15 +766,6 @@ export const serializeAws_restJson1GetDomainAssociationCommand = async ( "Content-Type": "", }; let resolvedPath = "/apps/{appId}/domains/{domainName}"; - if (input.domainName !== undefined) { - const labelValue: string = input.domainName; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: domainName."); - } - resolvedPath = resolvedPath.replace("{domainName}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: domainName."); - } if (input.appId !== undefined) { const labelValue: string = input.appId; if (labelValue.length <= 0) { @@ -783,6 +775,15 @@ export const serializeAws_restJson1GetDomainAssociationCommand = async ( } else { throw new Error("No value provided for input HTTP label: appId."); } + if (input.domainName !== undefined) { + const labelValue: string = input.domainName; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: domainName."); + } + resolvedPath = resolvedPath.replace("{domainName}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: domainName."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -804,6 +805,15 @@ export const serializeAws_restJson1GetJobCommand = async ( "Content-Type": "", }; let resolvedPath = "/apps/{appId}/branches/{branchName}/jobs/{jobId}"; + if (input.appId !== undefined) { + const labelValue: string = input.appId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: appId."); + } + resolvedPath = resolvedPath.replace("{appId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: appId."); + } if (input.branchName !== undefined) { const labelValue: string = input.branchName; if (labelValue.length <= 0) { @@ -822,15 +832,6 @@ export const serializeAws_restJson1GetJobCommand = async ( } else { throw new Error("No value provided for input HTTP label: jobId."); } - if (input.appId !== undefined) { - const labelValue: string = input.appId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: appId."); - } - resolvedPath = resolvedPath.replace("{appId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: appId."); - } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -917,15 +918,6 @@ export const serializeAws_restJson1ListArtifactsCommand = async ( } else { throw new Error("No value provided for input HTTP label: branchName."); } - if (input.appId !== undefined) { - const labelValue: string = input.appId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: appId."); - } - resolvedPath = resolvedPath.replace("{appId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: appId."); - } if (input.jobId !== undefined) { const labelValue: string = input.jobId; if (labelValue.length <= 0) { @@ -935,9 +927,18 @@ export const serializeAws_restJson1ListArtifactsCommand = async ( } else { throw new Error("No value provided for input HTTP label: jobId."); } + if (input.appId !== undefined) { + const labelValue: string = input.appId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: appId."); + } + resolvedPath = resolvedPath.replace("{appId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: appId."); + } const query: any = { - ...(input.maxResults !== undefined && { maxResults: input.maxResults.toString() }), ...(input.nextToken !== undefined && { nextToken: input.nextToken }), + ...(input.maxResults !== undefined && { maxResults: input.maxResults.toString() }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -971,9 +972,9 @@ export const serializeAws_restJson1ListBackendEnvironmentsCommand = async ( throw new Error("No value provided for input HTTP label: appId."); } const query: any = { + ...(input.nextToken !== undefined && { nextToken: input.nextToken }), ...(input.maxResults !== undefined && { maxResults: input.maxResults.toString() }), ...(input.environmentName !== undefined && { environmentName: input.environmentName }), - ...(input.nextToken !== undefined && { nextToken: input.nextToken }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -1042,8 +1043,8 @@ export const serializeAws_restJson1ListDomainAssociationsCommand = async ( throw new Error("No value provided for input HTTP label: appId."); } const query: any = { - ...(input.nextToken !== undefined && { nextToken: input.nextToken }), ...(input.maxResults !== undefined && { maxResults: input.maxResults.toString() }), + ...(input.nextToken !== undefined && { nextToken: input.nextToken }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -1067,15 +1068,6 @@ export const serializeAws_restJson1ListJobsCommand = async ( "Content-Type": "", }; let resolvedPath = "/apps/{appId}/branches/{branchName}/jobs"; - if (input.branchName !== undefined) { - const labelValue: string = input.branchName; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: branchName."); - } - resolvedPath = resolvedPath.replace("{branchName}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: branchName."); - } if (input.appId !== undefined) { const labelValue: string = input.appId; if (labelValue.length <= 0) { @@ -1085,9 +1077,18 @@ export const serializeAws_restJson1ListJobsCommand = async ( } else { throw new Error("No value provided for input HTTP label: appId."); } + if (input.branchName !== undefined) { + const labelValue: string = input.branchName; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: branchName."); + } + resolvedPath = resolvedPath.replace("{branchName}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: branchName."); + } const query: any = { - ...(input.maxResults !== undefined && { maxResults: input.maxResults.toString() }), ...(input.nextToken !== undefined && { nextToken: input.nextToken }), + ...(input.maxResults !== undefined && { maxResults: input.maxResults.toString() }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -1176,15 +1177,6 @@ export const serializeAws_restJson1StartDeploymentCommand = async ( "Content-Type": "application/json", }; let resolvedPath = "/apps/{appId}/branches/{branchName}/deployments/start"; - if (input.appId !== undefined) { - const labelValue: string = input.appId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: appId."); - } - resolvedPath = resolvedPath.replace("{appId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: appId."); - } if (input.branchName !== undefined) { const labelValue: string = input.branchName; if (labelValue.length <= 0) { @@ -1194,6 +1186,15 @@ export const serializeAws_restJson1StartDeploymentCommand = async ( } else { throw new Error("No value provided for input HTTP label: branchName."); } + if (input.appId !== undefined) { + const labelValue: string = input.appId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: appId."); + } + resolvedPath = resolvedPath.replace("{appId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: appId."); + } let body: any; body = JSON.stringify({ ...(input.jobId !== undefined && { jobId: input.jobId }), @@ -1469,6 +1470,7 @@ export const serializeAws_restJson1UpdateBranchCommand = async ( ...(input.enableAutoBuild !== undefined && { enableAutoBuild: input.enableAutoBuild }), ...(input.enableBasicAuth !== undefined && { enableBasicAuth: input.enableBasicAuth }), ...(input.enableNotification !== undefined && { enableNotification: input.enableNotification }), + ...(input.enablePerformanceMode !== undefined && { enablePerformanceMode: input.enablePerformanceMode }), ...(input.enablePullRequestPreview !== undefined && { enablePullRequestPreview: input.enablePullRequestPreview }), ...(input.environmentVariables !== undefined && { environmentVariables: serializeAws_restJson1EnvironmentVariables(input.environmentVariables, context), @@ -4793,6 +4795,7 @@ const serializeAws_restJson1AutoBranchCreationConfig = ( ...(input.buildSpec !== undefined && { buildSpec: input.buildSpec }), ...(input.enableAutoBuild !== undefined && { enableAutoBuild: input.enableAutoBuild }), ...(input.enableBasicAuth !== undefined && { enableBasicAuth: input.enableBasicAuth }), + ...(input.enablePerformanceMode !== undefined && { enablePerformanceMode: input.enablePerformanceMode }), ...(input.enablePullRequestPreview !== undefined && { enablePullRequestPreview: input.enablePullRequestPreview }), ...(input.environmentVariables !== undefined && { environmentVariables: serializeAws_restJson1EnvironmentVariables(input.environmentVariables, context), @@ -4969,6 +4972,10 @@ const deserializeAws_restJson1AutoBranchCreationConfig = ( output.enableAutoBuild !== undefined && output.enableAutoBuild !== null ? output.enableAutoBuild : undefined, enableBasicAuth: output.enableBasicAuth !== undefined && output.enableBasicAuth !== null ? output.enableBasicAuth : undefined, + enablePerformanceMode: + output.enablePerformanceMode !== undefined && output.enablePerformanceMode !== null + ? output.enablePerformanceMode + : undefined, enablePullRequestPreview: output.enablePullRequestPreview !== undefined && output.enablePullRequestPreview !== null ? output.enablePullRequestPreview @@ -5062,6 +5069,10 @@ const deserializeAws_restJson1Branch = (output: any, context: __SerdeContext): B output.enableNotification !== undefined && output.enableNotification !== null ? output.enableNotification : undefined, + enablePerformanceMode: + output.enablePerformanceMode !== undefined && output.enablePerformanceMode !== null + ? output.enablePerformanceMode + : undefined, enablePullRequestPreview: output.enablePullRequestPreview !== undefined && output.enablePullRequestPreview !== null ? output.enablePullRequestPreview diff --git a/clients/client-api-gateway/index.ts b/clients/client-api-gateway/index.ts index 5c84a9e111d0..5b5720d1921f 100644 --- a/clients/client-api-gateway/index.ts +++ b/clients/client-api-gateway/index.ts @@ -42,20 +42,25 @@ export * from "./commands/GenerateClientCertificateCommand"; export * from "./commands/GetAccountCommand"; export * from "./commands/GetApiKeyCommand"; export * from "./commands/GetApiKeysCommand"; +export * from "./pagination/GetApiKeysPaginator"; export * from "./commands/GetAuthorizerCommand"; export * from "./commands/GetAuthorizersCommand"; export * from "./commands/GetBasePathMappingCommand"; export * from "./commands/GetBasePathMappingsCommand"; +export * from "./pagination/GetBasePathMappingsPaginator"; export * from "./commands/GetClientCertificateCommand"; export * from "./commands/GetClientCertificatesCommand"; +export * from "./pagination/GetClientCertificatesPaginator"; export * from "./commands/GetDeploymentCommand"; export * from "./commands/GetDeploymentsCommand"; +export * from "./pagination/GetDeploymentsPaginator"; export * from "./commands/GetDocumentationPartCommand"; export * from "./commands/GetDocumentationPartsCommand"; export * from "./commands/GetDocumentationVersionCommand"; export * from "./commands/GetDocumentationVersionsCommand"; export * from "./commands/GetDomainNameCommand"; export * from "./commands/GetDomainNamesCommand"; +export * from "./pagination/GetDomainNamesPaginator"; export * from "./commands/GetExportCommand"; export * from "./commands/GetGatewayResponseCommand"; export * from "./commands/GetGatewayResponsesCommand"; @@ -65,13 +70,16 @@ export * from "./commands/GetMethodCommand"; export * from "./commands/GetMethodResponseCommand"; export * from "./commands/GetModelCommand"; export * from "./commands/GetModelsCommand"; +export * from "./pagination/GetModelsPaginator"; export * from "./commands/GetModelTemplateCommand"; export * from "./commands/GetRequestValidatorCommand"; export * from "./commands/GetRequestValidatorsCommand"; export * from "./commands/GetResourceCommand"; export * from "./commands/GetResourcesCommand"; +export * from "./pagination/GetResourcesPaginator"; export * from "./commands/GetRestApiCommand"; export * from "./commands/GetRestApisCommand"; +export * from "./pagination/GetRestApisPaginator"; export * from "./commands/GetSdkCommand"; export * from "./commands/GetSdkTypeCommand"; export * from "./commands/GetSdkTypesCommand"; @@ -79,12 +87,16 @@ export * from "./commands/GetStageCommand"; export * from "./commands/GetStagesCommand"; export * from "./commands/GetTagsCommand"; export * from "./commands/GetUsageCommand"; +export * from "./pagination/GetUsagePaginator"; export * from "./commands/GetUsagePlanCommand"; export * from "./commands/GetUsagePlanKeyCommand"; export * from "./commands/GetUsagePlanKeysCommand"; +export * from "./pagination/GetUsagePlanKeysPaginator"; export * from "./commands/GetUsagePlansCommand"; +export * from "./pagination/GetUsagePlansPaginator"; export * from "./commands/GetVpcLinkCommand"; export * from "./commands/GetVpcLinksCommand"; +export * from "./pagination/GetVpcLinksPaginator"; export * from "./commands/ImportApiKeysCommand"; export * from "./commands/ImportDocumentationPartsCommand"; export * from "./commands/ImportRestApiCommand"; @@ -120,4 +132,5 @@ export * from "./commands/UpdateStageCommand"; export * from "./commands/UpdateUsageCommand"; export * from "./commands/UpdateUsagePlanCommand"; export * from "./commands/UpdateVpcLinkCommand"; +export * from "./pagination/Interfaces"; export * from "./models/index"; diff --git a/clients/client-api-gateway/models/models_0.ts b/clients/client-api-gateway/models/models_0.ts index 23c7f5e9699f..e15e22632418 100644 --- a/clients/client-api-gateway/models/models_0.ts +++ b/clients/client-api-gateway/models/models_0.ts @@ -6,14 +6,14 @@ import { MetadataBearer as $MetadataBearer } from "@aws-sdk/types"; */ export interface AccessLogSettings { /** - *A single line format of the access logs of data, as specified by selected $context variables. The format must include at least $context.requestId
.
The Amazon Resource Name (ARN) of the CloudWatch Logs log group or Kinesis Data Firehose delivery stream to receive access logs. If you specify a Kinesis Data Firehose delivery stream, the stream name must begin with amazon-apigateway-
.
The Amazon Resource Name (ARN) of the CloudWatch Logs log group or Kinesis Data Firehose delivery stream to receive access logs. If you specify a Kinesis Data Firehose delivery stream, the stream name must begin with amazon-apigateway-
.
A single line format of the access logs of data, as specified by selected $context variables. The format must include at least $context.requestId
.
A list of features supported for the account. When usage plans are enabled, the features list will include an entry of "UsagePlans"
.
The version of the API keys used for the account.
*/ - features?: string[]; + apiKeyVersion?: string; /** - *The version of the API keys used for the account.
+ *The ARN of an Amazon CloudWatch role for the current Account.
*/ - apiKeyVersion?: string; + cloudwatchRoleArn?: string; /** - *Specifies the API request limits configured for the current Account.
+ *A list of features supported for the account. When usage plans are enabled, the features list will include an entry of "UsagePlans"
.
The ARN of an Amazon CloudWatch role for the current Account.
+ *Specifies the API request limits configured for the current Account.
*/ - cloudwatchRoleArn?: string; + throttleSettings?: ThrottleSettings; } export namespace Account { @@ -130,34 +130,29 @@ export namespace Account { */ export interface ApiKey { /** - *The name of the API Key.
- */ - name?: string; - - /** - *A list of Stage resources that are associated with the ApiKey resource.
+ *The identifier of the API Key.
*/ - stageKeys?: string[]; + id?: string; /** - *The timestamp when the API Key was created.
+ *The name of the API Key.
*/ - createdDate?: Date; + name?: string; /** - *The identifier of the API Key.
+ *An AWS Marketplace customer identifier , when integrating with the AWS SaaS Marketplace.
*/ - id?: string; + customerId?: string; /** - *An AWS Marketplace customer identifier , when integrating with the AWS SaaS Marketplace.
+ *A list of Stage resources that are associated with the ApiKey resource.
*/ - customerId?: string; + stageKeys?: string[]; /** - *The timestamp when the API Key was last updated.
+ *The collection of tags. Each tag element is associated with a given resource.
*/ - lastUpdatedDate?: Date; + tags?: { [key: string]: string }; /** *Specifies whether the API Key can be used by callers.
@@ -165,19 +160,24 @@ export interface ApiKey { enabled?: boolean; /** - *The collection of tags. Each tag element is associated with a given resource.
+ *The description of the API Key.
*/ - tags?: { [key: string]: string }; + description?: string; /** - *The description of the API Key.
+ *The timestamp when the API Key was last updated.
*/ - description?: string; + lastUpdatedDate?: Date; /** *The value of the API Key.
*/ value?: string; + + /** + *The timestamp when the API Key was created.
+ */ + createdDate?: Date; } export namespace ApiKey { @@ -191,14 +191,14 @@ export namespace ApiKey { */ export interface ApiKeyIds { /** - *A list of all the ApiKey identifiers.
+ *A list of warning messages.
*/ - ids?: string[]; + warnings?: string[]; /** - *A list of warning messages.
+ *A list of all the ApiKey identifiers.
*/ - warnings?: string[]; + ids?: string[]; } export namespace ApiKeyIds { @@ -250,14 +250,14 @@ export enum ApiKeySourceType { */ export interface ApiStage { /** - *API stage name of the associated API stage in a usage plan.
+ *Map containing method level throttling information for API stage in a usage plan.
*/ - stage?: string; + throttle?: { [key: string]: ThrottleSettings }; /** - *Map containing method level throttling information for API stage in a usage plan.
+ *API stage name of the associated API stage in a usage plan.
*/ - throttle?: { [key: string]: ThrottleSettings }; + stage?: string; /** *API Id of the associated API stage in a usage plan.
@@ -286,9 +286,9 @@ export enum AuthorizerType { */ export interface Authorizer { /** - *[Required] The name of the authorizer.
+ *The identifier for the authorizer resource.
*/ - name?: string; + id?: string; /** *Specifies the required credentials as an IAM role for API Gateway to invoke the authorizer. To specify an IAM role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To use resource-based permissions on the Lambda function, specify null.
@@ -296,14 +296,19 @@ export interface Authorizer { authorizerCredentials?: string; /** - *The identity source for which authorization is requested.
TOKEN
or COGNITO_USER_POOLS
authorizer, this is required and specifies the request header mapping expression for the custom header holding the authorization token submitted by the client. For example, if the token header name is Auth
, the header mapping expression is method.request.header.Auth
.REQUEST
authorizer, this is required when authorization caching is enabled. The value is a comma-separated string of one or more mapping expressions of the specified request parameters. For example, if an Auth
header, a Name
query string parameter are defined as identity sources, this value is method.request.header.Auth, method.request.querystring.Name
. These parameters will be used to derive the authorization caching key and to perform runtime validation of the REQUEST
authorizer by verifying all of the identity-related request parameters are present, not null and non-empty. Only when this is true does the authorizer invoke the authorizer Lambda function, otherwise, it returns a 401 Unauthorized response without calling the Lambda function. The valid value is a string of comma-separated mapping expressions of the specified request parameters. When the authorization caching is not enabled, this property is optional.The authorizer type. Valid values are TOKEN
for a Lambda function using a single authorization token submitted in a custom header, REQUEST
for a Lambda function using incoming request parameters, and COGNITO_USER_POOLS
for using an Amazon Cognito user pool.
The authorizer type. Valid values are TOKEN
for a Lambda function using a single authorization token submitted in a custom header, REQUEST
for a Lambda function using incoming request parameters, and COGNITO_USER_POOLS
for using an Amazon Cognito user pool.
A list of the Amazon Cognito user pool ARNs for the COGNITO_USER_POOLS
authorizer. Each element is of this format: arn:aws:cognito-idp:{region}:{account_id}:userpool/{user_pool_id}
. For a TOKEN
or REQUEST
authorizer, this is not defined.
The identity source for which authorization is requested.
TOKEN
or COGNITO_USER_POOLS
authorizer, this is required and specifies the request header mapping expression for the custom header holding the authorization token submitted by the client. For example, if the token header name is Auth
, the header mapping expression is method.request.header.Auth
.REQUEST
authorizer, this is required when authorization caching is enabled. The value is a comma-separated string of one or more mapping expressions of the specified request parameters. For example, if an Auth
header, a Name
query string parameter are defined as identity sources, this value is method.request.header.Auth, method.request.querystring.Name
. These parameters will be used to derive the authorization caching key and to perform runtime validation of the REQUEST
authorizer by verifying all of the identity-related request parameters are present, not null and non-empty. Only when this is true does the authorizer invoke the authorizer Lambda function, otherwise, it returns a 401 Unauthorized response without calling the Lambda function. The valid value is a string of comma-separated mapping expressions of the specified request parameters. When the authorization caching is not enabled, this property is optional.Specifies the authorizer's Uniform Resource Identifier (URI). For TOKEN
or REQUEST
authorizers, this must be a well-formed Lambda function URI, for example, arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:{account_id}:function:{lambda_function_name}/invocations
. In general, the URI has this form arn:aws:apigateway:{region}:lambda:path/{service_api}
, where {region}
is the same as the region hosting the Lambda function, path
indicates that the remaining substring in the URI should be treated as the path to the resource, including the initial /
. For Lambda functions, this is usually of the form /2015-03-31/functions/[FunctionARN]/invocations
.
A list of the Amazon Cognito user pool ARNs for the COGNITO_USER_POOLS
authorizer. Each element is of this format: arn:aws:cognito-idp:{region}:{account_id}:userpool/{user_pool_id}
. For a TOKEN
or REQUEST
authorizer, this is not defined.
The TTL in seconds of cached authorizer results. If it equals 0, authorization caching is disabled. If it is greater than 0, API Gateway will cache authorizer responses. If this field is not set, the default value is 300. The maximum value is 3600, or 1 hour.
*/ - providerARNs?: string[]; + authorizerResultTtlInSeconds?: number; /** *Optional customer-defined field, used in OpenAPI imports and exports without functional impact.
@@ -326,14 +331,9 @@ export interface Authorizer { identityValidationExpression?: string; /** - *The TTL in seconds of cached authorizer results. If it equals 0, authorization caching is disabled. If it is greater than 0, API Gateway will cache authorizer responses. If this field is not set, the default value is 300. The maximum value is 3600, or 1 hour.
- */ - authorizerResultTtlInSeconds?: number; - - /** - *The identifier for the authorizer resource.
+ *[Required] The name of the authorizer.
*/ - id?: string; + name?: string; } export namespace Authorizer { @@ -402,14 +402,14 @@ export namespace ConflictException { */ export interface StageKey { /** - *The stage name associated with the stage key.
+ *The string identifier of the associated RestApi.
*/ - stageName?: string; + restApiId?: string; /** - *The string identifier of the associated RestApi.
+ *The stage name associated with the stage key.
*/ - restApiId?: string; + stageName?: string; } export namespace StageKey { @@ -422,8 +422,8 @@ export namespace StageKey { *Request to create an ApiKey resource.
*/ export interface CreateApiKeyRequest { - templateSkipList?: string[]; template?: boolean; + templateSkipList?: string[]; title?: string; /** *The name of the ApiKey.
@@ -431,39 +431,39 @@ export interface CreateApiKeyRequest { name?: string; /** - *DEPRECATED FOR USAGE PLANS - Specifies stages associated with the API key.
+ *Specifies whether (true
) or not (false
) the key identifier is distinct from the created API key value. This parameter is deprecated and should not be used.
The description of the ApiKey.
+ *The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. The tag key can be up to 128 characters and must not start with aws:
. The tag value can be up to 256 characters.
An AWS Marketplace customer identifier , when integrating with the AWS SaaS Marketplace.
+ *Specifies whether the ApiKey can be used by callers.
*/ - customerId?: string; + enabled?: boolean; /** - *Specifies whether (true
) or not (false
) the key identifier is distinct from the created API key value. This parameter is deprecated and should not be used.
The description of the ApiKey.
*/ - generateDistinctId?: boolean; + description?: string; /** - *The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. The tag key can be up to 128 characters and must not start with aws:
. The tag value can be up to 256 characters.
Specifies a value of the API key.
*/ - tags?: { [key: string]: string }; + value?: string; /** - *Specifies a value of the API key.
+ *DEPRECATED FOR USAGE PLANS - Specifies stages associated with the API key.
*/ - value?: string; + stageKeys?: StageKey[]; /** - *Specifies whether the ApiKey can be used by callers.
+ *An AWS Marketplace customer identifier , when integrating with the AWS SaaS Marketplace.
*/ - enabled?: boolean; + customerId?: string; } export namespace CreateApiKeyRequest { @@ -509,8 +509,8 @@ export namespace NotFoundException { export interface TooManyRequestsException extends __SmithyException, $MetadataBearer { name: "TooManyRequestsException"; $fault: "client"; - message?: string; retryAfterSeconds?: string; + message?: string; } export namespace TooManyRequestsException { @@ -538,6 +538,13 @@ export namespace UnauthorizedException { *Request to add a new Authorizer to an existing RestApi resource.
*/ export interface CreateAuthorizerRequest { + templateSkipList?: string[]; + title?: string; + /** + *[Required] The string identifier of the associated RestApi.
+ */ + restApiId: string | undefined; + template?: boolean; /** *[Required] The name of the authorizer.
@@ -545,12 +552,10 @@ export interface CreateAuthorizerRequest { name: string | undefined; /** - *[Required] The string identifier of the associated RestApi.
+ *A list of the Amazon Cognito user pool ARNs for the COGNITO_USER_POOLS
authorizer. Each element is of this format: arn:aws:cognito-idp:{region}:{account_id}:userpool/{user_pool_id}
. For a TOKEN
or REQUEST
authorizer, this is not defined.
[Required] The authorizer type. Valid values are TOKEN
for a Lambda function using a single authorization token submitted in a custom header, REQUEST
for a Lambda function using incoming request parameters, and COGNITO_USER_POOLS
for using an Amazon Cognito user pool.
The TTL in seconds of cached authorizer results. If it equals 0, authorization caching is disabled. If it is greater than 0, API Gateway will cache authorizer responses. If this field is not set, the default value is 300. The maximum value is 3600, or 1 hour.
- */ - authorizerResultTtlInSeconds?: number; - /** *A validation expression for the incoming identity token. For TOKEN
authorizers, this value is a regular expression. For COGNITO_USER_POOLS
authorizers, API Gateway will match the aud
field of the incoming token from the client against the specified regular expression. It will invoke the authorizer's Lambda function when there is a match. Otherwise, it will return a 401 Unauthorized response without calling the Lambda function. The validation expression does not apply to the REQUEST
authorizer.
The identity source for which authorization is requested.
TOKEN
or COGNITO_USER_POOLS
authorizer, this is required and specifies the request header mapping expression for the custom header holding the authorization token submitted by the client. For example, if the token header name is Auth
, the header mapping expression is method.request.header.Auth
.REQUEST
authorizer, this is required when authorization caching is enabled. The value is a comma-separated string of one or more mapping expressions of the specified request parameters. For example, if an Auth
header, a Name
query string parameter are defined as identity sources, this value is method.request.header.Auth, method.request.querystring.Name
. These parameters will be used to derive the authorization caching key and to perform runtime validation of the REQUEST
authorizer by verifying all of the identity-related request parameters are present, not null and non-empty. Only when this is true does the authorizer invoke the authorizer Lambda function, otherwise, it returns a 401 Unauthorized response without calling the Lambda function. The valid value is a string of comma-separated mapping expressions of the specified request parameters. When the authorization caching is not enabled, this property is optional.The TTL in seconds of cached authorizer results. If it equals 0, authorization caching is disabled. If it is greater than 0, API Gateway will cache authorizer responses. If this field is not set, the default value is 300. The maximum value is 3600, or 1 hour.
*/ - identitySource?: string; + authorizerResultTtlInSeconds?: number; /** *Specifies the authorizer's Uniform Resource Identifier (URI). For TOKEN
or REQUEST
authorizers, this must be a well-formed Lambda function URI, for example, arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:{account_id}:function:{lambda_function_name}/invocations
. In general, the URI has this form arn:aws:apigateway:{region}:lambda:path/{service_api}
, where {region}
is the same as the region hosting the Lambda function, path
indicates that the remaining substring in the URI should be treated as the path to the resource, including the initial /
. For Lambda functions, this is usually of the form /2015-03-31/functions/[FunctionARN]/invocations
.
A list of the Amazon Cognito user pool ARNs for the COGNITO_USER_POOLS
authorizer. Each element is of this format: arn:aws:cognito-idp:{region}:{account_id}:userpool/{user_pool_id}
. For a TOKEN
or REQUEST
authorizer, this is not defined.
The identity source for which authorization is requested.
TOKEN
or COGNITO_USER_POOLS
authorizer, this is required and specifies the request header mapping expression for the custom header holding the authorization token submitted by the client. For example, if the token header name is Auth
, the header mapping expression is method.request.header.Auth
.REQUEST
authorizer, this is required when authorization caching is enabled. The value is a comma-separated string of one or more mapping expressions of the specified request parameters. For example, if an Auth
header, a Name
query string parameter are defined as identity sources, this value is method.request.header.Auth, method.request.querystring.Name
. These parameters will be used to derive the authorization caching key and to perform runtime validation of the REQUEST
authorizer by verifying all of the identity-related request parameters are present, not null and non-empty. Only when this is true does the authorizer invoke the authorizer Lambda function, otherwise, it returns a 401 Unauthorized response without calling the Lambda function. The valid value is a string of comma-separated mapping expressions of the specified request parameters. When the authorization caching is not enabled, this property is optional.[Required] The domain name of the BasePathMapping resource to create.
*/ domainName: string | undefined; - title?: string; templateSkipList?: string[]; template?: boolean; /** - *The name of the API's stage that you want to use for this mapping. Specify '(none)' if you want callers to explicitly specify the stage name after any base path name.
+ *[Required] The string identifier of the associated RestApi.
*/ - stage?: string; + restApiId: string | undefined; /** - *[Required] The string identifier of the associated RestApi.
+ *The name of the API's stage that you want to use for this mapping. Specify '(none)' if you want callers to explicitly specify the stage name after any base path name.
*/ - restApiId: string | undefined; + stage?: string; /** *The base path name that callers of the API must provide as part of the URL after the domain name. This value must be unique for all of the mappings across a single API. Specify '(none)' if you do not want callers to specify a base path name after the domain name.
@@ -679,14 +679,14 @@ export enum CacheClusterSize { */ export interface DeploymentCanarySettings { /** - *A stage variable overrides used for the canary release deployment. They can override existing stage variables or add new stage variables for the canary release deployment. These stage variables are represented as a string-to-string map between stage variable names and their values.
+ *A Boolean flag to indicate whether the canary release deployment uses the stage cache or not.
*/ - stageVariableOverrides?: { [key: string]: string }; + useStageCache?: boolean; /** - *A Boolean flag to indicate whether the canary release deployment uses the stage cache or not.
+ *A stage variable overrides used for the canary release deployment. They can override existing stage variables or add new stage variables for the canary release deployment. These stage variables are represented as a string-to-string map between stage variable names and their values.
*/ - useStageCache?: boolean; + stageVariableOverrides?: { [key: string]: string }; /** *The percentage (0.0-100.0) of traffic routed to the canary deployment.
@@ -704,19 +704,24 @@ export namespace DeploymentCanarySettings { *Requests API Gateway to create a Deployment resource.
*/ export interface CreateDeploymentRequest { - template?: boolean; templateSkipList?: string[]; title?: string; name?: string; + template?: boolean; /** *[Required] The string identifier of the associated RestApi.
*/ restApiId: string | undefined; /** - *Specifies whether active tracing with X-ray is enabled for the Stage.
+ *The description of the Stage resource for the Deployment resource to create.
*/ - tracingEnabled?: boolean; + stageDescription?: string; + + /** + *Enables a cache cluster for the Stage resource specified in the input.
+ */ + cacheClusterEnabled?: boolean; /** *The input configuration for the canary deployment when the deployment is a canary release deployment.
@@ -736,24 +741,19 @@ export interface CreateDeploymentRequest { cacheClusterSize?: CacheClusterSize | string; /** - *The description of the Stage resource for the Deployment resource to create.
+ *Specifies whether active tracing with X-ray is enabled for the Stage.
*/ - stageDescription?: string; + tracingEnabled?: boolean; /** - *Enables a cache cluster for the Stage resource specified in the input.
+ *The description for the Deployment resource to create.
*/ - cacheClusterEnabled?: boolean; + description?: string; /** *The name of the Stage resource for the Deployment resource to create.
*/ stageName?: string; - - /** - *The description for the Deployment resource to create.
- */ - description?: string; } export namespace CreateDeploymentRequest { @@ -767,14 +767,14 @@ export namespace CreateDeploymentRequest { */ export interface MethodSnapshot { /** - *The method's authorization type. Valid values are NONE
for open access, AWS_IAM
for using AWS IAM permissions, CUSTOM
for using a custom authorizer, or COGNITO_USER_POOLS
for using a Cognito user pool.
Specifies whether the method requires a valid ApiKey.
*/ - authorizationType?: string; + apiKeyRequired?: boolean; /** - *Specifies whether the method requires a valid ApiKey.
+ *The method's authorization type. Valid values are NONE
for open access, AWS_IAM
for using AWS IAM permissions, CUSTOM
for using a custom authorizer, or COGNITO_USER_POOLS
for using a Cognito user pool.
The date and time that the deployment resource was created.
+ *The description for the deployment resource.
*/ - createdDate?: Date; + description?: string; /** - *A summary of the RestApi at the date and time that the deployment resource was created.
+ *The identifier for the deployment resource.
*/ - apiSummary?: { [key: string]: { [key: string]: MethodSnapshot } }; + id?: string; /** - *The identifier for the deployment resource.
+ *The date and time that the deployment resource was created.
*/ - id?: string; + createdDate?: Date; /** - *The description for the deployment resource.
+ *A summary of the RestApi at the date and time that the deployment resource was created.
*/ - description?: string; + apiSummary?: { [key: string]: { [key: string]: MethodSnapshot } }; } export namespace Deployment { @@ -855,6 +855,16 @@ export enum DocumentationPartType { *Specifies the target API entity to which the documentation applies.
*/ export interface DocumentationPartLocation { + /** + *The HTTP verb of a method. It is a valid field for the API entity types of METHOD
, PATH_PARAMETER
, QUERY_PARAMETER
, REQUEST_HEADER
, REQUEST_BODY
, RESPONSE
, RESPONSE_HEADER
, and RESPONSE_BODY
. The default value is *
for any method. When an applicable child entity inherits the content of an entity of the same type with more general specifications of the other location
attributes, the child entity's method
attribute must match that of the parent entity exactly.
The HTTP status code of a response. It is a valid field for the API entity types of RESPONSE
, RESPONSE_HEADER
, and RESPONSE_BODY
. The default value is *
for any status code. When an applicable child entity inherits the content of an entity of the same type with more general specifications of the other location
attributes, the child entity's statusCode
attribute must match that of the parent entity exactly.
The URL path of the target. It is a valid field for the API entity types of RESOURCE
, METHOD
, PATH_PARAMETER
, QUERY_PARAMETER
, REQUEST_HEADER
, REQUEST_BODY
, RESPONSE
, RESPONSE_HEADER
, and RESPONSE_BODY
. The default value is /
for the root resource. When an applicable child entity inherits the content of another entity of the same type with more general specifications of the other location
attributes, the child entity's path
attribute must match that of the parent entity as a prefix.
The HTTP status code of a response. It is a valid field for the API entity types of RESPONSE
, RESPONSE_HEADER
, and RESPONSE_BODY
. The default value is *
for any status code. When an applicable child entity inherits the content of an entity of the same type with more general specifications of the other location
attributes, the child entity's statusCode
attribute must match that of the parent entity exactly.
The name of the targeted API entity. It is a valid and required field for the API entity types of AUTHORIZER
, MODEL
, PATH_PARAMETER
, QUERY_PARAMETER
, REQUEST_HEADER
, REQUEST_BODY
and RESPONSE_HEADER
. It is an invalid field for any other entity type.
The HTTP verb of a method. It is a valid field for the API entity types of METHOD
, PATH_PARAMETER
, QUERY_PARAMETER
, REQUEST_HEADER
, REQUEST_BODY
, RESPONSE
, RESPONSE_HEADER
, and RESPONSE_BODY
. The default value is *
for any method. When an applicable child entity inherits the content of an entity of the same type with more general specifications of the other location
attributes, the child entity's method
attribute must match that of the parent entity exactly.
Creates a new documentation part of a given API.
*/ export interface CreateDocumentationPartRequest { - name?: string; + template?: boolean; /** *[Required] The string identifier of the associated RestApi.
*/ restApiId: string | undefined; - template?: boolean; templateSkipList?: string[]; title?: string; + name?: string; /** *[Required] The new documentation content map of the targeted API entity. Enclosed key-value pairs are API-specific, but only OpenAPI-compliant key-value pairs can be exported and, hence, published.
*/ @@ -953,20 +953,15 @@ export namespace DocumentationPart { *Creates a new documentation version of a given API.
*/ export interface CreateDocumentationVersionRequest { - title?: string; - name?: string; /** *[Required] The string identifier of the associated RestApi.
*/ restApiId: string | undefined; + name?: string; + title?: string; templateSkipList?: string[]; template?: boolean; - /** - *The stage name to be associated with the new documentation snapshot.
- */ - stageName?: string; - /** *[Required] The version identifier of the new snapshot.
*/ @@ -976,6 +971,11 @@ export interface CreateDocumentationVersionRequest { *A description about the new documentation snapshot.
*/ description?: string; + + /** + *The stage name to be associated with the new documentation snapshot.
+ */ + stageName?: string; } export namespace CreateDocumentationVersionRequest { @@ -992,11 +992,6 @@ export namespace CreateDocumentationVersionRequest { * */ export interface DocumentationVersion { - /** - *The description of the API documentation snapshot.
- */ - description?: string; - /** *The date when the API documentation snapshot is created.
*/ @@ -1006,6 +1001,11 @@ export interface DocumentationVersion { *The version identifier of the API documentation snapshot.
*/ version?: string; + + /** + *The description of the API documentation snapshot.
+ */ + description?: string; } export namespace DocumentationVersion { @@ -1037,35 +1037,63 @@ export namespace EndpointConfiguration { }); } +/** + *If specified, API Gateway performs two-way authentication between the client and the server. Clients must present a trusted certificate to access your custom domain name.
+ */ +export interface MutualTlsAuthenticationInput { + /** + *The version of the S3 object that contains your truststore. To + * specify a version, you must have versioning enabled for the S3 bucket.
+ */ + truststoreVersion?: string; + + /** + *An Amazon S3 resource ARN that specifies the truststore for mutual TLS authentication,
+ * for example,
+ * s3://bucket-name/key-name
.
+ * The truststore can contain certificates from public or private certificate authorities.
+ * To update the truststore, upload a new version to S3, and then update your custom domain
+ * name to use the new version. To update the truststore, you must have permissions to
+ * access the S3 object.
A request to create a new domain name.
*/ export interface CreateDomainNameRequest { + name?: string; template?: boolean; title?: string; - name?: string; templateSkipList?: string[]; /** - *[Deprecated] Your edge-optimized endpoint's domain name certificate's private key.
+ *The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. The tag key can be up to 128 characters and must not start with aws:
. The tag value can be up to 256 characters.
[Deprecated] The intermediate certificates and optionally the root certificate, one after the other without any blank lines, used by an edge-optimized endpoint for this domain name. If you include the root certificate, your certificate chain must start with intermediate certificates and end with the root certificate. Use the intermediate certificates that were provided by your certificate authority. Do not include any intermediaries that are not in the chain of trust path.
+ *The Transport Layer Security (TLS) version + cipher suite for this DomainName. The valid values are TLS_1_0
and TLS_1_2
.
The user-friendly name of the certificate that will be used by regional endpoint for this domain name.
+ *The reference to an AWS-managed certificate that will be used by edge-optimized endpoint for this domain name. AWS Certificate Manager is the only supported source.
*/ - regionalCertificateName?: string; + certificateArn?: string; /** - *The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. The tag key can be up to 128 characters and must not start with aws:
. The tag value can be up to 256 characters.
The user-friendly name of the certificate that will be used by edge-optimized endpoint for this domain name.
*/ - tags?: { [key: string]: string }; + certificateName?: string; /** *[Deprecated] The body of the server certificate that will be used by edge-optimized endpoint for this domain name provided by your certificate authority.
@@ -1073,14 +1101,19 @@ export interface CreateDomainNameRequest { certificateBody?: string; /** - *The user-friendly name of the certificate that will be used by edge-optimized endpoint for this domain name.
+ *[Deprecated] Your edge-optimized endpoint's domain name certificate's private key.
*/ - certificateName?: string; + certificatePrivateKey?: string; /** - *[Required] The name of the DomainName resource.
+ *If specified, API Gateway performs two-way authentication between the client and the server. Clients must present a trusted certificate to access your custom domain name.
*/ - domainName: string | undefined; + mutualTlsAuthentication?: MutualTlsAuthenticationInput; + + /** + *The user-friendly name of the certificate that will be used by regional endpoint for this domain name.
+ */ + regionalCertificateName?: string; /** *The endpoint configuration of this DomainName showing the endpoint types of the domain name.
@@ -1088,14 +1121,14 @@ export interface CreateDomainNameRequest { endpointConfiguration?: EndpointConfiguration; /** - *The Transport Layer Security (TLS) version + cipher suite for this DomainName. The valid values are TLS_1_0
and TLS_1_2
.
[Required] The name of the DomainName resource.
*/ - securityPolicy?: SecurityPolicy | string; + domainName: string | undefined; /** - *The reference to an AWS-managed certificate that will be used by edge-optimized endpoint for this domain name. AWS Certificate Manager is the only supported source.
+ *[Deprecated] The intermediate certificates and optionally the root certificate, one after the other without any blank lines, used by an edge-optimized endpoint for this domain name. If you include the root certificate, your certificate chain must start with intermediate certificates and end with the root certificate. Use the intermediate certificates that were provided by your certificate authority. Do not include any intermediaries that are not in the chain of trust path.
*/ - certificateArn?: string; + certificateChain?: string; /** *The reference to an AWS-managed certificate that will be used by regional endpoint for this domain name. AWS Certificate Manager is the only supported source.
@@ -1115,6 +1148,41 @@ export enum DomainNameStatus { UPDATING = "UPDATING", } +/** + *If specified, API Gateway performs two-way authentication between the client and the server. Clients must present a trusted certificate to access your custom domain name.
+ */ +export interface MutualTlsAuthentication { + /** + *The version of the S3 object that contains your truststore. To + * specify a version, you must have versioning enabled for the S3 bucket.
+ */ + truststoreVersion?: string; + + /** + *A list of warnings that API Gateway returns while processing your truststore. Invalid + * certificates produce warnings. Mutual TLS is still enabled, but some clients might not + * be able to access your API. To resolve warnings, upload a new truststore to S3, and then + * update you domain name to use the new version.
+ */ + truststoreWarnings?: string[]; + + /** + *An Amazon S3 URL that specifies the truststore for mutual TLS authentication,
+ * for example s3://bucket-name/key-name
.
+ * The truststore can contain certificates from public or private certificate authorities.
+ * To update the truststore, upload a new version to S3, and then update your custom domain
+ * name to use the new version. To update the truststore, you must have permissions to
+ * access the S3 object.
Represents a custom domain name as a user-friendly host name of an API (RestApi).
*The domain name associated with the regional endpoint for this custom domain name. You set up this association by adding a DNS record that points the custom domain name to this regional domain name. The regional domain name is returned by API Gateway when you create a regional endpoint.
- */ - regionalDomainName?: string; - - /** - *The name of the certificate that will be used by edge-optimized endpoint for this domain name.
- */ - certificateName?: string; - - /** - *The region-agnostic Amazon Route 53 Hosted Zone ID of the edge-optimized endpoint. The valid value is Z2FDTNDATAQYW2
for all the regions. For more information, see Set up a Regional Custom Domain Name and AWS Regions and Endpoints for API Gateway.
The domain name of the Amazon CloudFront distribution associated with this custom domain name for an edge-optimized endpoint. You set up this association when adding a DNS record pointing the custom domain name to this distribution name. For more information about CloudFront distributions, see the Amazon CloudFront documentation.
*/ - distributionHostedZoneId?: string; + distributionDomainName?: string; /** - *The custom domain name as an API host name, for example, my-api.example.com
.
The mutual TLS authentication configuration for a custom domain name. If specified, API Gateway performs two-way authentication between the client and the server. Clients must present a trusted certificate to access your API.
*/ - domainName?: string; + mutualTlsAuthentication?: MutualTlsAuthentication; /** - *The Transport Layer Security (TLS) version + cipher suite for this DomainName. The valid values are TLS_1_0
and TLS_1_2
.
An optional text message containing detailed information about status of the DomainName migration.
*/ - securityPolicy?: SecurityPolicy | string; + domainNameStatusMessage?: string; /** - *An optional text message containing detailed information about status of the DomainName migration.
+ *The domain name associated with the regional endpoint for this custom domain name. You set up this association by adding a DNS record that points the custom domain name to this regional domain name. The regional domain name is returned by API Gateway when you create a regional endpoint.
*/ - domainNameStatusMessage?: string; + regionalDomainName?: string; /** - *The reference to an AWS-managed certificate that will be used for validating the regional domain name. AWS Certificate Manager is the only supported source.
+ *The custom domain name as an API host name, for example, my-api.example.com
.
The reference to an AWS-managed certificate that will be used by edge-optimized endpoint for this domain name. AWS Certificate Manager is the only supported source.
@@ -1181,15 +1239,30 @@ export interface DomainName { */ endpointConfiguration?: EndpointConfiguration; + /** + *The reference to an AWS-managed certificate that will be used for validating the regional domain name. AWS Certificate Manager is the only supported source.
+ */ + regionalCertificateArn?: string; + /** *The region-specific Amazon Route 53 Hosted Zone ID of the regional endpoint. For more information, see Set up a Regional Custom Domain Name and AWS Regions and Endpoints for API Gateway.
*/ regionalHostedZoneId?: string; /** - *The domain name of the Amazon CloudFront distribution associated with this custom domain name for an edge-optimized endpoint. You set up this association when adding a DNS record pointing the custom domain name to this distribution name. For more information about CloudFront distributions, see the Amazon CloudFront documentation.
+ *The Transport Layer Security (TLS) version + cipher suite for this DomainName. The valid values are TLS_1_0
and TLS_1_2
.
The status of the DomainName migration. The valid values are AVAILABLE
and UPDATING
. If the status is UPDATING
, the domain cannot be modified further until the existing operation is complete. If it is AVAILABLE
, the domain can be updated.
The name of the certificate that will be used by edge-optimized endpoint for this domain name.
+ */ + certificateName?: string; /** *The collection of tags. Each tag element is associated with a given resource.
@@ -1197,9 +1270,9 @@ export interface DomainName { tags?: { [key: string]: string }; /** - *The status of the DomainName migration. The valid values are AVAILABLE
and UPDATING
. If the status is UPDATING
, the domain cannot be modified further until the existing operation is complete. If it is AVAILABLE
, the domain can be updated.
The region-agnostic Amazon Route 53 Hosted Zone ID of the edge-optimized endpoint. The valid value is Z2FDTNDATAQYW2
for all the regions. For more information, see Set up a Regional Custom Domain Name and AWS Regions and Endpoints for API Gateway.
Request to add a new Model to an existing RestApi resource.
*/ export interface CreateModelRequest { + template?: boolean; + title?: string; + /** + *[Required] The name of the model. Must be alphanumeric.
+ */ + name: string | undefined; + + templateSkipList?: string[]; /** *[Required] The RestApi identifier under which the Model will be created.
*/ restApiId: string | undefined; /** - *[Required] The name of the model. Must be alphanumeric.
+ *The description of the model.
*/ - name: string | undefined; + description?: string; - templateSkipList?: string[]; - title?: string; - template?: boolean; /** *[Required] The content-type for the model.
*/ @@ -1234,11 +1312,6 @@ export interface CreateModelRequest { *The schema for the model. For application/json
models, this should be JSON schema draft 4 model.
The description of the model.
- */ - description?: string; } export namespace CreateModelRequest { @@ -1259,19 +1332,19 @@ export namespace CreateModelRequest { */ export interface Model { /** - *The identifier for the model resource.
+ *The schema for the model. For application/json
models, this should be JSON schema draft 4 model. Do not include "\*\/" characters in the description of any properties because such "\*\/" characters may be interpreted as the closing marker for comments in some languages, such as Java or JavaScript, causing the installation of your API's SDK generated by API Gateway to fail.
The name of the model. Must be an alphanumeric string.
+ *The content-type for the model.
*/ - name?: string; + contentType?: string; /** - *The content-type for the model.
+ *The name of the model. Must be an alphanumeric string.
*/ - contentType?: string; + name?: string; /** *The description of the model.
@@ -1279,9 +1352,9 @@ export interface Model { description?: string; /** - *The schema for the model. For application/json
models, this should be JSON schema draft 4 model. Do not include "\*\/" characters in the description of any properties because such "\*\/" characters may be interpreted as the closing marker for comments in some languages, such as Java or JavaScript, causing the installation of your API's SDK generated by API Gateway to fail.
The identifier for the model resource.
*/ - schema?: string; + id?: string; } export namespace Model { @@ -1294,13 +1367,7 @@ export namespace Model { *Creates a RequestValidator of a given RestApi.
*/ export interface CreateRequestValidatorRequest { - template?: boolean; title?: string; - /** - *[Required] The string identifier of the associated RestApi.
- */ - restApiId: string | undefined; - templateSkipList?: string[]; /** *The name of the to-be-created RequestValidator.
@@ -1308,14 +1375,20 @@ export interface CreateRequestValidatorRequest { name?: string; /** - *A Boolean flag to indicate whether to validate request body according to the configured model schema for the method (true
) or not (false
).
[Required] The string identifier of the associated RestApi.
*/ - validateRequestBody?: boolean; + restApiId: string | undefined; + template?: boolean; /** *A Boolean flag to indicate whether to validate request parameters, true
, or not false
.
A Boolean flag to indicate whether to validate request body according to the configured model schema for the method (true
) or not (false
).
Requests API Gateway to create a Resource resource.
*/ export interface CreateResourceRequest { + templateSkipList?: string[]; template?: boolean; /** *[Required] The parent resource's identifier.
*/ parentId: string | undefined; - name?: string; - title?: string; /** *[Required] The string identifier of the associated RestApi.
*/ restApiId: string | undefined; - templateSkipList?: string[]; + name?: string; + title?: string; /** *The last path segment for this resource.
*/ @@ -1406,21 +1479,20 @@ export enum ContentHandlingStrategy { *A key-value map specifying response parameters that are passed to the method response from the back end.
- * The key is a method response header parameter name and the mapped value is an integration response header value, a static value enclosed within a pair of single quotes, or a JSON expression from the integration response body. The mapping key must match the pattern of method.response.header.{name}
, where name
is a valid and unique header name. The mapped non-static value must match the pattern of integration.response.header.{name}
or integration.response.body.{JSON-expression}
, where name
is a valid and unique response header name and JSON-expression
is a valid JSON expression without the $
prefix.
Specifies the templates used to transform the integration response body. Response templates are represented as a key/value map, with a content-type as the key and a template as the value.
*/ responseTemplates?: { [key: string]: string }; /** - *Specifies the status code that is used to map the integration response to an existing MethodResponse.
+ *Specifies how to handle response payload content type conversions. Supported values are CONVERT_TO_BINARY
and CONVERT_TO_TEXT
, with the following behaviors:
CONVERT_TO_BINARY
: Converts a response payload from a Base64-encoded string to the corresponding binary blob.
CONVERT_TO_TEXT
: Converts a response payload from a binary blob to a Base64-encoded string.
If this property is not defined, the response payload will be passed through from the integration response to the method response without modification.
*/ - statusCode?: string; + contentHandling?: ContentHandlingStrategy | string; /** *Specifies the regular expression (regex) pattern used to choose an integration response based on the response from the back end. For example, if the success response returns nothing and the error response returns some string, you could use the .+
regex to match error response. However, make sure that the error response does not contain any newline (\n
) character in such cases. If the back end is an AWS Lambda function, the AWS Lambda function error header is matched. For all other HTTP and AWS back ends, the HTTP status code is matched.
Specifies how to handle response payload content type conversions. Supported values are CONVERT_TO_BINARY
and CONVERT_TO_TEXT
, with the following behaviors:
CONVERT_TO_BINARY
: Converts a response payload from a Base64-encoded string to the corresponding binary blob.
CONVERT_TO_TEXT
: Converts a response payload from a binary blob to a Base64-encoded string.
If this property is not defined, the response payload will be passed through from the integration response to the method response without modification.
+ *A key-value map specifying response parameters that are passed to the method response from the back end.
+ * The key is a method response header parameter name and the mapped value is an integration response header value, a static value enclosed within a pair of single quotes, or a JSON expression from the integration response body. The mapping key must match the pattern of method.response.header.{name}
, where name
is a valid and unique header name. The mapped non-static value must match the pattern of integration.response.header.{name}
or integration.response.body.{JSON-expression}
, where name
is a valid and unique response header name and JSON-expression
is a valid JSON expression without the $
prefix.
Specifies the status code that is used to map the integration response to an existing MethodResponse.
+ */ + statusCode?: string; } export namespace IntegrationResponse { @@ -1480,27 +1553,14 @@ export enum IntegrationType { */ export interface Integration { /** - *Specifies a group of related cached parameters. By default, API Gateway uses the resource ID as the cacheNamespace
. You can specify the same cacheNamespace
across resources to return the same cached data for requests to different resources.
Specifies the TLS configuration for an integration.
*/ - cacheNamespace?: string; + tlsConfig?: TlsConfig; /** - *Specifies the integration's HTTP method type.
+ *A key-value map specifying request parameters that are passed from the method request to the back end. The key is an integration request parameter name and the associated value is a method request parameter value or static value that must be enclosed within single quotes and pre-encoded as required by the back end. The method request parameter value must match the pattern of method.request.{location}.{name}
, where location
is querystring
, path
, or header
and name
must be a valid and unique method request parameter name.
Specifies an API method integration type. The valid value is one of the following:
- *AWS
: for integrating the API method request with an AWS service action, including the Lambda function-invoking action. With the Lambda function-invoking action, this is referred to as the Lambda custom integration. With any other AWS service action, this is known as AWS integration.AWS_PROXY
: for integrating the API method request with the Lambda function-invoking action with the client request passed through as-is. This integration is also referred to as the Lambda proxy integration.HTTP
: for integrating the API method request with an HTTP endpoint, including a private HTTP endpoint within a VPC. This integration is also referred to as the HTTP custom integration.HTTP_PROXY
: for integrating the API method request with an HTTP endpoint, including a private HTTP endpoint within a VPC, with the client request passed through as-is. This is also referred to as the HTTP proxy integration.MOCK
: for integrating the API method request with API Gateway as a "loop-back" endpoint without invoking any backend.For the HTTP and HTTP proxy integrations, each integration can specify a protocol (http/https
), port and path. Standard 80 and 443 ports are supported as well as custom ports above 1024. An HTTP or HTTP proxy integration with a connectionType
of VPC_LINK
is referred to as a private integration and uses a VpcLink to connect API Gateway to a network load balancer of a VPC.
Custom timeout between 50 and 29,000 milliseconds. The default value is 29,000 milliseconds or 29 seconds.
@@ -1518,14 +1578,14 @@ export interface Integration { uri?: string; /** - *The type of the network connection to the integration endpoint. The valid value is INTERNET
for connections through the public routable internet or VPC_LINK
for private connections between API Gateway and a network load balancer in a VPC. The default value is INTERNET
.
Specifies a group of related cached parameters. By default, API Gateway uses the resource ID as the cacheNamespace
. You can specify the same cacheNamespace
across resources to return the same cached data for requests to different resources.
A key-value map specifying request parameters that are passed from the method request to the back end. The key is an integration request parameter name and the associated value is a method request parameter value or static value that must be enclosed within single quotes and pre-encoded as required by the back end. The method request parameter value must match the pattern of method.request.{location}.{name}
, where location
is querystring
, path
, or header
and name
must be a valid and unique method request parameter name.
Specifies the integration's HTTP method type.
*/ - requestParameters?: { [key: string]: string }; + httpMethod?: string; /** *Represents a map of Velocity templates that are applied on the request payload based on the value of the Content-Type header sent by the client. The content type value is the key in this map, and the template (as a String) is the value.
@@ -1533,14 +1593,32 @@ export interface Integration { requestTemplates?: { [key: string]: string }; /** - *A list of request parameters whose values API Gateway caches. To be valid values for cacheKeyParameters
, these parameters must also be specified for Method requestParameters
.
The (id
) of the VpcLink used for the integration when connectionType=VPC_LINK
and undefined, otherwise.
The (id
) of the VpcLink used for the integration when connectionType=VPC_LINK
and undefined, otherwise.
The type of the network connection to the integration endpoint. The valid value is INTERNET
for connections through the public routable internet or VPC_LINK
for private connections between API Gateway and a network load balancer in a VPC. The default value is INTERNET
.
Specifies the credentials required for the integration, if any. For AWS integrations, three options are available. To specify an IAM Role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify the string arn:aws:iam::\*:user/\*
. To use resource-based permissions on supported AWS services, specify null.
Specifies an API method integration type. The valid value is one of the following:
+ *AWS
: for integrating the API method request with an AWS service action, including the Lambda function-invoking action. With the Lambda function-invoking action, this is referred to as the Lambda custom integration. With any other AWS service action, this is known as AWS integration.AWS_PROXY
: for integrating the API method request with the Lambda function-invoking action with the client request passed through as-is. This integration is also referred to as the Lambda proxy integration.HTTP
: for integrating the API method request with an HTTP endpoint, including a private HTTP endpoint within a VPC. This integration is also referred to as the HTTP custom integration.HTTP_PROXY
: for integrating the API method request with an HTTP endpoint, including a private HTTP endpoint within a VPC, with the client request passed through as-is. This is also referred to as the HTTP proxy integration.MOCK
: for integrating the API method request with API Gateway as a "loop-back" endpoint without invoking any backend.For the HTTP and HTTP proxy integrations, each integration can specify a protocol (http/https
), port and path. Standard 80 and 443 ports are supported as well as custom ports above 1024. An HTTP or HTTP proxy integration with a connectionType
of VPC_LINK
is referred to as a private integration and uses a VpcLink to connect API Gateway to a network load balancer of a VPC.
Specifies the TLS configuration for an integration.
- */ - tlsConfig?: TlsConfig; - - /** - *Specifies the credentials required for the integration, if any. For AWS integrations, three options are available. To specify an IAM Role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify the string arn:aws:iam::\*:user/\*
. To use resource-based permissions on supported AWS services, specify null.
Specifies how to handle request payload content type conversions. Supported values are CONVERT_TO_BINARY
and CONVERT_TO_TEXT
, with the following behaviors:
A list of request parameters whose values API Gateway caches. To be valid values for cacheKeyParameters
, these parameters must also be specified for Method requestParameters
.
Represents a method response of a given HTTP status code returned to the client. The method response is passed from the back end through the associated integration response that can be transformed using a mapping template.
+ *Represents a method response of a given HTTP status code returned to the client. The method response is passed from the back end through the associated integration response that can be transformed using a mapping template.
*A key-value map specifying required or optional response parameters that API Gateway can send back to the caller. A key defines a method response header and the value specifies whether the associated method response header is required or not. The expression of the key must match the pattern method.response.header.{name}
, where name
is a valid and unique header name. API Gateway passes certain integration response data to the method response headers specified here according to the mapping you prescribe in the API's IntegrationResponse. The integration response data that can be mapped include an integration response header expressed in integration.response.header.{name}
, a static value enclosed within a pair of single quotes (e.g., 'application/json'
), or a JSON expression from the back-end response payload in the form of integration.response.body.{JSON-expression}
, where JSON-expression
is a valid JSON expression without the $
prefix.)
Specifies the Model resources used for the response's content-type. Response models are represented as a key/value map, with a content-type as the key and a Model name as the value.
*/ @@ -1703,11 +1781,6 @@ export interface MethodResponse { *The method response's status code.
*/ statusCode?: string; - - /** - *A key-value map specifying required or optional response parameters that API Gateway can send back to the caller. A key defines a method response header and the value specifies whether the associated method response header is required or not. The expression of the key must match the pattern method.response.header.{name}
, where name
is a valid and unique header name. API Gateway passes certain integration response data to the method response headers specified here according to the mapping you prescribe in the API's IntegrationResponse. The integration response data that can be mapped include an integration response header expressed in integration.response.header.{name}
, a static value enclosed within a pair of single quotes (e.g., 'application/json'
), or a JSON expression from the back-end response payload in the form of integration.response.body.{JSON-expression}
, where JSON-expression
is a valid JSON expression without the $
prefix.)
A key-value map defining required or optional method request parameters that can be accepted by API Gateway. A key is a method request parameter name matching the pattern of method.request.{location}.{name}
, where location
is querystring
, path
, or header
and name
is a valid and unique parameter name. The value associated with the key is a Boolean flag indicating whether the parameter is required (true
) or optional (false
). The method request parameter names defined here are available in Integration to be mapped to integration request parameters or templates.
A boolean flag specifying whether a valid ApiKey is required to invoke this method.
*/ - requestParameters?: { [key: string]: boolean }; + apiKeyRequired?: boolean; /** - *The method's authorization type. Valid values are NONE
for open access, AWS_IAM
for using AWS IAM permissions, CUSTOM
for using a custom authorizer, or COGNITO_USER_POOLS
for using a Cognito user pool.
The identifier of a RequestValidator for request validation.
*/ - authorizationType?: string; + requestValidatorId?: string; /** *The method's HTTP verb.
@@ -1899,65 +1972,29 @@ export interface Method { httpMethod?: string; /** - *Gets a method response associated with a given HTTP status code.
- *The collection of method responses are encapsulated in a key-value map, where the key is a response's HTTP status code and the value is a MethodResponse resource that specifies the response returned to the caller from the back end through the integration response.
- *GET /restapis/uojnr9hd57/resources/0cjtch/methods/GET/responses/200 HTTP/1.1
- * Content-Type: application/json
- * Host: apigateway.us-east-1.amazonaws.com
- * Content-Length: 117
- * X-Amz-Date: 20160613T215008Z
- * Authorization: AWS4-HMAC-SHA256 Credential={access_key_ID}/20160613/us-east-1/apigateway/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash}
- * The successful response returns a 200 OK
status code and a payload similar to the following:
{
- * "_links": {
- * "curies": {
- * "href": "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-method-response-{rel}.html",
- * "name": "methodresponse",
- * "templated": true
- * },
- * "self": {
- * "href": "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/responses/200",
- * "title": "200"
- * },
- * "methodresponse:delete": {
- * "href": "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/responses/200"
- * },
- * "methodresponse:update": {
- * "href": "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/responses/200"
- * }
- * },
- * "responseModels": {
- * "application/json": "Empty"
- * },
- * "responseParameters": {
- * "method.response.header.operator": false,
- * "method.response.header.operand_2": false,
- * "method.response.header.operand_1": false
- * },
- * "statusCode": "200"
- * }
- *
- * The identifier of an Authorizer to use on this method. The authorizationType
must be CUSTOM
.
The identifier of a RequestValidator for request validation.
+ *A key-value map defining required or optional method request parameters that can be accepted by API Gateway. A key is a method request parameter name matching the pattern of method.request.{location}.{name}
, where location
is querystring
, path
, or header
and name
is a valid and unique parameter name. The value associated with the key is a Boolean flag indicating whether the parameter is required (true
) or optional (false
). The method request parameter names defined here are available in Integration to be mapped to integration request parameters or templates.
The identifier of an Authorizer to use on this method. The authorizationType
must be CUSTOM
.
A human-friendly operation identifier for the method. For example, you can assign the operationName
of ListPets
for the GET /pets
method in the PetStore
example.
A key-value map specifying data schemas, represented by Model resources, (as the mapped value) of the request payloads of given content types (as the mapping key).
+ */ + requestModels?: { [key: string]: string }; + + /** + *A list of authorization scopes configured on the method. The scopes are used with a COGNITO_USER_POOLS
authorizer to authorize the method invocation. The authorization works by matching the method scopes against the scopes parsed from the access token in the incoming request. The method invocation is authorized if any method scopes matches a claimed scope in the access token. Otherwise, the invocation is not authorized. When the method scope is configured, the client must provide an access token instead of an identity token for authorization purposes.
Gets the method's integration responsible for passing the client-submitted request to the back end and performing necessary transformations to make the request compliant with the back end.
@@ -2054,24 +2091,60 @@ export interface Method { methodIntegration?: Integration; /** - *A human-friendly operation identifier for the method. For example, you can assign the operationName
of ListPets
for the GET /pets
method in the PetStore
example.
A boolean flag specifying whether a valid ApiKey is required to invoke this method.
- */ - apiKeyRequired?: boolean; - - /** - *A list of authorization scopes configured on the method. The scopes are used with a COGNITO_USER_POOLS
authorizer to authorize the method invocation. The authorization works by matching the method scopes against the scopes parsed from the access token in the incoming request. The method invocation is authorized if any method scopes matches a claimed scope in the access token. Otherwise, the invocation is not authorized. When the method scope is configured, the client must provide an access token instead of an identity token for authorization purposes.
Gets a method response associated with a given HTTP status code.
+ *The collection of method responses are encapsulated in a key-value map, where the key is a response's HTTP status code and the value is a MethodResponse resource that specifies the response returned to the caller from the back end through the integration response.
+ *GET /restapis/uojnr9hd57/resources/0cjtch/methods/GET/responses/200 HTTP/1.1
+ * Content-Type: application/json
+ * Host: apigateway.us-east-1.amazonaws.com
+ * Content-Length: 117
+ * X-Amz-Date: 20160613T215008Z
+ * Authorization: AWS4-HMAC-SHA256 Credential={access_key_ID}/20160613/us-east-1/apigateway/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash}
+ * The successful response returns a 200 OK
status code and a payload similar to the following:
{
+ * "_links": {
+ * "curies": {
+ * "href": "https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-method-response-{rel}.html",
+ * "name": "methodresponse",
+ * "templated": true
+ * },
+ * "self": {
+ * "href": "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/responses/200",
+ * "title": "200"
+ * },
+ * "methodresponse:delete": {
+ * "href": "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/responses/200"
+ * },
+ * "methodresponse:update": {
+ * "href": "/restapis/uojnr9hd57/resources/0cjtch/methods/GET/responses/200"
+ * }
+ * },
+ * "responseModels": {
+ * "application/json": "Empty"
+ * },
+ * "responseParameters": {
+ * "method.response.header.operator": false,
+ * "method.response.header.operand_2": false,
+ * "method.response.header.operand_1": false
+ * },
+ * "statusCode": "200"
+ * }
+ *
+ * A key-value map specifying data schemas, represented by Model resources, (as the mapped value) of the request payloads of given content types (as the mapping key).
+ *The method's authorization type. Valid values are NONE
for open access, AWS_IAM
for using AWS IAM permissions, CUSTOM
for using a custom authorizer, or COGNITO_USER_POOLS
for using a Cognito user pool.
The resource's identifier.
+ *The full path for this resource.
*/ - id?: string; + path?: string; /** *Gets an API resource's method of a given HTTP verb.
@@ -2255,14 +2328,14 @@ export interface Resource { parentId?: string; /** - *The full path for this resource.
+ *The last path segment for this resource.
*/ - path?: string; + pathPart?: string; /** - *The last path segment for this resource.
+ *The resource's identifier.
*/ - pathPart?: string; + id?: string; } export namespace Resource { @@ -2275,7 +2348,6 @@ export namespace Resource { *The POST Request to add a new RestApi resource to your collection.
*/ export interface CreateRestApiRequest { - templateSkipList?: string[]; /** *[Required] The name of the RestApi.
*/ @@ -2283,15 +2355,11 @@ export interface CreateRestApiRequest { title?: string; template?: boolean; + templateSkipList?: string[]; /** - *A version identifier for the API.
- */ - version?: string; - - /** - *The list of binary media types supported by the RestApi. By default, the RestApi supports only UTF-8-encoded text payloads.
+ *A nullable integer that is used to enable compression (with non-negative between 0 and 10485760 (10M) bytes, inclusive) or disable compression (with a null value) on an API. When compression is enabled, compression or decompression is not applied on the payload if the payload size is smaller than this value. Setting it to zero allows compression for any payload size.
*/ - binaryMediaTypes?: string[]; + minimumCompressionSize?: number; /** *The source of the API key for metering requests according to a usage plan. Valid values are:
HEADER
to read the API key from the X-API-Key
header of a request. AUTHORIZER
to read the API key from the UsageIdentifierKey
from a custom authorizer.The endpoint configuration of this RestApi showing the endpoint types of the API.
+ *A version identifier for the API.
*/ - endpointConfiguration?: EndpointConfiguration; + version?: string; /** - *A nullable integer that is used to enable compression (with non-negative between 0 and 10485760 (10M) bytes, inclusive) or disable compression (with a null value) on an API. When compression is enabled, compression or decompression is not applied on the payload if the payload size is smaller than this value. Setting it to zero allows compression for any payload size.
+ *The list of binary media types supported by the RestApi. By default, the RestApi supports only UTF-8-encoded text payloads.
*/ - minimumCompressionSize?: number; + binaryMediaTypes?: string[]; /** - *The description of the RestApi.
+ *The endpoint configuration of this RestApi showing the endpoint types of the API.
*/ - description?: string; + endpointConfiguration?: EndpointConfiguration; + + /** + *The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. The tag key can be up to 128 characters and must not start with aws:
. The tag value can be up to 256 characters.
The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. The tag key can be up to 128 characters and must not start with aws:
. The tag value can be up to 256 characters.
The description of the RestApi.
*/ - tags?: { [key: string]: string }; + description?: string; } export namespace CreateRestApiRequest { @@ -2343,29 +2416,24 @@ export namespace CreateRestApiRequest { */ export interface RestApi { /** - *The API's description.
+ *The timestamp when the API was created.
*/ - description?: string; + createdDate?: Date; /** - * A stringified JSON policy document that applies to this RestApi regardless of the caller and Method configuration. + *The source of the API key for metering requests according to a usage plan. Valid values are:
HEADER
to read the API key from the X-API-Key
header of a request. AUTHORIZER
to read the API key from the UsageIdentifierKey
from a custom authorizer.The endpoint configuration of this RestApi showing the endpoint types of the API.
- */ - endpointConfiguration?: EndpointConfiguration; - - /** - *The source of the API key for metering requests according to a usage plan. Valid values are:
HEADER
to read the API key from the X-API-Key
header of a request. AUTHORIZER
to read the API key from the UsageIdentifierKey
from a custom authorizer.The warning messages reported when failonwarnings
is turned on during API import.
The API's name.
+ *The collection of tags. Each tag element is associated with a given resource.
*/ - name?: string; + tags?: { [key: string]: string }; /** *A version identifier for the API.
@@ -2373,19 +2441,19 @@ export interface RestApi { version?: string; /** - *The collection of tags. Each tag element is associated with a given resource.
+ *The endpoint configuration of this RestApi showing the endpoint types of the API.
*/ - tags?: { [key: string]: string }; + endpointConfiguration?: EndpointConfiguration; /** - *The warning messages reported when failonwarnings
is turned on during API import.
The API's name.
*/ - warnings?: string[]; + name?: string; /** - *The timestamp when the API was created.
+ * A stringified JSON policy document that applies to this RestApi regardless of the caller and Method configuration. */ - createdDate?: Date; + policy?: string; /** *The API's identifier. This identifier is unique across all of your APIs in API Gateway.
@@ -2401,6 +2469,11 @@ export interface RestApi { *A nullable integer that is used to enable compression (with non-negative between 0 and 10485760 (10M) bytes, inclusive) or disable compression (with a null value) on an API. When compression is enabled, compression or decompression is not applied on the payload if the payload size is smaller than this value. Setting it to zero allows compression for any payload size.
*/ minimumCompressionSize?: number; + + /** + *The API's description.
+ */ + description?: string; } export namespace RestApi { @@ -2413,25 +2486,25 @@ export namespace RestApi { *Configuration settings of a canary deployment.
*/ export interface CanarySettings { - /** - *Stage variables overridden for a canary release deployment, including new stage variables introduced in the canary. These stage variables are represented as a string-to-string map between stage variable names and their values.
- */ - stageVariableOverrides?: { [key: string]: string }; - /** *A Boolean flag to indicate whether the canary deployment uses the stage cache or not.
*/ useStageCache?: boolean; /** - *The percent (0-100) of traffic diverted to a canary deployment.
+ *Stage variables overridden for a canary release deployment, including new stage variables introduced in the canary. These stage variables are represented as a string-to-string map between stage variable names and their values.
*/ - percentTraffic?: number; + stageVariableOverrides?: { [key: string]: string }; /** *The ID of the canary deployment.
*/ deploymentId?: string; + + /** + *The percent (0-100) of traffic diverted to a canary deployment.
+ */ + percentTraffic?: number; } export namespace CanarySettings { @@ -2444,61 +2517,61 @@ export namespace CanarySettings { *Requests API Gateway to create a Stage resource.
*/ export interface CreateStageRequest { - template?: boolean; title?: string; name?: string; - templateSkipList?: string[]; + template?: boolean; /** *[Required] The string identifier of the associated RestApi.
*/ restApiId: string | undefined; + templateSkipList?: string[]; /** - *Specifies whether active tracing with X-ray is enabled for the Stage.
+ *A map that defines the stage variables for the new Stage resource. Variable names
+ * can have alphanumeric and underscore characters, and the values must match
+ * [A-Za-z0-9-._~:/?#&=,]+
.
The stage's cache cluster size.
+ *[Required] The name for the Stage resource. Stage names can only contain alphanumeric characters, hyphens, and underscores. Maximum length is 128 characters.
*/ - cacheClusterSize?: CacheClusterSize | string; + stageName: string | undefined; /** - *The canary deployment settings of this stage.
+ *The description of the Stage resource.
*/ - canarySettings?: CanarySettings; + description?: string; /** - *Whether cache clustering is enabled for the stage.
+ *The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. The tag key can be up to 128 characters and must not start with aws:
. The tag value can be up to 256 characters.
A map that defines the stage variables for the new Stage resource. Variable names
- * can have alphanumeric and underscore characters, and the values must match
- * [A-Za-z0-9-._~:/?#&=,]+
.
Specifies whether active tracing with X-ray is enabled for the Stage.
*/ - variables?: { [key: string]: string }; + tracingEnabled?: boolean; /** - *The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. The tag key can be up to 128 characters and must not start with aws:
. The tag value can be up to 256 characters.
[Required] The identifier of the Deployment resource for the Stage resource.
*/ - tags?: { [key: string]: string }; + deploymentId: string | undefined; /** - *The description of the Stage resource.
+ *The stage's cache cluster size.
*/ - description?: string; + cacheClusterSize?: CacheClusterSize | string; /** - *[Required] The name for the Stage resource. Stage names can only contain alphanumeric characters, hyphens, and underscores. Maximum length is 128 characters.
+ *The canary deployment settings of this stage.
*/ - stageName: string | undefined; + canarySettings?: CanarySettings; /** - *[Required] The identifier of the Deployment resource for the Stage resource.
+ *Whether cache clustering is enabled for the stage.
*/ - deploymentId: string | undefined; + cacheClusterEnabled?: boolean; /** *The version of the associated API documentation.
@@ -2531,14 +2604,14 @@ export enum UnauthorizedCacheControlHeaderStrategy { */ export interface MethodSetting { /** - *Specifies whether authorization is required for a cache invalidation request. The PATCH path for this setting is /{method_setting_key}/caching/requireAuthorizationForCacheControl
, and the value is a Boolean.
Specifies whether the cached responses are encrypted. The PATCH path for this setting is /{method_setting_key}/caching/dataEncrypted
, and the value is a Boolean.
Specifies the logging level for this method, which affects the log entries pushed to Amazon CloudWatch Logs. The PATCH path for this setting is /{method_setting_key}/logging/loglevel
, and the available levels are OFF
, ERROR
, and INFO
. Choose ERROR
to write only error-level entries to CloudWatch Logs, or choose INFO
to include all ERROR
events as well as extra informational events.
Specifies the throttling burst limit. The PATCH path for this setting is /{method_setting_key}/throttling/burstLimit
, and the value is an integer.
Specifies whether data trace logging is enabled for this method, which affects the log entries pushed to Amazon CloudWatch Logs. The PATCH path for this setting is /{method_setting_key}/logging/dataTrace
, and the value is a Boolean.
Specifies whether the cached responses are encrypted. The PATCH path for this setting is /{method_setting_key}/caching/dataEncrypted
, and the value is a Boolean.
Specifies how to handle unauthorized requests for cache invalidation. The PATCH path for this setting is /{method_setting_key}/caching/unauthorizedCacheControlHeaderStrategy
, and the available values are FAIL_WITH_403
, SUCCEED_WITH_RESPONSE_HEADER
, SUCCEED_WITHOUT_RESPONSE_HEADER
.
Specifies whether responses should be cached and returned for requests. A cache cluster must be enabled on the stage for responses to be cached. The PATCH path for this setting is /{method_setting_key}/caching/enabled
, and the value is a Boolean.
Specifies whether authorization is required for a cache invalidation request. The PATCH path for this setting is /{method_setting_key}/caching/requireAuthorizationForCacheControl
, and the value is a Boolean.
Specifies whether Amazon CloudWatch metrics are enabled for this method. The PATCH path for this setting is /{method_setting_key}/metrics/enabled
, and the value is a Boolean.
Specifies the logging level for this method, which affects the log entries pushed to Amazon CloudWatch Logs. The PATCH path for this setting is /{method_setting_key}/logging/loglevel
, and the available levels are OFF
, ERROR
, and INFO
. Choose ERROR
to write only error-level entries to CloudWatch Logs, or choose INFO
to include all ERROR
events as well as extra informational events.
Specifies the throttling burst limit. The PATCH path for this setting is /{method_setting_key}/throttling/burstLimit
, and the value is an integer.
Specifies whether responses should be cached and returned for requests. A cache cluster must be enabled on the stage for responses to be cached. The PATCH path for this setting is /{method_setting_key}/caching/enabled
, and the value is a Boolean.
Specifies the time to live (TTL), in seconds, for cached responses. The higher the TTL, the longer the response will be cached. The PATCH path for this setting is /{method_setting_key}/caching/ttlInSeconds
, and the value is an integer.
Specifies the throttling rate limit. The PATCH path for this setting is /{method_setting_key}/throttling/rateLimit
, and the value is a double.
Specifies whether Amazon CloudWatch metrics are enabled for this method. The PATCH path for this setting is /{method_setting_key}/metrics/enabled
, and the value is a Boolean.
Specifies how to handle unauthorized requests for cache invalidation. The PATCH path for this setting is /{method_setting_key}/caching/unauthorizedCacheControlHeaderStrategy
, and the available values are FAIL_WITH_403
, SUCCEED_WITH_RESPONSE_HEADER
, SUCCEED_WITHOUT_RESPONSE_HEADER
.
Specifies the throttling rate limit. The PATCH path for this setting is /{method_setting_key}/throttling/rateLimit
, and the value is a double.
The identifier of the Deployment that the stage points to.
- */ - deploymentId?: string; - - /** - *The stage's description.
+ *The ARN of the WebAcl associated with the Stage.
*/ - description?: string; + webAclArn?: string; /** *The name of the stage is the first path segment in the Uniform Resource Identifier (URI) of a call to API Gateway. Stage names can only contain alphanumeric characters, hyphens, and underscores. Maximum length is 128 characters.
@@ -2610,19 +2678,19 @@ export interface Stage { stageName?: string; /** - *The collection of tags. Each tag element is associated with a given resource.
+ *The timestamp when the stage was created.
*/ - tags?: { [key: string]: string }; + createdDate?: Date; /** - *The status of the cache cluster for the stage, if enabled.
+ *The timestamp when the stage last updated.
*/ - cacheClusterStatus?: CacheClusterStatus | string; + lastUpdatedDate?: Date; /** - *The identifier of a client certificate for an API stage.
+ *The identifier of the Deployment that the stage points to.
*/ - clientCertificateId?: string; + deploymentId?: string; /** *Specifies whether a cache cluster is enabled for the stage.
@@ -2630,40 +2698,40 @@ export interface Stage { cacheClusterEnabled?: boolean; /** - *Settings for the canary deployment in this stage.
+ *The stage's description.
*/ - canarySettings?: CanarySettings; + description?: string; /** - *A map that defines the stage variables for a Stage resource. Variable names can
- * have alphanumeric and underscore characters, and the values must match [A-Za-z0-9-._~:/?#&=,]+
.
Settings for logging access in this stage.
*/ - variables?: { [key: string]: string }; + accessLogSettings?: AccessLogSettings; /** - *The size of the cache cluster for the stage, if enabled.
+ *The identifier of a client certificate for an API stage.
*/ - cacheClusterSize?: CacheClusterSize | string; + clientCertificateId?: string; /** - *Settings for logging access in this stage.
+ *Settings for the canary deployment in this stage.
*/ - accessLogSettings?: AccessLogSettings; + canarySettings?: CanarySettings; /** - *The version of the associated API documentation.
+ *A map that defines the stage variables for a Stage resource. Variable names can
+ * have alphanumeric and underscore characters, and the values must match [A-Za-z0-9-._~:/?#&=,]+
.
The timestamp when the stage last updated.
+ *The status of the cache cluster for the stage, if enabled.
*/ - lastUpdatedDate?: Date; + cacheClusterStatus?: CacheClusterStatus | string; /** - *The timestamp when the stage was created.
+ *The collection of tags. Each tag element is associated with a given resource.
*/ - createdDate?: Date; + tags?: { [key: string]: string }; /** *Specifies whether active tracing with X-ray is enabled for the Stage.
@@ -2671,9 +2739,14 @@ export interface Stage { tracingEnabled?: boolean; /** - *The ARN of the WebAcl associated with the Stage.
+ *The size of the cache cluster for the stage, if enabled.
*/ - webAclArn?: string; + cacheClusterSize?: CacheClusterSize | string; + + /** + *The version of the associated API documentation.
+ */ + documentationVersion?: string; /** *A map that defines the method settings for a Stage resource. Keys (designated as /{method_setting_key
below) are method paths defined as {resource_path}/{http_method}
for an individual method override, or /\*\/\*
for overriding all methods in the stage.
The time period in which the limit applies. Valid values are "DAY", "WEEK" or "MONTH".
+ *The maximum number of requests that can be made in a given time period.
*/ - period?: QuotaPeriodType | string; + limit?: number; /** - *The maximum number of requests that can be made in a given time period.
+ *The time period in which the limit applies. Valid values are "DAY", "WEEK" or "MONTH".
*/ - limit?: number; + period?: QuotaPeriodType | string; /** *The number of requests subtracted from the given limit in the initial time period.
@@ -2723,29 +2796,19 @@ export namespace QuotaSettings { *The POST request to create a usage plan with the name, description, throttle limits and quota limits, as well as the associated API stages, specified in the payload.
*/ export interface CreateUsagePlanRequest { + template?: boolean; + templateSkipList?: string[]; /** *[Required] The name of the usage plan.
*/ name: string | undefined; title?: string; - template?: boolean; - templateSkipList?: string[]; - /** - *The throttling limits of the usage plan.
- */ - throttle?: ThrottleSettings; - /** *The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. The tag key can be up to 128 characters and must not start with aws:
. The tag value can be up to 256 characters.
The associated API stages of the usage plan.
- */ - apiStages?: ApiStage[]; - /** *The description of the usage plan.
*/ @@ -2755,6 +2818,16 @@ export interface CreateUsagePlanRequest { *The quota of the usage plan.
*/ quota?: QuotaSettings; + + /** + *The throttling limits of the usage plan.
+ */ + throttle?: ThrottleSettings; + + /** + *The associated API stages of the usage plan.
+ */ + apiStages?: ApiStage[]; } export namespace CreateUsagePlanRequest { @@ -2773,15 +2846,20 @@ export namespace CreateUsagePlanRequest { * */ export interface UsagePlan { + /** + *The collection of tags. Each tag element is associated with a given resource.
+ */ + tags?: { [key: string]: string }; + /** *The identifier of a UsagePlan resource.
*/ id?: string; /** - *The request throttle limits of a usage plan.
+ *The maximum number of permitted requests per a given unit time interval.
*/ - throttle?: ThrottleSettings; + quota?: QuotaSettings; /** *The name of a usage plan.
@@ -2799,19 +2877,14 @@ export interface UsagePlan { productCode?: string; /** - *The maximum number of permitted requests per a given unit time interval.
- */ - quota?: QuotaSettings; - - /** - *The collection of tags. Each tag element is associated with a given resource.
+ *The description of a usage plan.
*/ - tags?: { [key: string]: string }; + description?: string; /** - *The description of a usage plan.
+ *The request throttle limits of a usage plan.
*/ - description?: string; + throttle?: ThrottleSettings; } export namespace UsagePlan { @@ -2824,15 +2897,15 @@ export namespace UsagePlan { *The POST request to create a usage plan key for adding an existing API key to a usage plan.
*/ export interface CreateUsagePlanKeyRequest { - template?: boolean; - name?: string; - templateSkipList?: string[]; - title?: string; /** *[Required] The Id of the UsagePlan resource representing the usage plan containing the to-be-created UsagePlanKey resource representing a plan customer.
*/ usagePlanId: string | undefined; + template?: boolean; + name?: string; + title?: string; + templateSkipList?: string[]; /** *[Required] The type of a UsagePlanKey resource for a plan customer.
*/ @@ -2865,11 +2938,6 @@ export interface UsagePlanKey { */ name?: string; - /** - *The value of a usage plan key.
- */ - value?: string; - /** *The Id of a usage plan key.
*/ @@ -2879,6 +2947,11 @@ export interface UsagePlanKey { *The type of a usage plan key. Currently, the valid key type is API_KEY
.
The value of a usage plan key.
+ */ + value?: string; } export namespace UsagePlanKey { @@ -2891,21 +2964,16 @@ export namespace UsagePlanKey { *Creates a VPC link, under the caller's account in a selected region, in an asynchronous operation that typically takes 2-4 minutes to complete and become operational. The caller must have permissions to create and update VPC Endpoint services.
*/ export interface CreateVpcLinkRequest { + template?: boolean; /** *[Required] The name used to label and identify the VPC link.
*/ name: string | undefined; - template?: boolean; title?: string; templateSkipList?: string[]; /** - *[Required] The ARN of the network load balancer of the VPC targeted by the VPC link. The network load balancer must be owned by the same AWS account of the API owner.
- */ - targetArns: string[] | undefined; - - /** - *The description of the VPC link.
+ *The description of the VPC link.
*/ description?: string; @@ -2913,6 +2981,11 @@ export interface CreateVpcLinkRequest { *The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. The tag key can be up to 128 characters and must not start with aws:
. The tag value can be up to 256 characters.
[Required] The ARN of the network load balancer of the VPC targeted by the VPC link. The network load balancer must be owned by the same AWS account of the API owner.
+ */ + targetArns: string[] | undefined; } export namespace CreateVpcLinkRequest { @@ -2938,19 +3011,19 @@ export enum VpcLinkStatus { */ export interface VpcLink { /** - *The identifier of the VpcLink. It is used in an Integration to reference this VpcLink.
+ *The ARN of the network load balancer of the VPC targeted by the VPC link. The network load balancer must be owned by the same AWS account of the API owner.
*/ - id?: string; + targetArns?: string[]; /** - *The name used to label and identify the VPC link.
+ *The collection of tags. Each tag element is associated with a given resource.
*/ - name?: string; + tags?: { [key: string]: string }; /** - *The description of the VPC link.
+ *The identifier of the VpcLink. It is used in an Integration to reference this VpcLink.
*/ - description?: string; + id?: string; /** *A description about the VPC link status.
@@ -2958,9 +3031,9 @@ export interface VpcLink { statusMessage?: string; /** - *The ARN of the network load balancer of the VPC targeted by the VPC link. The network load balancer must be owned by the same AWS account of the API owner.
+ *The name used to label and identify the VPC link.
*/ - targetArns?: string[]; + name?: string; /** *The status of the VPC link. The valid values are AVAILABLE
, PENDING
, DELETING
, or FAILED
. Deploying an API will wait if the status is PENDING
and will fail if the status is DELETING
.
The collection of tags. Each tag element is associated with a given resource.
+ *The description of the VPC link.
*/ - tags?: { [key: string]: string }; + description?: string; } export namespace VpcLink { @@ -2983,15 +3056,15 @@ export namespace VpcLink { *A request to delete the ApiKey resource.
*/ export interface DeleteApiKeyRequest { - name?: string; - templateSkipList?: string[]; + template?: boolean; /** *[Required] The identifier of the ApiKey resource to be deleted.
*/ apiKey: string | undefined; + name?: string; + templateSkipList?: string[]; title?: string; - template?: boolean; } export namespace DeleteApiKeyRequest { @@ -3004,20 +3077,20 @@ export namespace DeleteApiKeyRequest { *Request to delete an existing Authorizer resource.
*/ export interface DeleteAuthorizerRequest { + title?: string; + templateSkipList?: string[]; template?: boolean; /** - *[Required] The identifier of the Authorizer resource.
+ *[Required] The string identifier of the associated RestApi.
*/ - authorizerId: string | undefined; + restApiId: string | undefined; - name?: string; /** - *[Required] The string identifier of the associated RestApi.
+ *[Required] The identifier of the Authorizer resource.
*/ - restApiId: string | undefined; + authorizerId: string | undefined; - templateSkipList?: string[]; - title?: string; + name?: string; } export namespace DeleteAuthorizerRequest { @@ -3030,6 +3103,8 @@ export namespace DeleteAuthorizerRequest { *A request to delete the BasePathMapping resource.
*/ export interface DeleteBasePathMappingRequest { + template?: boolean; + title?: string; name?: string; /** *[Required] The domain name of the BasePathMapping resource to delete.
@@ -3037,14 +3112,11 @@ export interface DeleteBasePathMappingRequest { domainName: string | undefined; templateSkipList?: string[]; - title?: string; /** *[Required] The base path name of the BasePathMapping resource to delete.
*To specify an empty base path, set this parameter to '(none)'
.
[Required] The identifier of the ClientCertificate resource to be deleted.
*/ clientCertificateId: string | undefined; - - templateSkipList?: string[]; - title?: string; } export namespace DeleteClientCertificateRequest { @@ -3081,17 +3152,16 @@ export interface DeleteDeploymentRequest { templateSkipList?: string[]; title?: string; name?: string; - /** - *[Required] The identifier of the Deployment resource to delete.
- */ - deploymentId: string | undefined; - + template?: boolean; /** *[Required] The string identifier of the associated RestApi.
*/ restApiId: string | undefined; - template?: boolean; + /** + *[Required] The identifier of the Deployment resource to delete.
+ */ + deploymentId: string | undefined; } export namespace DeleteDeploymentRequest { @@ -3104,19 +3174,20 @@ export namespace DeleteDeploymentRequest { *Deletes an existing documentation part of an API.
*/ export interface DeleteDocumentationPartRequest { + templateSkipList?: string[]; + template?: boolean; /** *[Required] The string identifier of the associated RestApi.
*/ restApiId: string | undefined; - template?: boolean; - templateSkipList?: string[]; - title?: string; - name?: string; /** *[Required] The identifier of the to-be-deleted documentation part.
*/ documentationPartId: string | undefined; + + title?: string; + name?: string; } export namespace DeleteDocumentationPartRequest { @@ -3129,20 +3200,20 @@ export namespace DeleteDocumentationPartRequest { *Deletes an existing documentation version of an API.
*/ export interface DeleteDocumentationVersionRequest { - title?: string; - templateSkipList?: string[]; + name?: string; /** - *[Required] The version identifier of a to-be-deleted documentation snapshot.
+ *[Required] The string identifier of the associated RestApi.
*/ - documentationVersion: string | undefined; + restApiId: string | undefined; + templateSkipList?: string[]; + title?: string; /** - *[Required] The string identifier of the associated RestApi.
+ *[Required] The version identifier of a to-be-deleted documentation snapshot.
*/ - restApiId: string | undefined; + documentationVersion: string | undefined; template?: boolean; - name?: string; } export namespace DeleteDocumentationVersionRequest { @@ -3155,14 +3226,15 @@ export namespace DeleteDocumentationVersionRequest { *A request to delete the DomainName resource.
*/ export interface DeleteDomainNameRequest { - template?: boolean; - title?: string; - name?: string; - templateSkipList?: string[]; /** *[Required] The name of the DomainName resource to be deleted.
*/ domainName: string | undefined; + + title?: string; + name?: string; + template?: boolean; + templateSkipList?: string[]; } export namespace DeleteDomainNameRequest { @@ -3198,11 +3270,6 @@ export enum GatewayResponseType { *Clears any customization of a GatewayResponse of a specified response type on the given RestApi and resets it with the default settings.
*/ export interface DeleteGatewayResponseRequest { - /** - *[Required] The string identifier of the associated RestApi.
- */ - restApiId: string | undefined; - template?: boolean; /** *[Required]
The response type of the associated GatewayResponse. Valid values are
[Required] The string identifier of the associated RestApi.
+ */ + restApiId: string | undefined; + name?: string; + title?: string; } export namespace DeleteGatewayResponseRequest { @@ -3224,25 +3296,24 @@ export namespace DeleteGatewayResponseRequest { *Represents a delete integration request.
*/ export interface DeleteIntegrationRequest { - templateSkipList?: string[]; - title?: string; + name?: string; /** - *[Required] Specifies a delete integration request's HTTP method.
+ *[Required] The string identifier of the associated RestApi.
*/ - httpMethod: string | undefined; + restApiId: string | undefined; + templateSkipList?: string[]; /** - *[Required] The string identifier of the associated RestApi.
+ *[Required] Specifies a delete integration request's HTTP method.
*/ - restApiId: string | undefined; + httpMethod: string | undefined; + title?: string; + template?: boolean; /** *[Required] Specifies a delete integration request's resource identifier.
*/ resourceId: string | undefined; - - template?: boolean; - name?: string; } export namespace DeleteIntegrationRequest { @@ -3255,13 +3326,8 @@ export namespace DeleteIntegrationRequest { *Represents a delete integration response request.
*/ export interface DeleteIntegrationResponseRequest { - template?: boolean; - /** - *[Required] Specifies a delete integration response request's resource identifier.
- */ - resourceId: string | undefined; - title?: string; + name?: string; /** *[Required] Specifies a delete integration response request's HTTP method.
*/ @@ -3272,12 +3338,18 @@ export interface DeleteIntegrationResponseRequest { */ statusCode: string | undefined; - name?: string; - templateSkipList?: string[]; + /** + *[Required] Specifies a delete integration response request's resource identifier.
+ */ + resourceId: string | undefined; + + template?: boolean; /** *[Required] The string identifier of the associated RestApi.
*/ restApiId: string | undefined; + + templateSkipList?: string[]; } export namespace DeleteIntegrationResponseRequest { @@ -3290,24 +3362,25 @@ export namespace DeleteIntegrationResponseRequest { *Request to delete an existing Method resource.
*/ export interface DeleteMethodRequest { - name?: string; /** - *[Required] The string identifier of the associated RestApi.
+ *[Required] The Resource identifier for the Method resource.
*/ - restApiId: string | undefined; + resourceId: string | undefined; - templateSkipList?: string[]; + name?: string; /** *[Required] The HTTP verb of the Method resource.
*/ httpMethod: string | undefined; title?: string; - template?: boolean; + templateSkipList?: string[]; /** - *[Required] The Resource identifier for the Method resource.
+ *[Required] The string identifier of the associated RestApi.
*/ - resourceId: string | undefined; + restApiId: string | undefined; + + template?: boolean; } export namespace DeleteMethodRequest { @@ -3320,16 +3393,11 @@ export namespace DeleteMethodRequest { *A request to delete an existing MethodResponse resource.
*/ export interface DeleteMethodResponseRequest { - title?: string; - /** - *[Required] The HTTP verb of the Method resource.
- */ - httpMethod: string | undefined; - + name?: string; /** - *[Required] The status code identifier for the MethodResponse resource.
+ *[Required] The string identifier of the associated RestApi.
*/ - statusCode: string | undefined; + restApiId: string | undefined; /** *[Required] The Resource identifier for the MethodResponse resource.
@@ -3338,12 +3406,17 @@ export interface DeleteMethodResponseRequest { template?: boolean; /** - *[Required] The string identifier of the associated RestApi.
+ *[Required] The status code identifier for the MethodResponse resource.
*/ - restApiId: string | undefined; + statusCode: string | undefined; + + /** + *[Required] The HTTP verb of the Method resource.
+ */ + httpMethod: string | undefined; - name?: string; templateSkipList?: string[]; + title?: string; } export namespace DeleteMethodResponseRequest { @@ -3356,19 +3429,19 @@ export namespace DeleteMethodResponseRequest { *Request to delete an existing model in an existing RestApi resource.
*/ export interface DeleteModelRequest { - /** - *[Required] The string identifier of the associated RestApi.
- */ - restApiId: string | undefined; - + templateSkipList?: string[]; /** *[Required] The name of the model to delete.
*/ modelName: string | undefined; - templateSkipList?: string[]; title?: string; name?: string; + /** + *[Required] The string identifier of the associated RestApi.
+ */ + restApiId: string | undefined; + template?: boolean; } @@ -3382,19 +3455,20 @@ export namespace DeleteModelRequest { *Deletes a specified RequestValidator of a given RestApi.
*/ export interface DeleteRequestValidatorRequest { + name?: string; + title?: string; templateSkipList?: string[]; - template?: boolean; /** *[Required] The string identifier of the associated RestApi.
*/ restApiId: string | undefined; - title?: string; - name?: string; /** *[Required] The identifier of the RequestValidator to be deleted.
*/ requestValidatorId: string | undefined; + + template?: boolean; } export namespace DeleteRequestValidatorRequest { @@ -3407,19 +3481,20 @@ export namespace DeleteRequestValidatorRequest { *Request to delete a Resource.
*/ export interface DeleteResourceRequest { - title?: string; - templateSkipList?: string[]; + name?: string; /** *[Required] The string identifier of the associated RestApi.
*/ restApiId: string | undefined; - name?: string; - template?: boolean; + templateSkipList?: string[]; + title?: string; /** *[Required] The identifier of the Resource resource.
*/ resourceId: string | undefined; + + template?: boolean; } export namespace DeleteResourceRequest { @@ -3432,14 +3507,14 @@ export namespace DeleteResourceRequest { *Request to delete the specified API from your collection.
*/ export interface DeleteRestApiRequest { + template?: boolean; + templateSkipList?: string[]; + title?: string; /** *[Required] The string identifier of the associated RestApi.
*/ restApiId: string | undefined; - template?: boolean; - title?: string; - templateSkipList?: string[]; name?: string; } @@ -3453,20 +3528,20 @@ export namespace DeleteRestApiRequest { *Requests API Gateway to delete a Stage resource.
*/ export interface DeleteStageRequest { - templateSkipList?: string[]; - title?: string; + name?: string; /** *[Required] The name of the Stage resource to delete.
*/ stageName: string | undefined; - name?: string; + template?: boolean; + title?: string; /** *[Required] The string identifier of the associated RestApi.
*/ restApiId: string | undefined; - template?: boolean; + templateSkipList?: string[]; } export namespace DeleteStageRequest { @@ -3479,15 +3554,15 @@ export namespace DeleteStageRequest { *The DELETE request to delete a usage plan of a given plan Id.
*/ export interface DeleteUsagePlanRequest { + template?: boolean; name?: string; /** *[Required] The Id of the to-be-deleted usage plan.
*/ usagePlanId: string | undefined; - template?: boolean; - templateSkipList?: string[]; title?: string; + templateSkipList?: string[]; } export namespace DeleteUsagePlanRequest { @@ -3501,19 +3576,19 @@ export namespace DeleteUsagePlanRequest { */ export interface DeleteUsagePlanKeyRequest { /** - *[Required] The Id of the UsagePlanKey resource to be deleted.
+ *[Required] The Id of the UsagePlan resource representing the usage plan containing the to-be-deleted UsagePlanKey resource representing a plan customer.
*/ - keyId: string | undefined; + usagePlanId: string | undefined; - name?: string; title?: string; - templateSkipList?: string[]; + template?: boolean; + name?: string; /** - *[Required] The Id of the UsagePlan resource representing the usage plan containing the to-be-deleted UsagePlanKey resource representing a plan customer.
+ *[Required] The Id of the UsagePlanKey resource to be deleted.
*/ - usagePlanId: string | undefined; + keyId: string | undefined; - template?: boolean; + templateSkipList?: string[]; } export namespace DeleteUsagePlanKeyRequest { @@ -3526,10 +3601,10 @@ export namespace DeleteUsagePlanKeyRequest { *Deletes an existing VpcLink of a specified identifier.
*/ export interface DeleteVpcLinkRequest { + name?: string; + templateSkipList?: string[]; title?: string; template?: boolean; - templateSkipList?: string[]; - name?: string; /** *[Required] The identifier of the VpcLink. It is used in an Integration to reference this VpcLink.
*/ @@ -3546,21 +3621,21 @@ export namespace DeleteVpcLinkRequest { *Request to flush authorizer cache entries on a specified stage.
*/ export interface FlushStageAuthorizersCacheRequest { - template?: boolean; + templateSkipList?: string[]; /** *The name of the stage to flush.
*/ stageName: string | undefined; - title?: string; - name?: string; + template?: boolean; /** *The string identifier of the associated RestApi.
*/ restApiId: string | undefined; - templateSkipList?: string[]; -} + title?: string; + name?: string; +} export namespace FlushStageAuthorizersCacheRequest { export const filterSensitiveLog = (obj: FlushStageAuthorizersCacheRequest): any => ({ @@ -3572,19 +3647,20 @@ export namespace FlushStageAuthorizersCacheRequest { *Requests API Gateway to flush a stage's cache.
*/ export interface FlushStageCacheRequest { + template?: boolean; /** *[Required] The name of the stage to flush its cache.
*/ stageName: string | undefined; - name?: string; - title?: string; - templateSkipList?: string[]; - template?: boolean; /** *[Required] The string identifier of the associated RestApi.
*/ restApiId: string | undefined; + + name?: string; + title?: string; + templateSkipList?: string[]; } export namespace FlushStageCacheRequest { @@ -3602,9 +3678,14 @@ export namespace FlushStageCacheRequest { */ export interface ClientCertificate { /** - *The timestamp when the client certificate was created.
+ *The description of the client certificate.
*/ - createdDate?: Date; + description?: string; + + /** + *The identifier of the client certificate.
+ */ + clientCertificateId?: string; /** *The PEM-encoded public key of the client certificate, which can be used to configure certificate authentication in the integration endpoint .
@@ -3622,14 +3703,9 @@ export interface ClientCertificate { expirationDate?: Date; /** - *The description of the client certificate.
- */ - description?: string; - - /** - *The identifier of the client certificate.
+ *The timestamp when the client certificate was created.
*/ - clientCertificateId?: string; + createdDate?: Date; } export namespace ClientCertificate { @@ -3642,19 +3718,19 @@ export namespace ClientCertificate { *A request to generate a ClientCertificate resource.
*/ export interface GenerateClientCertificateRequest { - template?: boolean; title?: string; templateSkipList?: string[]; name?: string; + template?: boolean; /** - *The description of the ClientCertificate.
+ *The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. The tag key can be up to 128 characters and must not start with aws:
. The tag value can be up to 256 characters.
The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. The tag key can be up to 128 characters and must not start with aws:
. The tag value can be up to 256 characters.
The description of the ClientCertificate.
*/ - tags?: { [key: string]: string }; + description?: string; } export namespace GenerateClientCertificateRequest { @@ -3667,10 +3743,10 @@ export namespace GenerateClientCertificateRequest { *Requests API Gateway to get information about the current Account resource.
*/ export interface GetAccountRequest { + template?: boolean; name?: string; - title?: string; templateSkipList?: string[]; - template?: boolean; + title?: string; } export namespace GetAccountRequest { @@ -3683,13 +3759,6 @@ export namespace GetAccountRequest { *A request to get information about the current ApiKey resource.
*/ export interface GetApiKeyRequest { - /** - *[Required] The identifier of the ApiKey resource.
- */ - apiKey: string | undefined; - - templateSkipList?: string[]; - title?: string; name?: string; /** *A boolean flag to specify whether (true
) or not (false
) the result contains the key value.
[Required] The identifier of the ApiKey resource.
+ */ + apiKey: string | undefined; + + templateSkipList?: string[]; } export namespace GetApiKeyRequest { @@ -3709,11 +3785,7 @@ export namespace GetApiKeyRequest { *A request to get information about the current ApiKeys resource.
*/ export interface GetApiKeysRequest { - /** - *The name of queried API keys.
- */ - nameQuery?: string; - + template?: boolean; /** *The current pagination position in the paged result set.
*/ @@ -3724,14 +3796,18 @@ export interface GetApiKeysRequest { */ customerId?: string; - templateSkipList?: string[]; - template?: boolean; /** *A boolean flag to specify whether (true
) or not (false
) the result contains key values.
The name of queried API keys.
+ */ + nameQuery?: string; + /** *The maximum number of returned results per page. The default value is 25 and the maximum value is 500.
*/ @@ -3750,19 +3826,19 @@ export namespace GetApiKeysRequest { *Request to describe an existing Authorizer resource.
*/ export interface GetAuthorizerRequest { - title?: string; - templateSkipList?: string[]; - template?: boolean; /** - *[Required] The identifier of the Authorizer resource.
+ *[Required] The string identifier of the associated RestApi.
*/ - authorizerId: string | undefined; + restApiId: string | undefined; /** - *[Required] The string identifier of the associated RestApi.
+ *[Required] The identifier of the Authorizer resource.
*/ - restApiId: string | undefined; + authorizerId: string | undefined; + templateSkipList?: string[]; + template?: boolean; + title?: string; name?: string; } @@ -3776,9 +3852,6 @@ export namespace GetAuthorizerRequest { *Request to describe an existing Authorizers resource.
*/ export interface GetAuthorizersRequest { - templateSkipList?: string[]; - title?: string; - template?: boolean; /** *The maximum number of returned results per page. The default value is 25 and the maximum value is 500.
*/ @@ -3786,14 +3859,17 @@ export interface GetAuthorizersRequest { name?: string; /** - *The current pagination position in the paged result set.
+ *[Required] The string identifier of the associated RestApi.
*/ - position?: string; + restApiId: string | undefined; + template?: boolean; + templateSkipList?: string[]; + title?: string; /** - *[Required] The string identifier of the associated RestApi.
+ *The current pagination position in the paged result set.
*/ - restApiId: string | undefined; + position?: string; } export namespace GetAuthorizersRequest { @@ -3806,19 +3882,19 @@ export namespace GetAuthorizersRequest { *Request to describe a BasePathMapping resource.
*/ export interface GetBasePathMappingRequest { + name?: string; + title?: string; + templateSkipList?: string[]; /** - *[Required] The domain name of the BasePathMapping resource to be described.
+ *[Required] The base path name that callers of the API must provide as part of the URL after the domain name. This value must be unique for all of the mappings across a single API. Specify '(none)' if you do not want callers to specify any base path name after the domain name.
*/ - domainName: string | undefined; + basePath: string | undefined; /** - *[Required] The base path name that callers of the API must provide as part of the URL after the domain name. This value must be unique for all of the mappings across a single API. Specify '(none)' if you do not want callers to specify any base path name after the domain name.
+ *[Required] The domain name of the BasePathMapping resource to be described.
*/ - basePath: string | undefined; + domainName: string | undefined; - title?: string; - name?: string; - templateSkipList?: string[]; template?: boolean; } @@ -3856,24 +3932,25 @@ export namespace BasePathMappings { *A request to get information about a collection of BasePathMapping resources.
*/ export interface GetBasePathMappingsRequest { + template?: boolean; /** - *The maximum number of returned results per page. The default value is 25 and the maximum value is 500.
+ *The current pagination position in the paged result set.
*/ - limit?: number; + position?: string; - name?: string; /** *[Required] The domain name of a BasePathMapping resource.
*/ domainName: string | undefined; - template?: boolean; - title?: string; templateSkipList?: string[]; + title?: string; /** - *The current pagination position in the paged result set.
+ *The maximum number of returned results per page. The default value is 25 and the maximum value is 500.
*/ - position?: string; + limit?: number; + + name?: string; } export namespace GetBasePathMappingsRequest { @@ -3886,15 +3963,15 @@ export namespace GetBasePathMappingsRequest { *A request to get information about the current ClientCertificate resource.
*/ export interface GetClientCertificateRequest { - name?: string; - title?: string; template?: boolean; /** *[Required] The identifier of the ClientCertificate resource to be described.
*/ clientCertificateId: string | undefined; + title?: string; templateSkipList?: string[]; + name?: string; } export namespace GetClientCertificateRequest { @@ -3931,20 +4008,19 @@ export namespace ClientCertificates { *A request to get information about a collection of ClientCertificate resources.
*/ export interface GetClientCertificatesRequest { - title?: string; - template?: boolean; - name?: string; /** *The maximum number of returned results per page. The default value is 25 and the maximum value is 500.
*/ limit?: number; + name?: string; + template?: boolean; + title?: string; + templateSkipList?: string[]; /** *The current pagination position in the paged result set.
*/ position?: string; - - templateSkipList?: string[]; } export namespace GetClientCertificatesRequest { @@ -3957,25 +4033,24 @@ export namespace GetClientCertificatesRequest { *Requests API Gateway to get information about a Deployment resource.
*/ export interface GetDeploymentRequest { - templateSkipList?: string[]; - title?: string; - name?: string; + /** + *[Required] The identifier of the Deployment resource to get information about.
+ */ + deploymentId: string | undefined; + /** *A query parameter to retrieve the specified embedded resources of the returned Deployment resource in the response. In a REST API call, this embed
parameter value is a list of comma-separated strings, as in GET /restapis/{restapi_id}/deployments/{deployment_id}?embed=var1,var2
. The SDK and other platform-dependent libraries might use a different format for the list. Currently, this request supports only retrieval of the embedded API summary this way. Hence, the parameter value must be a single-valued list containing only the "apisummary"
string. For example, GET /restapis/{restapi_id}/deployments/{deployment_id}?embed=apisummary
.
[Required] The string identifier of the associated RestApi.
*/ restApiId: string | undefined; - - /** - *[Required] The identifier of the Deployment resource to get information about.
- */ - deploymentId: string | undefined; - - template?: boolean; } export namespace GetDeploymentRequest { @@ -4016,25 +4091,25 @@ export namespace Deployments { *Requests API Gateway to get information about a Deployments collection.
*/ export interface GetDeploymentsRequest { - /** - *[Required] The string identifier of the associated RestApi.
- */ - restApiId: string | undefined; - + template?: boolean; /** *The maximum number of returned results per page. The default value is 25 and the maximum value is 500.
*/ limit?: number; name?: string; - title?: string; - template?: boolean; + /** + *[Required] The string identifier of the associated RestApi.
+ */ + restApiId: string | undefined; + + templateSkipList?: string[]; /** *The current pagination position in the paged result set.
*/ position?: string; - templateSkipList?: string[]; + title?: string; } export namespace GetDeploymentsRequest { @@ -4050,17 +4125,17 @@ export interface GetDocumentationPartRequest { /** *[Required] The string identifier of the associated RestApi.
*/ - documentationPartId: string | undefined; + restApiId: string | undefined; - templateSkipList?: string[]; template?: boolean; + templateSkipList?: string[]; + title?: string; /** *[Required] The string identifier of the associated RestApi.
*/ - restApiId: string | undefined; + documentationPartId: string | undefined; name?: string; - title?: string; } export namespace GetDocumentationPartRequest { @@ -4103,44 +4178,45 @@ export enum LocationStatusType { *Gets the documentation parts of an API. The result may be filtered by the type, name, or path of API entities (targets).
*/ export interface GetDocumentationPartsRequest { - templateSkipList?: string[]; + /** + *[Required] The string identifier of the associated RestApi.
+ */ + restApiId: string | undefined; + + name?: string; + /** + *The maximum number of returned results per page. The default value is 25 and the maximum value is 500.
+ */ + limit?: number; + /** *The type of API entities of the to-be-retrieved documentation parts.
*/ type?: DocumentationPartType | string; - title?: string; /** *The name of API entities of the to-be-retrieved documentation parts.
*/ nameQuery?: string; /** - *The current pagination position in the paged result set.
- */ - position?: string; - - /** - *The maximum number of returned results per page. The default value is 25 and the maximum value is 500.
+ *The path of API entities of the to-be-retrieved documentation parts.
*/ - limit?: number; + path?: string; - name?: string; /** *The status of the API documentation parts to retrieve. Valid values are DOCUMENTED
for retrieving DocumentationPart resources with content and UNDOCUMENTED
for DocumentationPart resources without content.
The path of API entities of the to-be-retrieved documentation parts.
+ *The current pagination position in the paged result set.
*/ - path?: string; + position?: string; - /** - *[Required] The string identifier of the associated RestApi.
- */ - restApiId: string | undefined; + templateSkipList?: string[]; } export namespace GetDocumentationPartsRequest { @@ -4153,19 +4229,19 @@ export namespace GetDocumentationPartsRequest { *Gets a documentation snapshot of an API.
*/ export interface GetDocumentationVersionRequest { - /** - *[Required] The string identifier of the associated RestApi.
- */ - restApiId: string | undefined; - + title?: string; template?: boolean; /** *[Required] The version identifier of the to-be-retrieved documentation snapshot.
*/ documentationVersion: string | undefined; - title?: string; templateSkipList?: string[]; + /** + *[Required] The string identifier of the associated RestApi.
+ */ + restApiId: string | undefined; + name?: string; } @@ -4204,10 +4280,11 @@ export namespace DocumentationVersions { *Gets the documentation versions of an API.
*/ export interface GetDocumentationVersionsRequest { + template?: boolean; /** - *[Required] The string identifier of the associated RestApi.
+ *The maximum number of returned results per page. The default value is 25 and the maximum value is 500.
*/ - restApiId: string | undefined; + limit?: number; name?: string; /** @@ -4215,14 +4292,12 @@ export interface GetDocumentationVersionsRequest { */ position?: string; + templateSkipList?: string[]; + title?: string; /** - *The maximum number of returned results per page. The default value is 25 and the maximum value is 500.
+ *[Required] The string identifier of the associated RestApi.
*/ - limit?: number; - - title?: string; - templateSkipList?: string[]; - template?: boolean; + restApiId: string | undefined; } export namespace GetDocumentationVersionsRequest { @@ -4235,14 +4310,15 @@ export namespace GetDocumentationVersionsRequest { *Request to get the name of a DomainName resource.
*/ export interface GetDomainNameRequest { - templateSkipList?: string[]; - title?: string; name?: string; template?: boolean; + title?: string; /** *[Required] The name of the DomainName resource.
*/ domainName: string | undefined; + + templateSkipList?: string[]; } export namespace GetDomainNameRequest { @@ -4279,6 +4355,8 @@ export namespace DomainNames { *Request to describe a collection of DomainName resources.
*/ export interface GetDomainNamesRequest { + template?: boolean; + templateSkipList?: string[]; /** *The current pagination position in the paged result set.
*/ @@ -4291,8 +4369,6 @@ export interface GetDomainNamesRequest { name?: string; title?: string; - template?: boolean; - templateSkipList?: string[]; } export namespace GetDomainNamesRequest { @@ -4306,14 +4382,14 @@ export namespace GetDomainNamesRequest { */ export interface ExportResponse { /** - *The binary blob response to GetExport, which contains the export.
+ *The content-type header value in the HTTP response. This will correspond to a valid 'accept' type in the request.
*/ - body?: Uint8Array; + contentType?: string; /** - *The content-type header value in the HTTP response. This will correspond to a valid 'accept' type in the request.
+ *The binary blob response to GetExport, which contains the export.
*/ - contentType?: string; + body?: Uint8Array; /** *The content-disposition header value in the HTTP response.
@@ -4331,15 +4407,20 @@ export namespace ExportResponse { *Request a new export of a RestApi for a particular Stage.
*/ export interface GetExportRequest { + /** + *[Required] The type of export. Acceptable values are 'oas30' for OpenAPI 3.0.x and 'swagger' for Swagger/OpenAPI 2.0.
+ */ + exportType: string | undefined; + /** *A key-value map of query string parameters that specify properties of the export, depending on the requested exportType
. For exportType
oas30
and swagger
, any combination of the following parameters are supported: extensions='integrations'
or extensions='apigateway'
will export the API with x-amazon-apigateway-integration extensions. extensions='authorizers'
will export the API with x-amazon-apigateway-authorizer extensions. postman
will export the API with Postman extensions, allowing for import to the Postman tool
[Required] The string identifier of the associated RestApi.
+ *[Required] The name of the Stage that will be exported.
*/ - restApiId: string | undefined; + stageName: string | undefined; /** *The content-type of the export, for example application/json
. Currently application/json
and application/yaml
are supported for exportType
ofoas30
and swagger
. This should be specified in the Accept
header for direct API requests.
[Required] The type of export. Acceptable values are 'oas30' for OpenAPI 3.0.x and 'swagger' for Swagger/OpenAPI 2.0.
- */ - exportType: string | undefined; - - /** - *[Required] The name of the Stage that will be exported.
+ *[Required] The string identifier of the associated RestApi.
*/ - stageName: string | undefined; + restApiId: string | undefined; } export namespace GetExportRequest { @@ -4426,21 +4502,11 @@ export namespace GetExportRequest { * */ export interface GatewayResponse { - /** - *The response type of the associated GatewayResponse. Valid values are
A Boolean flag to indicate whether this GatewayResponse is the default gateway response (true
) or not (false
). A default gateway response is one generated by API Gateway without any customization by an API developer.
Response parameters (paths, query strings and headers) of the GatewayResponse as a string-to-string map of key-value pairs.
- */ - responseParameters?: { [key: string]: string }; - /** *Response templates of the GatewayResponse as a string-to-string map of key-value pairs.
*/ @@ -4450,6 +4516,16 @@ export interface GatewayResponse { *The HTTP status code for this GatewayResponse.
*/ statusCode?: string; + + /** + *The response type of the associated GatewayResponse. Valid values are
Response parameters (paths, query strings and headers) of the GatewayResponse as a string-to-string map of key-value pairs.
+ */ + responseParameters?: { [key: string]: string }; } export namespace GatewayResponse { @@ -4462,20 +4538,20 @@ export namespace GatewayResponse { *Gets a GatewayResponse of a specified response type on the given RestApi.
*/ export interface GetGatewayResponseRequest { - templateSkipList?: string[]; - template?: boolean; /** - *[Required]
The response type of the associated GatewayResponse. Valid values are
[Required] The string identifier of the associated RestApi.
*/ - responseType: GatewayResponseType | string | undefined; + restApiId: string | undefined; + template?: boolean; /** - *[Required] The string identifier of the associated RestApi.
+ *[Required]
The response type of the associated GatewayResponse. Valid values are
Gets the GatewayResponses collection on the given RestApi. If an API developer has not added any definitions for gateway responses, the result will be the API Gateway-generated default GatewayResponses collection for the supported response types.
*/ export interface GetGatewayResponsesRequest { + name?: string; /** *The maximum number of returned results per page. The default value is 25 and the maximum value is 500. The GatewayResponses collection does not support pagination and the limit does not apply here.
*/ limit?: number; /** - *[Required] The string identifier of the associated RestApi.
+ *The current pagination position in the paged result set. The GatewayResponse collection does not support pagination and the position does not apply here.
*/ - restApiId: string | undefined; + position?: string; - name?: string; - templateSkipList?: string[]; title?: string; + templateSkipList?: string[]; /** - *The current pagination position in the paged result set. The GatewayResponse collection does not support pagination and the position does not apply here.
+ *[Required] The string identifier of the associated RestApi.
*/ - position?: string; + restApiId: string | undefined; template?: boolean; } @@ -5068,25 +5144,24 @@ export namespace GetGatewayResponsesRequest { *Represents a request to get the integration configuration.
*/ export interface GetIntegrationRequest { + template?: boolean; /** - *[Required] The string identifier of the associated RestApi.
+ *[Required] Specifies a get integration request's resource identifier
*/ - restApiId: string | undefined; + resourceId: string | undefined; - name?: string; - title?: string; /** *[Required] Specifies a get integration request's HTTP method.
*/ httpMethod: string | undefined; + name?: string; + title?: string; templateSkipList?: string[]; /** - *[Required] Specifies a get integration request's resource identifier
+ *[Required] The string identifier of the associated RestApi.
*/ - resourceId: string | undefined; - - template?: boolean; + restApiId: string | undefined; } export namespace GetIntegrationRequest { @@ -5099,30 +5174,29 @@ export namespace GetIntegrationRequest { *Represents a get integration response request.
*/ export interface GetIntegrationResponseRequest { + templateSkipList?: string[]; + title?: string; /** - *[Required] Specifies a get integration response request's status code.
+ *[Required] Specifies a get integration response request's HTTP method.
*/ - statusCode: string | undefined; + httpMethod: string | undefined; + name?: string; /** - *[Required] Specifies a get integration response request's resource identifier.
+ *[Required] Specifies a get integration response request's status code.
*/ - resourceId: string | undefined; + statusCode: string | undefined; - template?: boolean; - title?: string; /** *[Required] The string identifier of the associated RestApi.
*/ restApiId: string | undefined; - templateSkipList?: string[]; + template?: boolean; /** - *[Required] Specifies a get integration response request's HTTP method.
+ *[Required] Specifies a get integration response request's resource identifier.
*/ - httpMethod: string | undefined; - - name?: string; + resourceId: string | undefined; } export namespace GetIntegrationResponseRequest { @@ -5135,24 +5209,25 @@ export namespace GetIntegrationResponseRequest { *Request to describe an existing Method resource.
*/ export interface GetMethodRequest { - template?: boolean; + name?: string; /** - *[Required] The Resource identifier for the Method resource.
+ *[Required] Specifies the method request's HTTP method type.
*/ - resourceId: string | undefined; + httpMethod: string | undefined; - title?: string; - templateSkipList?: string[]; /** *[Required] The string identifier of the associated RestApi.
*/ restApiId: string | undefined; - name?: string; + templateSkipList?: string[]; + title?: string; /** - *[Required] Specifies the method request's HTTP method type.
+ *[Required] The Resource identifier for the Method resource.
*/ - httpMethod: string | undefined; + resourceId: string | undefined; + + template?: boolean; } export namespace GetMethodRequest { @@ -5165,30 +5240,29 @@ export namespace GetMethodRequest { *Request to describe a MethodResponse resource.
*/ export interface GetMethodResponseRequest { + templateSkipList?: string[]; /** - *[Required] The Resource identifier for the MethodResponse resource.
+ *[Required] The HTTP verb of the Method resource.
*/ - resourceId: string | undefined; + httpMethod: string | undefined; + title?: string; + name?: string; /** *[Required] The status code for the MethodResponse resource.
*/ statusCode: string | undefined; - title?: string; /** - *[Required] The HTTP verb of the Method resource.
+ *[Required] The Resource identifier for the MethodResponse resource.
*/ - httpMethod: string | undefined; + resourceId: string | undefined; - name?: string; - templateSkipList?: string[]; + template?: boolean; /** *[Required] The string identifier of the associated RestApi.
*/ restApiId: string | undefined; - - template?: boolean; } export namespace GetMethodResponseRequest { @@ -5201,12 +5275,7 @@ export namespace GetMethodResponseRequest { *Request to list information about a model in an existing RestApi resource.
*/ export interface GetModelRequest { - /** - *[Required] The RestApi identifier under which the Model exists.
- */ - restApiId: string | undefined; - - templateSkipList?: string[]; + template?: boolean; /** *A query parameter of a Boolean value to resolve (true
) all external model references and returns a flattened model schema or not (false
) The default is false
.
[Required] The RestApi identifier under which the Model exists.
+ */ + restApiId: string | undefined; + title?: string; + templateSkipList?: string[]; name?: string; } @@ -5232,24 +5306,25 @@ export namespace GetModelRequest { *Request to list existing Models defined for a RestApi resource.
*/ export interface GetModelsRequest { + template?: boolean; + /** + *[Required] The string identifier of the associated RestApi.
+ */ + restApiId: string | undefined; + /** *The maximum number of returned results per page. The default value is 25 and the maximum value is 500.
*/ limit?: number; name?: string; - templateSkipList?: string[]; title?: string; /** *The current pagination position in the paged result set.
*/ position?: string; - template?: boolean; - /** - *[Required] The string identifier of the associated RestApi.
- */ - restApiId: string | undefined; + templateSkipList?: string[]; } export namespace GetModelsRequest { @@ -5286,19 +5361,19 @@ export namespace Models { *Request to generate a sample mapping template used to transform the payload.
*/ export interface GetModelTemplateRequest { + title?: string; + templateSkipList?: string[]; /** - *[Required] The name of the model for which to generate a template.
+ *[Required] The string identifier of the associated RestApi.
*/ - modelName: string | undefined; + restApiId: string | undefined; - template?: boolean; /** - *[Required] The string identifier of the associated RestApi.
+ *[Required] The name of the model for which to generate a template.
*/ - restApiId: string | undefined; + modelName: string | undefined; - templateSkipList?: string[]; - title?: string; + template?: boolean; name?: string; } @@ -5331,19 +5406,20 @@ export namespace Template { *Gets a RequestValidator of a given RestApi.
*/ export interface GetRequestValidatorRequest { - /** - *[Required] The identifier of the RequestValidator to be retrieved.
- */ - requestValidatorId: string | undefined; - template?: boolean; name?: string; - title?: string; - templateSkipList?: string[]; /** *[Required] The string identifier of the associated RestApi.
*/ restApiId: string | undefined; + + templateSkipList?: string[]; + /** + *[Required] The identifier of the RequestValidator to be retrieved.
+ */ + requestValidatorId: string | undefined; + + title?: string; } export namespace GetRequestValidatorRequest { @@ -5356,7 +5432,6 @@ export namespace GetRequestValidatorRequest { *Gets the RequestValidators collection of a given RestApi.
*/ export interface GetRequestValidatorsRequest { - template?: boolean; title?: string; name?: string; /** @@ -5364,16 +5439,18 @@ export interface GetRequestValidatorsRequest { */ limit?: number; + template?: boolean; + /** + *[Required] The string identifier of the associated RestApi.
+ */ + restApiId: string | undefined; + /** *The current pagination position in the paged result set.
*/ position?: string; templateSkipList?: string[]; - /** - *[Required] The string identifier of the associated RestApi.
- */ - restApiId: string | undefined; } export namespace GetRequestValidatorsRequest { @@ -5412,23 +5489,24 @@ export namespace RequestValidators { */ export interface GetResourceRequest { /** - *[Required] The string identifier of the associated RestApi.
+ *[Required] The identifier for the Resource resource.
*/ - restApiId: string | undefined; + resourceId: string | undefined; - name?: string; title?: string; + name?: string; /** *A query parameter to retrieve the specified resources embedded in the returned Resource representation in the response. This embed
parameter value is a list of comma-separated strings. Currently, the request supports only retrieval of the embedded Method resources this way. The query parameter value must be a single-valued list and contain the "methods"
string. For example, GET /restapis/{restapi_id}/resources/{resource_id}?embed=methods
.
[Required] The identifier for the Resource resource.
+ *[Required] The string identifier of the associated RestApi.
*/ - resourceId: string | undefined; + restApiId: string | undefined; + + template?: boolean; } export namespace GetResourceRequest { @@ -5441,18 +5519,13 @@ export namespace GetResourceRequest { *Request to list information about a collection of resources.
*/ export interface GetResourcesRequest { - template?: boolean; - /** - *[Required] The string identifier of the associated RestApi.
- */ - restApiId: string | undefined; - templateSkipList?: string[]; title?: string; + name?: string; /** - *A query parameter used to retrieve the specified resources embedded in the returned Resources resource in the response. This embed
parameter value is a list of comma-separated strings. Currently, the request supports only retrieval of the embedded Method resources this way. The query parameter value must be a single-valued list and contain the "methods"
string. For example, GET /restapis/{restapi_id}/resources?embed=methods
.
The maximum number of returned results per page. The default value is 25 and the maximum value is 500.
*/ - embed?: string[]; + limit?: number; /** *The current pagination position in the paged result set.
@@ -5460,11 +5533,16 @@ export interface GetResourcesRequest { position?: string; /** - *The maximum number of returned results per page. The default value is 25 and the maximum value is 500.
+ *A query parameter used to retrieve the specified resources embedded in the returned Resources resource in the response. This embed
parameter value is a list of comma-separated strings. Currently, the request supports only retrieval of the embedded Method resources this way. The query parameter value must be a single-valued list and contain the "methods"
string. For example, GET /restapis/{restapi_id}/resources?embed=methods
.
[Required] The string identifier of the associated RestApi.
+ */ + restApiId: string | undefined; + + template?: boolean; } export namespace GetResourcesRequest { @@ -5501,14 +5579,15 @@ export namespace Resources { *The GET request to list an existing RestApi defined for your collection.
*/ export interface GetRestApiRequest { - name?: string; - templateSkipList?: string[]; - title?: string; template?: boolean; + name?: string; /** *[Required] The string identifier of the associated RestApi.
*/ restApiId: string | undefined; + + templateSkipList?: string[]; + title?: string; } export namespace GetRestApiRequest { @@ -5521,19 +5600,19 @@ export namespace GetRestApiRequest { *The GET request to list existing RestApis defined for your collection.
*/ export interface GetRestApisRequest { + /** + *The current pagination position in the paged result set.
+ */ + position?: string; + name?: string; /** *The maximum number of returned results per page. The default value is 25 and the maximum value is 500.
*/ limit?: number; - templateSkipList?: string[]; title?: string; - /** - *The current pagination position in the paged result set.
- */ - position?: string; - + templateSkipList?: string[]; template?: boolean; } @@ -5603,9 +5682,9 @@ export namespace GetSdkRequest { */ export interface SdkResponse { /** - *The content-disposition header value in the HTTP response.
+ *The binary blob response to GetSdk, which contains the generated SDK.
*/ - contentDisposition?: string; + body?: Uint8Array; /** *The content-type header value in the HTTP response.
@@ -5613,9 +5692,9 @@ export interface SdkResponse { contentType?: string; /** - *The binary blob response to GetSdk, which contains the generated SDK.
+ *The content-disposition header value in the HTTP response.
*/ - body?: Uint8Array; + contentDisposition?: string; } export namespace SdkResponse { @@ -5628,15 +5707,15 @@ export namespace SdkResponse { *Get an SdkType instance.
*/ export interface GetSdkTypeRequest { - template?: boolean; - templateSkipList?: string[]; + name?: string; + title?: string; /** *[Required] The identifier of the queried SdkType instance.
*/ id: string | undefined; - title?: string; - name?: string; + templateSkipList?: string[]; + template?: boolean; } export namespace GetSdkTypeRequest { @@ -5650,14 +5729,14 @@ export namespace GetSdkTypeRequest { */ export interface SdkConfigurationProperty { /** - *The default value of an SdkType configuration property.
+ *The name of a an SdkType configuration property.
*/ - defaultValue?: string; + name?: string; /** - *The description of an SdkType configuration property.
+ *The default value of an SdkType configuration property.
*/ - description?: string; + defaultValue?: string; /** *A boolean flag of an SdkType configuration property to indicate if the associated SDK configuration property is required (true
) or not (false
).
The name of a an SdkType configuration property.
+ *The user-friendly name of an SdkType configuration property.
*/ - name?: string; + friendlyName?: string; /** - *The user-friendly name of an SdkType configuration property.
+ *The description of an SdkType configuration property.
*/ - friendlyName?: string; + description?: string; } export namespace SdkConfigurationProperty { @@ -5686,9 +5765,9 @@ export namespace SdkConfigurationProperty { */ export interface SdkType { /** - *The user-friendly name of an SdkType instance.
+ *A list of configuration properties of an SdkType.
*/ - friendlyName?: string; + configurationProperties?: SdkConfigurationProperty[]; /** *The description of an SdkType.
@@ -5696,14 +5775,14 @@ export interface SdkType { description?: string; /** - *A list of configuration properties of an SdkType.
+ *The identifier of an SdkType instance.
*/ - configurationProperties?: SdkConfigurationProperty[]; + id?: string; /** - *The identifier of an SdkType instance.
+ *The user-friendly name of an SdkType instance.
*/ - id?: string; + friendlyName?: string; } export namespace SdkType { @@ -5716,20 +5795,20 @@ export namespace SdkType { *Get the SdkTypes collection.
*/ export interface GetSdkTypesRequest { - template?: boolean; - name?: string; - /** - *The maximum number of returned results per page. The default value is 25 and the maximum value is 500.
- */ - limit?: number; - + templateSkipList?: string[]; /** *The current pagination position in the paged result set.
*/ position?: string; - templateSkipList?: string[]; title?: string; + template?: boolean; + /** + *The maximum number of returned results per page. The default value is 25 and the maximum value is 500.
+ */ + limit?: number; + + name?: string; } export namespace GetSdkTypesRequest { @@ -5758,15 +5837,15 @@ export namespace SdkTypes { *Requests API Gateway to get information about a Stage resource.
*/ export interface GetStageRequest { + templateSkipList?: string[]; + title?: string; + name?: string; /** *[Required] The name of the Stage resource to get information about.
*/ stageName: string | undefined; template?: boolean; - templateSkipList?: string[]; - title?: string; - name?: string; /** *[Required] The string identifier of the associated RestApi.
*/ @@ -5783,20 +5862,19 @@ export namespace GetStageRequest { *Requests API Gateway to get information about one or more Stage resources.
*/ export interface GetStagesRequest { - /** - *The stages' deployment identifiers.
- */ - deploymentId?: string; - - templateSkipList?: string[]; + template?: boolean; /** *[Required] The string identifier of the associated RestApi.
*/ restApiId: string | undefined; - template?: boolean; + templateSkipList?: string[]; title?: string; name?: string; + /** + *The stages' deployment identifiers.
+ */ + deploymentId?: string; } export namespace GetStagesRequest { @@ -5826,8 +5904,6 @@ export namespace Stages { *Gets the Tags collection for a given resource.
*/ export interface GetTagsRequest { - template?: boolean; - title?: string; templateSkipList?: string[]; /** *(Not currently supported) The maximum number of returned results per page. The default value is 25 and the maximum value is 500.
@@ -5835,15 +5911,17 @@ export interface GetTagsRequest { limit?: number; name?: string; + title?: string; /** - *[Required] The ARN of a resource that can be tagged.
+ *(Not currently supported) The current pagination position in the paged result set.
*/ - resourceArn: string | undefined; + position?: string; + template?: boolean; /** - *(Not currently supported) The current pagination position in the paged result set.
+ *[Required] The ARN of a resource that can be tagged.
*/ - position?: string; + resourceArn: string | undefined; } export namespace GetTagsRequest { @@ -5872,11 +5950,6 @@ export namespace Tags { *The GET request to get the usage data of a usage plan in a specified time interval.
*/ export interface GetUsageRequest { - /** - *The current pagination position in the paged result set.
- */ - position?: string; - template?: boolean; /** *[Required] The ending date (e.g., 2016-12-31) of the usage data.
@@ -5888,23 +5961,28 @@ export interface GetUsageRequest { */ startDate: string | undefined; + title?: string; /** *[Required] The Id of the usage plan associated with the usage data.
*/ usagePlanId: string | undefined; templateSkipList?: string[]; - title?: string; /** - *The Id of the API key associated with the resultant usage data.
+ *The current pagination position in the paged result set.
*/ - keyId?: string; + position?: string; /** *The maximum number of returned results per page. The default value is 25 and the maximum value is 500.
*/ limit?: number; + /** + *The Id of the API key associated with the resultant usage data.
+ */ + keyId?: string; + name?: string; } @@ -5924,9 +6002,9 @@ export namespace GetUsageRequest { */ export interface Usage { /** - *The ending date of the usage data.
+ *The starting date of the usage data.
*/ - endDate?: string; + startDate?: string; /** *The plan Id associated with this usage data.
@@ -5934,9 +6012,9 @@ export interface Usage { usagePlanId?: string; /** - *The starting date of the usage data.
+ *The ending date of the usage data.
*/ - startDate?: string; + endDate?: string; /** *The usage data, as daily logs of used and remaining quotas, over the specified time interval indexed over the API keys in a usage plan. For example, {..., "values" : { "{api_key}" : [ [0, 100], [10, 90], [100, 10]]}
, where {api_key}
stands for an API key value and the daily log entry is of the format [used quota, remaining quota]
.
The GET request to get a usage plan of a given plan identifier.
*/ export interface GetUsagePlanRequest { + templateSkipList?: string[]; /** *[Required] The identifier of the UsagePlan resource to be retrieved.
*/ usagePlanId: string | undefined; template?: boolean; - name?: string; title?: string; - templateSkipList?: string[]; + name?: string; } export namespace GetUsagePlanRequest { @@ -5980,19 +6058,20 @@ export namespace GetUsagePlanRequest { *The GET request to get a usage plan key of a given key identifier.
*/ export interface GetUsagePlanKeyRequest { - template?: boolean; - name?: string; /** *[Required] The key Id of the to-be-retrieved UsagePlanKey resource representing a plan customer.
*/ keyId: string | undefined; templateSkipList?: string[]; - title?: string; + name?: string; /** *[Required] The Id of the UsagePlan resource representing the usage plan containing the to-be-retrieved UsagePlanKey resource representing a plan customer.
*/ usagePlanId: string | undefined; + + template?: boolean; + title?: string; } export namespace GetUsagePlanKeyRequest { @@ -6005,18 +6084,19 @@ export namespace GetUsagePlanKeyRequest { *The GET request to get all the usage plan keys representing the API keys added to a specified usage plan.
*/ export interface GetUsagePlanKeysRequest { - name?: string; + title?: string; + template?: boolean; /** - *The maximum number of returned results per page. The default value is 25 and the maximum value is 500.
+ *A query parameter specifying the name of the to-be-returned usage plan keys.
*/ - limit?: number; + nameQuery?: string; + name?: string; /** - *A query parameter specifying the name of the to-be-returned usage plan keys.
+ *The maximum number of returned results per page. The default value is 25 and the maximum value is 500.
*/ - nameQuery?: string; + limit?: number; - title?: string; /** *The current pagination position in the paged result set.
*/ @@ -6027,8 +6107,6 @@ export interface GetUsagePlanKeysRequest { *[Required] The Id of the UsagePlan resource representing the usage plan containing the to-be-retrieved UsagePlanKey resource representing a plan customer.
*/ usagePlanId: string | undefined; - - template?: boolean; } export namespace GetUsagePlanKeysRequest { @@ -6065,24 +6143,25 @@ export namespace UsagePlanKeys { *The GET request to get all the usage plans of the caller's account.
*/ export interface GetUsagePlansRequest { - template?: boolean; - templateSkipList?: string[]; - title?: string; /** - *The current pagination position in the paged result set.
+ *The identifier of the API key associated with the usage plans.
*/ - position?: string; + keyId?: string; /** - *The identifier of the API key associated with the usage plans.
+ *The current pagination position in the paged result set.
*/ - keyId?: string; + position?: string; name?: string; /** *The maximum number of returned results per page. The default value is 25 and the maximum value is 500.
*/ limit?: number; + + title?: string; + templateSkipList?: string[]; + template?: boolean; } export namespace GetUsagePlansRequest { @@ -6119,14 +6198,14 @@ export namespace UsagePlans { *Gets a specified VPC link under the caller's account in a region.
*/ export interface GetVpcLinkRequest { + name?: string; + templateSkipList?: string[]; template?: boolean; /** *[Required] The identifier of the VpcLink. It is used in an Integration to reference this VpcLink.
*/ vpcLinkId: string | undefined; - name?: string; - templateSkipList?: string[]; title?: string; } @@ -6140,19 +6219,20 @@ export namespace GetVpcLinkRequest { *Gets the VpcLinks collection under the caller's account in a selected region.
*/ export interface GetVpcLinksRequest { - template?: boolean; templateSkipList?: string[]; - title?: string; /** *The current pagination position in the paged result set.
*/ position?: string; - name?: string; /** *The maximum number of returned results per page. The default value is 25 and the maximum value is 500.
*/ limit?: number; + + name?: string; + title?: string; + template?: boolean; } export namespace GetVpcLinksRequest { @@ -6192,20 +6272,20 @@ export namespace VpcLinks { *The POST request to import API keys from an external source, such as a CSV-formatted file.
*/ export interface ImportApiKeysRequest { - name?: string; /** - *A query parameter to specify the input format to imported API keys. Currently, only the csv
format is supported.
A query parameter to indicate whether to rollback ApiKey importation (true
) or not (false
) when error is encountered.
A query parameter to indicate whether to rollback ApiKey importation (true
) or not (false
) when error is encountered.
A query parameter to specify the input format to imported API keys. Currently, only the csv
format is supported.
Import documentation parts from an external (e.g., OpenAPI) definition file.
*/ export interface ImportDocumentationPartsRequest { - name?: string; /** *[Required] The string identifier of the associated RestApi.
*/ restApiId: string | undefined; - title?: string; /** *A query parameter to specify whether to rollback the documentation importation (true
) or not (false
) when a warning is encountered. The default value is false
.
A POST request to import an API to API Gateway using an input of an API definition file.
*/ export interface ImportRestApiRequest { - /** - *A query parameter to indicate whether to rollback the API creation (true
) or not (false
)
- * when a warning is encountered. The default value is false
.
A key-value map of context-specific query string parameters specifying the behavior of different API importing operations. The following shows operation-specific parameters and their supported values.
* To exclude DocumentationParts from the import, set parameters
as ignore=documentation
.
A query parameter to indicate whether to rollback the API creation (true
) or not (false
)
+ * when a warning is encountered. The default value is false
.
Creates a customization of a GatewayResponse of a specified response type and status code on the given RestApi.
*/ export interface PutGatewayResponseRequest { - /** - *[Required]
The response type of the associated GatewayResponse. Valid values are
[Required] The string identifier of the associated RestApi.
*/ restApiId: string | undefined; - name?: string; - title?: string; + template?: boolean; /** - *Response templates of the GatewayResponse as a string-to-string map of key-value pairs.
+ *[Required]
The response type of the associated GatewayResponse. Valid values are
Response parameters (paths, query strings and headers) of the GatewayResponse as a string-to-string map of key-value pairs.
*/ responseParameters?: { [key: string]: string }; + + /** + *Response templates of the GatewayResponse as a string-to-string map of key-value pairs.
+ */ + responseTemplates?: { [key: string]: string }; } export namespace PutGatewayResponseRequest { @@ -6353,48 +6433,33 @@ export namespace PutGatewayResponseRequest { */ export interface PutIntegrationRequest { /** - *[Required] Specifies a put integration request's resource ID.
+ *[Required] Specifies a put integration request's HTTP method.
*/ - resourceId: string | undefined; + httpMethod: string | undefined; - template?: boolean; - name?: string; + templateSkipList?: string[]; + title?: string; /** *[Required] The string identifier of the associated RestApi.
*/ restApiId: string | undefined; + template?: boolean; /** - *[Required] Specifies a put integration request's HTTP method.
+ *[Required] Specifies a put integration request's resource ID.
*/ - httpMethod: string | undefined; + resourceId: string | undefined; - templateSkipList?: string[]; - title?: string; + name?: string; /** - *Custom timeout between 50 and 29,000 milliseconds. The default value is 29,000 milliseconds or 29 seconds.
+ *Specifies Uniform Resource Identifier (URI) of the integration endpoint.
+ * For HTTP
or HTTP_PROXY
integrations, the URI must be a fully formed, encoded HTTP(S) URL according to the RFC-3986 specification, for either standard integration, where connectionType
is not VPC_LINK
, or private integration, where connectionType
is VPC_LINK
. For a private HTTP integration, the URI is not used for routing.
For AWS
or AWS_PROXY
integrations, the URI is of the form arn:aws:apigateway:{region}:{subdomain.service|service}:path|action/{service_api}
. Here, {Region}
is the API Gateway region (e.g., us-east-1
); {service}
is the name of the integrated AWS service (e.g., s3
); and {subdomain}
is a designated subdomain supported by certain AWS service for fast host-name lookup. action
can be used for an AWS service action-based API, using an Action={name}&{p1}={v1}&p2={v2}...
query string. The ensuing {service_api}
refers to a supported action {name}
plus any required input parameters. Alternatively, path
can be used for an AWS service path-based API. The ensuing service_api
refers to the path to an AWS service resource, including the region of the integrated AWS service, if applicable. For example, for integration with the S3 API of GetObject
, the uri
can be either arn:aws:apigateway:us-west-2:s3:action/GetObject&Bucket={bucket}&Key={key}
or arn:aws:apigateway:us-west-2:s3:path/{bucket}/{key}
Specifies how to handle request payload content type conversions. Supported values are CONVERT_TO_BINARY
and CONVERT_TO_TEXT
, with the following behaviors:
CONVERT_TO_BINARY
: Converts a request payload from a Base64-encoded string to the corresponding binary blob.
CONVERT_TO_TEXT
: Converts a request payload from a binary blob to a Base64-encoded string.
If this property is not defined, the request payload will be passed through from the method request to integration request without modification, provided that the passthroughBehavior
is configured to support payload pass-through.
A key-value map specifying request parameters that are passed from the method request to the back end. The key is an integration request parameter name and the associated value is a method request parameter value or static value that must be enclosed within single quotes and pre-encoded as required by the back end. The method request parameter value must match the pattern of method.request.{location}.{name}
, where location
is querystring
, path
, or header
and name
must be a valid and unique method request parameter name.
Specifies whether credentials are required for a put integration.
- */ - credentials?: string; + uri?: string; /** *Specifies the pass-through behavior for incoming requests based on the Content-Type header in the request, and the available mapping templates specified as the requestTemplates
property on the Integration resource. There are three valid values: WHEN_NO_MATCH
, WHEN_NO_TEMPLATES
, and NEVER
.
@@ -6418,40 +6483,55 @@ export interface PutIntegrationRequest {
connectionId?: string;
/**
- *
A list of request parameters whose values API Gateway caches. To be valid values for cacheKeyParameters
, these parameters must also be specified for Method requestParameters
.
A key-value map specifying request parameters that are passed from the method request to the back end. The key is an integration request parameter name and the associated value is a method request parameter value or static value that must be enclosed within single quotes and pre-encoded as required by the back end. The method request parameter value must match the pattern of method.request.{location}.{name}
, where location
is querystring
, path
, or header
and name
must be a valid and unique method request parameter name.
[Required] Specifies a put integration input's type.
+ *Specifies a put integration HTTP method. When the integration type is HTTP or AWS, this field is required.
*/ - type: IntegrationType | string | undefined; + integrationHttpMethod?: string; - tlsConfig?: TlsConfig; /** - *Specifies Uniform Resource Identifier (URI) of the integration endpoint.
- * For HTTP
or HTTP_PROXY
integrations, the URI must be a fully formed, encoded HTTP(S) URL according to the RFC-3986 specification, for either standard integration, where connectionType
is not VPC_LINK
, or private integration, where connectionType
is VPC_LINK
. For a private HTTP integration, the URI is not used for routing.
For AWS
or AWS_PROXY
integrations, the URI is of the form arn:aws:apigateway:{region}:{subdomain.service|service}:path|action/{service_api}
. Here, {Region}
is the API Gateway region (e.g., us-east-1
); {service}
is the name of the integrated AWS service (e.g., s3
); and {subdomain}
is a designated subdomain supported by certain AWS service for fast host-name lookup. action
can be used for an AWS service action-based API, using an Action={name}&{p1}={v1}&p2={v2}...
query string. The ensuing {service_api}
refers to a supported action {name}
plus any required input parameters. Alternatively, path
can be used for an AWS service path-based API. The ensuing service_api
refers to the path to an AWS service resource, including the region of the integrated AWS service, if applicable. For example, for integration with the S3 API of GetObject
, the uri
can be either arn:aws:apigateway:us-west-2:s3:action/GetObject&Bucket={bucket}&Key={key}
or arn:aws:apigateway:us-west-2:s3:path/{bucket}/{key}
Specifies a group of related cached parameters. By default, API Gateway uses the resource ID as the cacheNamespace
. You can specify the same cacheNamespace
across resources to return the same cached data for requests to different resources.
Specifies a put integration HTTP method. When the integration type is HTTP or AWS, this field is required.
+ *A list of request parameters whose values API Gateway caches. To be valid values for cacheKeyParameters
, these parameters must also be specified for Method requestParameters
.
Specifies a group of related cached parameters. By default, API Gateway uses the resource ID as the cacheNamespace
. You can specify the same cacheNamespace
across resources to return the same cached data for requests to different resources.
Specifies whether credentials are required for a put integration.
*/ - cacheNamespace?: string; + credentials?: string; /** *The type of the network connection to the integration endpoint. The valid value is INTERNET
for connections through the public routable internet or VPC_LINK
for private connections between API Gateway and a network load balancer in a VPC. The default value is INTERNET
.
Custom timeout between 50 and 29,000 milliseconds. The default value is 29,000 milliseconds or 29 seconds.
+ */ + timeoutInMillis?: number; + + tlsConfig?: TlsConfig; + /** + *Specifies how to handle request payload content type conversions. Supported values are CONVERT_TO_BINARY
and CONVERT_TO_TEXT
, with the following behaviors:
CONVERT_TO_BINARY
: Converts a request payload from a Base64-encoded string to the corresponding binary blob.
CONVERT_TO_TEXT
: Converts a request payload from a binary blob to a Base64-encoded string.
If this property is not defined, the request payload will be passed through from the method request to integration request without modification, provided that the passthroughBehavior
is configured to support payload pass-through.
[Required] Specifies a put integration input's type.
+ */ + type: IntegrationType | string | undefined; } export namespace PutIntegrationRequest { @@ -6464,41 +6544,30 @@ export namespace PutIntegrationRequest { *Represents a put integration response request.
*/ export interface PutIntegrationResponseRequest { + templateSkipList?: string[]; /** *[Required] Specifies the status code that is used to map the integration response to an existing MethodResponse.
*/ statusCode: string | undefined; - /** - *[Required] Specifies a put integration response request's resource identifier.
- */ - resourceId: string | undefined; - - template?: boolean; - /** - *[Required] The string identifier of the associated RestApi.
- */ - restApiId: string | undefined; - - templateSkipList?: string[]; + name?: string; title?: string; /** *[Required] Specifies a put integration response request's HTTP method.
*/ httpMethod: string | undefined; - name?: string; /** - *A key-value map specifying response parameters that are passed to the method response from the back end.
- * The key is a method response header parameter name and the mapped value is an integration response header value, a static value enclosed within a pair of single quotes, or a JSON expression from the integration response body. The mapping key must match the pattern of method.response.header.{name}
, where name
is a valid and unique header name. The mapped non-static value must match the pattern of integration.response.header.{name}
or integration.response.body.{JSON-expression}
, where name
must be a valid and unique response header name and JSON-expression
a valid JSON expression without the $
prefix.
[Required] The string identifier of the associated RestApi.
*/ - responseParameters?: { [key: string]: string }; + restApiId: string | undefined; /** - *Specifies a put integration response's templates.
+ *[Required] Specifies a put integration response request's resource identifier.
*/ - responseTemplates?: { [key: string]: string }; + resourceId: string | undefined; + template?: boolean; /** *Specifies the selection pattern of a put integration response.
*/ @@ -6513,6 +6582,17 @@ export interface PutIntegrationResponseRequest { *If this property is not defined, the response payload will be passed through from the integration response to the method response without modification.
*/ contentHandling?: ContentHandlingStrategy | string; + + /** + *A key-value map specifying response parameters that are passed to the method response from the back end.
+ * The key is a method response header parameter name and the mapped value is an integration response header value, a static value enclosed within a pair of single quotes, or a JSON expression from the integration response body. The mapping key must match the pattern of method.response.header.{name}
, where name
is a valid and unique header name. The mapped non-static value must match the pattern of integration.response.header.{name}
or integration.response.body.{JSON-expression}
, where name
must be a valid and unique response header name and JSON-expression
a valid JSON expression without the $
prefix.
Specifies a put integration response's templates.
+ */ + responseTemplates?: { [key: string]: string }; } export namespace PutIntegrationResponseRequest { @@ -6526,28 +6606,28 @@ export namespace PutIntegrationResponseRequest { */ export interface PutMethodRequest { /** - *[Required] The string identifier of the associated RestApi.
+ *[Required] The Resource identifier for the new Method resource.
*/ - restApiId: string | undefined; + resourceId: string | undefined; - name?: string; /** - *[Required] The Resource identifier for the new Method resource.
+ *[Required] The string identifier of the associated RestApi.
*/ - resourceId: string | undefined; + restApiId: string | undefined; template?: boolean; + templateSkipList?: string[]; + title?: string; + name?: string; /** *[Required] Specifies the method request's HTTP method type.
*/ httpMethod: string | undefined; - title?: string; - templateSkipList?: string[]; /** - *Specifies the Model resources used for the request's content type. Request models are represented as a key/value map, with a content type as the key and a Model name as the value.
+ *A key-value map defining required or optional method request parameters that can be accepted by API Gateway. A key defines a method request parameter name matching the pattern of method.request.{location}.{name}
, where location
is querystring
, path
, or header
and name
is a valid and unique parameter name. The value associated with the key is a Boolean flag indicating whether the parameter is required (true
) or optional (false
). The method request parameter names defined here are available in Integration to be mapped to integration request parameters or body-mapping templates.
A human-friendly operation identifier for the method. For example, you can assign the operationName
of ListPets
for the GET /pets
method in the PetStore
example.
[Required] The method's authorization type. Valid values are NONE
for open access, AWS_IAM
for using AWS IAM permissions, CUSTOM
for using a custom authorizer, or COGNITO_USER_POOLS
for using a Cognito user pool.
Specifies the Model resources used for the request's content type. Request models are represented as a key/value map, with a content type as the key and a Model name as the value.
*/ - authorizationType: string | undefined; + requestModels?: { [key: string]: string }; + + /** + *The identifier of a RequestValidator for validating the method request.
+ */ + requestValidatorId?: string; /** *Specifies whether the method required a valid ApiKey.
@@ -6575,14 +6660,9 @@ export interface PutMethodRequest { authorizerId?: string; /** - *The identifier of a RequestValidator for validating the method request.
- */ - requestValidatorId?: string; - - /** - *A key-value map defining required or optional method request parameters that can be accepted by API Gateway. A key defines a method request parameter name matching the pattern of method.request.{location}.{name}
, where location
is querystring
, path
, or header
and name
is a valid and unique parameter name. The value associated with the key is a Boolean flag indicating whether the parameter is required (true
) or optional (false
). The method request parameter names defined here are available in Integration to be mapped to integration request parameters or body-mapping templates.
[Required] The method's authorization type. Valid values are NONE
for open access, AWS_IAM
for using AWS IAM permissions, CUSTOM
for using a custom authorizer, or COGNITO_USER_POOLS
for using a Cognito user pool.
Request to add a MethodResponse to an existing Method resource.
*/ export interface PutMethodResponseRequest { - name?: string; - /** - *[Required] The string identifier of the associated RestApi.
- */ - restApiId: string | undefined; - + template?: boolean; /** *[Required] The Resource identifier for the Method resource.
*/ resourceId: string | undefined; - template?: boolean; /** - *[Required] The method response's status code.
+ *[Required] The string identifier of the associated RestApi.
*/ - statusCode: string | undefined; + restApiId: string | undefined; - title?: string; templateSkipList?: string[]; /** *[Required] The HTTP verb of the Method resource.
*/ httpMethod: string | undefined; + title?: string; + name?: string; /** - *A key-value map specifying required or optional response parameters that API Gateway can send back to the caller. A key defines a method response header name and the associated value is a Boolean flag indicating whether the method response parameter is required or not. The method response header names must match the pattern of method.response.header.{name}
, where name
is a valid and unique header name. The response parameter names defined here are available in the integration response to be mapped from an integration response header expressed in integration.response.header.{name}
, a static value enclosed within a pair of single quotes (e.g., 'application/json'
), or a JSON expression from the back-end response payload in the form of integration.response.body.{JSON-expression}
, where JSON-expression
is a valid JSON expression without the $
prefix.)
[Required] The method response's status code.
*/ - responseParameters?: { [key: string]: boolean }; + statusCode: string | undefined; /** *Specifies the Model resources used for the response's content type. Response models are represented as a key/value map, with a content type as the key and a Model name as the value.
*/ responseModels?: { [key: string]: string }; + + /** + *A key-value map specifying required or optional response parameters that API Gateway can send back to the caller. A key defines a method response header name and the associated value is a Boolean flag indicating whether the method response parameter is required or not. The method response header names must match the pattern of method.response.header.{name}
, where name
is a valid and unique header name. The response parameter names defined here are available in the integration response to be mapped from an integration response header expressed in integration.response.header.{name}
, a static value enclosed within a pair of single quotes (e.g., 'application/json'
), or a JSON expression from the back-end response payload in the form of integration.response.body.{JSON-expression}
, where JSON-expression
is a valid JSON expression without the $
prefix.)
A PUT request to update an existing API, with external API definitions specified as the request body.
*/ export interface PutRestApiRequest { - title?: string; + name?: string; /** - *Custom header parameters as part of the request. For example, to exclude DocumentationParts from an imported API, set ignore=documentation
as a parameters
value, as in the AWS CLI command of aws apigateway import-rest-api --parameters ignore=documentation --body 'file:///path/to/imported-api-body.json'
.
A query parameter to indicate whether to rollback the API update (true
) or not (false
)
+ * when a warning is encountered. The default value is false
.
The mode
query parameter to specify the update mode. Valid values are "merge" and "overwrite". By default,
- * the update mode is "merge".
[Required] The string identifier of the associated RestApi.
*/ - mode?: PutMode | string; + restApiId: string | undefined; /** - *A query parameter to indicate whether to rollback the API update (true
) or not (false
)
- * when a warning is encountered. The default value is false
.
The mode
query parameter to specify the update mode. Valid values are "merge" and "overwrite". By default,
+ * the update mode is "merge".
[Required] The string identifier of the associated RestApi.
+ *Custom header parameters as part of the request. For example, to exclude DocumentationParts from an imported API, set ignore=documentation
as a parameters
value, as in the AWS CLI command of aws apigateway import-rest-api --parameters ignore=documentation --body 'file:///path/to/imported-api-body.json'
.
Adds or updates a tag on a given resource.
*/ export interface TagResourceRequest { - template?: boolean; - title?: string; + name?: string; templateSkipList?: string[]; + title?: string; + template?: boolean; /** *[Required] The ARN of a resource that can be tagged.
*/ resourceArn: string | undefined; - name?: string; /** *[Required] The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. The tag key can be up to 128 characters and must not start with aws:
. The tag value can be up to 256 characters.
[Optional] A key-value map of additional context variables.
+ *A key-value map of stage variables to simulate an invocation on a deployed Stage.
*/ - additionalContext?: { [key: string]: string }; + stageVariables?: { [key: string]: string }; /** - *[Optional] The URI path, including query string, of the simulated invocation request. Use this to specify path parameters and query string parameters.
+ *[Optional] The simulated request body of an incoming invocation request.
*/ - pathWithQueryString?: string; + body?: string; /** *[Required] A key-value map of headers to simulate an incoming invocation request. This is where the incoming authorization token, or identity source, should be specified.
@@ -6719,14 +6798,14 @@ export interface TestInvokeAuthorizerRequest { headers?: { [key: string]: string }; /** - *[Optional] The simulated request body of an incoming invocation request.
+ *[Optional] The URI path, including query string, of the simulated invocation request. Use this to specify path parameters and query string parameters.
*/ - body?: string; + pathWithQueryString?: string; /** - *A key-value map of stage variables to simulate an invocation on a deployed Stage.
+ *[Optional] A key-value map of additional context variables.
*/ - stageVariables?: { [key: string]: string }; + additionalContext?: { [key: string]: string }; /** *[Required] The string identifier of the associated RestApi.
@@ -6734,14 +6813,14 @@ export interface TestInvokeAuthorizerRequest { restApiId: string | undefined; /** - *[Required] Specifies a test invoke authorizer request's Authorizer ID.
+ *[Optional] The headers as a map from string to list of values to simulate an incoming invocation request. This is where the incoming authorization token, or identity source, may be specified.
*/ - authorizerId: string | undefined; + multiValueHeaders?: { [key: string]: string[] }; /** - *[Optional] The headers as a map from string to list of values to simulate an incoming invocation request. This is where the incoming authorization token, or identity source, may be specified.
+ *[Required] Specifies a test invoke authorizer request's Authorizer ID.
*/ - multiValueHeaders?: { [key: string]: string[] }; + authorizerId: string | undefined; } export namespace TestInvokeAuthorizerRequest { @@ -6755,15 +6834,19 @@ export namespace TestInvokeAuthorizerRequest { */ export interface TestInvokeAuthorizerResponse { /** - *The API Gateway execution log for the test authorizer request.
+ *The principal identity returned by the Authorizer
*/ - log?: string; + principalId?: string; - authorization?: { [key: string]: string[] }; /** - *The principal identity returned by the Authorizer
+ *The execution latency of the test authorizer request.
*/ - principalId?: string; + latency?: number; + + /** + *The open identity claims, with any supported custom attributes, returned from the Cognito Your User Pool configured for the API.
+ */ + claims?: { [key: string]: string }; /** *The JSON policy document returned by the Authorizer
@@ -6775,15 +6858,11 @@ export interface TestInvokeAuthorizerResponse { */ clientStatus?: number; + authorization?: { [key: string]: string[] }; /** - *The open identity claims, with any supported custom attributes, returned from the Cognito Your User Pool configured for the API.
- */ - claims?: { [key: string]: string }; - - /** - *The execution latency of the test authorizer request.
+ *The API Gateway execution log for the test authorizer request.
*/ - latency?: number; + log?: string; } export namespace TestInvokeAuthorizerResponse { @@ -6797,9 +6876,14 @@ export namespace TestInvokeAuthorizerResponse { */ export interface TestInvokeMethodRequest { /** - *[Required] The string identifier of the associated RestApi.
+ *A key-value map of headers to simulate an incoming invocation request.
*/ - restApiId: string | undefined; + headers?: { [key: string]: string }; + + /** + *The URI path, including query string, of the simulated invocation request. Use this to specify path parameters and query string parameters.
+ */ + pathWithQueryString?: string; /** *[Required] Specifies a test invoke method request's resource ID.
@@ -6807,24 +6891,24 @@ export interface TestInvokeMethodRequest { resourceId: string | undefined; /** - *The headers as a map from string to list of values to simulate an incoming invocation request.
+ *A ClientCertificate identifier to use in the test invocation. API Gateway will use the certificate when making the HTTPS request to the defined back-end endpoint.
*/ - multiValueHeaders?: { [key: string]: string[] }; + clientCertificateId?: string; /** - *A key-value map of stage variables to simulate an invocation on a deployed Stage.
+ *[Required] The string identifier of the associated RestApi.
*/ - stageVariables?: { [key: string]: string }; + restApiId: string | undefined; /** - *The simulated request body of an incoming invocation request.
+ *The headers as a map from string to list of values to simulate an incoming invocation request.
*/ - body?: string; + multiValueHeaders?: { [key: string]: string[] }; /** - *A ClientCertificate identifier to use in the test invocation. API Gateway will use the certificate when making the HTTPS request to the defined back-end endpoint.
+ *A key-value map of stage variables to simulate an invocation on a deployed Stage.
*/ - clientCertificateId?: string; + stageVariables?: { [key: string]: string }; /** *[Required] Specifies a test invoke method request's HTTP method.
@@ -6832,14 +6916,9 @@ export interface TestInvokeMethodRequest { httpMethod: string | undefined; /** - *The URI path, including query string, of the simulated invocation request. Use this to specify path parameters and query string parameters.
- */ - pathWithQueryString?: string; - - /** - *A key-value map of headers to simulate an incoming invocation request.
+ *The simulated request body of an incoming invocation request.
*/ - headers?: { [key: string]: string }; + body?: string; } export namespace TestInvokeMethodRequest { @@ -6856,14 +6935,9 @@ export namespace TestInvokeMethodRequest { */ export interface TestInvokeMethodResponse { /** - *The headers of the HTTP response.
- */ - headers?: { [key: string]: string }; - - /** - *The API Gateway execution log for the test invoke request.
+ *The execution latency of the test invoke request.
*/ - log?: string; + latency?: number; /** *The HTTP status code.
@@ -6881,9 +6955,14 @@ export interface TestInvokeMethodResponse { multiValueHeaders?: { [key: string]: string[] }; /** - *The execution latency of the test invoke request.
+ *The API Gateway execution log for the test invoke request.
*/ - latency?: number; + log?: string; + + /** + *The headers of the HTTP response.
+ */ + headers?: { [key: string]: string }; } export namespace TestInvokeMethodResponse { @@ -6892,23 +6971,23 @@ export namespace TestInvokeMethodResponse { }); } -/** - *Removes a tag from a given resource.
- */ -export interface UntagResourceRequest { - template?: boolean; - templateSkipList?: string[]; - title?: string; - /** - *[Required] The Tag keys to delete.
- */ - tagKeys: string[] | undefined; - +/** + *Removes a tag from a given resource.
+ */ +export interface UntagResourceRequest { + title?: string; + templateSkipList?: string[]; name?: string; /** *[Required] The ARN of a resource that can be tagged.
*/ resourceArn: string | undefined; + + template?: boolean; + /** + *[Required] The Tag keys to delete.
+ */ + tagKeys: string[] | undefined; } export namespace UntagResourceRequest { @@ -6924,25 +7003,25 @@ export type Op = "add" | "copy" | "move" | "remove" | "replace" | "test"; * http://tools.ietf.org/html/rfc6902#section-4 for an explanation of how each operation is used. */ export interface PatchOperation { - /** - *The new target value of the update operation. It is applicable for the add
or replace
operation. When using AWS CLI to update a property of a JSON value, enclose the JSON object with a pair of single quotes in a Linux shell, e.g., '{"a": ...}'. In a Windows shell, see Using JSON for Parameters.
An update operation to be performed with this PATCH request. The valid value can be add
, remove
, replace
or copy
. Not all valid operations are supported for a given resource. Support of the operations depends on specific operational contexts. Attempts to apply an unsupported operation on a resource will return an error message.
The copy
update operation's source as identified by a JSON-Pointer
value referencing the location within the targeted resource to copy the value from. For example, to promote a canary deployment, you copy the canary deployment ID to the affiliated deployment ID by calling a PATCH request on a Stage resource with "op":"copy"
, "from":"/canarySettings/deploymentId"
and "path":"/deploymentId"
.
The new target value of the update operation. It is applicable for the add
or replace
operation. When using AWS CLI to update a property of a JSON value, enclose the JSON object with a pair of single quotes in a Linux shell, e.g., '{"a": ...}'. In a Windows shell, see Using JSON for Parameters.
The op
operation's target, as identified by a JSON Pointer value that references a location within the targeted resource. For example, if the target resource has an updateable property of {"name":"value"}
, the path for this property is /name
. If the name
property value is a JSON object (e.g., {"name": {"child/name": "child-value"}}
), the path for the child/name
property will be /name/child~1name
. Any slash ("/") character appearing in path names must be escaped with "~1", as shown in the example above. Each op
operation can have only one path
associated with it.
The copy
update operation's source as identified by a JSON-Pointer
value referencing the location within the targeted resource to copy the value from. For example, to promote a canary deployment, you copy the canary deployment ID to the affiliated deployment ID by calling a PATCH request on a Stage resource with "op":"copy"
, "from":"/canarySettings/deploymentId"
and "path":"/deploymentId"
.
Requests API Gateway to change information about the current Account resource.
*/ export interface UpdateAccountRequest { + name?: string; templateSkipList?: string[]; title?: string; - name?: string; template?: boolean; /** *A list of update operations to be applied to the specified resource and in the order specified in this list.
@@ -6975,8 +7054,6 @@ export namespace UpdateAccountRequest { *A request to change information about an ApiKey resource.
*/ export interface UpdateApiKeyRequest { - title?: string; - name?: string; /** *[Required] The identifier of the ApiKey resource to be updated.
*/ @@ -6984,6 +7061,8 @@ export interface UpdateApiKeyRequest { template?: boolean; templateSkipList?: string[]; + title?: string; + name?: string; /** *A list of update operations to be applied to the specified resource and in the order specified in this list.
*/ @@ -7000,19 +7079,19 @@ export namespace UpdateApiKeyRequest { *Request to update an existing Authorizer resource.
*/ export interface UpdateAuthorizerRequest { + template?: boolean; /** - *[Required] The string identifier of the associated RestApi.
+ *[Required] The identifier of the Authorizer resource.
*/ - restApiId: string | undefined; + authorizerId: string | undefined; - template?: boolean; templateSkipList?: string[]; - name?: string; /** - *[Required] The identifier of the Authorizer resource.
+ *[Required] The string identifier of the associated RestApi.
*/ - authorizerId: string | undefined; + restApiId: string | undefined; + name?: string; title?: string; /** *A list of update operations to be applied to the specified resource and in the order specified in this list.
@@ -7030,21 +7109,21 @@ export namespace UpdateAuthorizerRequest { *A request to change information about the BasePathMapping resource.
*/ export interface UpdateBasePathMappingRequest { + name?: string; + templateSkipList?: string[]; /** *[Required] The base path of the BasePathMapping resource to change.
*To specify an empty base path, set this parameter to '(none)'
.
[Required] The domain name of the BasePathMapping resource to change.
*/ domainName: string | undefined; template?: boolean; - name?: string; + title?: string; /** *A list of update operations to be applied to the specified resource and in the order specified in this list.
*/ @@ -7061,15 +7140,15 @@ export namespace UpdateBasePathMappingRequest { *A request to change information about an ClientCertificate resource.
*/ export interface UpdateClientCertificateRequest { + name?: string; templateSkipList?: string[]; + template?: boolean; /** *[Required] The identifier of the ClientCertificate resource to be updated.
*/ clientCertificateId: string | undefined; - name?: string; title?: string; - template?: boolean; /** *A list of update operations to be applied to the specified resource and in the order specified in this list.
*/ @@ -7086,20 +7165,20 @@ export namespace UpdateClientCertificateRequest { *Requests API Gateway to change information about a Deployment resource.
*/ export interface UpdateDeploymentRequest { + template?: boolean; + title?: string; + name?: string; + templateSkipList?: string[]; /** - *The replacement identifier for the Deployment resource to change information about.
+ *[Required] The string identifier of the associated RestApi.
*/ - deploymentId: string | undefined; + restApiId: string | undefined; /** - *[Required] The string identifier of the associated RestApi.
+ *The replacement identifier for the Deployment resource to change information about.
*/ - restApiId: string | undefined; + deploymentId: string | undefined; - name?: string; - title?: string; - templateSkipList?: string[]; - template?: boolean; /** *A list of update operations to be applied to the specified resource and in the order specified in this list.
*/ @@ -7116,20 +7195,20 @@ export namespace UpdateDeploymentRequest { *Updates an existing documentation part of a given API.
*/ export interface UpdateDocumentationPartRequest { - templateSkipList?: string[]; /** - *[Required] The identifier of the to-be-updated documentation part.
+ *[Required] The string identifier of the associated RestApi.
*/ - documentationPartId: string | undefined; + restApiId: string | undefined; - title?: string; name?: string; template?: boolean; + templateSkipList?: string[]; /** - *[Required] The string identifier of the associated RestApi.
+ *[Required] The identifier of the to-be-updated documentation part.
*/ - restApiId: string | undefined; + documentationPartId: string | undefined; + title?: string; /** *A list of update operations to be applied to the specified resource and in the order specified in this list.
*/ @@ -7146,9 +7225,8 @@ export namespace UpdateDocumentationPartRequest { *Updates an existing documentation version of an API.
*/ export interface UpdateDocumentationVersionRequest { + name?: string; templateSkipList?: string[]; - title?: string; - template?: boolean; /** *[Required] The version identifier of the to-be-updated documentation version.
*/ @@ -7159,7 +7237,8 @@ export interface UpdateDocumentationVersionRequest { */ restApiId: string | undefined; - name?: string; + template?: boolean; + title?: string; /** *A list of update operations to be applied to the specified resource and in the order specified in this list.
*/ @@ -7176,15 +7255,15 @@ export namespace UpdateDocumentationVersionRequest { *A request to change information about the DomainName resource.
*/ export interface UpdateDomainNameRequest { + template?: boolean; name?: string; title?: string; - templateSkipList?: string[]; - template?: boolean; /** *[Required] The name of the DomainName resource to be changed.
*/ domainName: string | undefined; + templateSkipList?: string[]; /** *A list of update operations to be applied to the specified resource and in the order specified in this list.
*/ @@ -7201,20 +7280,20 @@ export namespace UpdateDomainNameRequest { *Updates a GatewayResponse of a specified response type on the given RestApi.
*/ export interface UpdateGatewayResponseRequest { - templateSkipList?: string[]; - title?: string; /** - *[Required]
The response type of the associated GatewayResponse. Valid values are
[Required] The string identifier of the associated RestApi.
*/ - responseType: GatewayResponseType | string | undefined; + restApiId: string | undefined; name?: string; - template?: boolean; /** - *[Required] The string identifier of the associated RestApi.
+ *[Required]
The response type of the associated GatewayResponse. Valid values are
A list of update operations to be applied to the specified resource and in the order specified in this list.
*/ @@ -7232,24 +7311,24 @@ export namespace UpdateGatewayResponseRequest { */ export interface UpdateIntegrationRequest { /** - *[Required] Represents an update integration request's HTTP method.
+ *[Required] The string identifier of the associated RestApi.
*/ - httpMethod: string | undefined; + restApiId: string | undefined; name?: string; /** - *[Required] The string identifier of the associated RestApi.
+ *[Required] Represents an update integration request's HTTP method.
*/ - restApiId: string | undefined; + httpMethod: string | undefined; title?: string; templateSkipList?: string[]; - template?: boolean; /** *[Required] Represents an update integration request's resource identifier.
*/ resourceId: string | undefined; + template?: boolean; /** *A list of update operations to be applied to the specified resource and in the order specified in this list.
*/ @@ -7266,30 +7345,30 @@ export namespace UpdateIntegrationRequest { *Represents an update integration response request.
*/ export interface UpdateIntegrationResponseRequest { - template?: boolean; - /** - *[Required] Specifies an update integration response request's status code.
- */ - statusCode: string | undefined; - + templateSkipList?: string[]; /** - *[Required] Specifies an update integration response request's HTTP method.
+ *[Required] The string identifier of the associated RestApi.
*/ - httpMethod: string | undefined; + restApiId: string | undefined; + template?: boolean; /** *[Required] Specifies an update integration response request's resource identifier.
*/ resourceId: string | undefined; /** - *[Required] The string identifier of the associated RestApi.
+ *[Required] Specifies an update integration response request's status code.
*/ - restApiId: string | undefined; + statusCode: string | undefined; - name?: string; title?: string; - templateSkipList?: string[]; + name?: string; + /** + *[Required] Specifies an update integration response request's HTTP method.
+ */ + httpMethod: string | undefined; + /** *A list of update operations to be applied to the specified resource and in the order specified in this list.
*/ @@ -7306,25 +7385,25 @@ export namespace UpdateIntegrationResponseRequest { *Request to update an existing Method resource.
*/ export interface UpdateMethodRequest { - templateSkipList?: string[]; + name?: string; + title?: string; /** *[Required] The HTTP verb of the Method resource.
*/ httpMethod: string | undefined; - title?: string; - name?: string; + template?: boolean; /** - *[Required] The string identifier of the associated RestApi.
+ *[Required] The Resource identifier for the Method resource.
*/ - restApiId: string | undefined; + resourceId: string | undefined; + templateSkipList?: string[]; /** - *[Required] The Resource identifier for the Method resource.
+ *[Required] The string identifier of the associated RestApi.
*/ - resourceId: string | undefined; + restApiId: string | undefined; - template?: boolean; /** *A list of update operations to be applied to the specified resource and in the order specified in this list.
*/ @@ -7341,14 +7420,6 @@ export namespace UpdateMethodRequest { *A request to update an existing MethodResponse resource.
*/ export interface UpdateMethodResponseRequest { - template?: boolean; - title?: string; - templateSkipList?: string[]; - /** - *[Required] The Resource identifier for the MethodResponse resource.
- */ - resourceId: string | undefined; - /** *[Required] The HTTP verb of the Method resource.
*/ @@ -7360,11 +7431,19 @@ export interface UpdateMethodResponseRequest { */ statusCode: string | undefined; + /** + *[Required] The Resource identifier for the MethodResponse resource.
+ */ + resourceId: string | undefined; + + template?: boolean; /** *[Required] The string identifier of the associated RestApi.
*/ restApiId: string | undefined; + title?: string; + templateSkipList?: string[]; /** *A list of update operations to be applied to the specified resource and in the order specified in this list.
*/ @@ -7381,20 +7460,20 @@ export namespace UpdateMethodResponseRequest { *Request to update an existing model in an existing RestApi resource.
*/ export interface UpdateModelRequest { + templateSkipList?: string[]; + title?: string; + name?: string; /** *[Required] The name of the model to update.
*/ modelName: string | undefined; - title?: string; - name?: string; - templateSkipList?: string[]; + template?: boolean; /** *[Required] The string identifier of the associated RestApi.
*/ restApiId: string | undefined; - template?: boolean; /** *A list of update operations to be applied to the specified resource and in the order specified in this list.
*/ @@ -7412,19 +7491,19 @@ export namespace UpdateModelRequest { */ export interface UpdateRequestValidatorRequest { name?: string; - templateSkipList?: string[]; /** - *[Required] The string identifier of the associated RestApi.
+ *[Required] The identifier of RequestValidator to be updated.
*/ - restApiId: string | undefined; + requestValidatorId: string | undefined; + templateSkipList?: string[]; title?: string; + template?: boolean; /** - *[Required] The identifier of RequestValidator to be updated.
+ *[Required] The string identifier of the associated RestApi.
*/ - requestValidatorId: string | undefined; + restApiId: string | undefined; - template?: boolean; /** *A list of update operations to be applied to the specified resource and in the order specified in this list.
*/ @@ -7441,20 +7520,20 @@ export namespace UpdateRequestValidatorRequest { *Request to change information about a Resource resource.
*/ export interface UpdateResourceRequest { - templateSkipList?: string[]; - template?: boolean; - title?: string; + name?: string; /** - *[Required] The identifier of the Resource resource.
+ *[Required] The string identifier of the associated RestApi.
*/ - resourceId: string | undefined; + restApiId: string | undefined; + title?: string; + templateSkipList?: string[]; /** - *[Required] The string identifier of the associated RestApi.
+ *[Required] The identifier of the Resource resource.
*/ - restApiId: string | undefined; + resourceId: string | undefined; - name?: string; + template?: boolean; /** *A list of update operations to be applied to the specified resource and in the order specified in this list.
*/ @@ -7471,15 +7550,15 @@ export namespace UpdateResourceRequest { *Request to update an existing RestApi resource in your collection.
*/ export interface UpdateRestApiRequest { - title?: string; - templateSkipList?: string[]; - name?: string; - template?: boolean; /** *[Required] The string identifier of the associated RestApi.
*/ restApiId: string | undefined; + name?: string; + template?: boolean; + title?: string; + templateSkipList?: string[]; /** *A list of update operations to be applied to the specified resource and in the order specified in this list.
*/ @@ -7496,20 +7575,20 @@ export namespace UpdateRestApiRequest { *Requests API Gateway to change information about a Stage resource.
*/ export interface UpdateStageRequest { - title?: string; - templateSkipList?: string[]; name?: string; /** - *[Required] The name of the Stage resource to change information about.
+ *[Required] The string identifier of the associated RestApi.
*/ - stageName: string | undefined; + restApiId: string | undefined; - template?: boolean; /** - *[Required] The string identifier of the associated RestApi.
+ *[Required] The name of the Stage resource to change information about.
*/ - restApiId: string | undefined; + stageName: string | undefined; + template?: boolean; + templateSkipList?: string[]; + title?: string; /** *A list of update operations to be applied to the specified resource and in the order specified in this list.
*/ @@ -7526,20 +7605,20 @@ export namespace UpdateStageRequest { *The PATCH request to grant a temporary extension to the remaining quota of a usage plan associated with a specified API key.
*/ export interface UpdateUsageRequest { - /** - *[Required] The Id of the usage plan associated with the usage data.
- */ - usagePlanId: string | undefined; - - templateSkipList?: string[]; title?: string; + templateSkipList?: string[]; + name?: string; /** *[Required] The identifier of the API key associated with the usage plan in which a temporary extension is granted to the remaining quota.
*/ keyId: string | undefined; - name?: string; template?: boolean; + /** + *[Required] The Id of the usage plan associated with the usage data.
+ */ + usagePlanId: string | undefined; + /** *A list of update operations to be applied to the specified resource and in the order specified in this list.
*/ @@ -7556,15 +7635,15 @@ export namespace UpdateUsageRequest { *The PATCH request to update a usage plan of a given plan Id.
*/ export interface UpdateUsagePlanRequest { + name?: string; + title?: string; + templateSkipList?: string[]; + template?: boolean; /** *[Required] The Id of the to-be-updated usage plan.
*/ usagePlanId: string | undefined; - title?: string; - templateSkipList?: string[]; - name?: string; - template?: boolean; /** *A list of update operations to be applied to the specified resource and in the order specified in this list.
*/ @@ -7581,15 +7660,15 @@ export namespace UpdateUsagePlanRequest { *Updates an existing VpcLink of a specified identifier.
*/ export interface UpdateVpcLinkRequest { + templateSkipList?: string[]; template?: boolean; /** *[Required] The identifier of the VpcLink. It is used in an Integration to reference this VpcLink.
*/ vpcLinkId: string | undefined; - title?: string; name?: string; - templateSkipList?: string[]; + title?: string; /** *A list of update operations to be applied to the specified resource and in the order specified in this list.
*/ diff --git a/clients/client-api-gateway/pagination/GetApiKeysPaginator.ts b/clients/client-api-gateway/pagination/GetApiKeysPaginator.ts new file mode 100644 index 000000000000..742a8e0593d6 --- /dev/null +++ b/clients/client-api-gateway/pagination/GetApiKeysPaginator.ts @@ -0,0 +1,47 @@ +import { APIGateway } from "../APIGateway"; +import { APIGatewayClient } from "../APIGatewayClient"; +import { GetApiKeysCommand, GetApiKeysCommandInput, GetApiKeysCommandOutput } from "../commands/GetApiKeysCommand"; +import { APIGatewayPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: APIGatewayClient, + input: GetApiKeysCommandInput, + ...args: any +): PromiseThe source IP address of the TCP connection making the request to API Gateway.
+ *The User Agent of the API caller.
*/ - SourceIp: string | undefined; + UserAgent: string | undefined; /** - *The User Agent of the API caller.
+ *The source IP address of the TCP connection making the request to API Gateway.
*/ - UserAgent: string | undefined; + SourceIp: string | undefined; } export namespace Identity { @@ -84,14 +84,14 @@ export namespace Identity { export interface GetConnectionResponse { Identity?: Identity; /** - *The time in ISO 8601 format for when the connection was established.
+ *The time in ISO 8601 format for when the connection was last active.
*/ - ConnectedAt?: Date; + LastActiveAt?: Date; /** - *The time in ISO 8601 format for when the connection was last active.
+ *The time in ISO 8601 format for when the connection was established.
*/ - LastActiveAt?: Date; + ConnectedAt?: Date; } export namespace GetConnectionResponse { diff --git a/clients/client-apigatewaymanagementapi/runtimeConfig.shared.ts b/clients/client-apigatewaymanagementapi/runtimeConfig.shared.ts index 282c554015e1..9ebee5b1f304 100644 --- a/clients/client-apigatewaymanagementapi/runtimeConfig.shared.ts +++ b/clients/client-apigatewaymanagementapi/runtimeConfig.shared.ts @@ -6,5 +6,5 @@ export const ClientSharedValues = { disableHostPrefix: false, logger: {} as __Logger, regionInfoProvider: defaultRegionInfoProvider, - signingName: "execute-api", + signingName: "apigateway", }; diff --git a/clients/client-apigatewayv2/ApiGatewayV2.ts b/clients/client-apigatewayv2/ApiGatewayV2.ts index 0975472f43ba..bdc4786b53cb 100644 --- a/clients/client-apigatewayv2/ApiGatewayV2.ts +++ b/clients/client-apigatewayv2/ApiGatewayV2.ts @@ -196,6 +196,11 @@ import { GetVpcLinkCommand, GetVpcLinkCommandInput, GetVpcLinkCommandOutput } fr import { GetVpcLinksCommand, GetVpcLinksCommandInput, GetVpcLinksCommandOutput } from "./commands/GetVpcLinksCommand"; import { ImportApiCommand, ImportApiCommandInput, ImportApiCommandOutput } from "./commands/ImportApiCommand"; import { ReimportApiCommand, ReimportApiCommandInput, ReimportApiCommandOutput } from "./commands/ReimportApiCommand"; +import { + ResetAuthorizersCacheCommand, + ResetAuthorizersCacheCommandInput, + ResetAuthorizersCacheCommandOutput, +} from "./commands/ResetAuthorizersCacheCommand"; import { TagResourceCommand, TagResourceCommandInput, TagResourceCommandOutput } from "./commands/TagResourceCommand"; import { UntagResourceCommand, @@ -1941,6 +1946,38 @@ export class ApiGatewayV2 extends ApiGatewayV2Client { } } + /** + *Resets all authorizer cache entries on a stage. Supported only for HTTP APIs.
+ */ + public resetAuthorizersCache( + args: ResetAuthorizersCacheCommandInput, + options?: __HttpHandlerOptions + ): PromiseCreates a new Tag resource to represent a tag.
*/ diff --git a/clients/client-apigatewayv2/ApiGatewayV2Client.ts b/clients/client-apigatewayv2/ApiGatewayV2Client.ts index 6fc80726e921..c23bb4cf6884 100644 --- a/clients/client-apigatewayv2/ApiGatewayV2Client.ts +++ b/clients/client-apigatewayv2/ApiGatewayV2Client.ts @@ -85,6 +85,10 @@ import { GetVpcLinkCommandInput, GetVpcLinkCommandOutput } from "./commands/GetV import { GetVpcLinksCommandInput, GetVpcLinksCommandOutput } from "./commands/GetVpcLinksCommand"; import { ImportApiCommandInput, ImportApiCommandOutput } from "./commands/ImportApiCommand"; import { ReimportApiCommandInput, ReimportApiCommandOutput } from "./commands/ReimportApiCommand"; +import { + ResetAuthorizersCacheCommandInput, + ResetAuthorizersCacheCommandOutput, +} from "./commands/ResetAuthorizersCacheCommand"; import { TagResourceCommandInput, TagResourceCommandOutput } from "./commands/TagResourceCommand"; import { UntagResourceCommandInput, UntagResourceCommandOutput } from "./commands/UntagResourceCommand"; import { UpdateApiCommandInput, UpdateApiCommandOutput } from "./commands/UpdateApiCommand"; @@ -212,6 +216,7 @@ export type ServiceInputTypes = | GetVpcLinksCommandInput | ImportApiCommandInput | ReimportApiCommandInput + | ResetAuthorizersCacheCommandInput | TagResourceCommandInput | UntagResourceCommandInput | UpdateApiCommandInput @@ -285,6 +290,7 @@ export type ServiceOutputTypes = | GetVpcLinksCommandOutput | ImportApiCommandOutput | ReimportApiCommandOutput + | ResetAuthorizersCacheCommandOutput | TagResourceCommandOutput | UntagResourceCommandOutput | UpdateApiCommandOutput diff --git a/clients/client-apigatewayv2/commands/ResetAuthorizersCacheCommand.ts b/clients/client-apigatewayv2/commands/ResetAuthorizersCacheCommand.ts new file mode 100644 index 000000000000..5763dd67e9a8 --- /dev/null +++ b/clients/client-apigatewayv2/commands/ResetAuthorizersCacheCommand.ts @@ -0,0 +1,70 @@ +import { ApiGatewayV2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ApiGatewayV2Client"; +import { ResetAuthorizersCacheRequest } from "../models/models_0"; +import { + deserializeAws_restJson1ResetAuthorizersCacheCommand, + serializeAws_restJson1ResetAuthorizersCacheCommand, +} from "../protocols/Aws_restJson1"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + MiddlewareStack, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +export type ResetAuthorizersCacheCommandInput = ResetAuthorizersCacheRequest; +export type ResetAuthorizersCacheCommandOutput = __MetadataBearer; + +export class ResetAuthorizersCacheCommand extends $Command< + ResetAuthorizersCacheCommandInput, + ResetAuthorizersCacheCommandOutput, + ApiGatewayV2ClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ResetAuthorizersCacheCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + resolveMiddleware( + clientStack: MiddlewareStackRepresents a CORS configuration. Supported only for HTTP APIs. See Configuring CORS for more information.
*/ export interface Cors { - /** - *Represents a collection of allowed HTTP methods. Supported only for HTTP APIs.
- */ - AllowMethods?: string[]; - /** *The number of seconds that the browser should cache preflight request results. Supported only for HTTP APIs.
*/ @@ -34,6 +29,11 @@ export interface Cors { *Represents a collection of allowed headers. Supported only for HTTP APIs.
*/ AllowHeaders?: string[]; + + /** + *Represents a collection of allowed HTTP methods. Supported only for HTTP APIs.
+ */ + AllowMethods?: string[]; } export namespace Cors { @@ -52,9 +52,19 @@ export enum ProtocolType { */ export interface Api { /** - *The timestamp when the API was created.
+ *A version identifier for the API.
*/ - CreatedDate?: Date; + Version?: string; + + /** + *The URI of the API, of the form {api-id}.execute-api.{region}.amazonaws.com. The stage name is typically appended to this URI to form a complete path to a deployed API stage.
+ */ + ApiEndpoint?: string; + + /** + *The warning messages reported when failonwarnings is turned on during API import.
+ */ + Warnings?: string[]; /** *The name of the API.
@@ -62,39 +72,39 @@ export interface Api { Name: string | undefined; /** - *The URI of the API, of the form {api-id}.execute-api.{region}.amazonaws.com. The stage name is typically appended to this URI to form a complete path to a deployed API stage.
+ *The API ID.
*/ - ApiEndpoint?: string; + ApiId?: string; /** - *A version identifier for the API.
+ *A collection of tags associated with the API.
*/ - Version?: string; + Tags?: { [key: string]: string }; /** - *The warning messages reported when failonwarnings is turned on during API import.
+ *Specifies whether an API is managed by API Gateway. You can't update or delete a managed API by using API Gateway. A managed API can be deleted only through the tooling or service that created it.
*/ - Warnings?: string[]; + ApiGatewayManaged?: boolean; /** - *An API key selection expression. Supported only for WebSocket APIs. See API Key Selection Expressions.
+ *The timestamp when the API was created.
*/ - ApiKeySelectionExpression?: string; + CreatedDate?: Date; /** - *The API ID.
+ *A CORS configuration. Supported only for HTTP APIs.
*/ - ApiId?: string; + CorsConfiguration?: Cors; /** - *The route selection expression for the API. For HTTP APIs, the routeSelectionExpression must be ${request.method} ${request.path}. If not provided, this will be the default for HTTP APIs. This property is required for WebSocket APIs.
+ *The validation information during API import. This may include particular properties of your OpenAPI definition which are ignored during import. Supported only for HTTP APIs.
*/ - RouteSelectionExpression: string | undefined; + ImportInfo?: string[]; /** - *The API protocol.
+ *Specifies whether clients can invoke your API by using the default execute-api endpoint. By default, clients can invoke your API with the default https://{api_id}.execute-api.{region}.amazonaws.com endpoint. To require that clients use a custom domain name to invoke your API, disable the default endpoint.
*/ - ProtocolType: ProtocolType | string | undefined; + DisableExecuteApiEndpoint?: boolean; /** *The description of the API.
@@ -102,9 +112,9 @@ export interface Api { Description?: string; /** - *The validation information during API import. This may include particular properties of your OpenAPI definition which are ignored during import. Supported only for HTTP APIs.
+ *An API key selection expression. Supported only for WebSocket APIs. See API Key Selection Expressions.
*/ - ImportInfo?: string[]; + ApiKeySelectionExpression?: string; /** *Avoid validating models when creating a deployment. Supported only for WebSocket APIs.
@@ -112,14 +122,14 @@ export interface Api { DisableSchemaValidation?: boolean; /** - *A collection of tags associated with the API.
+ *The route selection expression for the API. For HTTP APIs, the routeSelectionExpression must be ${request.method} ${request.path}. If not provided, this will be the default for HTTP APIs. This property is required for WebSocket APIs.
*/ - Tags?: { [key: string]: string }; + RouteSelectionExpression: string | undefined; /** - *A CORS configuration. Supported only for HTTP APIs.
+ *The API protocol.
*/ - CorsConfiguration?: Cors; + ProtocolType: ProtocolType | string | undefined; } export namespace Api { @@ -133,14 +143,14 @@ export namespace Api { */ export interface ApiMapping { /** - *The API identifier.
+ *The API mapping identifier.
*/ - ApiId: string | undefined; + ApiMappingId?: string; /** - *The API mapping identifier.
+ *The API identifier.
*/ - ApiMappingId?: string; + ApiId: string | undefined; /** *The API mapping key.
@@ -168,16 +178,16 @@ export enum AuthorizerType { *Represents the configuration of a JWT authorizer. Required for the JWT authorizer type. Supported only for HTTP APIs.
*/ export interface JWTConfiguration { - /** - *A list of the intended recipients of the JWT. A valid JWT must provide an aud that matches at least one entry in this list. See RFC 7519. Supported only for HTTP APIs.
- */ - Audience?: string[]; - /** *The base domain of the identity provider that issues JSON Web Tokens. For example, an Amazon Cognito user pool has the following format: https://cognito-idp.
A list of the intended recipients of the JWT. A valid JWT must provide an aud that matches at least one entry in this list. See RFC 7519. Supported only for HTTP APIs.
+ */ + Audience?: string[]; } export namespace JWTConfiguration { @@ -191,50 +201,60 @@ export namespace JWTConfiguration { */ export interface Authorizer { /** - *The authorizer's Uniform Resource Identifier (URI). ForREQUEST authorizers, this must be a well-formed Lambda function URI, for example, arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:
The name of the authorizer.
*/ - AuthorizerUri?: string; + Name: string | undefined; /** - *The authorizer identifier.
+ *Represents the configuration of a JWT authorizer. Required for the JWT authorizer type. Supported only for HTTP APIs.
*/ - AuthorizerId?: string; + JwtConfiguration?: JWTConfiguration; + + /** + *The identity source for which authorization is requested.
For a REQUEST authorizer, this is optional. The value is a set of one or more mapping expressions of the specified request parameters. The identity source can be headers, query string parameters, stage variables, and context parameters. For example, if an Auth header and a Name query string parameter are defined as identity sources, this value is route.request.header.Auth, route.request.querystring.Name for WebSocket APIs. For HTTP APIs, use selection expressions prefixed with $, for example, $request.header.Auth, $request.querystring.Name. These parameters are used to perform runtime validation for Lambda-based authorizers by verifying all of the identity-related request parameters are present in the request, not null, and non-empty. Only when this is true does the authorizer invoke the authorizer Lambda function. Otherwise, it returns a 401 Unauthorized response without calling the Lambda function. For HTTP APIs, identity sources are also used as the cache key when caching is enabled. To learn more, see Working with AWS Lambda authorizers for HTTP APIs.
For JWT, a single entry that specifies where to extract the JSON Web Token (JWT) from inbound requests. Currently only header-based and query parameter-based selections are supported, for example $request.header.Authorization.
+ */ + IdentitySource?: string[]; + + /** + *Specifies the format of the payload sent to an HTTP API Lambda authorizer. Required for HTTP API Lambda authorizers. Supported values are 1.0 and 2.0. To learn more, see Working with AWS Lambda authorizers for HTTP APIs.
+ */ + AuthorizerPayloadFormatVersion?: string; /** - *Authorizer caching is not currently supported. Don't specify this value for authorizers.
+ *The time to live (TTL) for cached authorizer results, in seconds. If it equals 0, authorization caching is disabled. If it is greater than 0, API Gateway caches authorizer responses. The maximum value is 3600, or 1 hour. Supported only for HTTP API Lambda authorizers.
*/ AuthorizerResultTtlInSeconds?: number; /** - *Specifies the required credentials as an IAM role for API Gateway to invoke the authorizer. To specify an IAM role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To use resource-based permissions on the Lambda function, specify null. Supported only for REQUEST authorizers.
+ *The authorizer identifier.
*/ - AuthorizerCredentialsArn?: string; + AuthorizerId?: string; /** - *The validation expression does not apply to the REQUEST authorizer.
+ *The authorizer's Uniform Resource Identifier (URI). For REQUEST authorizers, this must be a well-formed Lambda function URI, for example, arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:
The authorizer type. For WebSocket APIs, specify REQUEST for a Lambda function using incoming request parameters. For HTTP APIs, specify JWT to use JSON Web Tokens.
+ *Specifies the required credentials as an IAM role for API Gateway to invoke the authorizer. To specify an IAM role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To use resource-based permissions on the Lambda function, don't specify this parameter. Supported only for REQUEST authorizers.
*/ - AuthorizerType?: AuthorizerType | string; + AuthorizerCredentialsArn?: string; /** - *The identity source for which authorization is requested.
For a REQUEST authorizer, this is optional. The value is a set of one or more mapping expressions of the specified request parameters. Currently, the identity source can be headers, query string parameters, stage variables, and context parameters. For example, if an Auth header and a Name query string parameter are defined as identity sources, this value is route.request.header.Auth, route.request.querystring.Name. These parameters will be used to perform runtime validation for Lambda-based authorizers by verifying all of the identity-related request parameters are present in the request, not null, and non-empty. Only when this is true does the authorizer invoke the authorizer Lambda function. Otherwise, it returns a 401 Unauthorized response without calling the Lambda function.
For JWT, a single entry that specifies where to extract the JSON Web Token (JWT) from inbound requests. Currently only header-based and query parameter-based selections are supported, for example "$request.header.Authorization".
+ *The authorizer type. Specify REQUEST for a Lambda function using incoming request parameters. Specify JWT to use JSON Web Tokens (supported only for HTTP APIs).
*/ - IdentitySource?: string[]; + AuthorizerType?: AuthorizerType | string; /** - *Represents the configuration of a JWT authorizer. Required for the JWT authorizer type. Supported only for HTTP APIs.
+ *Specifies whether a Lambda authorizer returns a response in a simple format. If enabled, the Lambda authorizer can return a boolean value instead of an IAM policy. Supported only for HTTP APIs. To learn more, see Working with AWS Lambda authorizers for HTTP APIs
*/ - JwtConfiguration?: JWTConfiguration; + EnableSimpleResponses?: boolean; /** - *The name of the authorizer.
+ *The validation expression does not apply to the REQUEST authorizer.
*/ - Name: string | undefined; + IdentityValidationExpression?: string; } export namespace Authorizer { @@ -254,14 +274,14 @@ export enum DeploymentStatus { */ export interface Deployment { /** - *The status of the deployment: PENDING, FAILED, or SUCCEEDED.
+ *Specifies whether a deployment was automatically released.
*/ - DeploymentStatus?: DeploymentStatus | string; + AutoDeployed?: boolean; /** - *Specifies whether a deployment was automatically released.
+ *The status of the deployment: PENDING, FAILED, or SUCCEEDED.
*/ - AutoDeployed?: boolean; + DeploymentStatus?: DeploymentStatus | string; /** *The identifier for the deployment.
@@ -269,9 +289,9 @@ export interface Deployment { DeploymentId?: string; /** - *May contain additional feedback on the status of an API deployment.
+ *The description for the deployment.
*/ - DeploymentStatusMessage?: string; + Description?: string; /** *The date and time when the Deployment resource was created.
@@ -279,9 +299,9 @@ export interface Deployment { CreatedDate?: Date; /** - *The description for the deployment.
+ *May contain additional feedback on the status of an API deployment.
*/ - Description?: string; + DeploymentStatusMessage?: string; } export namespace Deployment { @@ -310,14 +330,19 @@ export enum SecurityPolicy { */ export interface DomainNameConfiguration { /** - *A domain name for the API.
+ *An optional text message containing detailed information about status of the domain name migration.
*/ - ApiGatewayDomainName?: string; + DomainNameStatusMessage?: string; /** - *The Amazon Route 53 Hosted Zone ID of the endpoint.
+ *The Transport Layer Security (TLS) version of the security policy for this domain name. The valid values are TLS_1_0 and TLS_1_2.
*/ - HostedZoneId?: string; + SecurityPolicy?: SecurityPolicy | string; + + /** + *An AWS-managed certificate that will be used by the edge-optimized endpoint for this domain name. AWS Certificate Manager is the only supported source.
+ */ + CertificateArn?: string; /** *The endpoint type.
@@ -325,9 +350,19 @@ export interface DomainNameConfiguration { EndpointType?: EndpointType | string; /** - *The Transport Layer Security (TLS) version of the security policy for this domain name. The valid values are TLS_1_0 and TLS_1_2.
+ *The user-friendly name of the certificate that will be used by the edge-optimized endpoint for this domain name.
*/ - SecurityPolicy?: SecurityPolicy | string; + CertificateName?: string; + + /** + *The Amazon Route 53 Hosted Zone ID of the endpoint.
+ */ + HostedZoneId?: string; + + /** + *The status of the domain name migration. The valid values are AVAILABLE and UPDATING. If the status is UPDATING, the domain cannot be modified further until the existing operation is complete. If it is AVAILABLE, the domain can be updated.
+ */ + DomainNameStatus?: DomainNameStatus | string; /** *The timestamp when the certificate that was used by edge-optimized endpoint for this domain name was uploaded.
@@ -335,28 +370,36 @@ export interface DomainNameConfiguration { CertificateUploadDate?: Date; /** - *The user-friendly name of the certificate that will be used by the edge-optimized endpoint for this domain name.
+ *A domain name for the API.
*/ - CertificateName?: string; + ApiGatewayDomainName?: string; +} +export namespace DomainNameConfiguration { + export const filterSensitiveLog = (obj: DomainNameConfiguration): any => ({ + ...obj, + }); +} + +export interface MutualTlsAuthentication { /** - *An optional text message containing detailed information about status of the domain name migration.
+ *A list of warnings that API Gateway returns while processing your truststore. Invalid certificates produce warnings. Mutual TLS is still enabled, but some clients might not be able to access your API. To resolve warnings, upload a new truststore to S3, and then update you domain name to use the new version.
*/ - DomainNameStatusMessage?: string; + TruststoreWarnings?: string[]; /** - *The status of the domain name migration. The valid values are AVAILABLE and UPDATING. If the status is UPDATING, the domain cannot be modified further until the existing operation is complete. If it is AVAILABLE, the domain can be updated.
+ *An Amazon S3 URL that specifies the truststore for mutual TLS authentication, for example, s3://
An AWS-managed certificate that will be used by the edge-optimized endpoint for this domain name. AWS Certificate Manager is the only supported source.
+ *The version of the S3 object that contains your truststore. To specify a version, you must have versioning enabled for the S3 bucket.
*/ - CertificateArn?: string; + TruststoreVersion?: string; } -export namespace DomainNameConfiguration { - export const filterSensitiveLog = (obj: DomainNameConfiguration): any => ({ +export namespace MutualTlsAuthentication { + export const filterSensitiveLog = (obj: MutualTlsAuthentication): any => ({ ...obj, }); } @@ -366,9 +409,9 @@ export namespace DomainNameConfiguration { */ export interface DomainName { /** - *The API mapping selection expression.
+ *The domain name configurations.
*/ - ApiMappingSelectionExpression?: string; + DomainNameConfigurations?: DomainNameConfiguration[]; /** *The name of the DomainName resource.
@@ -381,9 +424,14 @@ export interface DomainName { Tags?: { [key: string]: string }; /** - *The domain name configurations.
+ *The API mapping selection expression.
*/ - DomainNameConfigurations?: DomainNameConfiguration[]; + ApiMappingSelectionExpression?: string; + + /** + *The mutual TLS authentication configuration for a custom domain name.
+ */ + MutualTlsAuthentication?: MutualTlsAuthentication; } export namespace DomainName { @@ -437,9 +485,9 @@ export namespace TlsConfig { */ export interface Integration { /** - *Specifies the format of the payload sent to an integration. Required for HTTP APIs.
+ *The TLS configuration for a private integration. If you specify a TLS configuration, private integration traffic uses the HTTPS protocol. Supported only for HTTP APIs.
*/ - PayloadFormatVersion?: string; + TlsConfig?: TlsConfig; /** *Custom timeout between 50 and 29,000 milliseconds for WebSocket APIs and between 50 and 30,000 milliseconds for HTTP APIs. The default timeout is 29 seconds for WebSocket APIs and 30 seconds for HTTP APIs.
@@ -447,49 +495,44 @@ export interface Integration { TimeoutInMillis?: number; /** - *The TLS configuration for a private integration. If you specify a TLS configuration, private integration traffic uses the HTTPS protocol. Supported only for HTTP APIs.
+ *Specifies the pass-through behavior for incoming requests based on the Content-Type header in the request, and the available mapping templates specified as the requestTemplates property on the Integration resource. There are three valid values: WHEN_NO_MATCH, WHEN_NO_TEMPLATES, and NEVER. Supported only for WebSocket APIs.
WHEN_NO_MATCH passes the request body for unmapped content types through to the integration backend without transformation.
NEVER rejects unmapped content types with an HTTP 415 Unsupported Media Type response.
WHEN_NO_TEMPLATES allows pass-through when the integration has no content types mapped to templates. However, if there is at least one content type defined, unmapped content types will be rejected with the same HTTP 415 Unsupported Media Type response.
*/ - TlsConfig?: TlsConfig; + PassthroughBehavior?: PassthroughBehavior | string; /** - *The type of the network connection to the integration endpoint. Specify INTERNET for connections through the public routable internet or VPC_LINK for private connections between API Gateway and resources in a VPC. The default value is INTERNET.
+ *The integration type of an integration. One of the following:
AWS: for integrating the route or method request with an AWS service action, including the Lambda function-invoking action. With the Lambda function-invoking action, this is referred to as the Lambda custom integration. With any other AWS service action, this is known as AWS integration. Supported only for WebSocket APIs.
AWS_PROXY: for integrating the route or method request with a Lambda function or other AWS service action. This integration is also referred to as a Lambda proxy integration.
HTTP: for integrating the route or method request with an HTTP endpoint. This integration is also referred to as the HTTP custom integration. Supported only for WebSocket APIs.
HTTP_PROXY: for integrating the route or method request with an HTTP endpoint, with the client request passed through as-is. This is also referred to as HTTP proxy integration.
MOCK: for integrating the route or method request with API Gateway as a "loopback" endpoint without invoking any backend. Supported only for WebSocket APIs.
*/ - ConnectionType?: ConnectionType | string; + IntegrationType?: IntegrationType | string; /** - *Represents the description of an integration.
+ *Specifies the integration's HTTP method type.
*/ - Description?: string; + IntegrationMethod?: string; /** - *Specifies the credentials required for the integration, if any. For AWS integrations, three options are available. To specify an IAM Role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify the string arn:aws:iam::*:user/*. To use resource-based permissions on supported AWS services, specify null.
+ *Specifies whether an integration is managed by API Gateway. If you created an API using using quick create, the resulting integration is managed by API Gateway. You can update a managed integration, but you can't delete it.
*/ - CredentialsArn?: string; + ApiGatewayManaged?: boolean; /** - *Represents the identifier of an integration.
+ *For a Lambda integration, specify the URI of a Lambda function.
For an HTTP integration, specify a fully-qualified URL.
For an HTTP API private integration, specify the ARN of an Application Load Balancer listener, Network Load Balancer listener, or AWS Cloud Map service. If you specify the ARN of an AWS Cloud Map service, API Gateway uses DiscoverInstances to identify resources. You can use query parameters to target specific resources. To learn more, see DiscoverInstances. For private integrations, all resources must be owned by the same AWS account.
*/ - IntegrationId?: string; + IntegrationUri?: string; /** - *The integration type of an integration. One of the following:
AWS: for integrating the route or method request with an AWS service action, including the Lambda function-invoking action. With the Lambda function-invoking action, this is referred to as the Lambda custom integration. With any other AWS service action, this is known as AWS integration. Supported only for WebSocket APIs.
AWS_PROXY: for integrating the route or method request with the Lambda function-invoking action with the client request passed through as-is. This integration is also referred to as Lambda proxy integration.
HTTP: for integrating the route or method request with an HTTP endpoint. This integration is also referred to as the HTTP custom integration. Supported only for WebSocket APIs.
HTTP_PROXY: for integrating the route or method request with an HTTP endpoint, with the client request passed through as-is. This is also referred to as HTTP proxy integration.
MOCK: for integrating the route or method request with API Gateway as a "loopback" endpoint without invoking any backend. Supported only for WebSocket APIs.
+ *The ID of the VPC link for a private integration. Supported only for HTTP APIs.
*/ - IntegrationType?: IntegrationType | string; + ConnectionId?: string; /** - *The integration response selection expression for the integration. Supported only for WebSocket APIs. See Integration Response Selection Expressions.
+ *Represents a map of Velocity templates that are applied on the request payload based on the value of the Content-Type header sent by the client. The content type value is the key in this map, and the template (as a String) is the value. Supported only for WebSocket APIs.
*/ - IntegrationResponseSelectionExpression?: string; + RequestTemplates?: { [key: string]: string }; /** - *A key-value map specifying request parameters that are passed from the method request to the backend. The key is an integration request parameter name and the associated value is a method request parameter value or static value that must be enclosed within single quotes and pre-encoded as required by the backend. The method request parameter value must match the pattern of method.request.
The integration response selection expression for the integration. Supported only for WebSocket APIs. See Integration Response Selection Expressions.
*/ - RequestParameters?: { [key: string]: string }; + IntegrationResponseSelectionExpression?: string; /** *Supported only for WebSocket APIs. Specifies how to handle response payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors:
CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded string to the corresponding binary blob.
CONVERT_TO_TEXT: Converts a response payload from a binary blob to a Base64-encoded string.
If this property is not defined, the response payload will be passed through from the integration response to the route response or method response without modification.
@@ -497,39 +540,45 @@ export interface Integration { ContentHandlingStrategy?: ContentHandlingStrategy | string; /** - *The template selection expression for the integration. Supported only for WebSocket APIs.
+ *For WebSocket APIs, a key-value map specifying request parameters that are passed from the method request to the backend. The key is an integration request parameter name and the associated value is a method request parameter value or static value that must be enclosed within single quotes and pre-encoded as required by the backend. The method request parameter value must match the pattern of method.request.
For HTTP APIs, request parameters are a key-value map specifying parameters that are passed to AWS_PROXY integrations with a specified integrationSubtype. You can provide static values, or map request data, stage variables, or context variables that are evaluated at runtime. To learn more, see Working with AWS service integrations for HTTP APIs.
*/ - TemplateSelectionExpression?: string; + RequestParameters?: { [key: string]: string }; /** - *For a Lambda integration, specify the URI of a Lambda function.
For an HTTP integration, specify a fully-qualified URL.
For an HTTP API private integration, specify the ARN of an Application Load Balancer listener, Network Load Balancer listener, or AWS Cloud Map service. If you specify the ARN of an AWS Cloud Map service, API Gateway uses DiscoverInstances to identify resources. You can use query parameters to target specific resources. To learn more, see DiscoverInstances. For private integrations, all resources must be owned by the same AWS account.
+ *Supported only for HTTP API AWS_PROXY integrations. Specifies the AWS service action to invoke. To learn more, see Integration subtype reference.
*/ - IntegrationUri?: string; + IntegrationSubtype?: string; /** - *The ID of the VPC link for a private integration. Supported only for HTTP APIs.
+ *The template selection expression for the integration. Supported only for WebSocket APIs.
*/ - ConnectionId?: string; + TemplateSelectionExpression?: string; /** - *Represents a map of Velocity templates that are applied on the request payload based on the value of the Content-Type header sent by the client. The content type value is the key in this map, and the template (as a String) is the value. Supported only for WebSocket APIs.
+ *Represents the description of an integration.
*/ - RequestTemplates?: { [key: string]: string }; + Description?: string; /** - *Specifies the pass-through behavior for incoming requests based on the Content-Type header in the request, and the available mapping templates specified as the requestTemplates property on the Integration resource. There are three valid values: WHEN_NO_MATCH, WHEN_NO_TEMPLATES, and NEVER. Supported only for WebSocket APIs.
WHEN_NO_MATCH passes the request body for unmapped content types through to the integration backend without transformation.
NEVER rejects unmapped content types with an HTTP 415 Unsupported Media Type response.
WHEN_NO_TEMPLATES allows pass-through when the integration has no content types mapped to templates. However, if there is at least one content type defined, unmapped content types will be rejected with the same HTTP 415 Unsupported Media Type response.
+ *Specifies the credentials required for the integration, if any. For AWS integrations, three options are available. To specify an IAM Role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify the string arn:aws:iam::*:user/*. To use resource-based permissions on supported AWS services, specify null.
*/ - PassthroughBehavior?: PassthroughBehavior | string; + CredentialsArn?: string; /** - *Specifies the integration's HTTP method type.
+ *Specifies the format of the payload sent to an integration. Required for HTTP APIs.
*/ - IntegrationMethod?: string; + PayloadFormatVersion?: string; /** - *Specifies whether an integration is managed by API Gateway. If you created an API using using quick create, the resulting integration is managed by API Gateway. You can update a managed integration, but you can't delete it.
+ *The type of the network connection to the integration endpoint. Specify INTERNET for connections through the public routable internet or VPC_LINK for private connections between API Gateway and resources in a VPC. The default value is INTERNET.
*/ - ApiGatewayManaged?: boolean; + ConnectionType?: ConnectionType | string; + + /** + *Represents the identifier of an integration.
+ */ + IntegrationId?: string; } export namespace Integration { @@ -543,34 +592,34 @@ export namespace Integration { */ export interface IntegrationResponse { /** - *The collection of response templates for the integration response as a string-to-string map of key-value pairs. Response templates are represented as a key/value map, with a content-type as the key and a template as the value.
+ *The template selection expressions for the integration response.
*/ - ResponseTemplates?: { [key: string]: string }; + TemplateSelectionExpression?: string; /** - *A key-value map specifying response parameters that are passed to the method response from the backend. The key is a method response header parameter name and the mapped value is an integration response header value, a static value enclosed within a pair of single quotes, or a JSON expression from the integration response body. The mapping key must match the pattern of method.response.header.{name}, where name is a valid and unique header name. The mapped non-static value must match the pattern of integration.response.header.{name} or integration.response.body.{JSON-expression}, where name is a valid and unique response header name and JSON-expression is a valid JSON expression without the $ prefix.
+ *The integration response key.
*/ - ResponseParameters?: { [key: string]: string }; + IntegrationResponseKey: string | undefined; /** - *The template selection expressions for the integration response.
+ *The collection of response templates for the integration response as a string-to-string map of key-value pairs. Response templates are represented as a key/value map, with a content-type as the key and a template as the value.
*/ - TemplateSelectionExpression?: string; + ResponseTemplates?: { [key: string]: string }; /** - *Supported only for WebSocket APIs. Specifies how to handle response payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors:
CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded string to the corresponding binary blob.
CONVERT_TO_TEXT: Converts a response payload from a binary blob to a Base64-encoded string.
If this property is not defined, the response payload will be passed through from the integration response to the route response or method response without modification.
+ *The integration response ID.
*/ - ContentHandlingStrategy?: ContentHandlingStrategy | string; + IntegrationResponseId?: string; /** - *The integration response ID.
+ *A key-value map specifying response parameters that are passed to the method response from the backend. The key is a method response header parameter name and the mapped value is an integration response header value, a static value enclosed within a pair of single quotes, or a JSON expression from the integration response body. The mapping key must match the pattern of method.response.header.{name}, where name is a valid and unique header name. The mapped non-static value must match the pattern of integration.response.header.{name} or integration.response.body.{JSON-expression}, where name is a valid and unique response header name and JSON-expression is a valid JSON expression without the $ prefix.
*/ - IntegrationResponseId?: string; + ResponseParameters?: { [key: string]: string }; /** - *The integration response key.
+ *Supported only for WebSocket APIs. Specifies how to handle response payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors:
CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded string to the corresponding binary blob.
CONVERT_TO_TEXT: Converts a response payload from a binary blob to a Base64-encoded string.
If this property is not defined, the response payload will be passed through from the integration response to the route response or method response without modification.
*/ - IntegrationResponseKey: string | undefined; + ContentHandlingStrategy?: ContentHandlingStrategy | string; } export namespace IntegrationResponse { @@ -584,14 +633,14 @@ export namespace IntegrationResponse { */ export interface Model { /** - *The name of the model. Must be alphanumeric.
+ *The content-type for the model, for example, "application/json".
*/ - Name: string | undefined; + ContentType?: string; /** - *The schema for the model. For application/json models, this should be JSON schema draft 4 model.
+ *The description of the model.
*/ - Schema?: string; + Description?: string; /** *The model identifier.
@@ -599,14 +648,14 @@ export interface Model { ModelId?: string; /** - *The description of the model.
+ *The name of the model. Must be alphanumeric.
*/ - Description?: string; + Name: string | undefined; /** - *The content-type for the model, for example, "application/json".
+ *The schema for the model. For application/json models, this should be JSON schema draft 4 model.
*/ - ContentType?: string; + Schema?: string; } export namespace Model { @@ -642,11 +691,6 @@ export namespace ParameterConstraints { *Represents a route.
*/ export interface Route { - /** - *The route key for the route.
- */ - RouteKey: string | undefined; - /** *The target for the route.
*/ @@ -658,54 +702,59 @@ export interface Route { ApiKeyRequired?: boolean; /** - *The identifier of the Authorizer resource to be associated with this route. The authorizer identifier is generated by API Gateway when you created the authorizer.
+ *The authorization type for the route. For WebSocket APIs, valid values are NONE for open access, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda authorizer For HTTP APIs, valid values are NONE for open access, JWT for using JSON Web Tokens, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda authorizer.
*/ - AuthorizerId?: string; + AuthorizationType?: AuthorizationType | string; /** - *The route ID.
+ *A list of authorization scopes configured on a route. The scopes are used with a JWT authorizer to authorize the method invocation. The authorization works by matching the route scopes against the scopes parsed from the access token in the incoming request. The method invocation is authorized if any route scope matches a claimed scope in the access token. Otherwise, the invocation is not authorized. When the route scope is configured, the client must provide an access token instead of an identity token for authorization purposes.
*/ - RouteId?: string; + AuthorizationScopes?: string[]; /** - *The operation name for the route.
+ *The model selection expression for the route. Supported only for WebSocket APIs.
*/ - OperationName?: string; + ModelSelectionExpression?: string; /** - *The request models for the route. Supported only for WebSocket APIs.
+ *The route response selection expression for the route. Supported only for WebSocket APIs.
*/ - RequestModels?: { [key: string]: string }; + RouteResponseSelectionExpression?: string; /** - *The request parameters for the route. Supported only for WebSocket APIs.
+ *The route key for the route.
*/ - RequestParameters?: { [key: string]: ParameterConstraints }; + RouteKey: string | undefined; /** - *The model selection expression for the route. Supported only for WebSocket APIs.
+ *Specifies whether a route is managed by API Gateway. If you created an API using quick create, the $default route is managed by API Gateway. You can't modify the $default route key.
*/ - ModelSelectionExpression?: string; + ApiGatewayManaged?: boolean; /** - *The authorization type for the route. For WebSocket APIs, valid values are NONE for open access, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda authorizer For HTTP APIs, valid values are NONE for open access, or JWT for using JSON Web Tokens.
+ *The operation name for the route.
*/ - AuthorizationType?: AuthorizationType | string; + OperationName?: string; /** - *The route response selection expression for the route. Supported only for WebSocket APIs.
+ *The request parameters for the route. Supported only for WebSocket APIs.
*/ - RouteResponseSelectionExpression?: string; + RequestParameters?: { [key: string]: ParameterConstraints }; /** - *A list of authorization scopes configured on a route. The scopes are used with a JWT authorizer to authorize the method invocation. The authorization works by matching the route scopes against the scopes parsed from the access token in the incoming request. The method invocation is authorized if any route scope matches a claimed scope in the access token. Otherwise, the invocation is not authorized. When the route scope is configured, the client must provide an access token instead of an identity token for authorization purposes.
+ *The identifier of the Authorizer resource to be associated with this route. The authorizer identifier is generated by API Gateway when you created the authorizer.
*/ - AuthorizationScopes?: string[]; + AuthorizerId?: string; /** - *Specifies whether a route is managed by API Gateway. If you created an API using quick create, the $default route is managed by API Gateway. You can't modify the $default route key.
+ *The route ID.
*/ - ApiGatewayManaged?: boolean; + RouteId?: string; + + /** + *The request models for the route. Supported only for WebSocket APIs.
+ */ + RequestModels?: { [key: string]: string }; } export namespace Route { @@ -719,9 +768,9 @@ export namespace Route { */ export interface RouteResponse { /** - *Represents the identifier of a route response.
+ *Represents the response models of a route response.
*/ - RouteResponseId?: string; + ResponseModels?: { [key: string]: string }; /** *Represents the model selection expression of a route response. Supported only for WebSocket APIs.
@@ -729,19 +778,19 @@ export interface RouteResponse { ModelSelectionExpression?: string; /** - *Represents the response parameters of a route response.
+ *Represents the route response key of a route response.
*/ - ResponseParameters?: { [key: string]: ParameterConstraints }; + RouteResponseKey: string | undefined; /** - *Represents the response models of a route response.
+ *Represents the response parameters of a route response.
*/ - ResponseModels?: { [key: string]: string }; + ResponseParameters?: { [key: string]: ParameterConstraints }; /** - *Represents the route response key of a route response.
+ *Represents the identifier of a route response.
*/ - RouteResponseKey: string | undefined; + RouteResponseId?: string; } export namespace RouteResponse { @@ -755,14 +804,14 @@ export namespace RouteResponse { */ export interface AccessLogSettings { /** - *The ARN of the CloudWatch Logs log group to receive access logs.
+ *A single line format of the access logs of data, as specified by selected $context variables. The format must include at least $context.requestId.
*/ - DestinationArn?: string; + Format?: string; /** - *A single line format of the access logs of data, as specified by selected $context variables. The format must include at least $context.requestId.
+ *The ARN of the CloudWatch Logs log group to receive access logs.
*/ - Format?: string; + DestinationArn?: string; } export namespace AccessLogSettings { @@ -782,9 +831,9 @@ export enum LoggingLevel { */ export interface RouteSettings { /** - *Specifies whether detailed metrics are enabled.
+ *Specifies the throttling burst limit.
*/ - DetailedMetricsEnabled?: boolean; + ThrottlingBurstLimit?: number; /** *Specifies the throttling rate limit.
@@ -797,14 +846,14 @@ export interface RouteSettings { LoggingLevel?: LoggingLevel | string; /** - *Specifies the throttling burst limit.
+ *Specifies whether (true) or not (false) data trace logging is enabled for this route. This property affects the log entries pushed to Amazon CloudWatch Logs. Supported only for WebSocket APIs.
*/ - ThrottlingBurstLimit?: number; + DataTraceEnabled?: boolean; /** - *Specifies whether (true) or not (false) data trace logging is enabled for this route. This property affects the log entries pushed to Amazon CloudWatch Logs. Supported only for WebSocket APIs.
+ *Specifies whether detailed metrics are enabled.
*/ - DataTraceEnabled?: boolean; + DetailedMetricsEnabled?: boolean; } export namespace RouteSettings { @@ -818,44 +867,39 @@ export namespace RouteSettings { */ export interface Stage { /** - *The description of the stage.
- */ - Description?: string; - - /** - *The identifier of a client certificate for a Stage. Supported only for WebSocket APIs.
+ *The identifier of the Deployment that the Stage is associated with. Can't be updated if autoDeploy is enabled.
*/ - ClientCertificateId?: string; + DeploymentId?: string; /** - *The timestamp when the stage was last updated.
+ *The description of the stage.
*/ - LastUpdatedDate?: Date; + Description?: string; /** - *Describes the status of the last deployment of a stage. Supported only for stages with autoDeploy enabled.
+ *The name of the stage.
*/ - LastDeploymentStatusMessage?: string; + StageName: string | undefined; /** - *The collection of tags. Each tag element is associated with a given resource.
+ *A map that defines the stage variables for a stage resource. Variable names can have alphanumeric and underscore characters, and the values must match [A-Za-z0-9-._~:/?#&=,]+.
*/ - Tags?: { [key: string]: string }; + StageVariables?: { [key: string]: string }; /** - *Default route settings for the stage.
+ *The timestamp when the stage was last updated.
*/ - DefaultRouteSettings?: RouteSettings; + LastUpdatedDate?: Date; /** - *The identifier of the Deployment that the Stage is associated with. Can't be updated if autoDeploy is enabled.
+ *Settings for logging access in this stage.
*/ - DeploymentId?: string; + AccessLogSettings?: AccessLogSettings; /** - *The timestamp when the stage was created.
+ *Route settings for the stage, by routeKey.
*/ - CreatedDate?: Date; + RouteSettings?: { [key: string]: RouteSettings }; /** *Specifies whether a stage is managed by API Gateway. If you created an API using quick create, the $default stage is managed by API Gateway. You can't modify the $default stage.
@@ -868,24 +912,29 @@ export interface Stage { AutoDeploy?: boolean; /** - *A map that defines the stage variables for a stage resource. Variable names can have alphanumeric and underscore characters, and the values must match [A-Za-z0-9-._~:/?#&=,]+.
+ *The timestamp when the stage was created.
*/ - StageVariables?: { [key: string]: string }; + CreatedDate?: Date; /** - *The name of the stage.
+ *Describes the status of the last deployment of a stage. Supported only for stages with autoDeploy enabled.
*/ - StageName: string | undefined; + LastDeploymentStatusMessage?: string; /** - *Route settings for the stage, by routeKey.
+ *The collection of tags. Each tag element is associated with a given resource.
*/ - RouteSettings?: { [key: string]: RouteSettings }; + Tags?: { [key: string]: string }; /** - *Settings for logging access in this stage.
+ *Default route settings for the stage.
*/ - AccessLogSettings?: AccessLogSettings; + DefaultRouteSettings?: RouteSettings; + + /** + *The identifier of a client certificate for a Stage. Supported only for WebSocket APIs.
+ */ + ClientCertificateId?: string; } export namespace Stage { @@ -911,14 +960,9 @@ export enum VpcLinkVersion { */ export interface VpcLink { /** - *The ID of the VPC link.
- */ - VpcLinkId: string | undefined; - - /** - *The status of the VPC link.
+ *A message summarizing the cause of the status of the VPC link.
*/ - VpcLinkStatus?: VpcLinkStatus | string; + VpcLinkStatusMessage?: string; /** *A list of security group IDs for the VPC link.
@@ -930,15 +974,20 @@ export interface VpcLink { */ SubnetIds: string[] | undefined; + /** + *The version of the VPC link.
+ */ + VpcLinkVersion?: VpcLinkVersion | string; + /** *The name of the VPC link.
*/ Name: string | undefined; /** - *A message summarizing the cause of the status of the VPC link.
+ *The ID of the VPC link.
*/ - VpcLinkStatusMessage?: string; + VpcLinkId: string | undefined; /** *Tags for the VPC link.
@@ -946,14 +995,14 @@ export interface VpcLink { Tags?: { [key: string]: string }; /** - *The version of the VPC link.
+ *The timestamp when the VPC link was created.
*/ - VpcLinkVersion?: VpcLinkVersion | string; + CreatedDate?: Date; /** - *The timestamp when the VPC link was created.
+ *The status of the VPC link.
*/ - CreatedDate?: Date; + VpcLinkStatus?: VpcLinkStatus | string; } export namespace VpcLink { @@ -1015,24 +1064,24 @@ export namespace ConflictException { */ export interface CreateApiRequest { /** - *A CORS configuration. Supported only for HTTP APIs. See Configuring CORS for more information.
+ *An API key selection expression. Supported only for WebSocket APIs. See API Key Selection Expressions.
*/ - CorsConfiguration?: Cors; + ApiKeySelectionExpression?: string; /** - *This property is part of quick create. It specifies the credentials required for the integration, if any. For a Lambda integration, three options are available. To specify an IAM Role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify arn:aws:iam::*:user/*. To use resource-based permissions on supported AWS services, specify null. Currently, this property is not used for HTTP integrations. Supported only for HTTP APIs.
+ *The description of the API.
*/ - CredentialsArn?: string; + Description?: string; /** - *A version identifier for the API.
+ *Specifies whether clients can invoke your API by using the default execute-api endpoint. By default, clients can invoke your API with the default https://{api_id}.execute-api.{region}.amazonaws.com endpoint. To require that clients use a custom domain name to invoke your API, disable the default endpoint.
*/ - Version?: string; + DisableExecuteApiEndpoint?: boolean; /** - *The description of the API.
+ *A version identifier for the API.
*/ - Description?: string; + Version?: string; /** *This property is part of quick create. If you don't specify a routeKey, a default route of $default is created. The $default route acts as a catch-all for any request made to your API, for a particular stage. The $default route key can't be modified. You can add routes after creating the API, and you can update the route keys of additional routes. Supported only for HTTP APIs.
@@ -1040,14 +1089,14 @@ export interface CreateApiRequest { RouteKey?: string; /** - *This property is part of quick create. Quick create produces an API with an integration, a default catch-all route, and a default stage which is configured to automatically deploy changes. For HTTP integrations, specify a fully qualified URL. For Lambda integrations, specify a function ARN. The type of the integration will be HTTP_PROXY or AWS_PROXY, respectively. Supported only for HTTP APIs.
+ *A CORS configuration. Supported only for HTTP APIs. See Configuring CORS for more information.
*/ - Target?: string; + CorsConfiguration?: Cors; /** - *Avoid validating models when creating a deployment. Supported only for WebSocket APIs.
+ *The API protocol.
*/ - DisableSchemaValidation?: boolean; + ProtocolType: ProtocolType | string | undefined; /** *The collection of tags. Each tag element is associated with a given resource.
@@ -1060,9 +1109,14 @@ export interface CreateApiRequest { Name: string | undefined; /** - *An API key selection expression. Supported only for WebSocket APIs. See API Key Selection Expressions.
+ *Avoid validating models when creating a deployment. Supported only for WebSocket APIs.
*/ - ApiKeySelectionExpression?: string; + DisableSchemaValidation?: boolean; + + /** + *This property is part of quick create. It specifies the credentials required for the integration, if any. For a Lambda integration, three options are available. To specify an IAM Role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify arn:aws:iam::*:user/*. To use resource-based permissions on supported AWS services, specify null. Currently, this property is not used for HTTP integrations. Supported only for HTTP APIs.
+ */ + CredentialsArn?: string; /** *The route selection expression for the API. For HTTP APIs, the routeSelectionExpression must be ${request.method} ${request.path}. If not provided, this will be the default for HTTP APIs. This property is required for WebSocket APIs.
@@ -1070,9 +1124,9 @@ export interface CreateApiRequest { RouteSelectionExpression?: string; /** - *The API protocol.
+ *This property is part of quick create. Quick create produces an API with an integration, a default catch-all route, and a default stage which is configured to automatically deploy changes. For HTTP integrations, specify a fully qualified URL. For Lambda integrations, specify a function ARN. The type of the integration will be HTTP_PROXY or AWS_PROXY, respectively. Supported only for HTTP APIs.
*/ - ProtocolType: ProtocolType | string | undefined; + Target?: string; } export namespace CreateApiRequest { @@ -1083,34 +1137,34 @@ export namespace CreateApiRequest { export interface CreateApiResponse { /** - *The name of the API.
+ *The timestamp when the API was created.
*/ - Name?: string; + CreatedDate?: Date; /** - *The API protocol.
+ *The URI of the API, of the form {api-id}.execute-api.{region}.amazonaws.com. The stage name is typically appended to this URI to form a complete path to a deployed API stage.
*/ - ProtocolType?: ProtocolType | string; + ApiEndpoint?: string; /** - *The route selection expression for the API. For HTTP APIs, the routeSelectionExpression must be ${request.method} ${request.path}. If not provided, this will be the default for HTTP APIs. This property is required for WebSocket APIs.
+ *A version identifier for the API.
*/ - RouteSelectionExpression?: string; + Version?: string; /** - *The URI of the API, of the form {api-id}.execute-api.{region}.amazonaws.com. The stage name is typically appended to this URI to form a complete path to a deployed API stage.
+ *The API protocol.
*/ - ApiEndpoint?: string; + ProtocolType?: ProtocolType | string; /** - *Avoid validating models when creating a deployment. Supported only for WebSocket APIs.
+ *A CORS configuration. Supported only for HTTP APIs.
*/ - DisableSchemaValidation?: boolean; + CorsConfiguration?: Cors; /** - *The validation information during API import. This may include particular properties of your OpenAPI definition which are ignored during import. Supported only for HTTP APIs.
+ *A collection of tags associated with the API.
*/ - ImportInfo?: string[]; + Tags?: { [key: string]: string }; /** *The description of the API.
@@ -1133,24 +1187,34 @@ export interface CreateApiResponse { ApiKeySelectionExpression?: string; /** - *A version identifier for the API.
+ *The validation information during API import. This may include particular properties of your OpenAPI definition which are ignored during import. Supported only for HTTP APIs.
*/ - Version?: string; + ImportInfo?: string[]; /** - *A CORS configuration. Supported only for HTTP APIs.
+ *Specifies whether clients can invoke your API by using the default execute-api endpoint. By default, clients can invoke your API with the default https://{api_id}.execute-api.{region}.amazonaws.com endpoint. To require that clients use a custom domain name to invoke your API, disable the default endpoint.
*/ - CorsConfiguration?: Cors; + DisableExecuteApiEndpoint?: boolean; /** - *A collection of tags associated with the API.
+ *The route selection expression for the API. For HTTP APIs, the routeSelectionExpression must be ${request.method} ${request.path}. If not provided, this will be the default for HTTP APIs. This property is required for WebSocket APIs.
*/ - Tags?: { [key: string]: string }; + RouteSelectionExpression?: string; /** - *The timestamp when the API was created.
+ *Specifies whether an API is managed by API Gateway. You can't update or delete a managed API by using API Gateway. A managed API can be deleted only through the tooling or service that created it.
*/ - CreatedDate?: Date; + ApiGatewayManaged?: boolean; + + /** + *The name of the API.
+ */ + Name?: string; + + /** + *Avoid validating models when creating a deployment. Supported only for WebSocket APIs.
+ */ + DisableSchemaValidation?: boolean; } export namespace CreateApiResponse { @@ -1210,9 +1274,9 @@ export namespace TooManyRequestsException { */ export interface CreateApiMappingRequest { /** - * The API mapping key. + *The API stage.
*/ - ApiMappingKey?: string; + Stage: string | undefined; /** *The domain name.
@@ -1220,14 +1284,14 @@ export interface CreateApiMappingRequest { DomainName: string | undefined; /** - *The API identifier.
+ * The API mapping key. */ - ApiId: string | undefined; + ApiMappingKey?: string; /** - *The API stage.
+ *The API identifier.
*/ - Stage: string | undefined; + ApiId: string | undefined; } export namespace CreateApiMappingRequest { @@ -1269,24 +1333,25 @@ export namespace CreateApiMappingResponse { */ export interface CreateAuthorizerRequest { /** - *The authorizer type. For WebSocket APIs, specify REQUEST for a Lambda function using incoming request parameters. For HTTP APIs, specify JWT to use JSON Web Tokens.
+ *This parameter is not used.
*/ - AuthorizerType: AuthorizerType | string | undefined; + IdentityValidationExpression?: string; /** - *The API identifier.
+ *Specifies the required credentials as an IAM role for API Gateway to invoke the authorizer. To specify an IAM role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To use resource-based permissions on the Lambda function, don't specify this parameter. Supported only for REQUEST authorizers.
*/ - ApiId: string | undefined; + AuthorizerCredentialsArn?: string; /** - *This parameter is not used.
+ *The time to live (TTL) for cached authorizer results, in seconds. If it equals 0, authorization caching is disabled. If it is greater than 0, API Gateway caches authorizer responses. The maximum value is 3600, or 1 hour. Supported only for HTTP API Lambda authorizers.
*/ - IdentityValidationExpression?: string; + AuthorizerResultTtlInSeconds?: number; /** - *The identity source for which authorization is requested.
For a REQUEST authorizer, this is optional. The value is a set of one or more mapping expressions of the specified request parameters. Currently, the identity source can be headers, query string parameters, stage variables, and context parameters. For example, if an Auth header and a Name query string parameter are defined as identity sources, this value is route.request.header.Auth, route.request.querystring.Name. These parameters will be used to perform runtime validation for Lambda-based authorizers by verifying all of the identity-related request parameters are present in the request, not null, and non-empty. Only when this is true does the authorizer invoke the authorizer Lambda function. Otherwise, it returns a 401 Unauthorized response without calling the Lambda function.
For JWT, a single entry that specifies where to extract the JSON Web Token (JWT )from inbound requests. Currently only header-based and query parameter-based selections are supported, for example "$request.header.Authorization".
+ *The authorizer's Uniform Resource Identifier (URI). For REQUEST authorizers, this must be a well-formed Lambda function URI, for example, arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:
Represents the configuration of a JWT authorizer. Required for the JWT authorizer type. Supported only for HTTP APIs.
@@ -1294,25 +1359,34 @@ export interface CreateAuthorizerRequest { JwtConfiguration?: JWTConfiguration; /** - *The name of the authorizer.
+ *The authorizer type. Specify REQUEST for a Lambda function using incoming request parameters. Specify JWT to use JSON Web Tokens (supported only for HTTP APIs).
*/ - Name: string | undefined; + AuthorizerType: AuthorizerType | string | undefined; /** - *Authorizer caching is not currently supported. Don't specify this value for authorizers.
+ *The identity source for which authorization is requested.
For a REQUEST authorizer, this is optional. The value is a set of one or more mapping expressions of the specified request parameters. The identity source can be headers, query string parameters, stage variables, and context parameters. For example, if an Auth header and a Name query string parameter are defined as identity sources, this value is route.request.header.Auth, route.request.querystring.Name for WebSocket APIs. For HTTP APIs, use selection expressions prefixed with $, for example, $request.header.Auth, $request.querystring.Name. These parameters are used to perform runtime validation for Lambda-based authorizers by verifying all of the identity-related request parameters are present in the request, not null, and non-empty. Only when this is true does the authorizer invoke the authorizer Lambda function. Otherwise, it returns a 401 Unauthorized response without calling the Lambda function. For HTTP APIs, identity sources are also used as the cache key when caching is enabled. To learn more, see Working with AWS Lambda authorizers for HTTP APIs.
For JWT, a single entry that specifies where to extract the JSON Web Token (JWT) from inbound requests. Currently only header-based and query parameter-based selections are supported, for example $request.header.Authorization.
*/ - AuthorizerResultTtlInSeconds?: number; + IdentitySource: string[] | undefined; /** - *The authorizer's Uniform Resource Identifier (URI). For REQUEST authorizers, this must be a well-formed Lambda function URI, for example, arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:
The API identifier.
*/ - AuthorizerUri?: string; + ApiId: string | undefined; /** - *Specifies the required credentials as an IAM role for API Gateway to invoke the authorizer. To specify an IAM role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To use resource-based permissions on the Lambda function, specify null. Supported only for REQUEST authorizers.
+ *Specifies whether a Lambda authorizer returns a response in a simple format. By default, a Lambda authorizer must return an IAM policy. If enabled, the Lambda authorizer can return a boolean value instead of an IAM policy. Supported only for HTTP APIs. To learn more, see Working with AWS Lambda authorizers for HTTP APIs
*/ - AuthorizerCredentialsArn?: string; + EnableSimpleResponses?: boolean; + + /** + *Specifies the format of the payload sent to an HTTP API Lambda authorizer. Required for HTTP API Lambda authorizers. Supported values are 1.0 and 2.0. To learn more, see Working with AWS Lambda authorizers for HTTP APIs.
+ */ + AuthorizerPayloadFormatVersion?: string; + + /** + *The name of the authorizer.
+ */ + Name: string | undefined; } export namespace CreateAuthorizerRequest { @@ -1323,9 +1397,10 @@ export namespace CreateAuthorizerRequest { export interface CreateAuthorizerResponse { /** - *The validation expression does not apply to the REQUEST authorizer.
+ *The authorizer's Uniform Resource Identifier (URI). For REQUEST authorizers, this must be a well-formed Lambda function URI, for example, arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:
The authorizer identifier.
@@ -1333,20 +1408,19 @@ export interface CreateAuthorizerResponse { AuthorizerId?: string; /** - *Authorizer caching is not currently supported. Don't specify this value for authorizers.
+ *Represents the configuration of a JWT authorizer. Required for the JWT authorizer type. Supported only for HTTP APIs.
*/ - AuthorizerResultTtlInSeconds?: number; + JwtConfiguration?: JWTConfiguration; /** - *The authorizer's Uniform Resource Identifier (URI). ForREQUEST authorizers, this must be a well-formed Lambda function URI, for example, arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:
Specifies the required credentials as an IAM role for API Gateway to invoke the authorizer. To specify an IAM role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To use resource-based permissions on the Lambda function, don't specify this parameter. Supported only for REQUEST authorizers.
*/ - AuthorizerUri?: string; + AuthorizerCredentialsArn?: string; /** - *Specifies the required credentials as an IAM role for API Gateway to invoke the authorizer. To specify an IAM role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To use resource-based permissions on the Lambda function, specify null. Supported only for REQUEST authorizers.
+ *Specifies the format of the payload sent to an HTTP API Lambda authorizer. Required for HTTP API Lambda authorizers. Supported values are 1.0 and 2.0. To learn more, see Working with AWS Lambda authorizers for HTTP APIs.
*/ - AuthorizerCredentialsArn?: string; + AuthorizerPayloadFormatVersion?: string; /** *The name of the authorizer.
@@ -1354,19 +1428,29 @@ export interface CreateAuthorizerResponse { Name?: string; /** - *The identity source for which authorization is requested.
For a REQUEST authorizer, this is optional. The value is a set of one or more mapping expressions of the specified request parameters. Currently, the identity source can be headers, query string parameters, stage variables, and context parameters. For example, if an Auth header and a Name query string parameter are defined as identity sources, this value is route.request.header.Auth, route.request.querystring.Name. These parameters will be used to perform runtime validation for Lambda-based authorizers by verifying all of the identity-related request parameters are present in the request, not null, and non-empty. Only when this is true does the authorizer invoke the authorizer Lambda function. Otherwise, it returns a 401 Unauthorized response without calling the Lambda function.
For JWT, a single entry that specifies where to extract the JSON Web Token (JWT) from inbound requests. Currently only header-based and query parameter-based selections are supported, for example "$request.header.Authorization".
+ *The validation expression does not apply to the REQUEST authorizer.
*/ - IdentitySource?: string[]; + IdentityValidationExpression?: string; /** - *Represents the configuration of a JWT authorizer. Required for the JWT authorizer type. Supported only for HTTP APIs.
+ *Specifies whether a Lambda authorizer returns a response in a simple format. If enabled, the Lambda authorizer can return a boolean value instead of an IAM policy. Supported only for HTTP APIs. To learn more, see Working with AWS Lambda authorizers for HTTP APIs
*/ - JwtConfiguration?: JWTConfiguration; + EnableSimpleResponses?: boolean; /** - *The authorizer type. For WebSocket APIs, specify REQUEST for a Lambda function using incoming request parameters. For HTTP APIs, specify JWT to use JSON Web Tokens.
+ *The authorizer type. Specify REQUEST for a Lambda function using incoming request parameters. Specify JWT to use JSON Web Tokens (supported only for HTTP APIs).
*/ AuthorizerType?: AuthorizerType | string; + + /** + *The identity source for which authorization is requested.
For a REQUEST authorizer, this is optional. The value is a set of one or more mapping expressions of the specified request parameters. The identity source can be headers, query string parameters, stage variables, and context parameters. For example, if an Auth header and a Name query string parameter are defined as identity sources, this value is route.request.header.Auth, route.request.querystring.Name for WebSocket APIs. For HTTP APIs, use selection expressions prefixed with $, for example, $request.header.Auth, $request.querystring.Name. These parameters are used to perform runtime validation for Lambda-based authorizers by verifying all of the identity-related request parameters are present in the request, not null, and non-empty. Only when this is true does the authorizer invoke the authorizer Lambda function. Otherwise, it returns a 401 Unauthorized response without calling the Lambda function. For HTTP APIs, identity sources are also used as the cache key when caching is enabled. To learn more, see Working with AWS Lambda authorizers for HTTP APIs.
For JWT, a single entry that specifies where to extract the JSON Web Token (JWT) from inbound requests. Currently only header-based and query parameter-based selections are supported, for example $request.header.Authorization.
+ */ + IdentitySource?: string[]; + + /** + *The time to live (TTL) for cached authorizer results, in seconds. If it equals 0, authorization caching is disabled. If it is greater than 0, API Gateway caches authorizer responses. The maximum value is 3600, or 1 hour. Supported only for HTTP API Lambda authorizers.
+ */ + AuthorizerResultTtlInSeconds?: number; } export namespace CreateAuthorizerResponse { @@ -1379,6 +1463,11 @@ export namespace CreateAuthorizerResponse { *Creates a new Deployment resource to represent a deployment.
*/ export interface CreateDeploymentRequest { + /** + *The API identifier.
+ */ + ApiId: string | undefined; + /** *The name of the Stage resource for the Deployment resource to create.
*/ @@ -1388,11 +1477,6 @@ export interface CreateDeploymentRequest { *The description for the deployment resource.
*/ Description?: string; - - /** - *The API identifier.
- */ - ApiId: string | undefined; } export namespace CreateDeploymentRequest { @@ -1408,14 +1492,9 @@ export interface CreateDeploymentResponse { AutoDeployed?: boolean; /** - *The date and time when the Deployment resource was created.
- */ - CreatedDate?: Date; - - /** - *May contain additional feedback on the status of an API deployment.
+ *The description for the deployment.
*/ - DeploymentStatusMessage?: string; + Description?: string; /** *The identifier for the deployment.
@@ -1428,9 +1507,14 @@ export interface CreateDeploymentResponse { DeploymentStatus?: DeploymentStatus | string; /** - *The description for the deployment.
+ *The date and time when the Deployment resource was created.
*/ - Description?: string; + CreatedDate?: Date; + + /** + *May contain additional feedback on the status of an API deployment.
+ */ + DeploymentStatusMessage?: string; } export namespace CreateDeploymentResponse { @@ -1439,14 +1523,37 @@ export namespace CreateDeploymentResponse { }); } +export interface MutualTlsAuthenticationInput { + /** + *An Amazon S3 URL that specifies the truststore for mutual TLS authentication, for example, s3://
The version of the S3 object that contains your truststore. To specify a version, you must have versioning enabled for the S3 bucket.
+ */ + TruststoreVersion?: string; +} + +export namespace MutualTlsAuthenticationInput { + export const filterSensitiveLog = (obj: MutualTlsAuthenticationInput): any => ({ + ...obj, + }); +} + /** *Creates a new DomainName resource to represent a domain name.
*/ export interface CreateDomainNameRequest { /** - *The domain name.
+ *The collection of tags associated with a domain name.
*/ - DomainName: string | undefined; + Tags?: { [key: string]: string }; + + /** + *The mutual TLS authentication configuration for a custom domain name.
+ */ + MutualTlsAuthentication?: MutualTlsAuthenticationInput; /** *The domain name configurations.
@@ -1454,9 +1561,9 @@ export interface CreateDomainNameRequest { DomainNameConfigurations?: DomainNameConfiguration[]; /** - *The collection of tags associated with a domain name.
+ *The domain name.
*/ - Tags?: { [key: string]: string }; + DomainName: string | undefined; } export namespace CreateDomainNameRequest { @@ -1466,11 +1573,6 @@ export namespace CreateDomainNameRequest { } export interface CreateDomainNameResponse { - /** - *The collection of tags associated with a domain name.
- */ - Tags?: { [key: string]: string }; - /** *The domain name configurations.
*/ @@ -1485,6 +1587,16 @@ export interface CreateDomainNameResponse { *The API mapping selection expression.
*/ ApiMappingSelectionExpression?: string; + + /** + *The collection of tags associated with a domain name.
+ */ + Tags?: { [key: string]: string }; + + /** + *The mutual TLS authentication configuration for a custom domain name.
+ */ + MutualTlsAuthentication?: MutualTlsAuthentication; } export namespace CreateDomainNameResponse { @@ -1514,9 +1626,14 @@ export namespace TlsConfigInput { */ export interface CreateIntegrationRequest { /** - *For a Lambda integration, specify the URI of a Lambda function.
For an HTTP integration, specify a fully-qualified URL.
For an HTTP API private integration, specify the ARN of an Application Load Balancer listener, Network Load Balancer listener, or AWS Cloud Map service. If you specify the ARN of an AWS Cloud Map service, API Gateway uses DiscoverInstances to identify resources. You can use query parameters to target specific resources. To learn more, see DiscoverInstances. For private integrations, all resources must be owned by the same AWS account.
+ *Specifies the format of the payload sent to an integration. Required for HTTP APIs.
*/ - IntegrationUri?: string; + PayloadFormatVersion?: string; + + /** + *Supported only for HTTP API AWS_PROXY integrations. Specifies the AWS service action to invoke. To learn more, see Integration subtype reference.
+ */ + IntegrationSubtype?: string; /** *The API identifier.
@@ -1524,34 +1641,34 @@ export interface CreateIntegrationRequest { ApiId: string | undefined; /** - *The ID of the VPC link for a private integration. Supported only for HTTP APIs.
+ *The TLS configuration for a private integration. If you specify a TLS configuration, private integration traffic uses the HTTPS protocol. Supported only for HTTP APIs.
*/ - ConnectionId?: string; + TlsConfig?: TlsConfigInput; /** - *Represents a map of Velocity templates that are applied on the request payload based on the value of the Content-Type header sent by the client. The content type value is the key in this map, and the template (as a String) is the value. Supported only for WebSocket APIs.
+ *Custom timeout between 50 and 29,000 milliseconds for WebSocket APIs and between 50 and 30,000 milliseconds for HTTP APIs. The default timeout is 29 seconds for WebSocket APIs and 30 seconds for HTTP APIs.
*/ - RequestTemplates?: { [key: string]: string }; + TimeoutInMillis?: number; /** - *Specifies the credentials required for the integration, if any. For AWS integrations, three options are available. To specify an IAM Role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify the string arn:aws:iam::*:user/*. To use resource-based permissions on supported AWS services, specify null.
+ *For a Lambda integration, specify the URI of a Lambda function.
For an HTTP integration, specify a fully-qualified URL.
For an HTTP API private integration, specify the ARN of an Application Load Balancer listener, Network Load Balancer listener, or AWS Cloud Map service. If you specify the ARN of an AWS Cloud Map service, API Gateway uses DiscoverInstances to identify resources. You can use query parameters to target specific resources. To learn more, see DiscoverInstances. For private integrations, all resources must be owned by the same AWS account.
*/ - CredentialsArn?: string; + IntegrationUri?: string; /** - *Specifies the format of the payload sent to an integration. Required for HTTP APIs.
+ *The ID of the VPC link for a private integration. Supported only for HTTP APIs.
*/ - PayloadFormatVersion?: string; + ConnectionId?: string; /** - *Supported only for WebSocket APIs. Specifies how to handle response payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors:
CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded string to the corresponding binary blob.
CONVERT_TO_TEXT: Converts a response payload from a binary blob to a Base64-encoded string.
If this property is not defined, the response payload will be passed through from the integration response to the route response or method response without modification.
+ *Represents a map of Velocity templates that are applied on the request payload based on the value of the Content-Type header sent by the client. The content type value is the key in this map, and the template (as a String) is the value. Supported only for WebSocket APIs.
*/ - ContentHandlingStrategy?: ContentHandlingStrategy | string; + RequestTemplates?: { [key: string]: string }; /** - *Specifies the integration's HTTP method type.
+ *The template selection expression for the integration.
*/ - IntegrationMethod?: string; + TemplateSelectionExpression?: string; /** *The description of the integration.
@@ -1559,44 +1676,40 @@ export interface CreateIntegrationRequest { Description?: string; /** - *The type of the network connection to the integration endpoint. Specify INTERNET for connections through the public routable internet or VPC_LINK for private connections between API Gateway and resources in a VPC. The default value is INTERNET.
+ *Specifies the integration's HTTP method type.
*/ - ConnectionType?: ConnectionType | string; + IntegrationMethod?: string; /** - *Specifies the pass-through behavior for incoming requests based on the Content-Type header in the request, and the available mapping templates specified as the requestTemplates property on the Integration resource. There are three valid values: WHEN_NO_MATCH, WHEN_NO_TEMPLATES, and NEVER. Supported only for WebSocket APIs.
WHEN_NO_MATCH passes the request body for unmapped content types through to the integration backend without transformation.
NEVER rejects unmapped content types with an HTTP 415 Unsupported Media Type response.
WHEN_NO_TEMPLATES allows pass-through when the integration has no content types mapped to templates. However, if there is at least one content type defined, unmapped content types will be rejected with the same HTTP 415 Unsupported Media Type response.
+ *The integration type of an integration. One of the following:
AWS: for integrating the route or method request with an AWS service action, including the Lambda function-invoking action. With the Lambda function-invoking action, this is referred to as the Lambda custom integration. With any other AWS service action, this is known as AWS integration. Supported only for WebSocket APIs.
AWS_PROXY: for integrating the route or method request with a Lambda function or other AWS service action. This integration is also referred to as a Lambda proxy integration.
HTTP: for integrating the route or method request with an HTTP endpoint. This integration is also referred to as the HTTP custom integration. Supported only for WebSocket APIs.
HTTP_PROXY: for integrating the route or method request with an HTTP endpoint, with the client request passed through as-is. This is also referred to as HTTP proxy integration. For HTTP API private integrations, use an HTTP_PROXY integration.
MOCK: for integrating the route or method request with API Gateway as a "loopback" endpoint without invoking any backend. Supported only for WebSocket APIs.
*/ - PassthroughBehavior?: PassthroughBehavior | string; + IntegrationType: IntegrationType | string | undefined; /** - *The integration type of an integration. One of the following:
AWS: for integrating the route or method request with an AWS service action, including the Lambda function-invoking action. With the Lambda function-invoking action, this is referred to as the Lambda custom integration. With any other AWS service action, this is known as AWS integration. Supported only for WebSocket APIs.
AWS_PROXY: for integrating the route or method request with the Lambda function-invoking action with the client request passed through as-is. This integration is also referred to as Lambda proxy integration.
HTTP: for integrating the route or method request with an HTTP endpoint. This integration is also referred to as the HTTP custom integration. Supported only for WebSocket APIs.
HTTP_PROXY: for integrating the route or method request with an HTTP endpoint, with the client request passed through as-is. This is also referred to as HTTP proxy integration. For HTTP API private integrations, use an HTTP_PROXY integration.
MOCK: for integrating the route or method request with API Gateway as a "loopback" endpoint without invoking any backend. Supported only for WebSocket APIs.
+ *Specifies the pass-through behavior for incoming requests based on the Content-Type header in the request, and the available mapping templates specified as the requestTemplates property on the Integration resource. There are three valid values: WHEN_NO_MATCH, WHEN_NO_TEMPLATES, and NEVER. Supported only for WebSocket APIs.
WHEN_NO_MATCH passes the request body for unmapped content types through to the integration backend without transformation.
NEVER rejects unmapped content types with an HTTP 415 Unsupported Media Type response.
WHEN_NO_TEMPLATES allows pass-through when the integration has no content types mapped to templates. However, if there is at least one content type defined, unmapped content types will be rejected with the same HTTP 415 Unsupported Media Type response.
*/ - IntegrationType: IntegrationType | string | undefined; + PassthroughBehavior?: PassthroughBehavior | string; /** - *The TLS configuration for a private integration. If you specify a TLS configuration, private integration traffic uses the HTTPS protocol. Supported only for HTTP APIs.
+ *For WebSocket APIs, a key-value map specifying request parameters that are passed from the method request to the backend. The key is an integration request parameter name and the associated value is a method request parameter value or static value that must be enclosed within single quotes and pre-encoded as required by the backend. The method request parameter value must match the pattern of method.request.
For HTTP APIs, request parameters are a key-value map specifying parameters that are passed to AWS_PROXY integrations with a specified integrationSubtype. You can provide static values, or map request data, stage variables, or context variables that are evaluated at runtime. To learn more, see Working with AWS service integrations for HTTP APIs.
*/ - TlsConfig?: TlsConfigInput; + RequestParameters?: { [key: string]: string }; /** - *The template selection expression for the integration.
+ *Supported only for WebSocket APIs. Specifies how to handle response payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors:
CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded string to the corresponding binary blob.
CONVERT_TO_TEXT: Converts a response payload from a binary blob to a Base64-encoded string.
If this property is not defined, the response payload will be passed through from the integration response to the route response or method response without modification.
*/ - TemplateSelectionExpression?: string; + ContentHandlingStrategy?: ContentHandlingStrategy | string; /** - *Custom timeout between 50 and 29,000 milliseconds for WebSocket APIs and between 50 and 30,000 milliseconds for HTTP APIs. The default timeout is 29 seconds for WebSocket APIs and 30 seconds for HTTP APIs.
+ *The type of the network connection to the integration endpoint. Specify INTERNET for connections through the public routable internet or VPC_LINK for private connections between API Gateway and resources in a VPC. The default value is INTERNET.
*/ - TimeoutInMillis?: number; + ConnectionType?: ConnectionType | string; /** - *A key-value map specifying request parameters that are passed from the method request to the backend. The key is an integration request parameter name and the associated value is a method request parameter value or static value that must be enclosed within single quotes and pre-encoded as required by the backend. The method request parameter value must match the pattern of method.request.
Specifies the credentials required for the integration, if any. For AWS integrations, three options are available. To specify an IAM Role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify the string arn:aws:iam::*:user/*. To use resource-based permissions on supported AWS services, specify null.
*/ - RequestParameters?: { [key: string]: string }; + CredentialsArn?: string; } export namespace CreateIntegrationRequest { @@ -1606,60 +1719,46 @@ export namespace CreateIntegrationRequest { } export interface CreateIntegrationResult { - /** - *Represents the identifier of an integration.
- */ - IntegrationId?: string; - - /** - *Specifies the credentials required for the integration, if any. For AWS integrations, three options are available. To specify an IAM Role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify the string arn:aws:iam::*:user/*. To use resource-based permissions on supported AWS services, specify null.
- */ - CredentialsArn?: string; - - /** - *For a Lambda integration, specify the URI of a Lambda function.
For an HTTP integration, specify a fully-qualified URL.
For an HTTP API private integration, specify the ARN of an Application Load Balancer listener, Network Load Balancer listener, or AWS Cloud Map service. If you specify the ARN of an AWS Cloud Map service, API Gateway uses DiscoverInstances to identify resources. You can use query parameters to target specific resources. To learn more, see DiscoverInstances. For private integrations, all resources must be owned by the same AWS account.
- */ - IntegrationUri?: string; - /** *Represents a map of Velocity templates that are applied on the request payload based on the value of the Content-Type header sent by the client. The content type value is the key in this map, and the template (as a String) is the value. Supported only for WebSocket APIs.
*/ RequestTemplates?: { [key: string]: string }; /** - *The integration response selection expression for the integration. Supported only for WebSocket APIs. See Integration Response Selection Expressions.
+ *The ID of the VPC link for a private integration. Supported only for HTTP APIs.
*/ - IntegrationResponseSelectionExpression?: string; + ConnectionId?: string; /** - *Supported only for WebSocket APIs. Specifies how to handle response payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors:
CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded string to the corresponding binary blob.
CONVERT_TO_TEXT: Converts a response payload from a binary blob to a Base64-encoded string.
If this property is not defined, the response payload will be passed through from the integration response to the route response or method response without modification.
+ *For a Lambda integration, specify the URI of a Lambda function.
For an HTTP integration, specify a fully-qualified URL.
For an HTTP API private integration, specify the ARN of an Application Load Balancer listener, Network Load Balancer listener, or AWS Cloud Map service. If you specify the ARN of an AWS Cloud Map service, API Gateway uses DiscoverInstances to identify resources. You can use query parameters to target specific resources. To learn more, see DiscoverInstances. For private integrations, all resources must be owned by the same AWS account.
*/ - ContentHandlingStrategy?: ContentHandlingStrategy | string; + IntegrationUri?: string; /** - *Custom timeout between 50 and 29,000 milliseconds for WebSocket APIs and between 50 and 30,000 milliseconds for HTTP APIs. The default timeout is 29 seconds for WebSocket APIs and 30 seconds for HTTP APIs.
+ *Supported only for HTTP API AWS_PROXY integrations. Specifies the AWS service action to invoke. To learn more, see Integration subtype reference.
*/ - TimeoutInMillis?: number; + IntegrationSubtype?: string; /** - *The ID of the VPC link for a private integration. Supported only for HTTP APIs.
+ *Represents the identifier of an integration.
*/ - ConnectionId?: string; + IntegrationId?: string; /** - *The integration type of an integration. One of the following:
AWS: for integrating the route or method request with an AWS service action, including the Lambda function-invoking action. With the Lambda function-invoking action, this is referred to as the Lambda custom integration. With any other AWS service action, this is known as AWS integration. Supported only for WebSocket APIs.
AWS_PROXY: for integrating the route or method request with the Lambda function-invoking action with the client request passed through as-is. This integration is also referred to as Lambda proxy integration.
HTTP: for integrating the route or method request with an HTTP endpoint. This integration is also referred to as the HTTP custom integration. Supported only for WebSocket APIs.
HTTP_PROXY: for integrating the route or method request with an HTTP endpoint, with the client request passed through as-is. This is also referred to as HTTP proxy integration.
MOCK: for integrating the route or method request with API Gateway as a "loopback" endpoint without invoking any backend. Supported only for WebSocket APIs.
+ *Specifies the credentials required for the integration, if any. For AWS integrations, three options are available. To specify an IAM Role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify the string arn:aws:iam::*:user/*. To use resource-based permissions on supported AWS services, specify null.
*/ - IntegrationType?: IntegrationType | string; + CredentialsArn?: string; /** - *The TLS configuration for a private integration. If you specify a TLS configuration, private integration traffic uses the HTTPS protocol. Supported only for HTTP APIs.
+ *Specifies the format of the payload sent to an integration. Required for HTTP APIs.
*/ - TlsConfig?: TlsConfig; + PayloadFormatVersion?: string; /** - *The type of the network connection to the integration endpoint. Specify INTERNET for connections through the public routable internet or VPC_LINK for private connections between API Gateway and resources in a VPC. The default value is INTERNET.
+ *For WebSocket APIs, a key-value map specifying request parameters that are passed from the method request to the backend. The key is an integration request parameter name and the associated value is a method request parameter value or static value that must be enclosed within single quotes and pre-encoded as required by the backend. The method request parameter value must match the pattern of method.request.
For HTTP APIs, request parameters are a key-value map specifying parameters that are passed to AWS_PROXY integrations with a specified integrationSubtype. You can provide static values, or map request data, stage variables, or context variables that are evaluated at runtime. To learn more, see Working with AWS service integrations for HTTP APIs.
*/ - ConnectionType?: ConnectionType | string; + RequestParameters?: { [key: string]: string }; /** *Specifies the integration's HTTP method type.
@@ -1672,34 +1771,49 @@ export interface CreateIntegrationResult { Description?: string; /** - *Specifies whether an integration is managed by API Gateway. If you created an API using using quick create, the resulting integration is managed by API Gateway. You can update a managed integration, but you can't delete it.
+ *Specifies the pass-through behavior for incoming requests based on the Content-Type header in the request, and the available mapping templates specified as the requestTemplates property on the Integration resource. There are three valid values: WHEN_NO_MATCH, WHEN_NO_TEMPLATES, and NEVER. Supported only for WebSocket APIs.
WHEN_NO_MATCH passes the request body for unmapped content types through to the integration backend without transformation.
NEVER rejects unmapped content types with an HTTP 415 Unsupported Media Type response.
WHEN_NO_TEMPLATES allows pass-through when the integration has no content types mapped to templates. However, if there is at least one content type defined, unmapped content types will be rejected with the same HTTP 415 Unsupported Media Type response.
*/ - ApiGatewayManaged?: boolean; + PassthroughBehavior?: PassthroughBehavior | string; /** - *Specifies the format of the payload sent to an integration. Required for HTTP APIs.
+ *Specifies whether an integration is managed by API Gateway. If you created an API using using quick create, the resulting integration is managed by API Gateway. You can update a managed integration, but you can't delete it.
*/ - PayloadFormatVersion?: string; + ApiGatewayManaged?: boolean; /** - *A key-value map specifying request parameters that are passed from the method request to the backend. The key is an integration request parameter name and the associated value is a method request parameter value or static value that must be enclosed within single quotes and pre-encoded as required by the backend. The method request parameter value must match the pattern of method.request.
The template selection expression for the integration. Supported only for WebSocket APIs.
*/ - RequestParameters?: { [key: string]: string }; + TemplateSelectionExpression?: string; /** - *The template selection expression for the integration. Supported only for WebSocket APIs.
+ *The type of the network connection to the integration endpoint. Specify INTERNET for connections through the public routable internet or VPC_LINK for private connections between API Gateway and resources in a VPC. The default value is INTERNET.
*/ - TemplateSelectionExpression?: string; + ConnectionType?: ConnectionType | string; /** - *Specifies the pass-through behavior for incoming requests based on the Content-Type header in the request, and the available mapping templates specified as the requestTemplates property on the Integration resource. There are three valid values: WHEN_NO_MATCH, WHEN_NO_TEMPLATES, and NEVER. Supported only for WebSocket APIs.
WHEN_NO_MATCH passes the request body for unmapped content types through to the integration backend without transformation.
NEVER rejects unmapped content types with an HTTP 415 Unsupported Media Type response.
WHEN_NO_TEMPLATES allows pass-through when the integration has no content types mapped to templates. However, if there is at least one content type defined, unmapped content types will be rejected with the same HTTP 415 Unsupported Media Type response.
+ *The integration response selection expression for the integration. Supported only for WebSocket APIs. See Integration Response Selection Expressions.
*/ - PassthroughBehavior?: PassthroughBehavior | string; + IntegrationResponseSelectionExpression?: string; + + /** + *Supported only for WebSocket APIs. Specifies how to handle response payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors:
CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded string to the corresponding binary blob.
CONVERT_TO_TEXT: Converts a response payload from a binary blob to a Base64-encoded string.
If this property is not defined, the response payload will be passed through from the integration response to the route response or method response without modification.
+ */ + ContentHandlingStrategy?: ContentHandlingStrategy | string; + + /** + *Custom timeout between 50 and 29,000 milliseconds for WebSocket APIs and between 50 and 30,000 milliseconds for HTTP APIs. The default timeout is 29 seconds for WebSocket APIs and 30 seconds for HTTP APIs.
+ */ + TimeoutInMillis?: number; + + /** + *The TLS configuration for a private integration. If you specify a TLS configuration, private integration traffic uses the HTTPS protocol. Supported only for HTTP APIs.
+ */ + TlsConfig?: TlsConfig; + + /** + *The integration type of an integration. One of the following:
AWS: for integrating the route or method request with an AWS service action, including the Lambda function-invoking action. With the Lambda function-invoking action, this is referred to as the Lambda custom integration. With any other AWS service action, this is known as AWS integration. Supported only for WebSocket APIs.
AWS_PROXY: for integrating the route or method request with a Lambda function or other AWS service action. This integration is also referred to as a Lambda proxy integration.
HTTP: for integrating the route or method request with an HTTP endpoint. This integration is also referred to as the HTTP custom integration. Supported only for WebSocket APIs.
HTTP_PROXY: for integrating the route or method request with an HTTP endpoint, with the client request passed through as-is. This is also referred to as HTTP proxy integration.
MOCK: for integrating the route or method request with API Gateway as a "loopback" endpoint without invoking any backend. Supported only for WebSocket APIs.
+ */ + IntegrationType?: IntegrationType | string; } export namespace CreateIntegrationResult { @@ -1713,9 +1827,14 @@ export namespace CreateIntegrationResult { */ export interface CreateIntegrationResponseRequest { /** - *The template selection expression for the integration response. Supported only for WebSocket APIs.
+ *The integration response key.
*/ - TemplateSelectionExpression?: string; + IntegrationResponseKey: string | undefined; + + /** + *Specifies how to handle response payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors:
CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded string to the corresponding binary blob.
CONVERT_TO_TEXT: Converts a response payload from a binary blob to a Base64-encoded string.
If this property is not defined, the response payload will be passed through from the integration response to the route response or method response without modification.
+ */ + ContentHandlingStrategy?: ContentHandlingStrategy | string; /** *The API identifier.
@@ -1723,29 +1842,24 @@ export interface CreateIntegrationResponseRequest { ApiId: string | undefined; /** - *The collection of response templates for the integration response as a string-to-string map of key-value pairs. Response templates are represented as a key/value map, with a content-type as the key and a template as the value.
+ *A key-value map specifying response parameters that are passed to the method response from the backend. The key is a method response header parameter name and the mapped value is an integration response header value, a static value enclosed within a pair of single quotes, or a JSON expression from the integration response body. The mapping key must match the pattern of method.response.header.{name}, where {name} is a valid and unique header name. The mapped non-static value must match the pattern of integration.response.header.{name} or integration.response.body.{JSON-expression}, where {name} is a valid and unique response header name and {JSON-expression} is a valid JSON expression without the $ prefix.
*/ - ResponseTemplates?: { [key: string]: string }; + ResponseParameters?: { [key: string]: string }; /** - *The integration response key.
+ *The collection of response templates for the integration response as a string-to-string map of key-value pairs. Response templates are represented as a key/value map, with a content-type as the key and a template as the value.
*/ - IntegrationResponseKey: string | undefined; + ResponseTemplates?: { [key: string]: string }; /** - *Specifies how to handle response payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors:
CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded string to the corresponding binary blob.
CONVERT_TO_TEXT: Converts a response payload from a binary blob to a Base64-encoded string.
If this property is not defined, the response payload will be passed through from the integration response to the route response or method response without modification.
+ *The template selection expression for the integration response. Supported only for WebSocket APIs.
*/ - ContentHandlingStrategy?: ContentHandlingStrategy | string; + TemplateSelectionExpression?: string; /** *The integration ID.
*/ IntegrationId: string | undefined; - - /** - *A key-value map specifying response parameters that are passed to the method response from the backend. The key is a method response header parameter name and the mapped value is an integration response header value, a static value enclosed within a pair of single quotes, or a JSON expression from the integration response body. The mapping key must match the pattern of method.response.header.{name}, where {name} is a valid and unique header name. The mapped non-static value must match the pattern of integration.response.header.{name} or integration.response.body.{JSON-expression}, where {name} is a valid and unique response header name and {JSON-expression} is a valid JSON expression without the $ prefix.
- */ - ResponseParameters?: { [key: string]: string }; } export namespace CreateIntegrationResponseRequest { @@ -1756,24 +1870,24 @@ export namespace CreateIntegrationResponseRequest { export interface CreateIntegrationResponseResponse { /** - *The integration response key.
+ *Supported only for WebSocket APIs. Specifies how to handle response payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors:
CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded string to the corresponding binary blob.
CONVERT_TO_TEXT: Converts a response payload from a binary blob to a Base64-encoded string.
If this property is not defined, the response payload will be passed through from the integration response to the route response or method response without modification.
*/ - IntegrationResponseKey?: string; + ContentHandlingStrategy?: ContentHandlingStrategy | string; /** - *The template selection expressions for the integration response.
+ *The integration response ID.
*/ - TemplateSelectionExpression?: string; + IntegrationResponseId?: string; /** - *A key-value map specifying response parameters that are passed to the method response from the backend. The key is a method response header parameter name and the mapped value is an integration response header value, a static value enclosed within a pair of single quotes, or a JSON expression from the integration response body. The mapping key must match the pattern of method.response.header.{name}, where name is a valid and unique header name. The mapped non-static value must match the pattern of integration.response.header.{name} or integration.response.body.{JSON-expression}, where name is a valid and unique response header name and JSON-expression is a valid JSON expression without the $ prefix.
+ *The integration response key.
*/ - ResponseParameters?: { [key: string]: string }; + IntegrationResponseKey?: string; /** - *The integration response ID.
+ *The template selection expressions for the integration response.
*/ - IntegrationResponseId?: string; + TemplateSelectionExpression?: string; /** *The collection of response templates for the integration response as a string-to-string map of key-value pairs. Response templates are represented as a key/value map, with a content-type as the key and a template as the value.
@@ -1781,9 +1895,9 @@ export interface CreateIntegrationResponseResponse { ResponseTemplates?: { [key: string]: string }; /** - *Supported only for WebSocket APIs. Specifies how to handle response payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors:
CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded string to the corresponding binary blob.
CONVERT_TO_TEXT: Converts a response payload from a binary blob to a Base64-encoded string.
If this property is not defined, the response payload will be passed through from the integration response to the route response or method response without modification.
+ *A key-value map specifying response parameters that are passed to the method response from the backend. The key is a method response header parameter name and the mapped value is an integration response header value, a static value enclosed within a pair of single quotes, or a JSON expression from the integration response body. The mapping key must match the pattern of method.response.header.{name}, where name is a valid and unique header name. The mapped non-static value must match the pattern of integration.response.header.{name} or integration.response.body.{JSON-expression}, where name is a valid and unique response header name and JSON-expression is a valid JSON expression without the $ prefix.
*/ - ContentHandlingStrategy?: ContentHandlingStrategy | string; + ResponseParameters?: { [key: string]: string }; } export namespace CreateIntegrationResponseResponse { @@ -1796,16 +1910,6 @@ export namespace CreateIntegrationResponseResponse { *Creates a new Model.
*/ export interface CreateModelRequest { - /** - *The name of the model. Must be alphanumeric.
- */ - Name: string | undefined; - - /** - *The API identifier.
- */ - ApiId: string | undefined; - /** *The content-type for the model, for example, "application/json".
*/ @@ -1820,6 +1924,16 @@ export interface CreateModelRequest { *The description of the model.
*/ Description?: string; + + /** + *The name of the model. Must be alphanumeric.
+ */ + Name: string | undefined; + + /** + *The API identifier.
+ */ + ApiId: string | undefined; } export namespace CreateModelRequest { @@ -1830,14 +1944,14 @@ export namespace CreateModelRequest { export interface CreateModelResponse { /** - *The name of the model. Must be alphanumeric.
+ *The model identifier.
*/ - Name?: string; + ModelId?: string; /** - *The model identifier.
+ *The description of the model.
*/ - ModelId?: string; + Description?: string; /** *The content-type for the model, for example, "application/json".
@@ -1845,14 +1959,14 @@ export interface CreateModelResponse { ContentType?: string; /** - *The description of the model.
+ *The schema for the model. For application/json models, this should be JSON schema draft 4 model.
*/ - Description?: string; + Schema?: string; /** - *The schema for the model. For application/json models, this should be JSON schema draft 4 model.
+ *The name of the model. Must be alphanumeric.
*/ - Schema?: string; + Name?: string; } export namespace CreateModelResponse { @@ -1866,14 +1980,14 @@ export namespace CreateModelResponse { */ export interface CreateRouteRequest { /** - *The route key for the route.
+ *The target for the route.
*/ - RouteKey: string | undefined; + Target?: string; /** - *The operation name for the route.
+ *The request models for the route. Supported only for WebSocket APIs.
*/ - OperationName?: string; + RequestModels?: { [key: string]: string }; /** *The API identifier.
@@ -1881,49 +1995,49 @@ export interface CreateRouteRequest { ApiId: string | undefined; /** - *The model selection expression for the route. Supported only for WebSocket APIs.
+ *The operation name for the route.
*/ - ModelSelectionExpression?: string; + OperationName?: string; /** - *The identifier of the Authorizer resource to be associated with this route. The authorizer identifier is generated by API Gateway when you created the authorizer.
+ *Specifies whether an API key is required for the route. Supported only for WebSocket APIs.
*/ - AuthorizerId?: string; + ApiKeyRequired?: boolean; /** - *The request parameters for the route. Supported only for WebSocket APIs.
+ *The authorization scopes supported by this route.
*/ - RequestParameters?: { [key: string]: ParameterConstraints }; + AuthorizationScopes?: string[]; /** - *The route response selection expression for the route. Supported only for WebSocket APIs.
+ *The request parameters for the route. Supported only for WebSocket APIs.
*/ - RouteResponseSelectionExpression?: string; + RequestParameters?: { [key: string]: ParameterConstraints }; /** - *The authorization type for the route. For WebSocket APIs, valid values are NONE for open access, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda authorizer For HTTP APIs, valid values are NONE for open access, or JWT for using JSON Web Tokens.
+ *The identifier of the Authorizer resource to be associated with this route. The authorizer identifier is generated by API Gateway when you created the authorizer.
*/ - AuthorizationType?: AuthorizationType | string; + AuthorizerId?: string; /** - *Specifies whether an API key is required for the route. Supported only for WebSocket APIs.
+ *The route response selection expression for the route. Supported only for WebSocket APIs.
*/ - ApiKeyRequired?: boolean; + RouteResponseSelectionExpression?: string; /** - *The authorization scopes supported by this route.
+ *The authorization type for the route. For WebSocket APIs, valid values are NONE for open access, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda authorizer For HTTP APIs, valid values are NONE for open access, JWT for using JSON Web Tokens, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda authorizer.
*/ - AuthorizationScopes?: string[]; + AuthorizationType?: AuthorizationType | string; /** - *The target for the route.
+ *The route key for the route.
*/ - Target?: string; + RouteKey: string | undefined; /** - *The request models for the route. Supported only for WebSocket APIs.
+ *The model selection expression for the route. Supported only for WebSocket APIs.
*/ - RequestModels?: { [key: string]: string }; + ModelSelectionExpression?: string; } export namespace CreateRouteRequest { @@ -1934,19 +2048,19 @@ export namespace CreateRouteRequest { export interface CreateRouteResult { /** - *The target for the route.
+ *The route response selection expression for the route. Supported only for WebSocket APIs.
*/ - Target?: string; + RouteResponseSelectionExpression?: string; /** - *The request parameters for the route. Supported only for WebSocket APIs.
+ *The identifier of the Authorizer resource to be associated with this route. The authorizer identifier is generated by API Gateway when you created the authorizer.
*/ - RequestParameters?: { [key: string]: ParameterConstraints }; + AuthorizerId?: string; /** - *The identifier of the Authorizer resource to be associated with this route. The authorizer identifier is generated by API Gateway when you created the authorizer.
+ *The model selection expression for the route. Supported only for WebSocket APIs.
*/ - AuthorizerId?: string; + ModelSelectionExpression?: string; /** *The route ID.
@@ -1954,49 +2068,49 @@ export interface CreateRouteResult { RouteId?: string; /** - *The request models for the route. Supported only for WebSocket APIs.
+ *The target for the route.
*/ - RequestModels?: { [key: string]: string }; + Target?: string; /** - *Specifies whether a route is managed by API Gateway. If you created an API using quick create, the $default route is managed by API Gateway. You can't modify the $default route key.
+ *The route key for the route.
*/ - ApiGatewayManaged?: boolean; + RouteKey?: string; /** - *The operation name for the route.
+ *Specifies whether an API key is required for this route. Supported only for WebSocket APIs.
*/ - OperationName?: string; + ApiKeyRequired?: boolean; /** - *Specifies whether an API key is required for this route. Supported only for WebSocket APIs.
+ *The authorization type for the route. For WebSocket APIs, valid values are NONE for open access, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda authorizer For HTTP APIs, valid values are NONE for open access, JWT for using JSON Web Tokens, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda authorizer.
*/ - ApiKeyRequired?: boolean; + AuthorizationType?: AuthorizationType | string; /** - *A list of authorization scopes configured on a route. The scopes are used with a JWT authorizer to authorize the method invocation. The authorization works by matching the route scopes against the scopes parsed from the access token in the incoming request. The method invocation is authorized if any route scope matches a claimed scope in the access token. Otherwise, the invocation is not authorized. When the route scope is configured, the client must provide an access token instead of an identity token for authorization purposes.
+ *Specifies whether a route is managed by API Gateway. If you created an API using quick create, the $default route is managed by API Gateway. You can't modify the $default route key.
*/ - AuthorizationScopes?: string[]; + ApiGatewayManaged?: boolean; /** - *The route key for the route.
+ *The request models for the route. Supported only for WebSocket APIs.
*/ - RouteKey?: string; + RequestModels?: { [key: string]: string }; /** - *The route response selection expression for the route. Supported only for WebSocket APIs.
+ *A list of authorization scopes configured on a route. The scopes are used with a JWT authorizer to authorize the method invocation. The authorization works by matching the route scopes against the scopes parsed from the access token in the incoming request. The method invocation is authorized if any route scope matches a claimed scope in the access token. Otherwise, the invocation is not authorized. When the route scope is configured, the client must provide an access token instead of an identity token for authorization purposes.
*/ - RouteResponseSelectionExpression?: string; + AuthorizationScopes?: string[]; /** - *The model selection expression for the route. Supported only for WebSocket APIs.
+ *The operation name for the route.
*/ - ModelSelectionExpression?: string; + OperationName?: string; /** - *The authorization type for the route. For WebSocket APIs, valid values are NONE for open access, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda authorizer For HTTP APIs, valid values are NONE for open access, or JWT for using JSON Web Tokens.
+ *The request parameters for the route. Supported only for WebSocket APIs.
*/ - AuthorizationType?: AuthorizationType | string; + RequestParameters?: { [key: string]: ParameterConstraints }; } export namespace CreateRouteResult { @@ -2014,6 +2128,11 @@ export interface CreateRouteResponseRequest { */ ResponseParameters?: { [key: string]: ParameterConstraints }; + /** + *The API identifier.
+ */ + ApiId: string | undefined; + /** *The route response key.
*/ @@ -2024,11 +2143,6 @@ export interface CreateRouteResponseRequest { */ ResponseModels?: { [key: string]: string }; - /** - *The API identifier.
- */ - ApiId: string | undefined; - /** *The route ID.
*/ @@ -2048,9 +2162,9 @@ export namespace CreateRouteResponseRequest { export interface CreateRouteResponseResponse { /** - *Represents the response models of a route response.
+ *Represents the response parameters of a route response.
*/ - ResponseModels?: { [key: string]: string }; + ResponseParameters?: { [key: string]: ParameterConstraints }; /** *Represents the identifier of a route response.
@@ -2058,9 +2172,9 @@ export interface CreateRouteResponseResponse { RouteResponseId?: string; /** - *Represents the response parameters of a route response.
+ *Represents the model selection expression of a route response. Supported only for WebSocket APIs.
*/ - ResponseParameters?: { [key: string]: ParameterConstraints }; + ModelSelectionExpression?: string; /** *Represents the route response key of a route response.
@@ -2068,9 +2182,9 @@ export interface CreateRouteResponseResponse { RouteResponseKey?: string; /** - *Represents the model selection expression of a route response. Supported only for WebSocket APIs.
+ *Represents the response models of a route response.
*/ - ModelSelectionExpression?: string; + ResponseModels?: { [key: string]: string }; } export namespace CreateRouteResponseResponse { @@ -2084,14 +2198,19 @@ export namespace CreateRouteResponseResponse { */ export interface CreateStageRequest { /** - *A map that defines the stage variables for a Stage. Variable names can have alphanumeric and underscore characters, and the values must match [A-Za-z0-9-._~:/?#&=,]+.
+ *Specifies whether updates to an API automatically trigger a new deployment. The default value is false.
*/ - StageVariables?: { [key: string]: string }; + AutoDeploy?: boolean; /** - *The description for the API stage.
+ *The collection of tags. Each tag element is associated with a given resource.
*/ - Description?: string; + Tags?: { [key: string]: string }; + + /** + *The identifier of a client certificate for a Stage. Supported only for WebSocket APIs.
+ */ + ClientCertificateId?: string; /** *The name of the stage.
@@ -2099,14 +2218,14 @@ export interface CreateStageRequest { StageName: string | undefined; /** - *The deployment identifier of the API stage.
+ *The default route settings for the stage.
*/ - DeploymentId?: string; + DefaultRouteSettings?: RouteSettings; /** - *Settings for logging access in this stage.
+ *A map that defines the stage variables for a Stage. Variable names can have alphanumeric and underscore characters, and the values must match [A-Za-z0-9-._~:/?#&=,]+.
*/ - AccessLogSettings?: AccessLogSettings; + StageVariables?: { [key: string]: string }; /** *Route settings for the stage, by routeKey.
@@ -2114,19 +2233,14 @@ export interface CreateStageRequest { RouteSettings?: { [key: string]: RouteSettings }; /** - *The default route settings for the stage.
- */ - DefaultRouteSettings?: RouteSettings; - - /** - *The collection of tags. Each tag element is associated with a given resource.
+ *Settings for logging access in this stage.
*/ - Tags?: { [key: string]: string }; + AccessLogSettings?: AccessLogSettings; /** - *Specifies whether updates to an API automatically trigger a new deployment. The default value is false.
+ *The deployment identifier of the API stage.
*/ - AutoDeploy?: boolean; + DeploymentId?: string; /** *The API identifier.
@@ -2134,9 +2248,9 @@ export interface CreateStageRequest { ApiId: string | undefined; /** - *The identifier of a client certificate for a Stage. Supported only for WebSocket APIs.
+ *The description for the API stage.
*/ - ClientCertificateId?: string; + Description?: string; } export namespace CreateStageRequest { @@ -2147,34 +2261,39 @@ export namespace CreateStageRequest { export interface CreateStageResponse { /** - *Route settings for the stage, by routeKey.
+ *The timestamp when the stage was created.
*/ - RouteSettings?: { [key: string]: RouteSettings }; + CreatedDate?: Date; /** - *The timestamp when the stage was created.
+ *The identifier of a client certificate for a Stage. Supported only for WebSocket APIs.
*/ - CreatedDate?: Date; + ClientCertificateId?: string; /** - *The identifier of the Deployment that the Stage is associated with. Can't be updated if autoDeploy is enabled.
+ *The description of the stage.
*/ - DeploymentId?: string; + Description?: string; /** - *The timestamp when the stage was last updated.
+ *A map that defines the stage variables for a stage resource. Variable names can have alphanumeric and underscore characters, and the values must match [A-Za-z0-9-._~:/?#&=,]+.
*/ - LastUpdatedDate?: Date; + StageVariables?: { [key: string]: string }; /** - *Specifies whether a stage is managed by API Gateway. If you created an API using quick create, the $default stage is managed by API Gateway. You can't modify the $default stage.
+ *The name of the stage.
*/ - ApiGatewayManaged?: boolean; + StageName?: string; /** - *Specifies whether updates to an API automatically trigger a new deployment. The default value is false.
+ *Settings for logging access in this stage.
*/ - AutoDeploy?: boolean; + AccessLogSettings?: AccessLogSettings; + + /** + *Route settings for the stage, by routeKey.
+ */ + RouteSettings?: { [key: string]: RouteSettings }; /** *Describes the status of the last deployment of a stage. Supported only for stages with autoDeploy enabled.
@@ -2192,29 +2311,24 @@ export interface CreateStageResponse { Tags?: { [key: string]: string }; /** - *Settings for logging access in this stage.
- */ - AccessLogSettings?: AccessLogSettings; - - /** - *The name of the stage.
+ *The timestamp when the stage was last updated.
*/ - StageName?: string; + LastUpdatedDate?: Date; /** - *A map that defines the stage variables for a stage resource. Variable names can have alphanumeric and underscore characters, and the values must match [A-Za-z0-9-._~:/?#&=,]+.
+ *Specifies whether a stage is managed by API Gateway. If you created an API using quick create, the $default stage is managed by API Gateway. You can't modify the $default stage.
*/ - StageVariables?: { [key: string]: string }; + ApiGatewayManaged?: boolean; /** - *The identifier of a client certificate for a Stage. Supported only for WebSocket APIs.
+ *The identifier of the Deployment that the Stage is associated with. Can't be updated if autoDeploy is enabled.
*/ - ClientCertificateId?: string; + DeploymentId?: string; /** - *The description of the stage.
+ *Specifies whether updates to an API automatically trigger a new deployment. The default value is false.
*/ - Description?: string; + AutoDeploy?: boolean; } export namespace CreateStageResponse { @@ -2255,6 +2369,11 @@ export namespace CreateVpcLinkRequest { } export interface CreateVpcLinkResponse { + /** + *Tags for the VPC link.
+ */ + Tags?: { [key: string]: string }; + /** *The status of the VPC link.
*/ @@ -2271,14 +2390,14 @@ export interface CreateVpcLinkResponse { Name?: string; /** - *The timestamp when the VPC link was created.
+ *A list of security group IDs for the VPC link.
*/ - CreatedDate?: Date; + SecurityGroupIds?: string[]; /** - *The ID of the VPC link.
+ *The timestamp when the VPC link was created.
*/ - VpcLinkId?: string; + CreatedDate?: Date; /** *A list of subnet IDs to include in the VPC link.
@@ -2286,19 +2405,14 @@ export interface CreateVpcLinkResponse { SubnetIds?: string[]; /** - *Tags for the VPC link.
- */ - Tags?: { [key: string]: string }; - - /** - *A list of security group IDs for the VPC link.
+ *A message summarizing the cause of the status of the VPC link.
*/ - SecurityGroupIds?: string[]; + VpcLinkStatusMessage?: string; /** - *A message summarizing the cause of the status of the VPC link.
+ *The ID of the VPC link.
*/ - VpcLinkStatusMessage?: string; + VpcLinkId?: string; } export namespace CreateVpcLinkResponse { @@ -2309,14 +2423,14 @@ export namespace CreateVpcLinkResponse { export interface DeleteAccessLogSettingsRequest { /** - *The stage name. Stage names can only contain alphanumeric characters, hyphens, and underscores. Maximum length is 128 characters.
+ *The API identifier.
*/ - StageName: string | undefined; + ApiId: string | undefined; /** - *The API identifier.
+ *The stage name. Stage names can only contain alphanumeric characters, hyphens, and underscores. Maximum length is 128 characters.
*/ - ApiId: string | undefined; + StageName: string | undefined; } export namespace DeleteAccessLogSettingsRequest { @@ -2358,14 +2472,14 @@ export namespace DeleteApiMappingRequest { export interface DeleteAuthorizerRequest { /** - *The API identifier.
+ *The authorizer identifier.
*/ - ApiId: string | undefined; + AuthorizerId: string | undefined; /** - *The authorizer identifier.
+ *The API identifier.
*/ - AuthorizerId: string | undefined; + ApiId: string | undefined; } export namespace DeleteAuthorizerRequest { @@ -2389,14 +2503,14 @@ export namespace DeleteCorsConfigurationRequest { export interface DeleteDeploymentRequest { /** - *The API identifier.
+ *The deployment ID.
*/ - ApiId: string | undefined; + DeploymentId: string | undefined; /** - *The deployment ID.
+ *The API identifier.
*/ - DeploymentId: string | undefined; + ApiId: string | undefined; } export namespace DeleteDeploymentRequest { @@ -2496,6 +2610,11 @@ export namespace DeleteRouteRequest { } export interface DeleteRouteRequestParameterRequest { + /** + *The API identifier.
+ */ + ApiId: string | undefined; + /** *The route ID.
*/ @@ -2505,11 +2624,6 @@ export interface DeleteRouteRequestParameterRequest { *The route request parameter key.
*/ RequestParameterKey: string | undefined; - - /** - *The API identifier.
- */ - ApiId: string | undefined; } export namespace DeleteRouteRequestParameterRequest { @@ -2519,6 +2633,11 @@ export namespace DeleteRouteRequestParameterRequest { } export interface DeleteRouteResponseRequest { + /** + *The route ID.
+ */ + RouteId: string | undefined; + /** *The route response ID.
*/ @@ -2528,11 +2647,6 @@ export interface DeleteRouteResponseRequest { *The API identifier.
*/ ApiId: string | undefined; - - /** - *The route ID.
- */ - RouteId: string | undefined; } export namespace DeleteRouteResponseRequest { @@ -2605,14 +2719,9 @@ export namespace DeleteVpcLinkResponse { export interface ExportApiRequest { /** - *The version of the API Gateway export algorithm. API Gateway uses the latest version by default. Currently, the only supported version is 1.0.
- */ - ExportVersion?: string; - - /** - *The output type of the exported definition file. Valid values are JSON and YAML.
+ *Specifies whether to include API Gateway extensions in the exported API definition. API Gateway extensions are included by default.
*/ - OutputType: string | undefined; + IncludeExtensions?: boolean; /** *The name of the API stage to export. If you don't specify this property, a representation of the latest API configuration is exported.
@@ -2625,14 +2734,19 @@ export interface ExportApiRequest { ApiId: string | undefined; /** - *Specifies whether to include API Gateway extensions in the exported API definition. API Gateway extensions are included by default.
+ *The version of the API specification to use. OAS30, for OpenAPI 3.0, is the only supported value.
*/ - IncludeExtensions?: boolean; + Specification: string | undefined; /** - *The version of the API specification to use. OAS30, for OpenAPI 3.0, is the only supported value.
+ *The output type of the exported definition file. Valid values are JSON and YAML.
*/ - Specification: string | undefined; + OutputType: string | undefined; + + /** + *The version of the API Gateway export algorithm. API Gateway uses the latest version by default. Currently, the only supported version is 1.0.
+ */ + ExportVersion?: string; } export namespace ExportApiRequest { @@ -2668,11 +2782,6 @@ export namespace GetApiRequest { } export interface GetApiResponse { - /** - *The validation information during API import. This may include particular properties of your OpenAPI definition which are ignored during import. Supported only for HTTP APIs.
- */ - ImportInfo?: string[]; - /** *The description of the API.
*/ @@ -2684,59 +2793,74 @@ export interface GetApiResponse { RouteSelectionExpression?: string; /** - *The API protocol.
+ *Specifies whether an API is managed by API Gateway. You can't update or delete a managed API by using API Gateway. A managed API can be deleted only through the tooling or service that created it.
*/ - ProtocolType?: ProtocolType | string; + ApiGatewayManaged?: boolean; /** - *Avoid validating models when creating a deployment. Supported only for WebSocket APIs.
+ *A collection of tags associated with the API.
*/ - DisableSchemaValidation?: boolean; + Tags?: { [key: string]: string }; /** - *The name of the API.
+ *An API key selection expression. Supported only for WebSocket APIs. See API Key Selection Expressions.
*/ - Name?: string; + ApiKeySelectionExpression?: string; /** - *The URI of the API, of the form {api-id}.execute-api.{region}.amazonaws.com. The stage name is typically appended to this URI to form a complete path to a deployed API stage.
+ *The API ID.
*/ - ApiEndpoint?: string; + ApiId?: string; + + /** + *The warning messages reported when failonwarnings is turned on during API import.
+ */ + Warnings?: string[]; /** *The timestamp when the API was created.
*/ CreatedDate?: Date; + /** + *The URI of the API, of the form {api-id}.execute-api.{region}.amazonaws.com. The stage name is typically appended to this URI to form a complete path to a deployed API stage.
+ */ + ApiEndpoint?: string; + /** *A version identifier for the API.
*/ Version?: string; + /** + *The API protocol.
+ */ + ProtocolType?: ProtocolType | string; + /** *A CORS configuration. Supported only for HTTP APIs.
*/ CorsConfiguration?: Cors; /** - *The API ID.
+ *Specifies whether clients can invoke your API by using the default execute-api endpoint. By default, clients can invoke your API with the default https://{api_id}.execute-api.{region}.amazonaws.com endpoint. To require that clients use a custom domain name to invoke your API, disable the default endpoint.
*/ - ApiId?: string; + DisableExecuteApiEndpoint?: boolean; /** - *A collection of tags associated with the API.
+ *The validation information during API import. This may include particular properties of your OpenAPI definition which are ignored during import. Supported only for HTTP APIs.
*/ - Tags?: { [key: string]: string }; + ImportInfo?: string[]; /** - *The warning messages reported when failonwarnings is turned on during API import.
+ *The name of the API.
*/ - Warnings?: string[]; + Name?: string; /** - *An API key selection expression. Supported only for WebSocket APIs. See API Key Selection Expressions.
+ *Avoid validating models when creating a deployment. Supported only for WebSocket APIs.
*/ - ApiKeySelectionExpression?: string; + DisableSchemaValidation?: boolean; } export namespace GetApiResponse { @@ -2747,14 +2871,14 @@ export namespace GetApiResponse { export interface GetApiMappingRequest { /** - *The domain name.
+ *The API mapping identifier.
*/ - DomainName: string | undefined; + ApiMappingId: string | undefined; /** - *The API mapping identifier.
+ *The domain name.
*/ - ApiMappingId: string | undefined; + DomainName: string | undefined; } export namespace GetApiMappingRequest { @@ -2765,24 +2889,24 @@ export namespace GetApiMappingRequest { export interface GetApiMappingResponse { /** - *The API mapping identifier.
+ *The API identifier.
*/ - ApiMappingId?: string; + ApiId?: string; /** - *The API identifier.
+ *The API stage.
*/ - ApiId?: string; + Stage?: string; /** - *The API mapping key.
+ *The API mapping identifier.
*/ - ApiMappingKey?: string; + ApiMappingId?: string; /** - *The API stage.
+ *The API mapping key.
*/ - Stage?: string; + ApiMappingKey?: string; } export namespace GetApiMappingResponse { @@ -2798,14 +2922,14 @@ export interface GetApiMappingsRequest { NextToken?: string; /** - *The maximum number of elements to be returned for this resource.
+ *The domain name.
*/ - MaxResults?: string; + DomainName: string | undefined; /** - *The domain name.
+ *The maximum number of elements to be returned for this resource.
*/ - DomainName: string | undefined; + MaxResults?: string; } export namespace GetApiMappingsRequest { @@ -2852,14 +2976,14 @@ export namespace GetApisRequest { export interface GetApisResponse { /** - *The elements from this collection.
+ *The next page of elements from this collection. Not valid for the last element of the collection.
*/ - Items?: Api[]; + NextToken?: string; /** - *The next page of elements from this collection. Not valid for the last element of the collection.
+ *The elements from this collection.
*/ - NextToken?: string; + Items?: Api[]; } export namespace GetApisResponse { @@ -2886,52 +3010,62 @@ export namespace GetAuthorizerRequest { }); } -export interface GetAuthorizerResponse { +export interface GetAuthorizerResponse { + /** + *The authorizer type. Specify REQUEST for a Lambda function using incoming request parameters. Specify JWT to use JSON Web Tokens (supported only for HTTP APIs).
+ */ + AuthorizerType?: AuthorizerType | string; + + /** + *Specifies the required credentials as an IAM role for API Gateway to invoke the authorizer. To specify an IAM role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To use resource-based permissions on the Lambda function, don't specify this parameter. Supported only for REQUEST authorizers.
+ */ + AuthorizerCredentialsArn?: string; + /** - *The name of the authorizer.
+ *The validation expression does not apply to the REQUEST authorizer.
*/ - Name?: string; + IdentityValidationExpression?: string; /** - *Specifies the required credentials as an IAM role for API Gateway to invoke the authorizer. To specify an IAM role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To use resource-based permissions on the Lambda function, specify null. Supported only for REQUEST authorizers.
+ *Specifies whether a Lambda authorizer returns a response in a simple format. If enabled, the Lambda authorizer can return a boolean value instead of an IAM policy. Supported only for HTTP APIs. To learn more, see Working with AWS Lambda authorizers for HTTP APIs
*/ - AuthorizerCredentialsArn?: string; + EnableSimpleResponses?: boolean; /** - *The authorizer's Uniform Resource Identifier (URI). ForREQUEST authorizers, this must be a well-formed Lambda function URI, for example, arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:
The name of the authorizer.
*/ - AuthorizerUri?: string; + Name?: string; /** - *The authorizer identifier.
+ *Represents the configuration of a JWT authorizer. Required for the JWT authorizer type. Supported only for HTTP APIs.
*/ - AuthorizerId?: string; + JwtConfiguration?: JWTConfiguration; /** - *The validation expression does not apply to the REQUEST authorizer.
+ *Specifies the format of the payload sent to an HTTP API Lambda authorizer. Required for HTTP API Lambda authorizers. Supported values are 1.0 and 2.0. To learn more, see Working with AWS Lambda authorizers for HTTP APIs.
*/ - IdentityValidationExpression?: string; + AuthorizerPayloadFormatVersion?: string; /** - *Authorizer caching is not currently supported. Don't specify this value for authorizers.
+ *The authorizer's Uniform Resource Identifier (URI). For REQUEST authorizers, this must be a well-formed Lambda function URI, for example, arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:
The identity source for which authorization is requested.
For a REQUEST authorizer, this is optional. The value is a set of one or more mapping expressions of the specified request parameters. Currently, the identity source can be headers, query string parameters, stage variables, and context parameters. For example, if an Auth header and a Name query string parameter are defined as identity sources, this value is route.request.header.Auth, route.request.querystring.Name. These parameters will be used to perform runtime validation for Lambda-based authorizers by verifying all of the identity-related request parameters are present in the request, not null, and non-empty. Only when this is true does the authorizer invoke the authorizer Lambda function. Otherwise, it returns a 401 Unauthorized response without calling the Lambda function.
For JWT, a single entry that specifies where to extract the JSON Web Token (JWT) from inbound requests. Currently only header-based and query parameter-based selections are supported, for example "$request.header.Authorization".
+ *The time to live (TTL) for cached authorizer results, in seconds. If it equals 0, authorization caching is disabled. If it is greater than 0, API Gateway caches authorizer responses. The maximum value is 3600, or 1 hour. Supported only for HTTP API Lambda authorizers.
*/ - IdentitySource?: string[]; + AuthorizerResultTtlInSeconds?: number; /** - *The authorizer type. For WebSocket APIs, specify REQUEST for a Lambda function using incoming request parameters. For HTTP APIs, specify JWT to use JSON Web Tokens.
+ *The identity source for which authorization is requested.
For a REQUEST authorizer, this is optional. The value is a set of one or more mapping expressions of the specified request parameters. The identity source can be headers, query string parameters, stage variables, and context parameters. For example, if an Auth header and a Name query string parameter are defined as identity sources, this value is route.request.header.Auth, route.request.querystring.Name for WebSocket APIs. For HTTP APIs, use selection expressions prefixed with $, for example, $request.header.Auth, $request.querystring.Name. These parameters are used to perform runtime validation for Lambda-based authorizers by verifying all of the identity-related request parameters are present in the request, not null, and non-empty. Only when this is true does the authorizer invoke the authorizer Lambda function. Otherwise, it returns a 401 Unauthorized response without calling the Lambda function. For HTTP APIs, identity sources are also used as the cache key when caching is enabled. To learn more, see Working with AWS Lambda authorizers for HTTP APIs.
For JWT, a single entry that specifies where to extract the JSON Web Token (JWT) from inbound requests. Currently only header-based and query parameter-based selections are supported, for example $request.header.Authorization.
*/ - AuthorizerType?: AuthorizerType | string; + IdentitySource?: string[]; /** - *Represents the configuration of a JWT authorizer. Required for the JWT authorizer type. Supported only for HTTP APIs.
+ *The authorizer identifier.
*/ - JwtConfiguration?: JWTConfiguration; + AuthorizerId?: string; } export namespace GetAuthorizerResponse { @@ -2942,14 +3076,14 @@ export namespace GetAuthorizerResponse { export interface GetAuthorizersRequest { /** - *The maximum number of elements to be returned for this resource.
+ *The next page of elements from this collection. Not valid for the last element of the collection.
*/ - MaxResults?: string; + NextToken?: string; /** - *The next page of elements from this collection. Not valid for the last element of the collection.
+ *The maximum number of elements to be returned for this resource.
*/ - NextToken?: string; + MaxResults?: string; /** *The API identifier.
@@ -3000,35 +3134,35 @@ export namespace GetDeploymentRequest { } export interface GetDeploymentResponse { - /** - *The identifier for the deployment.
- */ - DeploymentId?: string; - /** *The date and time when the Deployment resource was created.
*/ CreatedDate?: Date; /** - *The status of the deployment: PENDING, FAILED, or SUCCEEDED.
+ *Specifies whether a deployment was automatically released.
*/ - DeploymentStatus?: DeploymentStatus | string; + AutoDeployed?: boolean; /** - *Specifies whether a deployment was automatically released.
+ *The identifier for the deployment.
*/ - AutoDeployed?: boolean; + DeploymentId?: string; /** - *May contain additional feedback on the status of an API deployment.
+ *The status of the deployment: PENDING, FAILED, or SUCCEEDED.
*/ - DeploymentStatusMessage?: string; + DeploymentStatus?: DeploymentStatus | string; /** *The description for the deployment.
*/ Description?: string; + + /** + *May contain additional feedback on the status of an API deployment.
+ */ + DeploymentStatusMessage?: string; } export namespace GetDeploymentResponse { @@ -3039,9 +3173,9 @@ export namespace GetDeploymentResponse { export interface GetDeploymentsRequest { /** - *The next page of elements from this collection. Not valid for the last element of the collection.
+ *The API identifier.
*/ - NextToken?: string; + ApiId: string | undefined; /** *The maximum number of elements to be returned for this resource.
@@ -3049,9 +3183,9 @@ export interface GetDeploymentsRequest { MaxResults?: string; /** - *The API identifier.
+ *The next page of elements from this collection. Not valid for the last element of the collection.
*/ - ApiId: string | undefined; + NextToken?: string; } export namespace GetDeploymentsRequest { @@ -3103,14 +3237,19 @@ export interface GetDomainNameResponse { DomainNameConfigurations?: DomainNameConfiguration[]; /** - *The name of the DomainName resource.
+ *The mutual TLS authentication configuration for a custom domain name.
*/ - DomainName?: string; + MutualTlsAuthentication?: MutualTlsAuthentication; /** *The API mapping selection expression.
*/ ApiMappingSelectionExpression?: string; + + /** + *The name of the DomainName resource.
+ */ + DomainName?: string; } export namespace GetDomainNameResponse { @@ -3139,14 +3278,14 @@ export namespace GetDomainNamesRequest { export interface GetDomainNamesResponse { /** - *The elements from this collection.
+ *The next page of elements from this collection. Not valid for the last element of the collection.
*/ - Items?: DomainName[]; + NextToken?: string; /** - *The next page of elements from this collection. Not valid for the last element of the collection.
+ *The elements from this collection.
*/ - NextToken?: string; + Items?: DomainName[]; } export namespace GetDomainNamesResponse { @@ -3157,14 +3296,14 @@ export namespace GetDomainNamesResponse { export interface GetIntegrationRequest { /** - *The integration ID.
+ *The API identifier.
*/ - IntegrationId: string | undefined; + ApiId: string | undefined; /** - *The API identifier.
+ *The integration ID.
*/ - ApiId: string | undefined; + IntegrationId: string | undefined; } export namespace GetIntegrationRequest { @@ -3175,24 +3314,20 @@ export namespace GetIntegrationRequest { export interface GetIntegrationResult { /** - *The integration type of an integration. One of the following:
AWS: for integrating the route or method request with an AWS service action, including the Lambda function-invoking action. With the Lambda function-invoking action, this is referred to as the Lambda custom integration. With any other AWS service action, this is known as AWS integration. Supported only for WebSocket APIs.
AWS_PROXY: for integrating the route or method request with the Lambda function-invoking action with the client request passed through as-is. This integration is also referred to as Lambda proxy integration.
HTTP: for integrating the route or method request with an HTTP endpoint. This integration is also referred to as the HTTP custom integration. Supported only for WebSocket APIs.
HTTP_PROXY: for integrating the route or method request with an HTTP endpoint, with the client request passed through as-is. This is also referred to as HTTP proxy integration.
MOCK: for integrating the route or method request with API Gateway as a "loopback" endpoint without invoking any backend. Supported only for WebSocket APIs.
- */ - IntegrationType?: IntegrationType | string; - - /** - *Represents the description of an integration.
+ *For WebSocket APIs, a key-value map specifying request parameters that are passed from the method request to the backend. The key is an integration request parameter name and the associated value is a method request parameter value or static value that must be enclosed within single quotes and pre-encoded as required by the backend. The method request parameter value must match the pattern of method.request.
For HTTP APIs, request parameters are a key-value map specifying parameters that are passed to AWS_PROXY integrations with a specified integrationSubtype. You can provide static values, or map request data, stage variables, or context variables that are evaluated at runtime. To learn more, see Working with AWS service integrations for HTTP APIs.
*/ - Description?: string; + RequestParameters?: { [key: string]: string }; /** - *Specifies the pass-through behavior for incoming requests based on the Content-Type header in the request, and the available mapping templates specified as the requestTemplates property on the Integration resource. There are three valid values: WHEN_NO_MATCH, WHEN_NO_TEMPLATES, and NEVER. Supported only for WebSocket APIs.
WHEN_NO_MATCH passes the request body for unmapped content types through to the integration backend without transformation.
NEVER rejects unmapped content types with an HTTP 415 Unsupported Media Type response.
WHEN_NO_TEMPLATES allows pass-through when the integration has no content types mapped to templates. However, if there is at least one content type defined, unmapped content types will be rejected with the same HTTP 415 Unsupported Media Type response.
+ *Specifies whether an integration is managed by API Gateway. If you created an API using using quick create, the resulting integration is managed by API Gateway. You can update a managed integration, but you can't delete it.
*/ - PassthroughBehavior?: PassthroughBehavior | string; + ApiGatewayManaged?: boolean; /** - *Specifies the integration's HTTP method type.
+ *The integration response selection expression for the integration. Supported only for WebSocket APIs. See Integration Response Selection Expressions.
*/ - IntegrationMethod?: string; + IntegrationResponseSelectionExpression?: string; /** *The template selection expression for the integration. Supported only for WebSocket APIs.
@@ -3205,24 +3340,29 @@ export interface GetIntegrationResult { ConnectionType?: ConnectionType | string; /** - *Specifies whether an integration is managed by API Gateway. If you created an API using using quick create, the resulting integration is managed by API Gateway. You can update a managed integration, but you can't delete it.
+ *Represents the identifier of an integration.
*/ - ApiGatewayManaged?: boolean; + IntegrationId?: string; /** - *Custom timeout between 50 and 29,000 milliseconds for WebSocket APIs and between 50 and 30,000 milliseconds for HTTP APIs. The default timeout is 29 seconds for WebSocket APIs and 30 seconds for HTTP APIs.
+ *Specifies the pass-through behavior for incoming requests based on the Content-Type header in the request, and the available mapping templates specified as the requestTemplates property on the Integration resource. There are three valid values: WHEN_NO_MATCH, WHEN_NO_TEMPLATES, and NEVER. Supported only for WebSocket APIs.
WHEN_NO_MATCH passes the request body for unmapped content types through to the integration backend without transformation.
NEVER rejects unmapped content types with an HTTP 415 Unsupported Media Type response.
WHEN_NO_TEMPLATES allows pass-through when the integration has no content types mapped to templates. However, if there is at least one content type defined, unmapped content types will be rejected with the same HTTP 415 Unsupported Media Type response.
*/ - TimeoutInMillis?: number; + PassthroughBehavior?: PassthroughBehavior | string; /** - *Supported only for WebSocket APIs. Specifies how to handle response payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors:
CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded string to the corresponding binary blob.
CONVERT_TO_TEXT: Converts a response payload from a binary blob to a Base64-encoded string.
If this property is not defined, the response payload will be passed through from the integration response to the route response or method response without modification.
+ *Specifies the integration's HTTP method type.
*/ - ContentHandlingStrategy?: ContentHandlingStrategy | string; + IntegrationMethod?: string; /** - *The TLS configuration for a private integration. If you specify a TLS configuration, private integration traffic uses the HTTPS protocol. Supported only for HTTP APIs.
+ *Specifies the format of the payload sent to an integration. Required for HTTP APIs.
*/ - TlsConfig?: TlsConfig; + PayloadFormatVersion?: string; + + /** + *The ID of the VPC link for a private integration. Supported only for HTTP APIs.
+ */ + ConnectionId?: string; /** *Represents a map of Velocity templates that are applied on the request payload based on the value of the Content-Type header sent by the client. The content type value is the key in this map, and the template (as a String) is the value. Supported only for WebSocket APIs.
@@ -3230,14 +3370,14 @@ export interface GetIntegrationResult { RequestTemplates?: { [key: string]: string }; /** - *For a Lambda integration, specify the URI of a Lambda function.
For an HTTP integration, specify a fully-qualified URL.
For an HTTP API private integration, specify the ARN of an Application Load Balancer listener, Network Load Balancer listener, or AWS Cloud Map service. If you specify the ARN of an AWS Cloud Map service, API Gateway uses DiscoverInstances to identify resources. You can use query parameters to target specific resources. To learn more, see DiscoverInstances. For private integrations, all resources must be owned by the same AWS account.
+ *Custom timeout between 50 and 29,000 milliseconds for WebSocket APIs and between 50 and 30,000 milliseconds for HTTP APIs. The default timeout is 29 seconds for WebSocket APIs and 30 seconds for HTTP APIs.
*/ - IntegrationUri?: string; + TimeoutInMillis?: number; /** - *The ID of the VPC link for a private integration. Supported only for HTTP APIs.
+ *For a Lambda integration, specify the URI of a Lambda function.
For an HTTP integration, specify a fully-qualified URL.
For an HTTP API private integration, specify the ARN of an Application Load Balancer listener, Network Load Balancer listener, or AWS Cloud Map service. If you specify the ARN of an AWS Cloud Map service, API Gateway uses DiscoverInstances to identify resources. You can use query parameters to target specific resources. To learn more, see DiscoverInstances. For private integrations, all resources must be owned by the same AWS account.
*/ - ConnectionId?: string; + IntegrationUri?: string; /** *Specifies the credentials required for the integration, if any. For AWS integrations, three options are available. To specify an IAM Role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify the string arn:aws:iam::*:user/*. To use resource-based permissions on supported AWS services, specify null.
@@ -3245,29 +3385,29 @@ export interface GetIntegrationResult { CredentialsArn?: string; /** - *The integration response selection expression for the integration. Supported only for WebSocket APIs. See Integration Response Selection Expressions.
+ *Supported only for HTTP API AWS_PROXY integrations. Specifies the AWS service action to invoke. To learn more, see Integration subtype reference.
*/ - IntegrationResponseSelectionExpression?: string; + IntegrationSubtype?: string; /** - *Represents the identifier of an integration.
+ *The TLS configuration for a private integration. If you specify a TLS configuration, private integration traffic uses the HTTPS protocol. Supported only for HTTP APIs.
*/ - IntegrationId?: string; + TlsConfig?: TlsConfig; /** - *A key-value map specifying request parameters that are passed from the method request to the backend. The key is an integration request parameter name and the associated value is a method request parameter value or static value that must be enclosed within single quotes and pre-encoded as required by the backend. The method request parameter value must match the pattern of method.request.
The integration type of an integration. One of the following:
AWS: for integrating the route or method request with an AWS service action, including the Lambda function-invoking action. With the Lambda function-invoking action, this is referred to as the Lambda custom integration. With any other AWS service action, this is known as AWS integration. Supported only for WebSocket APIs.
AWS_PROXY: for integrating the route or method request with a Lambda function or other AWS service action. This integration is also referred to as a Lambda proxy integration.
HTTP: for integrating the route or method request with an HTTP endpoint. This integration is also referred to as the HTTP custom integration. Supported only for WebSocket APIs.
HTTP_PROXY: for integrating the route or method request with an HTTP endpoint, with the client request passed through as-is. This is also referred to as HTTP proxy integration.
MOCK: for integrating the route or method request with API Gateway as a "loopback" endpoint without invoking any backend. Supported only for WebSocket APIs.
*/ - RequestParameters?: { [key: string]: string }; + IntegrationType?: IntegrationType | string; /** - *Specifies the format of the payload sent to an integration. Required for HTTP APIs.
+ *Supported only for WebSocket APIs. Specifies how to handle response payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors:
CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded string to the corresponding binary blob.
CONVERT_TO_TEXT: Converts a response payload from a binary blob to a Base64-encoded string.
If this property is not defined, the response payload will be passed through from the integration response to the route response or method response without modification.
*/ - PayloadFormatVersion?: string; + ContentHandlingStrategy?: ContentHandlingStrategy | string; + + /** + *Represents the description of an integration.
+ */ + Description?: string; } export namespace GetIntegrationResult { @@ -3283,14 +3423,14 @@ export interface GetIntegrationResponseRequest { ApiId: string | undefined; /** - *The integration ID.
+ *The integration response ID.
*/ - IntegrationId: string | undefined; + IntegrationResponseId: string | undefined; /** - *The integration response ID.
+ *The integration ID.
*/ - IntegrationResponseId: string | undefined; + IntegrationId: string | undefined; } export namespace GetIntegrationResponseRequest { @@ -3300,11 +3440,6 @@ export namespace GetIntegrationResponseRequest { } export interface GetIntegrationResponseResponse { - /** - *The integration response ID.
- */ - IntegrationResponseId?: string; - /** *The collection of response templates for the integration response as a string-to-string map of key-value pairs. Response templates are represented as a key/value map, with a content-type as the key and a template as the value.
*/ @@ -3321,14 +3456,19 @@ export interface GetIntegrationResponseResponse { IntegrationResponseKey?: string; /** - *A key-value map specifying response parameters that are passed to the method response from the backend. The key is a method response header parameter name and the mapped value is an integration response header value, a static value enclosed within a pair of single quotes, or a JSON expression from the integration response body. The mapping key must match the pattern of method.response.header.{name}, where name is a valid and unique header name. The mapped non-static value must match the pattern of integration.response.header.{name} or integration.response.body.{JSON-expression}, where name is a valid and unique response header name and JSON-expression is a valid JSON expression without the $ prefix.
+ *Supported only for WebSocket APIs. Specifies how to handle response payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors:
CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded string to the corresponding binary blob.
CONVERT_TO_TEXT: Converts a response payload from a binary blob to a Base64-encoded string.
If this property is not defined, the response payload will be passed through from the integration response to the route response or method response without modification.
*/ - ResponseParameters?: { [key: string]: string }; + ContentHandlingStrategy?: ContentHandlingStrategy | string; /** - *Supported only for WebSocket APIs. Specifies how to handle response payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors:
CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded string to the corresponding binary blob.
CONVERT_TO_TEXT: Converts a response payload from a binary blob to a Base64-encoded string.
If this property is not defined, the response payload will be passed through from the integration response to the route response or method response without modification.
+ *The integration response ID.
*/ - ContentHandlingStrategy?: ContentHandlingStrategy | string; + IntegrationResponseId?: string; + + /** + *A key-value map specifying response parameters that are passed to the method response from the backend. The key is a method response header parameter name and the mapped value is an integration response header value, a static value enclosed within a pair of single quotes, or a JSON expression from the integration response body. The mapping key must match the pattern of method.response.header.{name}, where name is a valid and unique header name. The mapped non-static value must match the pattern of integration.response.header.{name} or integration.response.body.{JSON-expression}, where name is a valid and unique response header name and JSON-expression is a valid JSON expression without the $ prefix.
+ */ + ResponseParameters?: { [key: string]: string }; } export namespace GetIntegrationResponseResponse { @@ -3343,11 +3483,6 @@ export interface GetIntegrationResponsesRequest { */ NextToken?: string; - /** - *The maximum number of elements to be returned for this resource.
- */ - MaxResults?: string; - /** *The integration ID.
*/ @@ -3357,6 +3492,11 @@ export interface GetIntegrationResponsesRequest { *The API identifier.
*/ ApiId: string | undefined; + + /** + *The maximum number of elements to be returned for this resource.
+ */ + MaxResults?: string; } export namespace GetIntegrationResponsesRequest { @@ -3367,14 +3507,14 @@ export namespace GetIntegrationResponsesRequest { export interface GetIntegrationResponsesResponse { /** - *The elements from this collection.
+ *The next page of elements from this collection. Not valid for the last element of the collection.
*/ - Items?: IntegrationResponse[]; + NextToken?: string; /** - *The next page of elements from this collection. Not valid for the last element of the collection.
+ *The elements from this collection.
*/ - NextToken?: string; + Items?: IntegrationResponse[]; } export namespace GetIntegrationResponsesResponse { @@ -3390,14 +3530,14 @@ export interface GetIntegrationsRequest { ApiId: string | undefined; /** - *The next page of elements from this collection. Not valid for the last element of the collection.
+ *The maximum number of elements to be returned for this resource.
*/ - NextToken?: string; + MaxResults?: string; /** - *The maximum number of elements to be returned for this resource.
+ *The next page of elements from this collection. Not valid for the last element of the collection.
*/ - MaxResults?: string; + NextToken?: string; } export namespace GetIntegrationsRequest { @@ -3449,24 +3589,24 @@ export interface GetModelResponse { Name?: string; /** - *The description of the model.
+ *The content-type for the model, for example, "application/json".
*/ - Description?: string; + ContentType?: string; /** - *The content-type for the model, for example, "application/json".
+ *The model identifier.
*/ - ContentType?: string; + ModelId?: string; /** - *The schema for the model. For application/json models, this should be JSON schema draft 4 model.
+ *The description of the model.
*/ - Schema?: string; + Description?: string; /** - *The model identifier.
+ *The schema for the model. For application/json models, this should be JSON schema draft 4 model.
*/ - ModelId?: string; + Schema?: string; } export namespace GetModelResponse { @@ -3476,6 +3616,11 @@ export namespace GetModelResponse { } export interface GetModelsRequest { + /** + *The API identifier.
+ */ + ApiId: string | undefined; + /** *The maximum number of elements to be returned for this resource.
*/ @@ -3485,11 +3630,6 @@ export interface GetModelsRequest { *The next page of elements from this collection. Not valid for the last element of the collection.
*/ NextToken?: string; - - /** - *The API identifier.
- */ - ApiId: string | undefined; } export namespace GetModelsRequest { @@ -3567,39 +3707,34 @@ export namespace GetRouteRequest { export interface GetRouteResult { /** - *Specifies whether a route is managed by API Gateway. If you created an API using quick create, the $default route is managed by API Gateway. You can't modify the $default route key.
- */ - ApiGatewayManaged?: boolean; - - /** - *The request parameters for the route. Supported only for WebSocket APIs.
+ *Specifies whether an API key is required for this route. Supported only for WebSocket APIs.
*/ - RequestParameters?: { [key: string]: ParameterConstraints }; + ApiKeyRequired?: boolean; /** - *A list of authorization scopes configured on a route. The scopes are used with a JWT authorizer to authorize the method invocation. The authorization works by matching the route scopes against the scopes parsed from the access token in the incoming request. The method invocation is authorized if any route scope matches a claimed scope in the access token. Otherwise, the invocation is not authorized. When the route scope is configured, the client must provide an access token instead of an identity token for authorization purposes.
+ *The authorization type for the route. For WebSocket APIs, valid values are NONE for open access, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda authorizer For HTTP APIs, valid values are NONE for open access, JWT for using JSON Web Tokens, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda authorizer.
*/ - AuthorizationScopes?: string[]; + AuthorizationType?: AuthorizationType | string; /** - *The target for the route.
+ *Specifies whether a route is managed by API Gateway. If you created an API using quick create, the $default route is managed by API Gateway. You can't modify the $default route key.
*/ - Target?: string; + ApiGatewayManaged?: boolean; /** - *The request models for the route. Supported only for WebSocket APIs.
+ *A list of authorization scopes configured on a route. The scopes are used with a JWT authorizer to authorize the method invocation. The authorization works by matching the route scopes against the scopes parsed from the access token in the incoming request. The method invocation is authorized if any route scope matches a claimed scope in the access token. Otherwise, the invocation is not authorized. When the route scope is configured, the client must provide an access token instead of an identity token for authorization purposes.
*/ - RequestModels?: { [key: string]: string }; + AuthorizationScopes?: string[]; /** - *The route ID.
+ *The route response selection expression for the route. Supported only for WebSocket APIs.
*/ - RouteId?: string; + RouteResponseSelectionExpression?: string; /** - *The route response selection expression for the route. Supported only for WebSocket APIs.
+ *The route key for the route.
*/ - RouteResponseSelectionExpression?: string; + RouteKey?: string; /** *The identifier of the Authorizer resource to be associated with this route. The authorizer identifier is generated by API Gateway when you created the authorizer.
@@ -3607,9 +3742,14 @@ export interface GetRouteResult { AuthorizerId?: string; /** - *The route key for the route.
+ *The model selection expression for the route. Supported only for WebSocket APIs.
*/ - RouteKey?: string; + ModelSelectionExpression?: string; + + /** + *The route ID.
+ */ + RouteId?: string; /** *The operation name for the route.
@@ -3617,19 +3757,19 @@ export interface GetRouteResult { OperationName?: string; /** - *Specifies whether an API key is required for this route. Supported only for WebSocket APIs.
+ *The request models for the route. Supported only for WebSocket APIs.
*/ - ApiKeyRequired?: boolean; + RequestModels?: { [key: string]: string }; /** - *The model selection expression for the route. Supported only for WebSocket APIs.
+ *The target for the route.
*/ - ModelSelectionExpression?: string; + Target?: string; /** - *The authorization type for the route. For WebSocket APIs, valid values are NONE for open access, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda authorizer For HTTP APIs, valid values are NONE for open access, or JWT for using JSON Web Tokens.
+ *The request parameters for the route. Supported only for WebSocket APIs.
*/ - AuthorizationType?: AuthorizationType | string; + RequestParameters?: { [key: string]: ParameterConstraints }; } export namespace GetRouteResult { @@ -3639,11 +3779,6 @@ export namespace GetRouteResult { } export interface GetRouteResponseRequest { - /** - *The route response ID.
- */ - RouteResponseId: string | undefined; - /** *The route ID.
*/ @@ -3653,6 +3788,11 @@ export interface GetRouteResponseRequest { *The API identifier.
*/ ApiId: string | undefined; + + /** + *The route response ID.
+ */ + RouteResponseId: string | undefined; } export namespace GetRouteResponseRequest { @@ -3662,11 +3802,6 @@ export namespace GetRouteResponseRequest { } export interface GetRouteResponseResponse { - /** - *Represents the model selection expression of a route response. Supported only for WebSocket APIs.
- */ - ModelSelectionExpression?: string; - /** *Represents the response models of a route response.
*/ @@ -3677,15 +3812,20 @@ export interface GetRouteResponseResponse { */ RouteResponseKey?: string; + /** + *Represents the response parameters of a route response.
+ */ + ResponseParameters?: { [key: string]: ParameterConstraints }; + /** *Represents the identifier of a route response.
*/ RouteResponseId?: string; /** - *Represents the response parameters of a route response.
+ *Represents the model selection expression of a route response. Supported only for WebSocket APIs.
*/ - ResponseParameters?: { [key: string]: ParameterConstraints }; + ModelSelectionExpression?: string; } export namespace GetRouteResponseResponse { @@ -3696,9 +3836,9 @@ export namespace GetRouteResponseResponse { export interface GetRouteResponsesRequest { /** - *The maximum number of elements to be returned for this resource.
+ *The API identifier.
*/ - MaxResults?: string; + ApiId: string | undefined; /** *The route ID.
@@ -3711,9 +3851,9 @@ export interface GetRouteResponsesRequest { NextToken?: string; /** - *The API identifier.
+ *The maximum number of elements to be returned for this resource.
*/ - ApiId: string | undefined; + MaxResults?: string; } export namespace GetRouteResponsesRequest { @@ -3724,14 +3864,14 @@ export namespace GetRouteResponsesRequest { export interface GetRouteResponsesResponse { /** - *The elements from this collection.
+ *The next page of elements from this collection. Not valid for the last element of the collection.
*/ - Items?: RouteResponse[]; + NextToken?: string; /** - *The next page of elements from this collection. Not valid for the last element of the collection.
+ *The elements from this collection.
*/ - NextToken?: string; + Items?: RouteResponse[]; } export namespace GetRouteResponsesResponse { @@ -3742,9 +3882,9 @@ export namespace GetRouteResponsesResponse { export interface GetRoutesRequest { /** - *The API identifier.
+ *The next page of elements from this collection. Not valid for the last element of the collection.
*/ - ApiId: string | undefined; + NextToken?: string; /** *The maximum number of elements to be returned for this resource.
@@ -3752,9 +3892,9 @@ export interface GetRoutesRequest { MaxResults?: string; /** - *The next page of elements from this collection. Not valid for the last element of the collection.
+ *The API identifier.
*/ - NextToken?: string; + ApiId: string | undefined; } export namespace GetRoutesRequest { @@ -3783,14 +3923,14 @@ export namespace GetRoutesResponse { export interface GetStageRequest { /** - *The stage name. Stage names can only contain alphanumeric characters, hyphens, and underscores. Maximum length is 128 characters.
+ *The API identifier.
*/ - StageName: string | undefined; + ApiId: string | undefined; /** - *The API identifier.
+ *The stage name. Stage names can only contain alphanumeric characters, hyphens, and underscores. Maximum length is 128 characters.
*/ - ApiId: string | undefined; + StageName: string | undefined; } export namespace GetStageRequest { @@ -3800,15 +3940,20 @@ export namespace GetStageRequest { } export interface GetStageResponse { + /** + *Route settings for the stage, by routeKey.
+ */ + RouteSettings?: { [key: string]: RouteSettings }; + /** *Specifies whether a stage is managed by API Gateway. If you created an API using quick create, the $default stage is managed by API Gateway. You can't modify the $default stage.
*/ ApiGatewayManaged?: boolean; /** - *Specifies whether updates to an API automatically trigger a new deployment. The default value is false.
+ *The timestamp when the stage was created.
*/ - AutoDeploy?: boolean; + CreatedDate?: Date; /** *The timestamp when the stage was last updated.
@@ -3816,14 +3961,19 @@ export interface GetStageResponse { LastUpdatedDate?: Date; /** - *The description of the stage.
+ *The name of the stage.
*/ - Description?: string; + StageName?: string; /** - *The timestamp when the stage was created.
+ *A map that defines the stage variables for a stage resource. Variable names can have alphanumeric and underscore characters, and the values must match [A-Za-z0-9-._~:/?#&=,]+.
*/ - CreatedDate?: Date; + StageVariables?: { [key: string]: string }; + + /** + *Specifies whether updates to an API automatically trigger a new deployment. The default value is false.
+ */ + AutoDeploy?: boolean; /** *Default route settings for the stage.
@@ -3831,9 +3981,9 @@ export interface GetStageResponse { DefaultRouteSettings?: RouteSettings; /** - *The identifier of the Deployment that the Stage is associated with. Can't be updated if autoDeploy is enabled.
+ *Settings for logging access in this stage.
*/ - DeploymentId?: string; + AccessLogSettings?: AccessLogSettings; /** *Describes the status of the last deployment of a stage. Supported only for stages with autoDeploy enabled.
@@ -3841,14 +3991,14 @@ export interface GetStageResponse { LastDeploymentStatusMessage?: string; /** - *Settings for logging access in this stage.
+ *The description of the stage.
*/ - AccessLogSettings?: AccessLogSettings; + Description?: string; /** - *The collection of tags. Each tag element is associated with a given resource.
+ *The identifier of the Deployment that the Stage is associated with. Can't be updated if autoDeploy is enabled.
*/ - Tags?: { [key: string]: string }; + DeploymentId?: string; /** *The identifier of a client certificate for a Stage. Supported only for WebSocket APIs.
@@ -3856,19 +4006,9 @@ export interface GetStageResponse { ClientCertificateId?: string; /** - *The name of the stage.
- */ - StageName?: string; - - /** - *A map that defines the stage variables for a stage resource. Variable names can have alphanumeric and underscore characters, and the values must match [A-Za-z0-9-._~:/?#&=,]+.
- */ - StageVariables?: { [key: string]: string }; - - /** - *Route settings for the stage, by routeKey.
+ *The collection of tags. Each tag element is associated with a given resource.
*/ - RouteSettings?: { [key: string]: RouteSettings }; + Tags?: { [key: string]: string }; } export namespace GetStageResponse { @@ -3879,14 +4019,14 @@ export namespace GetStageResponse { export interface GetStagesRequest { /** - *The API identifier.
+ *The maximum number of elements to be returned for this resource.
*/ - ApiId: string | undefined; + MaxResults?: string; /** - *The maximum number of elements to be returned for this resource.
+ *The API identifier.
*/ - MaxResults?: string; + ApiId: string | undefined; /** *The next page of elements from this collection. Not valid for the last element of the collection.
@@ -3959,19 +4099,19 @@ export namespace GetVpcLinkRequest { export interface GetVpcLinkResponse { /** - *A list of security group IDs for the VPC link.
+ *The ID of the VPC link.
*/ - SecurityGroupIds?: string[]; + VpcLinkId?: string; /** - *A list of subnet IDs to include in the VPC link.
+ *The version of the VPC link.
*/ - SubnetIds?: string[]; + VpcLinkVersion?: VpcLinkVersion | string; /** - *The name of the VPC link.
+ *The timestamp when the VPC link was created.
*/ - Name?: string; + CreatedDate?: Date; /** *A message summarizing the cause of the status of the VPC link.
@@ -3979,29 +4119,29 @@ export interface GetVpcLinkResponse { VpcLinkStatusMessage?: string; /** - *The ID of the VPC link.
+ *A list of security group IDs for the VPC link.
*/ - VpcLinkId?: string; + SecurityGroupIds?: string[]; /** - *Tags for the VPC link.
+ *A list of subnet IDs to include in the VPC link.
*/ - Tags?: { [key: string]: string }; + SubnetIds?: string[]; /** - *The status of the VPC link.
+ *The name of the VPC link.
*/ - VpcLinkStatus?: VpcLinkStatus | string; + Name?: string; /** - *The timestamp when the VPC link was created.
+ *Tags for the VPC link.
*/ - CreatedDate?: Date; + Tags?: { [key: string]: string }; /** - *The version of the VPC link.
+ *The status of the VPC link.
*/ - VpcLinkVersion?: VpcLinkVersion | string; + VpcLinkStatus?: VpcLinkStatus | string; } export namespace GetVpcLinkResponse { @@ -4030,14 +4170,14 @@ export namespace GetVpcLinksRequest { export interface GetVpcLinksResponse { /** - *A collection of VPC links.
+ *The next page of elements from this collection. Not valid for the last element of the collection.
*/ - Items?: VpcLink[]; + NextToken?: string; /** - *The next page of elements from this collection. Not valid for the last element of the collection.
+ *A collection of VPC links.
*/ - NextToken?: string; + Items?: VpcLink[]; } export namespace GetVpcLinksResponse { @@ -4050,11 +4190,6 @@ export namespace GetVpcLinksResponse { * */ export interface ImportApiRequest { - /** - *Specifies how to interpret the base path of the API during import. Valid values are ignore, prepend, and split. The default value is ignore. To learn more, see Set the OpenAPI basePath Property. Supported only for HTTP APIs.
- */ - Basepath?: string; - /** *The OpenAPI definition. Supported only for HTTP APIs.
*/ @@ -4064,6 +4199,11 @@ export interface ImportApiRequest { *Specifies whether to rollback the API creation when a warning is encountered. By default, API creation continues if a warning is encountered.
*/ FailOnWarnings?: boolean; + + /** + *Specifies how to interpret the base path of the API during import. Valid values are ignore, prepend, and split. The default value is ignore. To learn more, see Set the OpenAPI basePath Property. Supported only for HTTP APIs.
+ */ + Basepath?: string; } export namespace ImportApiRequest { @@ -4074,74 +4214,84 @@ export namespace ImportApiRequest { export interface ImportApiResponse { /** - *An API key selection expression. Supported only for WebSocket APIs. See API Key Selection Expressions.
+ *The name of the API.
*/ - ApiKeySelectionExpression?: string; + Name?: string; /** - *The name of the API.
+ *The timestamp when the API was created.
*/ - Name?: string; + CreatedDate?: Date; /** - *A version identifier for the API.
+ *Specifies whether an API is managed by API Gateway. You can't update or delete a managed API by using API Gateway. A managed API can be deleted only through the tooling or service that created it.
*/ - Version?: string; + ApiGatewayManaged?: boolean; /** - *The validation information during API import. This may include particular properties of your OpenAPI definition which are ignored during import. Supported only for HTTP APIs.
+ *The API protocol.
*/ - ImportInfo?: string[]; + ProtocolType?: ProtocolType | string; /** - *The warning messages reported when failonwarnings is turned on during API import.
+ *The route selection expression for the API. For HTTP APIs, the routeSelectionExpression must be ${request.method} ${request.path}. If not provided, this will be the default for HTTP APIs. This property is required for WebSocket APIs.
*/ - Warnings?: string[]; + RouteSelectionExpression?: string; /** - *The timestamp when the API was created.
+ *The URI of the API, of the form {api-id}.execute-api.{region}.amazonaws.com. The stage name is typically appended to this URI to form a complete path to a deployed API stage.
*/ - CreatedDate?: Date; + ApiEndpoint?: string; /** - *A CORS configuration. Supported only for HTTP APIs.
+ *Avoid validating models when creating a deployment. Supported only for WebSocket APIs.
*/ - CorsConfiguration?: Cors; + DisableSchemaValidation?: boolean; /** - *A collection of tags associated with the API.
+ *The validation information during API import. This may include particular properties of your OpenAPI definition which are ignored during import. Supported only for HTTP APIs.
*/ - Tags?: { [key: string]: string }; + ImportInfo?: string[]; /** - *The API ID.
+ *The description of the API.
*/ - ApiId?: string; + Description?: string; /** - *Avoid validating models when creating a deployment. Supported only for WebSocket APIs.
+ *Specifies whether clients can invoke your API by using the default execute-api endpoint. By default, clients can invoke your API with the default https://{api_id}.execute-api.{region}.amazonaws.com endpoint. To require that clients use a custom domain name to invoke your API, disable the default endpoint.
*/ - DisableSchemaValidation?: boolean; + DisableExecuteApiEndpoint?: boolean; /** - *The URI of the API, of the form {api-id}.execute-api.{region}.amazonaws.com. The stage name is typically appended to this URI to form a complete path to a deployed API stage.
+ *An API key selection expression. Supported only for WebSocket APIs. See API Key Selection Expressions.
*/ - ApiEndpoint?: string; + ApiKeySelectionExpression?: string; /** - *The description of the API.
+ *The warning messages reported when failonwarnings is turned on during API import.
*/ - Description?: string; + Warnings?: string[]; /** - *The route selection expression for the API. For HTTP APIs, the routeSelectionExpression must be ${request.method} ${request.path}. If not provided, this will be the default for HTTP APIs. This property is required for WebSocket APIs.
+ *The API ID.
*/ - RouteSelectionExpression?: string; + ApiId?: string; /** - *The API protocol.
+ *A CORS configuration. Supported only for HTTP APIs.
*/ - ProtocolType?: ProtocolType | string; + CorsConfiguration?: Cors; + + /** + *A collection of tags associated with the API.
+ */ + Tags?: { [key: string]: string }; + + /** + *A version identifier for the API.
+ */ + Version?: string; } export namespace ImportApiResponse { @@ -4155,14 +4305,14 @@ export namespace ImportApiResponse { */ export interface ReimportApiRequest { /** - *The OpenAPI definition. Supported only for HTTP APIs.
+ *Specifies whether to rollback the API creation when a warning is encountered. By default, API creation continues if a warning is encountered.
*/ - Body: string | undefined; + FailOnWarnings?: boolean; /** - *Specifies whether to rollback the API creation when a warning is encountered. By default, API creation continues if a warning is encountered.
+ *The API identifier.
*/ - FailOnWarnings?: boolean; + ApiId: string | undefined; /** *Specifies how to interpret the base path of the API during import. Valid values are ignore, prepend, and split. The default value is ignore. To learn more, see Set the OpenAPI basePath Property. Supported only for HTTP APIs.
@@ -4170,9 +4320,9 @@ export interface ReimportApiRequest { Basepath?: string; /** - *The API identifier.
+ *The OpenAPI definition. Supported only for HTTP APIs.
*/ - ApiId: string | undefined; + Body: string | undefined; } export namespace ReimportApiRequest { @@ -4183,9 +4333,9 @@ export namespace ReimportApiRequest { export interface ReimportApiResponse { /** - *The validation information during API import. This may include particular properties of your OpenAPI definition which are ignored during import. Supported only for HTTP APIs.
+ *An API key selection expression. Supported only for WebSocket APIs. See API Key Selection Expressions.
*/ - ImportInfo?: string[]; + ApiKeySelectionExpression?: string; /** *Avoid validating models when creating a deployment. Supported only for WebSocket APIs.
@@ -4193,44 +4343,44 @@ export interface ReimportApiResponse { DisableSchemaValidation?: boolean; /** - *A collection of tags associated with the API.
+ *The description of the API.
*/ - Tags?: { [key: string]: string }; + Description?: string; /** - *An API key selection expression. Supported only for WebSocket APIs. See API Key Selection Expressions.
+ *Specifies whether clients can invoke your API by using the default execute-api endpoint. By default, clients can invoke your API with the default https://{api_id}.execute-api.{region}.amazonaws.com endpoint. To require that clients use a custom domain name to invoke your API, disable the default endpoint.
*/ - ApiKeySelectionExpression?: string; + DisableExecuteApiEndpoint?: boolean; /** - *The API ID.
+ *The validation information during API import. This may include particular properties of your OpenAPI definition which are ignored during import. Supported only for HTTP APIs.
*/ - ApiId?: string; + ImportInfo?: string[]; /** - *The description of the API.
+ *Specifies whether an API is managed by API Gateway. You can't update or delete a managed API by using API Gateway. A managed API can be deleted only through the tooling or service that created it.
*/ - Description?: string; + ApiGatewayManaged?: boolean; /** - *The route selection expression for the API. For HTTP APIs, the routeSelectionExpression must be ${request.method} ${request.path}. If not provided, this will be the default for HTTP APIs. This property is required for WebSocket APIs.
+ *A collection of tags associated with the API.
*/ - RouteSelectionExpression?: string; + Tags?: { [key: string]: string }; /** - *The API protocol.
+ *The timestamp when the API was created.
*/ - ProtocolType?: ProtocolType | string; + CreatedDate?: Date; /** - *The timestamp when the API was created.
+ *A version identifier for the API.
*/ - CreatedDate?: Date; + Version?: string; /** - *The URI of the API, of the form {api-id}.execute-api.{region}.amazonaws.com. The stage name is typically appended to this URI to form a complete path to a deployed API stage.
+ *A CORS configuration. Supported only for HTTP APIs.
*/ - ApiEndpoint?: string; + CorsConfiguration?: Cors; /** *The warning messages reported when failonwarnings is turned on during API import.
@@ -4243,14 +4393,24 @@ export interface ReimportApiResponse { Name?: string; /** - *A CORS configuration. Supported only for HTTP APIs.
+ *The API ID.
*/ - CorsConfiguration?: Cors; + ApiId?: string; /** - *A version identifier for the API.
+ *The API protocol.
*/ - Version?: string; + ProtocolType?: ProtocolType | string; + + /** + *The route selection expression for the API. For HTTP APIs, the routeSelectionExpression must be ${request.method} ${request.path}. If not provided, this will be the default for HTTP APIs. This property is required for WebSocket APIs.
+ */ + RouteSelectionExpression?: string; + + /** + *The URI of the API, of the form {api-id}.execute-api.{region}.amazonaws.com. The stage name is typically appended to this URI to form a complete path to a deployed API stage.
+ */ + ApiEndpoint?: string; } export namespace ReimportApiResponse { @@ -4259,19 +4419,37 @@ export namespace ReimportApiResponse { }); } +export interface ResetAuthorizersCacheRequest { + /** + *The API identifier.
+ */ + ApiId: string | undefined; + + /** + *The stage name. Stage names can contain only alphanumeric characters, hyphens, and underscores, or be $default. Maximum length is 128 characters.
+ */ + StageName: string | undefined; +} + +export namespace ResetAuthorizersCacheRequest { + export const filterSensitiveLog = (obj: ResetAuthorizersCacheRequest): any => ({ + ...obj, + }); +} + /** *Creates a new Tag resource to represent a tag.
*/ export interface TagResourceRequest { /** - *The resource ARN for the tag.
+ *The collection of tags. Each tag element is associated with a given resource.
*/ - ResourceArn: string | undefined; + Tags?: { [key: string]: string }; /** - *The collection of tags. Each tag element is associated with a given resource.
+ *The resource ARN for the tag.
*/ - Tags?: { [key: string]: string }; + ResourceArn: string | undefined; } export namespace TagResourceRequest { @@ -4311,44 +4489,44 @@ export namespace UntagResourceRequest { */ export interface UpdateApiRequest { /** - *A CORS configuration. Supported only for HTTP APIs.
+ *An API key selection expression. Supported only for WebSocket APIs. See API Key Selection Expressions.
*/ - CorsConfiguration?: Cors; + ApiKeySelectionExpression?: string; /** - *This property is part of quick create. It specifies the credentials required for the integration, if any. For a Lambda integration, three options are available. To specify an IAM Role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify arn:aws:iam::*:user/*. To use resource-based permissions on supported AWS services, specify null. Currently, this property is not used for HTTP integrations. If provided, this value replaces the credentials associated with the quick create integration. Supported only for HTTP APIs.
+ *This property is part of quick create. For HTTP integrations, specify a fully qualified URL. For Lambda integrations, specify a function ARN. The type of the integration will be HTTP_PROXY or AWS_PROXY, respectively. The value provided updates the integration URI and integration type. You can update a quick-created target, but you can't remove it from an API. Supported only for HTTP APIs.
*/ - CredentialsArn?: string; + Target?: string; /** - *A version identifier for the API.
+ *The route selection expression for the API. For HTTP APIs, the routeSelectionExpression must be ${request.method} ${request.path}. If not provided, this will be the default for HTTP APIs. This property is required for WebSocket APIs.
*/ - Version?: string; + RouteSelectionExpression?: string; /** - *The description of the API.
+ *The API identifier.
*/ - Description?: string; + ApiId: string | undefined; /** - *This property is part of quick create. If not specified, the route created using quick create is kept. Otherwise, this value replaces the route key of the quick create route. Additional routes may still be added after the API is updated. Supported only for HTTP APIs.
+ *A CORS configuration. Supported only for HTTP APIs.
*/ - RouteKey?: string; + CorsConfiguration?: Cors; /** - *This property is part of quick create. For HTTP integrations, specify a fully qualified URL. For Lambda integrations, specify a function ARN. The type of the integration will be HTTP_PROXY or AWS_PROXY, respectively. The value provided updates the integration URI and integration type. You can update a quick-created target, but you can't remove it from an API. Supported only for HTTP APIs.
+ *This property is part of quick create. It specifies the credentials required for the integration, if any. For a Lambda integration, three options are available. To specify an IAM Role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify arn:aws:iam::*:user/*. To use resource-based permissions on supported AWS services, specify null. Currently, this property is not used for HTTP integrations. If provided, this value replaces the credentials associated with the quick create integration. Supported only for HTTP APIs.
*/ - Target?: string; + CredentialsArn?: string; /** - *The route selection expression for the API. For HTTP APIs, the routeSelectionExpression must be ${request.method} ${request.path}. If not provided, this will be the default for HTTP APIs. This property is required for WebSocket APIs.
+ *A version identifier for the API.
*/ - RouteSelectionExpression?: string; + Version?: string; /** - *An API key selection expression. Supported only for WebSocket APIs. See API Key Selection Expressions.
+ *This property is part of quick create. If not specified, the route created using quick create is kept. Otherwise, this value replaces the route key of the quick create route. Additional routes may still be added after the API is updated. Supported only for HTTP APIs.
*/ - ApiKeySelectionExpression?: string; + RouteKey?: string; /** *The name of the API.
@@ -4361,9 +4539,14 @@ export interface UpdateApiRequest { DisableSchemaValidation?: boolean; /** - *The API identifier.
+ *Specifies whether clients can invoke your API by using the default execute-api endpoint. By default, clients can invoke your API with the default https://{api_id}.execute-api.{region}.amazonaws.com endpoint. To require that clients use a custom domain name to invoke your API, disable the default endpoint.
*/ - ApiId: string | undefined; + DisableExecuteApiEndpoint?: boolean; + + /** + *The description of the API.
+ */ + Description?: string; } export namespace UpdateApiRequest { @@ -4374,44 +4557,44 @@ export namespace UpdateApiRequest { export interface UpdateApiResponse { /** - *The description of the API.
+ *An API key selection expression. Supported only for WebSocket APIs. See API Key Selection Expressions.
*/ - Description?: string; + ApiKeySelectionExpression?: string; /** - *An API key selection expression. Supported only for WebSocket APIs. See API Key Selection Expressions.
+ *The route selection expression for the API. For HTTP APIs, the routeSelectionExpression must be ${request.method} ${request.path}. If not provided, this will be the default for HTTP APIs. This property is required for WebSocket APIs.
*/ - ApiKeySelectionExpression?: string; + RouteSelectionExpression?: string; /** - *The validation information during API import. This may include particular properties of your OpenAPI definition which are ignored during import. Supported only for HTTP APIs.
+ *Specifies whether an API is managed by API Gateway. You can't update or delete a managed API by using API Gateway. A managed API can be deleted only through the tooling or service that created it.
*/ - ImportInfo?: string[]; + ApiGatewayManaged?: boolean; /** - *Avoid validating models when creating a deployment. Supported only for WebSocket APIs.
+ *Specifies whether clients can invoke your API by using the default execute-api endpoint. By default, clients can invoke your API with the default https://{api_id}.execute-api.{region}.amazonaws.com endpoint. To require that clients use a custom domain name to invoke your API, disable the default endpoint.
*/ - DisableSchemaValidation?: boolean; + DisableExecuteApiEndpoint?: boolean; /** - *The URI of the API, of the form {api-id}.execute-api.{region}.amazonaws.com. The stage name is typically appended to this URI to form a complete path to a deployed API stage.
+ *The description of the API.
*/ - ApiEndpoint?: string; + Description?: string; /** - *The API protocol.
+ *The timestamp when the API was created.
*/ - ProtocolType?: ProtocolType | string; + CreatedDate?: Date; /** - *The route selection expression for the API. For HTTP APIs, the routeSelectionExpression must be ${request.method} ${request.path}. If not provided, this will be the default for HTTP APIs. This property is required for WebSocket APIs.
+ *A version identifier for the API.
*/ - RouteSelectionExpression?: string; + Version?: string; /** - *A CORS configuration. Supported only for HTTP APIs.
+ *A collection of tags associated with the API.
*/ - CorsConfiguration?: Cors; + Tags?: { [key: string]: string }; /** *The warning messages reported when failonwarnings is turned on during API import.
@@ -4419,29 +4602,39 @@ export interface UpdateApiResponse { Warnings?: string[]; /** - *The name of the API.
+ *The API ID.
*/ - Name?: string; + ApiId?: string; /** - *The API ID.
+ *The API protocol.
*/ - ApiId?: string; + ProtocolType?: ProtocolType | string; /** - *A collection of tags associated with the API.
+ *A CORS configuration. Supported only for HTTP APIs.
*/ - Tags?: { [key: string]: string }; + CorsConfiguration?: Cors; /** - *The timestamp when the API was created.
+ *The name of the API.
*/ - CreatedDate?: Date; + Name?: string; /** - *A version identifier for the API.
+ *The URI of the API, of the form {api-id}.execute-api.{region}.amazonaws.com. The stage name is typically appended to this URI to form a complete path to a deployed API stage.
*/ - Version?: string; + ApiEndpoint?: string; + + /** + *Avoid validating models when creating a deployment. Supported only for WebSocket APIs.
+ */ + DisableSchemaValidation?: boolean; + + /** + *The validation information during API import. This may include particular properties of your OpenAPI definition which are ignored during import. Supported only for HTTP APIs.
+ */ + ImportInfo?: string[]; } export namespace UpdateApiResponse { @@ -4455,14 +4648,14 @@ export namespace UpdateApiResponse { */ export interface UpdateApiMappingRequest { /** - *The API identifier.
+ *The domain name.
*/ - ApiId: string | undefined; + DomainName: string | undefined; /** - *The domain name.
+ *The API mapping key.
*/ - DomainName: string | undefined; + ApiMappingKey?: string; /** *The API stage.
@@ -4470,14 +4663,14 @@ export interface UpdateApiMappingRequest { Stage?: string; /** - *The API mapping key.
+ *The API mapping identifier.
*/ - ApiMappingKey?: string; + ApiMappingId: string | undefined; /** - *The API mapping identifier.
+ *The API identifier.
*/ - ApiMappingId: string | undefined; + ApiId: string | undefined; } export namespace UpdateApiMappingRequest { @@ -4488,14 +4681,14 @@ export namespace UpdateApiMappingRequest { export interface UpdateApiMappingResponse { /** - *The API stage.
+ *The API mapping identifier.
*/ - Stage?: string; + ApiMappingId?: string; /** - *The API identifier.
+ *The API stage.
*/ - ApiId?: string; + Stage?: string; /** *The API mapping key.
@@ -4503,9 +4696,9 @@ export interface UpdateApiMappingResponse { ApiMappingKey?: string; /** - *The API mapping identifier.
+ *The API identifier.
*/ - ApiMappingId?: string; + ApiId?: string; } export namespace UpdateApiMappingResponse { @@ -4519,55 +4712,65 @@ export namespace UpdateApiMappingResponse { */ export interface UpdateAuthorizerRequest { /** - *The identity source for which authorization is requested.
For a REQUEST authorizer, this is optional. The value is a set of one or more mapping expressions of the specified request parameters. Currently, the identity source can be headers, query string parameters, stage variables, and context parameters. For example, if an Auth header and a Name query string parameter are defined as identity sources, this value is route.request.header.Auth, route.request.querystring.Name. These parameters will be used to perform runtime validation for Lambda-based authorizers by verifying all of the identity-related request parameters are present in the request, not null, and non-empty. Only when this is true does the authorizer invoke the authorizer Lambda function. Otherwise, it returns a 401 Unauthorized response without calling the Lambda function.
For JWT, a single entry that specifies where to extract the JSON Web Token (JWT) from inbound requests. Currently only header-based and query parameter-based selections are supported, for example "$request.header.Authorization".
+ *The authorizer type. Specify REQUEST for a Lambda function using incoming request parameters. Specify JWT to use JSON Web Tokens (supported only for HTTP APIs).
*/ - IdentitySource?: string[]; + AuthorizerType?: AuthorizerType | string; /** - *The name of the authorizer.
+ *The API identifier.
*/ - Name?: string; + ApiId: string | undefined; /** - *Represents the configuration of a JWT authorizer. Required for the JWT authorizer type. Supported only for HTTP APIs.
+ *The identity source for which authorization is requested.
For a REQUEST authorizer, this is optional. The value is a set of one or more mapping expressions of the specified request parameters. The identity source can be headers, query string parameters, stage variables, and context parameters. For example, if an Auth header and a Name query string parameter are defined as identity sources, this value is route.request.header.Auth, route.request.querystring.Name for WebSocket APIs. For HTTP APIs, use selection expressions prefixed with $, for example, $request.header.Auth, $request.querystring.Name. These parameters are used to perform runtime validation for Lambda-based authorizers by verifying all of the identity-related request parameters are present in the request, not null, and non-empty. Only when this is true does the authorizer invoke the authorizer Lambda function. Otherwise, it returns a 401 Unauthorized response without calling the Lambda function. For HTTP APIs, identity sources are also used as the cache key when caching is enabled. To learn more, see Working with AWS Lambda authorizers for HTTP APIs.
For JWT, a single entry that specifies where to extract the JSON Web Token (JWT) from inbound requests. Currently only header-based and query parameter-based selections are supported, for example $request.header.Authorization.
*/ - JwtConfiguration?: JWTConfiguration; + IdentitySource?: string[]; /** - *The authorizer type. For WebSocket APIs, specify REQUEST for a Lambda function using incoming request parameters. For HTTP APIs, specify JWT to use JSON Web Tokens.
+ *The authorizer identifier.
*/ - AuthorizerType?: AuthorizerType | string; + AuthorizerId: string | undefined; /** - *The API identifier.
+ *The time to live (TTL) for cached authorizer results, in seconds. If it equals 0, authorization caching is disabled. If it is greater than 0, API Gateway caches authorizer responses. The maximum value is 3600, or 1 hour. Supported only for HTTP API Lambda authorizers.
*/ - ApiId: string | undefined; + AuthorizerResultTtlInSeconds?: number; /** - *This parameter is not used.
+ *Represents the configuration of a JWT authorizer. Required for the JWT authorizer type. Supported only for HTTP APIs.
*/ - IdentityValidationExpression?: string; + JwtConfiguration?: JWTConfiguration; /** - *Specifies the required credentials as an IAM role for API Gateway to invoke the authorizer. To specify an IAM role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To use resource-based permissions on the Lambda function, specify null.
+ *Specifies the required credentials as an IAM role for API Gateway to invoke the authorizer. To specify an IAM role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To use resource-based permissions on the Lambda function, don't specify this parameter.
*/ AuthorizerCredentialsArn?: string; /** - *The authorizer identifier.
+ *The authorizer's Uniform Resource Identifier (URI). For REQUEST authorizers, this must be a well-formed Lambda function URI, for example, arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:
Authorizer caching is not currently supported. Don't specify this value for authorizers.
+ *Specifies the format of the payload sent to an HTTP API Lambda authorizer. Required for HTTP API Lambda authorizers. Supported values are 1.0 and 2.0. To learn more, see Working with AWS Lambda authorizers for HTTP APIs.
*/ - AuthorizerResultTtlInSeconds?: number; + AuthorizerPayloadFormatVersion?: string; /** - *The authorizer's Uniform Resource Identifier (URI). For REQUEST authorizers, this must be a well-formed Lambda function URI, for example, arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:
This parameter is not used.
*/ - AuthorizerUri?: string; + IdentityValidationExpression?: string; + + /** + *The name of the authorizer.
+ */ + Name?: string; + + /** + *Specifies whether a Lambda authorizer returns a response in a simple format. By default, a Lambda authorizer must return an IAM policy. If enabled, the Lambda authorizer can return a boolean value instead of an IAM policy. Supported only for HTTP APIs. To learn more, see Working with AWS Lambda authorizers for HTTP APIs
+ */ + EnableSimpleResponses?: boolean; } export namespace UpdateAuthorizerRequest { @@ -4578,15 +4781,19 @@ export namespace UpdateAuthorizerRequest { export interface UpdateAuthorizerResponse { /** - *The identity source for which authorization is requested.
For a REQUEST authorizer, this is optional. The value is a set of one or more mapping expressions of the specified request parameters. Currently, the identity source can be headers, query string parameters, stage variables, and context parameters. For example, if an Auth header and a Name query string parameter are defined as identity sources, this value is route.request.header.Auth, route.request.querystring.Name. These parameters will be used to perform runtime validation for Lambda-based authorizers by verifying all of the identity-related request parameters are present in the request, not null, and non-empty. Only when this is true does the authorizer invoke the authorizer Lambda function. Otherwise, it returns a 401 Unauthorized response without calling the Lambda function.
For JWT, a single entry that specifies where to extract the JSON Web Token (JWT) from inbound requests. Currently only header-based and query parameter-based selections are supported, for example "$request.header.Authorization".
+ *Specifies whether a Lambda authorizer returns a response in a simple format. If enabled, the Lambda authorizer can return a boolean value instead of an IAM policy. Supported only for HTTP APIs. To learn more, see Working with AWS Lambda authorizers for HTTP APIs
+ */ + EnableSimpleResponses?: boolean; + + /** + *The identity source for which authorization is requested.
For a REQUEST authorizer, this is optional. The value is a set of one or more mapping expressions of the specified request parameters. The identity source can be headers, query string parameters, stage variables, and context parameters. For example, if an Auth header and a Name query string parameter are defined as identity sources, this value is route.request.header.Auth, route.request.querystring.Name for WebSocket APIs. For HTTP APIs, use selection expressions prefixed with $, for example, $request.header.Auth, $request.querystring.Name. These parameters are used to perform runtime validation for Lambda-based authorizers by verifying all of the identity-related request parameters are present in the request, not null, and non-empty. Only when this is true does the authorizer invoke the authorizer Lambda function. Otherwise, it returns a 401 Unauthorized response without calling the Lambda function. For HTTP APIs, identity sources are also used as the cache key when caching is enabled. To learn more, see Working with AWS Lambda authorizers for HTTP APIs.
For JWT, a single entry that specifies where to extract the JSON Web Token (JWT) from inbound requests. Currently only header-based and query parameter-based selections are supported, for example $request.header.Authorization.
*/ IdentitySource?: string[]; /** - *The authorizer's Uniform Resource Identifier (URI). ForREQUEST authorizers, this must be a well-formed Lambda function URI, for example, arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:
The authorizer type. Specify REQUEST for a Lambda function using incoming request parameters. Specify JWT to use JSON Web Tokens (supported only for HTTP APIs).
*/ - AuthorizerUri?: string; + AuthorizerType?: AuthorizerType | string; /** *The name of the authorizer.
@@ -4599,19 +4806,20 @@ export interface UpdateAuthorizerResponse { IdentityValidationExpression?: string; /** - *Specifies the required credentials as an IAM role for API Gateway to invoke the authorizer. To specify an IAM role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To use resource-based permissions on the Lambda function, specify null. Supported only for REQUEST authorizers.
+ *The authorizer identifier.
*/ - AuthorizerCredentialsArn?: string; + AuthorizerId?: string; /** - *Authorizer caching is not currently supported. Don't specify this value for authorizers.
+ *The authorizer's Uniform Resource Identifier (URI). For REQUEST authorizers, this must be a well-formed Lambda function URI, for example, arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:
The authorizer identifier.
+ *The time to live (TTL) for cached authorizer results, in seconds. If it equals 0, authorization caching is disabled. If it is greater than 0, API Gateway caches authorizer responses. The maximum value is 3600, or 1 hour. Supported only for HTTP API Lambda authorizers.
*/ - AuthorizerId?: string; + AuthorizerResultTtlInSeconds?: number; /** *Represents the configuration of a JWT authorizer. Required for the JWT authorizer type. Supported only for HTTP APIs.
@@ -4619,9 +4827,14 @@ export interface UpdateAuthorizerResponse { JwtConfiguration?: JWTConfiguration; /** - *The authorizer type. For WebSocket APIs, specify REQUEST for a Lambda function using incoming request parameters. For HTTP APIs, specify JWT to use JSON Web Tokens.
+ *Specifies the format of the payload sent to an HTTP API Lambda authorizer. Required for HTTP API Lambda authorizers. Supported values are 1.0 and 2.0. To learn more, see Working with AWS Lambda authorizers for HTTP APIs.
*/ - AuthorizerType?: AuthorizerType | string; + AuthorizerPayloadFormatVersion?: string; + + /** + *Specifies the required credentials as an IAM role for API Gateway to invoke the authorizer. To specify an IAM role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To use resource-based permissions on the Lambda function, don't specify this parameter. Supported only for REQUEST authorizers.
+ */ + AuthorizerCredentialsArn?: string; } export namespace UpdateAuthorizerResponse { @@ -4635,14 +4848,14 @@ export namespace UpdateAuthorizerResponse { */ export interface UpdateDeploymentRequest { /** - *The deployment ID.
+ *The API identifier.
*/ - DeploymentId: string | undefined; + ApiId: string | undefined; /** - *The API identifier.
+ *The deployment ID.
*/ - ApiId: string | undefined; + DeploymentId: string | undefined; /** *The description for the deployment resource.
@@ -4658,20 +4871,25 @@ export namespace UpdateDeploymentRequest { export interface UpdateDeploymentResponse { /** - *The identifier for the deployment.
+ *The description for the deployment.
*/ - DeploymentId?: string; + Description?: string; /** - *The description for the deployment.
+ *May contain additional feedback on the status of an API deployment.
*/ - Description?: string; + DeploymentStatusMessage?: string; /** *The status of the deployment: PENDING, FAILED, or SUCCEEDED.
*/ DeploymentStatus?: DeploymentStatus | string; + /** + *The identifier for the deployment.
+ */ + DeploymentId?: string; + /** *Specifies whether a deployment was automatically released.
*/ @@ -4681,11 +4899,6 @@ export interface UpdateDeploymentResponse { *The date and time when the Deployment resource was created.
*/ CreatedDate?: Date; - - /** - *May contain additional feedback on the status of an API deployment.
- */ - DeploymentStatusMessage?: string; } export namespace UpdateDeploymentResponse { @@ -4698,6 +4911,11 @@ export namespace UpdateDeploymentResponse { *Updates a DomainName.
*/ export interface UpdateDomainNameRequest { + /** + *The mutual TLS authentication configuration for a custom domain name.
+ */ + MutualTlsAuthentication?: MutualTlsAuthenticationInput; + /** *The domain name configurations.
*/ @@ -4717,14 +4935,19 @@ export namespace UpdateDomainNameRequest { export interface UpdateDomainNameResponse { /** - *The domain name configurations.
+ *The collection of tags associated with a domain name.
*/ - DomainNameConfigurations?: DomainNameConfiguration[]; + Tags?: { [key: string]: string }; /** - *The collection of tags associated with a domain name.
+ *The mutual TLS authentication configuration for a custom domain name.
*/ - Tags?: { [key: string]: string }; + MutualTlsAuthentication?: MutualTlsAuthentication; + + /** + *The domain name configurations.
+ */ + DomainNameConfigurations?: DomainNameConfiguration[]; /** *The API mapping selection expression.
@@ -4748,9 +4971,9 @@ export namespace UpdateDomainNameResponse { */ export interface UpdateIntegrationRequest { /** - *Specifies the format of the payload sent to an integration. Required for HTTP APIs.
+ *Custom timeout between 50 and 29,000 milliseconds for WebSocket APIs and between 50 and 30,000 milliseconds for HTTP APIs. The default timeout is 29 seconds for WebSocket APIs and 30 seconds for HTTP APIs.
*/ - PayloadFormatVersion?: string; + TimeoutInMillis?: number; /** *The TLS configuration for a private integration. If you specify a TLS configuration, private integration traffic uses the HTTPS protocol. Supported only for HTTP APIs.
@@ -4758,9 +4981,9 @@ export interface UpdateIntegrationRequest { TlsConfig?: TlsConfigInput; /** - *Custom timeout between 50 and 29,000 milliseconds for WebSocket APIs and between 50 and 30,000 milliseconds for HTTP APIs. The default timeout is 29 seconds for WebSocket APIs and 30 seconds for HTTP APIs.
+ *Specifies the integration's HTTP method type.
*/ - TimeoutInMillis?: number; + IntegrationMethod?: string; /** *The description of the integration
@@ -4768,74 +4991,75 @@ export interface UpdateIntegrationRequest { Description?: string; /** - *The API identifier.
+ *Specifies the pass-through behavior for incoming requests based on the Content-Type header in the request, and the available mapping templates specified as the requestTemplates property on the Integration resource. There are three valid values: WHEN_NO_MATCH, WHEN_NO_TEMPLATES, and NEVER. Supported only for WebSocket APIs.
WHEN_NO_MATCH passes the request body for unmapped content types through to the integration backend without transformation.
NEVER rejects unmapped content types with an HTTP 415 Unsupported Media Type response.
WHEN_NO_TEMPLATES allows pass-through when the integration has no content types mapped to templates. However, if there is at least one content type defined, unmapped content types will be rejected with the same HTTP 415 Unsupported Media Type response.
*/ - ApiId: string | undefined; + PassthroughBehavior?: PassthroughBehavior | string; /** - *The integration type of an integration. One of the following:
AWS: for integrating the route or method request with an AWS service action, including the Lambda function-invoking action. With the Lambda function-invoking action, this is referred to as the Lambda custom integration. With any other AWS service action, this is known as AWS integration. Supported only for WebSocket APIs.
AWS_PROXY: for integrating the route or method request with the Lambda function-invoking action with the client request passed through as-is. This integration is also referred to as Lambda proxy integration.
HTTP: for integrating the route or method request with an HTTP endpoint. This integration is also referred to as the HTTP custom integration. Supported only for WebSocket APIs.
HTTP_PROXY: for integrating the route or method request with an HTTP endpoint, with the client request passed through as-is. This is also referred to as HTTP proxy integration. For HTTP API private integrations, use an HTTP_PROXY integration.
MOCK: for integrating the route or method request with API Gateway as a "loopback" endpoint without invoking any backend. Supported only for WebSocket APIs.
+ *The integration type of an integration. One of the following:
AWS: for integrating the route or method request with an AWS service action, including the Lambda function-invoking action. With the Lambda function-invoking action, this is referred to as the Lambda custom integration. With any other AWS service action, this is known as AWS integration. Supported only for WebSocket APIs.
AWS_PROXY: for integrating the route or method request with a Lambda function or other AWS service action. This integration is also referred to as a Lambda proxy integration.
HTTP: for integrating the route or method request with an HTTP endpoint. This integration is also referred to as the HTTP custom integration. Supported only for WebSocket APIs.
HTTP_PROXY: for integrating the route or method request with an HTTP endpoint, with the client request passed through as-is. This is also referred to as HTTP proxy integration. For HTTP API private integrations, use an HTTP_PROXY integration.
MOCK: for integrating the route or method request with API Gateway as a "loopback" endpoint without invoking any backend. Supported only for WebSocket APIs.
*/ IntegrationType?: IntegrationType | string; /** - *Specifies the credentials required for the integration, if any. For AWS integrations, three options are available. To specify an IAM Role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify the string arn:aws:iam::*:user/*. To use resource-based permissions on supported AWS services, specify null.
+ *For a Lambda integration, specify the URI of a Lambda function.
For an HTTP integration, specify a fully-qualified URL.
For an HTTP API private integration, specify the ARN of an Application Load Balancer listener, Network Load Balancer listener, or AWS Cloud Map service. If you specify the ARN of an AWS Cloud Map service, API Gateway uses DiscoverInstances to identify resources. You can use query parameters to target specific resources. To learn more, see DiscoverInstances. For private integrations, all resources must be owned by the same AWS account.
*/ - CredentialsArn?: string; + IntegrationUri?: string; /** - *The integration ID.
+ *Represents a map of Velocity templates that are applied on the request payload based on the value of the Content-Type header sent by the client. The content type value is the key in this map, and the template (as a String) is the value. Supported only for WebSocket APIs.
*/ - IntegrationId: string | undefined; + RequestTemplates?: { [key: string]: string }; /** - *The type of the network connection to the integration endpoint. Specify INTERNET for connections through the public routable internet or VPC_LINK for private connections between API Gateway and resources in a VPC. The default value is INTERNET.
+ *The ID of the VPC link for a private integration. Supported only for HTTP APIs.
*/ - ConnectionType?: ConnectionType | string; + ConnectionId?: string; /** - *Supported only for WebSocket APIs. Specifies how to handle response payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors:
CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded string to the corresponding binary blob.
CONVERT_TO_TEXT: Converts a response payload from a binary blob to a Base64-encoded string.
If this property is not defined, the response payload will be passed through from the integration response to the route response or method response without modification.
+ *Supported only for HTTP API AWS_PROXY integrations. Specifies the AWS service action to invoke. To learn more, see Integration subtype reference.
*/ - ContentHandlingStrategy?: ContentHandlingStrategy | string; + IntegrationSubtype?: string; /** - *The template selection expression for the integration.
+ *For WebSocket APIs, a key-value map specifying request parameters that are passed from the method request to the backend. The key is an integration request parameter name and the associated value is a method request parameter value or static value that must be enclosed within single quotes and pre-encoded as required by the backend. The method request parameter value must match the pattern of method.request.
For HTTP APIs, request parameters are a key-value map specifying parameters that are passed to AWS_PROXY integrations with a specified integrationSubtype. You can provide static values, or map request data, stage variables, or context variables that are evaluated at runtime. To learn more, see Working with AWS service integrations for HTTP APIs.
*/ - TemplateSelectionExpression?: string; + RequestParameters?: { [key: string]: string }; /** - *A key-value map specifying request parameters that are passed from the method request to the backend. The key is an integration request parameter name and the associated value is a method request parameter value or static value that must be enclosed within single quotes and pre-encoded as required by the backend. The method request parameter value must match the pattern of method.request.
Supported only for WebSocket APIs. Specifies how to handle response payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors:
CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded string to the corresponding binary blob.
CONVERT_TO_TEXT: Converts a response payload from a binary blob to a Base64-encoded string.
If this property is not defined, the response payload will be passed through from the integration response to the route response or method response without modification.
*/ - RequestParameters?: { [key: string]: string }; + ContentHandlingStrategy?: ContentHandlingStrategy | string; /** - *For a Lambda integration, specify the URI of a Lambda function.
For an HTTP integration, specify a fully-qualified URL.
For an HTTP API private integration, specify the ARN of an Application Load Balancer listener, Network Load Balancer listener, or AWS Cloud Map service. If you specify the ARN of an AWS Cloud Map service, API Gateway uses DiscoverInstances to identify resources. You can use query parameters to target specific resources. To learn more, see DiscoverInstances. For private integrations, all resources must be owned by the same AWS account.
+ *The API identifier.
*/ - IntegrationUri?: string; + ApiId: string | undefined; /** - *Specifies the integration's HTTP method type.
+ *The template selection expression for the integration.
*/ - IntegrationMethod?: string; + TemplateSelectionExpression?: string; /** - *Specifies the pass-through behavior for incoming requests based on the Content-Type header in the request, and the available mapping templates specified as the requestTemplates property on the Integration resource. There are three valid values: WHEN_NO_MATCH, WHEN_NO_TEMPLATES, and NEVER. Supported only for WebSocket APIs.
WHEN_NO_MATCH passes the request body for unmapped content types through to the integration backend without transformation.
NEVER rejects unmapped content types with an HTTP 415 Unsupported Media Type response.
WHEN_NO_TEMPLATES allows pass-through when the integration has no content types mapped to templates. However, if there is at least one content type defined, unmapped content types will be rejected with the same HTTP 415 Unsupported Media Type response.
+ *Specifies the format of the payload sent to an integration. Required for HTTP APIs.
*/ - PassthroughBehavior?: PassthroughBehavior | string; + PayloadFormatVersion?: string; /** - *Represents a map of Velocity templates that are applied on the request payload based on the value of the Content-Type header sent by the client. The content type value is the key in this map, and the template (as a String) is the value. Supported only for WebSocket APIs.
+ *Specifies the credentials required for the integration, if any. For AWS integrations, three options are available. To specify an IAM Role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify the string arn:aws:iam::*:user/*. To use resource-based permissions on supported AWS services, specify null.
*/ - RequestTemplates?: { [key: string]: string }; + CredentialsArn?: string; /** - *The ID of the VPC link for a private integration. Supported only for HTTP APIs.
+ *The integration ID.
*/ - ConnectionId?: string; + IntegrationId: string | undefined; + + /** + *The type of the network connection to the integration endpoint. Specify INTERNET for connections through the public routable internet or VPC_LINK for private connections between API Gateway and resources in a VPC. The default value is INTERNET.
+ */ + ConnectionType?: ConnectionType | string; } export namespace UpdateIntegrationRequest { @@ -4846,14 +5070,19 @@ export namespace UpdateIntegrationRequest { export interface UpdateIntegrationResult { /** - *Supported only for WebSocket APIs. Specifies how to handle response payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors:
CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded string to the corresponding binary blob.
CONVERT_TO_TEXT: Converts a response payload from a binary blob to a Base64-encoded string.
If this property is not defined, the response payload will be passed through from the integration response to the route response or method response without modification.
+ *The integration response selection expression for the integration. Supported only for WebSocket APIs. See Integration Response Selection Expressions.
*/ - ContentHandlingStrategy?: ContentHandlingStrategy | string; + IntegrationResponseSelectionExpression?: string; /** - *Specifies whether an integration is managed by API Gateway. If you created an API using using quick create, the resulting integration is managed by API Gateway. You can update a managed integration, but you can't delete it.
+ *Supported only for HTTP API AWS_PROXY integrations. Specifies the AWS service action to invoke. To learn more, see Integration subtype reference.
*/ - ApiGatewayManaged?: boolean; + IntegrationSubtype?: string; + + /** + *For a Lambda integration, specify the URI of a Lambda function.
For an HTTP integration, specify a fully-qualified URL.
For an HTTP API private integration, specify the ARN of an Application Load Balancer listener, Network Load Balancer listener, or AWS Cloud Map service. If you specify the ARN of an AWS Cloud Map service, API Gateway uses DiscoverInstances to identify resources. You can use query parameters to target specific resources. To learn more, see DiscoverInstances. For private integrations, all resources must be owned by the same AWS account.
+ */ + IntegrationUri?: string; /** *Specifies the credentials required for the integration, if any. For AWS integrations, three options are available. To specify an IAM Role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify the string arn:aws:iam::*:user/*. To use resource-based permissions on supported AWS services, specify null.
@@ -4861,59 +5090,60 @@ export interface UpdateIntegrationResult { CredentialsArn?: string; /** - *The integration response selection expression for the integration. Supported only for WebSocket APIs. See Integration Response Selection Expressions.
+ *Represents a map of Velocity templates that are applied on the request payload based on the value of the Content-Type header sent by the client. The content type value is the key in this map, and the template (as a String) is the value. Supported only for WebSocket APIs.
*/ - IntegrationResponseSelectionExpression?: string; + RequestTemplates?: { [key: string]: string }; /** - *Represents the description of an integration.
+ *Represents the identifier of an integration.
*/ - Description?: string; + IntegrationId?: string; /** - *Represents a map of Velocity templates that are applied on the request payload based on the value of the Content-Type header sent by the client. The content type value is the key in this map, and the template (as a String) is the value. Supported only for WebSocket APIs.
+ *The ID of the VPC link for a private integration. Supported only for HTTP APIs.
*/ - RequestTemplates?: { [key: string]: string }; + ConnectionId?: string; /** - *The integration type of an integration. One of the following:
AWS: for integrating the route or method request with an AWS service action, including the Lambda function-invoking action. With the Lambda function-invoking action, this is referred to as the Lambda custom integration. With any other AWS service action, this is known as AWS integration. Supported only for WebSocket APIs.
AWS_PROXY: for integrating the route or method request with the Lambda function-invoking action with the client request passed through as-is. This integration is also referred to as Lambda proxy integration.
HTTP: for integrating the route or method request with an HTTP endpoint. This integration is also referred to as the HTTP custom integration. Supported only for WebSocket APIs.
HTTP_PROXY: for integrating the route or method request with an HTTP endpoint, with the client request passed through as-is. This is also referred to as HTTP proxy integration.
MOCK: for integrating the route or method request with API Gateway as a "loopback" endpoint without invoking any backend. Supported only for WebSocket APIs.
+ *The template selection expression for the integration. Supported only for WebSocket APIs.
*/ - IntegrationType?: IntegrationType | string; + TemplateSelectionExpression?: string; /** - *For a Lambda integration, specify the URI of a Lambda function.
For an HTTP integration, specify a fully-qualified URL.
For an HTTP API private integration, specify the ARN of an Application Load Balancer listener, Network Load Balancer listener, or AWS Cloud Map service. If you specify the ARN of an AWS Cloud Map service, API Gateway uses DiscoverInstances to identify resources. You can use query parameters to target specific resources. To learn more, see DiscoverInstances. For private integrations, all resources must be owned by the same AWS account.
+ *Specifies whether an integration is managed by API Gateway. If you created an API using using quick create, the resulting integration is managed by API Gateway. You can update a managed integration, but you can't delete it.
*/ - IntegrationUri?: string; + ApiGatewayManaged?: boolean; /** - *The ID of the VPC link for a private integration. Supported only for HTTP APIs.
+ *Specifies the integration's HTTP method type.
*/ - ConnectionId?: string; + IntegrationMethod?: string; /** - *The TLS configuration for a private integration. If you specify a TLS configuration, private integration traffic uses the HTTPS protocol. Supported only for HTTP APIs.
+ *Specifies the pass-through behavior for incoming requests based on the Content-Type header in the request, and the available mapping templates specified as the requestTemplates property on the Integration resource. There are three valid values: WHEN_NO_MATCH, WHEN_NO_TEMPLATES, and NEVER. Supported only for WebSocket APIs.
WHEN_NO_MATCH passes the request body for unmapped content types through to the integration backend without transformation.
NEVER rejects unmapped content types with an HTTP 415 Unsupported Media Type response.
WHEN_NO_TEMPLATES allows pass-through when the integration has no content types mapped to templates. However, if there is at least one content type defined, unmapped content types will be rejected with the same HTTP 415 Unsupported Media Type response.
*/ - TlsConfig?: TlsConfig; + PassthroughBehavior?: PassthroughBehavior | string; /** - *Custom timeout between 50 and 29,000 milliseconds for WebSocket APIs and between 50 and 30,000 milliseconds for HTTP APIs. The default timeout is 29 seconds for WebSocket APIs and 30 seconds for HTTP APIs.
+ *For WebSocket APIs, a key-value map specifying request parameters that are passed from the method request to the backend. The key is an integration request parameter name and the associated value is a method request parameter value or static value that must be enclosed within single quotes and pre-encoded as required by the backend. The method request parameter value must match the pattern of method.request.
For HTTP APIs, request parameters are a key-value map specifying parameters that are passed to AWS_PROXY integrations with a specified integrationSubtype. You can provide static values, or map request data, stage variables, or context variables that are evaluated at runtime. To learn more, see Working with AWS service integrations for HTTP APIs.
*/ - TimeoutInMillis?: number; + RequestParameters?: { [key: string]: string }; /** - *Specifies the format of the payload sent to an integration. Required for HTTP APIs.
+ *The TLS configuration for a private integration. If you specify a TLS configuration, private integration traffic uses the HTTPS protocol. Supported only for HTTP APIs.
*/ - PayloadFormatVersion?: string; + TlsConfig?: TlsConfig; /** - *Specifies the pass-through behavior for incoming requests based on the Content-Type header in the request, and the available mapping templates specified as the requestTemplates property on the Integration resource. There are three valid values: WHEN_NO_MATCH, WHEN_NO_TEMPLATES, and NEVER. Supported only for WebSocket APIs.
WHEN_NO_MATCH passes the request body for unmapped content types through to the integration backend without transformation.
NEVER rejects unmapped content types with an HTTP 415 Unsupported Media Type response.
WHEN_NO_TEMPLATES allows pass-through when the integration has no content types mapped to templates. However, if there is at least one content type defined, unmapped content types will be rejected with the same HTTP 415 Unsupported Media Type response.
+ *Custom timeout between 50 and 29,000 milliseconds for WebSocket APIs and between 50 and 30,000 milliseconds for HTTP APIs. The default timeout is 29 seconds for WebSocket APIs and 30 seconds for HTTP APIs.
*/ - PassthroughBehavior?: PassthroughBehavior | string; + TimeoutInMillis?: number; /** - *Specifies the integration's HTTP method type.
+ *Specifies the format of the payload sent to an integration. Required for HTTP APIs.
*/ - IntegrationMethod?: string; + PayloadFormatVersion?: string; /** *The type of the network connection to the integration endpoint. Specify INTERNET for connections through the public routable internet or VPC_LINK for private connections between API Gateway and resources in a VPC. The default value is INTERNET.
@@ -4921,24 +5151,19 @@ export interface UpdateIntegrationResult { ConnectionType?: ConnectionType | string; /** - *The template selection expression for the integration. Supported only for WebSocket APIs.
+ *Represents the description of an integration.
*/ - TemplateSelectionExpression?: string; + Description?: string; /** - *Represents the identifier of an integration.
+ *The integration type of an integration. One of the following:
AWS: for integrating the route or method request with an AWS service action, including the Lambda function-invoking action. With the Lambda function-invoking action, this is referred to as the Lambda custom integration. With any other AWS service action, this is known as AWS integration. Supported only for WebSocket APIs.
AWS_PROXY: for integrating the route or method request with a Lambda function or other AWS service action. This integration is also referred to as a Lambda proxy integration.
HTTP: for integrating the route or method request with an HTTP endpoint. This integration is also referred to as the HTTP custom integration. Supported only for WebSocket APIs.
HTTP_PROXY: for integrating the route or method request with an HTTP endpoint, with the client request passed through as-is. This is also referred to as HTTP proxy integration.
MOCK: for integrating the route or method request with API Gateway as a "loopback" endpoint without invoking any backend. Supported only for WebSocket APIs.
*/ - IntegrationId?: string; + IntegrationType?: IntegrationType | string; /** - *A key-value map specifying request parameters that are passed from the method request to the backend. The key is an integration request parameter name and the associated value is a method request parameter value or static value that must be enclosed within single quotes and pre-encoded as required by the backend. The method request parameter value must match the pattern of method.request.
Supported only for WebSocket APIs. Specifies how to handle response payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors:
CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded string to the corresponding binary blob.
CONVERT_TO_TEXT: Converts a response payload from a binary blob to a Base64-encoded string.
If this property is not defined, the response payload will be passed through from the integration response to the route response or method response without modification.
*/ - RequestParameters?: { [key: string]: string }; + ContentHandlingStrategy?: ContentHandlingStrategy | string; } export namespace UpdateIntegrationResult { @@ -4951,6 +5176,21 @@ export namespace UpdateIntegrationResult { *Updates an IntegrationResponses.
*/ export interface UpdateIntegrationResponseRequest { + /** + *The template selection expression for the integration response. Supported only for WebSocket APIs.
+ */ + TemplateSelectionExpression?: string; + + /** + *The integration response key.
+ */ + IntegrationResponseKey?: string; + + /** + *The collection of response templates for the integration response as a string-to-string map of key-value pairs. Response templates are represented as a key/value map, with a content-type as the key and a template as the value.
+ */ + ResponseTemplates?: { [key: string]: string }; + /** *A key-value map specifying response parameters that are passed to the method response from the backend. The key is a method response header parameter name and the mapped value is an integration response header value, a static value enclosed within a pair of single quotes, or a JSON expression from the integration response body. The mapping key must match the pattern of method.response.header.
The collection of response templates for the integration response as a string-to-string map of key-value pairs. Response templates are represented as a key/value map, with a content-type as the key and a template as the value.
- */ - ResponseTemplates?: { [key: string]: string }; - - /** - *The template selection expression for the integration response. Supported only for WebSocket APIs.
- */ - TemplateSelectionExpression?: string; - - /** - *The API identifier.
+ *The integration ID.
*/ - ApiId: string | undefined; + IntegrationId: string | undefined; /** *The integration response ID.
@@ -4989,14 +5219,9 @@ export interface UpdateIntegrationResponseRequest { ContentHandlingStrategy?: ContentHandlingStrategy | string; /** - *The integration ID.
- */ - IntegrationId: string | undefined; - - /** - *The integration response key.
+ *The API identifier.
*/ - IntegrationResponseKey?: string; + ApiId: string | undefined; } export namespace UpdateIntegrationResponseRequest { @@ -5007,24 +5232,24 @@ export namespace UpdateIntegrationResponseRequest { export interface UpdateIntegrationResponseResponse { /** - *The template selection expressions for the integration response.
+ *The integration response key.
*/ - TemplateSelectionExpression?: string; + IntegrationResponseKey?: string; /** - *A key-value map specifying response parameters that are passed to the method response from the backend. The key is a method response header parameter name and the mapped value is an integration response header value, a static value enclosed within a pair of single quotes, or a JSON expression from the integration response body. The mapping key must match the pattern of method.response.header.{name}, where name is a valid and unique header name. The mapped non-static value must match the pattern of integration.response.header.{name} or integration.response.body.{JSON-expression}, where name is a valid and unique response header name and JSON-expression is a valid JSON expression without the $ prefix.
+ *Supported only for WebSocket APIs. Specifies how to handle response payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors:
CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded string to the corresponding binary blob.
CONVERT_TO_TEXT: Converts a response payload from a binary blob to a Base64-encoded string.
If this property is not defined, the response payload will be passed through from the integration response to the route response or method response without modification.
*/ - ResponseParameters?: { [key: string]: string }; + ContentHandlingStrategy?: ContentHandlingStrategy | string; /** - *The integration response key.
+ *The collection of response templates for the integration response as a string-to-string map of key-value pairs. Response templates are represented as a key/value map, with a content-type as the key and a template as the value.
*/ - IntegrationResponseKey?: string; + ResponseTemplates?: { [key: string]: string }; /** - *The collection of response templates for the integration response as a string-to-string map of key-value pairs. Response templates are represented as a key/value map, with a content-type as the key and a template as the value.
+ *The template selection expressions for the integration response.
*/ - ResponseTemplates?: { [key: string]: string }; + TemplateSelectionExpression?: string; /** *The integration response ID.
@@ -5032,9 +5257,9 @@ export interface UpdateIntegrationResponseResponse { IntegrationResponseId?: string; /** - *Supported only for WebSocket APIs. Specifies how to handle response payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors:
CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded string to the corresponding binary blob.
CONVERT_TO_TEXT: Converts a response payload from a binary blob to a Base64-encoded string.
If this property is not defined, the response payload will be passed through from the integration response to the route response or method response without modification.
+ *A key-value map specifying response parameters that are passed to the method response from the backend. The key is a method response header parameter name and the mapped value is an integration response header value, a static value enclosed within a pair of single quotes, or a JSON expression from the integration response body. The mapping key must match the pattern of method.response.header.{name}, where name is a valid and unique header name. The mapped non-static value must match the pattern of integration.response.header.{name} or integration.response.body.{JSON-expression}, where name is a valid and unique response header name and JSON-expression is a valid JSON expression without the $ prefix.
*/ - ContentHandlingStrategy?: ContentHandlingStrategy | string; + ResponseParameters?: { [key: string]: string }; } export namespace UpdateIntegrationResponseResponse { @@ -5053,14 +5278,14 @@ export interface UpdateModelRequest { ApiId: string | undefined; /** - *The model ID.
+ *The description of the model.
*/ - ModelId: string | undefined; + Description?: string; /** - *The schema for the model. For application/json models, this should be JSON schema draft 4 model.
+ *The model ID.
*/ - Schema?: string; + ModelId: string | undefined; /** *The name of the model.
@@ -5068,14 +5293,14 @@ export interface UpdateModelRequest { Name?: string; /** - *The content-type for the model, for example, "application/json".
+ *The schema for the model. For application/json models, this should be JSON schema draft 4 model.
*/ - ContentType?: string; + Schema?: string; /** - *The description of the model.
+ *The content-type for the model, for example, "application/json".
*/ - Description?: string; + ContentType?: string; } export namespace UpdateModelRequest { @@ -5086,14 +5311,19 @@ export namespace UpdateModelRequest { export interface UpdateModelResponse { /** - *The schema for the model. For application/json models, this should be JSON schema draft 4 model.
+ *The name of the model. Must be alphanumeric.
*/ - Schema?: string; + Name?: string; /** - *The description of the model.
+ *The model identifier.
*/ - Description?: string; + ModelId?: string; + + /** + *The schema for the model. For application/json models, this should be JSON schema draft 4 model.
+ */ + Schema?: string; /** *The content-type for the model, for example, "application/json".
@@ -5101,14 +5331,9 @@ export interface UpdateModelResponse { ContentType?: string; /** - *The name of the model. Must be alphanumeric.
- */ - Name?: string; - - /** - *The model identifier.
+ *The description of the model.
*/ - ModelId?: string; + Description?: string; } export namespace UpdateModelResponse { @@ -5121,45 +5346,45 @@ export namespace UpdateModelResponse { *Updates a Route.
*/ export interface UpdateRouteRequest { - /** - *The request models for the route. Supported only for WebSocket APIs.
- */ - RequestModels?: { [key: string]: string }; - /** *The request parameters for the route. Supported only for WebSocket APIs.
*/ RequestParameters?: { [key: string]: ParameterConstraints }; /** - *The authorization type for the route. For WebSocket APIs, valid values are NONE for open access, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda authorizer For HTTP APIs, valid values are NONE for open access, or JWT for using JSON Web Tokens.
+ *The authorization type for the route. For WebSocket APIs, valid values are NONE for open access, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda authorizer For HTTP APIs, valid values are NONE for open access, JWT for using JSON Web Tokens, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda authorizer.
*/ AuthorizationType?: AuthorizationType | string; /** - *The route ID.
+ *The operation name for the route.
*/ - RouteId: string | undefined; + OperationName?: string; /** - *The identifier of the Authorizer resource to be associated with this route. The authorizer identifier is generated by API Gateway when you created the authorizer.
+ *The route key for the route.
*/ - AuthorizerId?: string; + RouteKey?: string; /** - *The API identifier.
+ *The authorization scopes supported by this route.
*/ - ApiId: string | undefined; + AuthorizationScopes?: string[]; /** - *The route response selection expression for the route. Supported only for WebSocket APIs.
+ *Specifies whether an API key is required for the route. Supported only for WebSocket APIs.
*/ - RouteResponseSelectionExpression?: string; + ApiKeyRequired?: boolean; /** - *The target for the route.
+ *The identifier of the Authorizer resource to be associated with this route. The authorizer identifier is generated by API Gateway when you created the authorizer.
*/ - Target?: string; + AuthorizerId?: string; + + /** + *The route response selection expression for the route. Supported only for WebSocket APIs.
+ */ + RouteResponseSelectionExpression?: string; /** *The model selection expression for the route. Supported only for WebSocket APIs.
@@ -5167,24 +5392,24 @@ export interface UpdateRouteRequest { ModelSelectionExpression?: string; /** - *The authorization scopes supported by this route.
+ *The API identifier.
*/ - AuthorizationScopes?: string[]; + ApiId: string | undefined; /** - *Specifies whether an API key is required for the route. Supported only for WebSocket APIs.
+ *The route ID.
*/ - ApiKeyRequired?: boolean; + RouteId: string | undefined; /** - *The route key for the route.
+ *The target for the route.
*/ - RouteKey?: string; + Target?: string; /** - *The operation name for the route.
+ *The request models for the route. Supported only for WebSocket APIs.
*/ - OperationName?: string; + RequestModels?: { [key: string]: string }; } export namespace UpdateRouteRequest { @@ -5195,69 +5420,69 @@ export namespace UpdateRouteRequest { export interface UpdateRouteResult { /** - *The authorization type for the route. For WebSocket APIs, valid values are NONE for open access, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda authorizer For HTTP APIs, valid values are NONE for open access, or JWT for using JSON Web Tokens.
+ *A list of authorization scopes configured on a route. The scopes are used with a JWT authorizer to authorize the method invocation. The authorization works by matching the route scopes against the scopes parsed from the access token in the incoming request. The method invocation is authorized if any route scope matches a claimed scope in the access token. Otherwise, the invocation is not authorized. When the route scope is configured, the client must provide an access token instead of an identity token for authorization purposes.
*/ - AuthorizationType?: AuthorizationType | string; + AuthorizationScopes?: string[]; /** - *Specifies whether an API key is required for this route. Supported only for WebSocket APIs.
+ *Specifies whether a route is managed by API Gateway. If you created an API using quick create, the $default route is managed by API Gateway. You can't modify the $default route key.
*/ - ApiKeyRequired?: boolean; + ApiGatewayManaged?: boolean; /** - *The request parameters for the route. Supported only for WebSocket APIs.
+ *The model selection expression for the route. Supported only for WebSocket APIs.
*/ - RequestParameters?: { [key: string]: ParameterConstraints }; + ModelSelectionExpression?: string; /** - *The request models for the route. Supported only for WebSocket APIs.
+ *The authorization type for the route. For WebSocket APIs, valid values are NONE for open access, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda authorizer For HTTP APIs, valid values are NONE for open access, JWT for using JSON Web Tokens, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda authorizer.
*/ - RequestModels?: { [key: string]: string }; + AuthorizationType?: AuthorizationType | string; /** - *The target for the route.
+ *Specifies whether an API key is required for this route. Supported only for WebSocket APIs.
*/ - Target?: string; + ApiKeyRequired?: boolean; /** - *The identifier of the Authorizer resource to be associated with this route. The authorizer identifier is generated by API Gateway when you created the authorizer.
+ *The route key for the route.
*/ - AuthorizerId?: string; + RouteKey?: string; /** - *The route ID.
+ *The route response selection expression for the route. Supported only for WebSocket APIs.
*/ - RouteId?: string; + RouteResponseSelectionExpression?: string; /** - *The route response selection expression for the route. Supported only for WebSocket APIs.
+ *The operation name for the route.
*/ - RouteResponseSelectionExpression?: string; + OperationName?: string; /** - *The model selection expression for the route. Supported only for WebSocket APIs.
+ *The request parameters for the route. Supported only for WebSocket APIs.
*/ - ModelSelectionExpression?: string; + RequestParameters?: { [key: string]: ParameterConstraints }; /** - *The operation name for the route.
+ *The route ID.
*/ - OperationName?: string; + RouteId?: string; /** - *The route key for the route.
+ *The request models for the route. Supported only for WebSocket APIs.
*/ - RouteKey?: string; + RequestModels?: { [key: string]: string }; /** - *Specifies whether a route is managed by API Gateway. If you created an API using quick create, the $default route is managed by API Gateway. You can't modify the $default route key.
+ *The identifier of the Authorizer resource to be associated with this route. The authorizer identifier is generated by API Gateway when you created the authorizer.
*/ - ApiGatewayManaged?: boolean; + AuthorizerId?: string; /** - *A list of authorization scopes configured on a route. The scopes are used with a JWT authorizer to authorize the method invocation. The authorization works by matching the route scopes against the scopes parsed from the access token in the incoming request. The method invocation is authorized if any route scope matches a claimed scope in the access token. Otherwise, the invocation is not authorized. When the route scope is configured, the client must provide an access token instead of an identity token for authorization purposes.
+ *The target for the route.
*/ - AuthorizationScopes?: string[]; + Target?: string; } export namespace UpdateRouteResult { @@ -5270,40 +5495,40 @@ export namespace UpdateRouteResult { *Updates a RouteResponse.
*/ export interface UpdateRouteResponseRequest { + /** + *The route ID.
+ */ + RouteId: string | undefined; + /** *The model selection expression for the route response. Supported only for WebSocket APIs.
*/ ModelSelectionExpression?: string; /** - *The route response key.
+ *The response models for the route response.
*/ - RouteResponseKey?: string; + ResponseModels?: { [key: string]: string }; /** - *The route ID.
+ *The route response ID.
*/ - RouteId: string | undefined; + RouteResponseId: string | undefined; /** - *The API identifier.
+ *The route response key.
*/ - ApiId: string | undefined; + RouteResponseKey?: string; /** - *The response models for the route response.
+ *The API identifier.
*/ - ResponseModels?: { [key: string]: string }; + ApiId: string | undefined; /** *The route response parameters.
*/ ResponseParameters?: { [key: string]: ParameterConstraints }; - - /** - *The route response ID.
- */ - RouteResponseId: string | undefined; } export namespace UpdateRouteResponseRequest { @@ -5319,24 +5544,24 @@ export interface UpdateRouteResponseResponse { ResponseModels?: { [key: string]: string }; /** - *Represents the model selection expression of a route response. Supported only for WebSocket APIs.
+ *Represents the route response key of a route response.
*/ - ModelSelectionExpression?: string; + RouteResponseKey?: string; /** - *Represents the response parameters of a route response.
+ *Represents the model selection expression of a route response. Supported only for WebSocket APIs.
*/ - ResponseParameters?: { [key: string]: ParameterConstraints }; + ModelSelectionExpression?: string; /** - *Represents the route response key of a route response.
+ *Represents the identifier of a route response.
*/ - RouteResponseKey?: string; + RouteResponseId?: string; /** - *Represents the identifier of a route response.
+ *Represents the response parameters of a route response.
*/ - RouteResponseId?: string; + ResponseParameters?: { [key: string]: ParameterConstraints }; } export namespace UpdateRouteResponseResponse { @@ -5350,9 +5575,9 @@ export namespace UpdateRouteResponseResponse { */ export interface UpdateStageRequest { /** - *The identifier of a client certificate for a Stage.
+ *The default route settings for the stage.
*/ - ClientCertificateId?: string; + DefaultRouteSettings?: RouteSettings; /** *Route settings for the stage.
@@ -5365,14 +5590,14 @@ export interface UpdateStageRequest { AccessLogSettings?: AccessLogSettings; /** - *Specifies whether updates to an API automatically trigger a new deployment. The default value is false.
+ *The API identifier.
*/ - AutoDeploy?: boolean; + ApiId: string | undefined; /** - *The description for the API stage.
+ *The stage name. Stage names can only contain alphanumeric characters, hyphens, and underscores. Maximum length is 128 characters.
*/ - Description?: string; + StageName: string | undefined; /** *A map that defines the stage variables for a Stage. Variable names can have alphanumeric and underscore characters, and the values must match [A-Za-z0-9-._~:/?#&=,]+.
@@ -5380,24 +5605,24 @@ export interface UpdateStageRequest { StageVariables?: { [key: string]: string }; /** - *The stage name. Stage names can only contain alphanumeric characters, hyphens, and underscores. Maximum length is 128 characters.
+ *The description for the API stage.
*/ - StageName: string | undefined; + Description?: string; /** - *The default route settings for the stage.
+ *The deployment identifier for the API stage. Can't be updated if autoDeploy is enabled.
*/ - DefaultRouteSettings?: RouteSettings; + DeploymentId?: string; /** - *The deployment identifier for the API stage. Can't be updated if autoDeploy is enabled.
+ *Specifies whether updates to an API automatically trigger a new deployment. The default value is false.
*/ - DeploymentId?: string; + AutoDeploy?: boolean; /** - *The API identifier.
+ *The identifier of a client certificate for a Stage.
*/ - ApiId: string | undefined; + ClientCertificateId?: string; } export namespace UpdateStageRequest { @@ -5413,29 +5638,29 @@ export interface UpdateStageResponse { ApiGatewayManaged?: boolean; /** - *Route settings for the stage, by routeKey.
+ *Specifies whether updates to an API automatically trigger a new deployment. The default value is false.
*/ - RouteSettings?: { [key: string]: RouteSettings }; + AutoDeploy?: boolean; /** - *Specifies whether updates to an API automatically trigger a new deployment. The default value is false.
+ *A map that defines the stage variables for a stage resource. Variable names can have alphanumeric and underscore characters, and the values must match [A-Za-z0-9-._~:/?#&=,]+.
*/ - AutoDeploy?: boolean; + StageVariables?: { [key: string]: string }; /** - *The identifier of the Deployment that the Stage is associated with. Can't be updated if autoDeploy is enabled.
+ *The description of the stage.
*/ - DeploymentId?: string; + Description?: string; /** - *The timestamp when the stage was created.
+ *The name of the stage.
*/ - CreatedDate?: Date; + StageName?: string; /** - *The timestamp when the stage was last updated.
+ *Route settings for the stage, by routeKey.
*/ - LastUpdatedDate?: Date; + RouteSettings?: { [key: string]: RouteSettings }; /** *Settings for logging access in this stage.
@@ -5443,39 +5668,39 @@ export interface UpdateStageResponse { AccessLogSettings?: AccessLogSettings; /** - *Describes the status of the last deployment of a stage. Supported only for stages with autoDeploy enabled.
+ *Default route settings for the stage.
*/ - LastDeploymentStatusMessage?: string; + DefaultRouteSettings?: RouteSettings; /** - *The collection of tags. Each tag element is associated with a given resource.
+ *The identifier of a client certificate for a Stage. Supported only for WebSocket APIs.
*/ - Tags?: { [key: string]: string }; + ClientCertificateId?: string; /** - *Default route settings for the stage.
+ *The identifier of the Deployment that the Stage is associated with. Can't be updated if autoDeploy is enabled.
*/ - DefaultRouteSettings?: RouteSettings; + DeploymentId?: string; /** - *The identifier of a client certificate for a Stage. Supported only for WebSocket APIs.
+ *The timestamp when the stage was last updated.
*/ - ClientCertificateId?: string; + LastUpdatedDate?: Date; /** - *The description of the stage.
+ *The collection of tags. Each tag element is associated with a given resource.
*/ - Description?: string; + Tags?: { [key: string]: string }; /** - *A map that defines the stage variables for a stage resource. Variable names can have alphanumeric and underscore characters, and the values must match [A-Za-z0-9-._~:/?#&=,]+.
+ *Describes the status of the last deployment of a stage. Supported only for stages with autoDeploy enabled.
*/ - StageVariables?: { [key: string]: string }; + LastDeploymentStatusMessage?: string; /** - *The name of the stage.
+ *The timestamp when the stage was created.
*/ - StageName?: string; + CreatedDate?: Date; } export namespace UpdateStageResponse { @@ -5507,19 +5732,19 @@ export namespace UpdateVpcLinkRequest { export interface UpdateVpcLinkResponse { /** - *The name of the VPC link.
+ *Tags for the VPC link.
*/ - Name?: string; + Tags?: { [key: string]: string }; /** - *The version of the VPC link.
+ *A list of subnet IDs to include in the VPC link.
*/ - VpcLinkVersion?: VpcLinkVersion | string; + SubnetIds?: string[]; /** - *A message summarizing the cause of the status of the VPC link.
+ *The version of the VPC link.
*/ - VpcLinkStatusMessage?: string; + VpcLinkVersion?: VpcLinkVersion | string; /** *The timestamp when the VPC link was created.
@@ -5527,29 +5752,29 @@ export interface UpdateVpcLinkResponse { CreatedDate?: Date; /** - *A list of security group IDs for the VPC link.
+ *The status of the VPC link.
*/ - SecurityGroupIds?: string[]; + VpcLinkStatus?: VpcLinkStatus | string; /** - *The status of the VPC link.
+ *The ID of the VPC link.
*/ - VpcLinkStatus?: VpcLinkStatus | string; + VpcLinkId?: string; /** - *Tags for the VPC link.
+ *A list of security group IDs for the VPC link.
*/ - Tags?: { [key: string]: string }; + SecurityGroupIds?: string[]; /** - *The ID of the VPC link.
+ *The name of the VPC link.
*/ - VpcLinkId?: string; + Name?: string; /** - *A list of subnet IDs to include in the VPC link.
+ *A message summarizing the cause of the status of the VPC link.
*/ - SubnetIds?: string[]; + VpcLinkStatusMessage?: string; } export namespace UpdateVpcLinkResponse { diff --git a/clients/client-apigatewayv2/protocols/Aws_restJson1.ts b/clients/client-apigatewayv2/protocols/Aws_restJson1.ts index 046c26692ed8..b7433a079187 100644 --- a/clients/client-apigatewayv2/protocols/Aws_restJson1.ts +++ b/clients/client-apigatewayv2/protocols/Aws_restJson1.ts @@ -85,6 +85,10 @@ import { GetVpcLinkCommandInput, GetVpcLinkCommandOutput } from "../commands/Get import { GetVpcLinksCommandInput, GetVpcLinksCommandOutput } from "../commands/GetVpcLinksCommand"; import { ImportApiCommandInput, ImportApiCommandOutput } from "../commands/ImportApiCommand"; import { ReimportApiCommandInput, ReimportApiCommandOutput } from "../commands/ReimportApiCommand"; +import { + ResetAuthorizersCacheCommandInput, + ResetAuthorizersCacheCommandOutput, +} from "../commands/ResetAuthorizersCacheCommand"; import { TagResourceCommandInput, TagResourceCommandOutput } from "../commands/TagResourceCommand"; import { UntagResourceCommandInput, UntagResourceCommandOutput } from "../commands/UntagResourceCommand"; import { UpdateApiCommandInput, UpdateApiCommandOutput } from "../commands/UpdateApiCommand"; @@ -121,6 +125,8 @@ import { IntegrationResponse, JWTConfiguration, Model, + MutualTlsAuthentication, + MutualTlsAuthenticationInput, NotFoundException, ParameterConstraints, Route, @@ -162,6 +168,9 @@ export const serializeAws_restJson1CreateApiCommand = async ( }), ...(input.CredentialsArn !== undefined && { credentialsArn: input.CredentialsArn }), ...(input.Description !== undefined && { description: input.Description }), + ...(input.DisableExecuteApiEndpoint !== undefined && { + disableExecuteApiEndpoint: input.DisableExecuteApiEndpoint, + }), ...(input.DisableSchemaValidation !== undefined && { disableSchemaValidation: input.DisableSchemaValidation }), ...(input.Name !== undefined && { name: input.Name }), ...(input.ProtocolType !== undefined && { protocolType: input.ProtocolType }), @@ -238,11 +247,15 @@ export const serializeAws_restJson1CreateAuthorizerCommand = async ( let body: any; body = JSON.stringify({ ...(input.AuthorizerCredentialsArn !== undefined && { authorizerCredentialsArn: input.AuthorizerCredentialsArn }), + ...(input.AuthorizerPayloadFormatVersion !== undefined && { + authorizerPayloadFormatVersion: input.AuthorizerPayloadFormatVersion, + }), ...(input.AuthorizerResultTtlInSeconds !== undefined && { authorizerResultTtlInSeconds: input.AuthorizerResultTtlInSeconds, }), ...(input.AuthorizerType !== undefined && { authorizerType: input.AuthorizerType }), ...(input.AuthorizerUri !== undefined && { authorizerUri: input.AuthorizerUri }), + ...(input.EnableSimpleResponses !== undefined && { enableSimpleResponses: input.EnableSimpleResponses }), ...(input.IdentitySource !== undefined && { identitySource: serializeAws_restJson1IdentitySourceList(input.IdentitySource, context), }), @@ -314,6 +327,12 @@ export const serializeAws_restJson1CreateDomainNameCommand = async ( ...(input.DomainNameConfigurations !== undefined && { domainNameConfigurations: serializeAws_restJson1DomainNameConfigurations(input.DomainNameConfigurations, context), }), + ...(input.MutualTlsAuthentication !== undefined && { + mutualTlsAuthentication: serializeAws_restJson1MutualTlsAuthenticationInput( + input.MutualTlsAuthentication, + context + ), + }), ...(input.Tags !== undefined && { tags: serializeAws_restJson1Tags(input.Tags, context) }), }); const { hostname, protocol = "https", port } = await context.endpoint(); @@ -353,6 +372,7 @@ export const serializeAws_restJson1CreateIntegrationCommand = async ( ...(input.CredentialsArn !== undefined && { credentialsArn: input.CredentialsArn }), ...(input.Description !== undefined && { description: input.Description }), ...(input.IntegrationMethod !== undefined && { integrationMethod: input.IntegrationMethod }), + ...(input.IntegrationSubtype !== undefined && { integrationSubtype: input.IntegrationSubtype }), ...(input.IntegrationType !== undefined && { integrationType: input.IntegrationType }), ...(input.IntegrationUri !== undefined && { integrationUri: input.IntegrationUri }), ...(input.PassthroughBehavior !== undefined && { passthroughBehavior: input.PassthroughBehavior }), @@ -656,15 +676,6 @@ export const serializeAws_restJson1DeleteAccessLogSettingsCommand = async ( "Content-Type": "", }; let resolvedPath = "/v2/apis/{ApiId}/stages/{StageName}/accesslogsettings"; - if (input.StageName !== undefined) { - const labelValue: string = input.StageName; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: StageName."); - } - resolvedPath = resolvedPath.replace("{StageName}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: StageName."); - } if (input.ApiId !== undefined) { const labelValue: string = input.ApiId; if (labelValue.length <= 0) { @@ -674,6 +685,15 @@ export const serializeAws_restJson1DeleteAccessLogSettingsCommand = async ( } else { throw new Error("No value provided for input HTTP label: ApiId."); } + if (input.StageName !== undefined) { + const labelValue: string = input.StageName; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: StageName."); + } + resolvedPath = resolvedPath.replace("{StageName}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: StageName."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -764,15 +784,6 @@ export const serializeAws_restJson1DeleteAuthorizerCommand = async ( "Content-Type": "", }; let resolvedPath = "/v2/apis/{ApiId}/authorizers/{AuthorizerId}"; - if (input.ApiId !== undefined) { - const labelValue: string = input.ApiId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: ApiId."); - } - resolvedPath = resolvedPath.replace("{ApiId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: ApiId."); - } if (input.AuthorizerId !== undefined) { const labelValue: string = input.AuthorizerId; if (labelValue.length <= 0) { @@ -782,6 +793,15 @@ export const serializeAws_restJson1DeleteAuthorizerCommand = async ( } else { throw new Error("No value provided for input HTTP label: AuthorizerId."); } + if (input.ApiId !== undefined) { + const labelValue: string = input.ApiId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: ApiId."); + } + resolvedPath = resolvedPath.replace("{ApiId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: ApiId."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -833,15 +853,6 @@ export const serializeAws_restJson1DeleteDeploymentCommand = async ( "Content-Type": "", }; let resolvedPath = "/v2/apis/{ApiId}/deployments/{DeploymentId}"; - if (input.ApiId !== undefined) { - const labelValue: string = input.ApiId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: ApiId."); - } - resolvedPath = resolvedPath.replace("{ApiId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: ApiId."); - } if (input.DeploymentId !== undefined) { const labelValue: string = input.DeploymentId; if (labelValue.length <= 0) { @@ -851,6 +862,15 @@ export const serializeAws_restJson1DeleteDeploymentCommand = async ( } else { throw new Error("No value provided for input HTTP label: DeploymentId."); } + if (input.ApiId !== undefined) { + const labelValue: string = input.ApiId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: ApiId."); + } + resolvedPath = resolvedPath.replace("{ApiId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: ApiId."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -1067,6 +1087,15 @@ export const serializeAws_restJson1DeleteRouteRequestParameterCommand = async ( "Content-Type": "", }; let resolvedPath = "/v2/apis/{ApiId}/routes/{RouteId}/requestparameters/{RequestParameterKey}"; + if (input.ApiId !== undefined) { + const labelValue: string = input.ApiId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: ApiId."); + } + resolvedPath = resolvedPath.replace("{ApiId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: ApiId."); + } if (input.RouteId !== undefined) { const labelValue: string = input.RouteId; if (labelValue.length <= 0) { @@ -1085,15 +1114,6 @@ export const serializeAws_restJson1DeleteRouteRequestParameterCommand = async ( } else { throw new Error("No value provided for input HTTP label: RequestParameterKey."); } - if (input.ApiId !== undefined) { - const labelValue: string = input.ApiId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: ApiId."); - } - resolvedPath = resolvedPath.replace("{ApiId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: ApiId."); - } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -1115,6 +1135,15 @@ export const serializeAws_restJson1DeleteRouteResponseCommand = async ( "Content-Type": "", }; let resolvedPath = "/v2/apis/{ApiId}/routes/{RouteId}/routeresponses/{RouteResponseId}"; + if (input.RouteId !== undefined) { + const labelValue: string = input.RouteId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: RouteId."); + } + resolvedPath = resolvedPath.replace("{RouteId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: RouteId."); + } if (input.RouteResponseId !== undefined) { const labelValue: string = input.RouteResponseId; if (labelValue.length <= 0) { @@ -1133,15 +1162,6 @@ export const serializeAws_restJson1DeleteRouteResponseCommand = async ( } else { throw new Error("No value provided for input HTTP label: ApiId."); } - if (input.RouteId !== undefined) { - const labelValue: string = input.RouteId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: RouteId."); - } - resolvedPath = resolvedPath.replace("{RouteId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: RouteId."); - } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -1299,10 +1319,10 @@ export const serializeAws_restJson1ExportApiCommand = async ( throw new Error("No value provided for input HTTP label: Specification."); } const query: any = { - ...(input.ExportVersion !== undefined && { exportVersion: input.ExportVersion }), - ...(input.OutputType !== undefined && { outputType: input.OutputType }), - ...(input.StageName !== undefined && { stageName: input.StageName }), ...(input.IncludeExtensions !== undefined && { includeExtensions: input.IncludeExtensions.toString() }), + ...(input.StageName !== undefined && { stageName: input.StageName }), + ...(input.OutputType !== undefined && { outputType: input.OutputType }), + ...(input.ExportVersion !== undefined && { exportVersion: input.ExportVersion }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -1356,15 +1376,6 @@ export const serializeAws_restJson1GetApiMappingCommand = async ( "Content-Type": "", }; let resolvedPath = "/v2/domainnames/{DomainName}/apimappings/{ApiMappingId}"; - if (input.DomainName !== undefined) { - const labelValue: string = input.DomainName; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: DomainName."); - } - resolvedPath = resolvedPath.replace("{DomainName}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: DomainName."); - } if (input.ApiMappingId !== undefined) { const labelValue: string = input.ApiMappingId; if (labelValue.length <= 0) { @@ -1374,6 +1385,15 @@ export const serializeAws_restJson1GetApiMappingCommand = async ( } else { throw new Error("No value provided for input HTTP label: ApiMappingId."); } + if (input.DomainName !== undefined) { + const labelValue: string = input.DomainName; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: DomainName."); + } + resolvedPath = resolvedPath.replace("{DomainName}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: DomainName."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -1505,8 +1525,8 @@ export const serializeAws_restJson1GetAuthorizersCommand = async ( throw new Error("No value provided for input HTTP label: ApiId."); } const query: any = { - ...(input.MaxResults !== undefined && { maxResults: input.MaxResults }), ...(input.NextToken !== undefined && { nextToken: input.NextToken }), + ...(input.MaxResults !== undefined && { maxResults: input.MaxResults }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -1579,8 +1599,8 @@ export const serializeAws_restJson1GetDeploymentsCommand = async ( throw new Error("No value provided for input HTTP label: ApiId."); } const query: any = { - ...(input.NextToken !== undefined && { nextToken: input.NextToken }), ...(input.MaxResults !== undefined && { maxResults: input.MaxResults }), + ...(input.NextToken !== undefined && { nextToken: input.NextToken }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -1660,15 +1680,6 @@ export const serializeAws_restJson1GetIntegrationCommand = async ( "Content-Type": "", }; let resolvedPath = "/v2/apis/{ApiId}/integrations/{IntegrationId}"; - if (input.IntegrationId !== undefined) { - const labelValue: string = input.IntegrationId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: IntegrationId."); - } - resolvedPath = resolvedPath.replace("{IntegrationId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: IntegrationId."); - } if (input.ApiId !== undefined) { const labelValue: string = input.ApiId; if (labelValue.length <= 0) { @@ -1678,6 +1689,15 @@ export const serializeAws_restJson1GetIntegrationCommand = async ( } else { throw new Error("No value provided for input HTTP label: ApiId."); } + if (input.IntegrationId !== undefined) { + const labelValue: string = input.IntegrationId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: IntegrationId."); + } + resolvedPath = resolvedPath.replace("{IntegrationId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: IntegrationId."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -1708,15 +1728,6 @@ export const serializeAws_restJson1GetIntegrationResponseCommand = async ( } else { throw new Error("No value provided for input HTTP label: ApiId."); } - if (input.IntegrationId !== undefined) { - const labelValue: string = input.IntegrationId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: IntegrationId."); - } - resolvedPath = resolvedPath.replace("{IntegrationId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: IntegrationId."); - } if (input.IntegrationResponseId !== undefined) { const labelValue: string = input.IntegrationResponseId; if (labelValue.length <= 0) { @@ -1726,6 +1737,15 @@ export const serializeAws_restJson1GetIntegrationResponseCommand = async ( } else { throw new Error("No value provided for input HTTP label: IntegrationResponseId."); } + if (input.IntegrationId !== undefined) { + const labelValue: string = input.IntegrationId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: IntegrationId."); + } + resolvedPath = resolvedPath.replace("{IntegrationId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: IntegrationId."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -1801,8 +1821,8 @@ export const serializeAws_restJson1GetIntegrationsCommand = async ( throw new Error("No value provided for input HTTP label: ApiId."); } const query: any = { - ...(input.NextToken !== undefined && { nextToken: input.NextToken }), ...(input.MaxResults !== undefined && { maxResults: input.MaxResults }), + ...(input.NextToken !== undefined && { nextToken: input.NextToken }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -1978,15 +1998,6 @@ export const serializeAws_restJson1GetRouteResponseCommand = async ( "Content-Type": "", }; let resolvedPath = "/v2/apis/{ApiId}/routes/{RouteId}/routeresponses/{RouteResponseId}"; - if (input.RouteResponseId !== undefined) { - const labelValue: string = input.RouteResponseId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: RouteResponseId."); - } - resolvedPath = resolvedPath.replace("{RouteResponseId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: RouteResponseId."); - } if (input.RouteId !== undefined) { const labelValue: string = input.RouteId; if (labelValue.length <= 0) { @@ -2005,6 +2016,15 @@ export const serializeAws_restJson1GetRouteResponseCommand = async ( } else { throw new Error("No value provided for input HTTP label: ApiId."); } + if (input.RouteResponseId !== undefined) { + const labelValue: string = input.RouteResponseId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: RouteResponseId."); + } + resolvedPath = resolvedPath.replace("{RouteResponseId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: RouteResponseId."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -2026,15 +2046,6 @@ export const serializeAws_restJson1GetRouteResponsesCommand = async ( "Content-Type": "", }; let resolvedPath = "/v2/apis/{ApiId}/routes/{RouteId}/routeresponses"; - if (input.RouteId !== undefined) { - const labelValue: string = input.RouteId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: RouteId."); - } - resolvedPath = resolvedPath.replace("{RouteId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: RouteId."); - } if (input.ApiId !== undefined) { const labelValue: string = input.ApiId; if (labelValue.length <= 0) { @@ -2044,9 +2055,18 @@ export const serializeAws_restJson1GetRouteResponsesCommand = async ( } else { throw new Error("No value provided for input HTTP label: ApiId."); } + if (input.RouteId !== undefined) { + const labelValue: string = input.RouteId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: RouteId."); + } + resolvedPath = resolvedPath.replace("{RouteId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: RouteId."); + } const query: any = { - ...(input.MaxResults !== undefined && { maxResults: input.MaxResults }), ...(input.NextToken !== undefined && { nextToken: input.NextToken }), + ...(input.MaxResults !== undefined && { maxResults: input.MaxResults }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -2080,8 +2100,8 @@ export const serializeAws_restJson1GetRoutesCommand = async ( throw new Error("No value provided for input HTTP label: ApiId."); } const query: any = { - ...(input.MaxResults !== undefined && { maxResults: input.MaxResults }), ...(input.NextToken !== undefined && { nextToken: input.NextToken }), + ...(input.MaxResults !== undefined && { maxResults: input.MaxResults }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -2105,15 +2125,6 @@ export const serializeAws_restJson1GetStageCommand = async ( "Content-Type": "", }; let resolvedPath = "/v2/apis/{ApiId}/stages/{StageName}"; - if (input.StageName !== undefined) { - const labelValue: string = input.StageName; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: StageName."); - } - resolvedPath = resolvedPath.replace("{StageName}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: StageName."); - } if (input.ApiId !== undefined) { const labelValue: string = input.ApiId; if (labelValue.length <= 0) { @@ -2123,6 +2134,15 @@ export const serializeAws_restJson1GetStageCommand = async ( } else { throw new Error("No value provided for input HTTP label: ApiId."); } + if (input.StageName !== undefined) { + const labelValue: string = input.StageName; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: StageName."); + } + resolvedPath = resolvedPath.replace("{StageName}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: StageName."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -2266,8 +2286,8 @@ export const serializeAws_restJson1ImportApiCommand = async ( }; let resolvedPath = "/v2/apis"; const query: any = { - ...(input.Basepath !== undefined && { basepath: input.Basepath }), ...(input.FailOnWarnings !== undefined && { failOnWarnings: input.FailOnWarnings.toString() }), + ...(input.Basepath !== undefined && { basepath: input.Basepath }), }; let body: any; body = JSON.stringify({ @@ -2324,6 +2344,45 @@ export const serializeAws_restJson1ReimportApiCommand = async ( }); }; +export const serializeAws_restJson1ResetAuthorizersCacheCommand = async ( + input: ResetAuthorizersCacheCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: any = { + "Content-Type": "", + }; + let resolvedPath = "/v2/apis/{ApiId}/stages/{StageName}/cache/authorizers"; + if (input.ApiId !== undefined) { + const labelValue: string = input.ApiId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: ApiId."); + } + resolvedPath = resolvedPath.replace("{ApiId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: ApiId."); + } + if (input.StageName !== undefined) { + const labelValue: string = input.StageName; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: StageName."); + } + resolvedPath = resolvedPath.replace("{StageName}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: StageName."); + } + let body: any; + const { hostname, protocol = "https", port } = await context.endpoint(); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "DELETE", + headers, + path: resolvedPath, + body, + }); +}; + export const serializeAws_restJson1TagResourceCommand = async ( input: TagResourceCommandInput, context: __SerdeContext @@ -2418,6 +2477,9 @@ export const serializeAws_restJson1UpdateApiCommand = async ( }), ...(input.CredentialsArn !== undefined && { credentialsArn: input.CredentialsArn }), ...(input.Description !== undefined && { description: input.Description }), + ...(input.DisableExecuteApiEndpoint !== undefined && { + disableExecuteApiEndpoint: input.DisableExecuteApiEndpoint, + }), ...(input.DisableSchemaValidation !== undefined && { disableSchemaValidation: input.DisableSchemaValidation }), ...(input.Name !== undefined && { name: input.Name }), ...(input.RouteKey !== undefined && { routeKey: input.RouteKey }), @@ -2510,11 +2572,15 @@ export const serializeAws_restJson1UpdateAuthorizerCommand = async ( let body: any; body = JSON.stringify({ ...(input.AuthorizerCredentialsArn !== undefined && { authorizerCredentialsArn: input.AuthorizerCredentialsArn }), + ...(input.AuthorizerPayloadFormatVersion !== undefined && { + authorizerPayloadFormatVersion: input.AuthorizerPayloadFormatVersion, + }), ...(input.AuthorizerResultTtlInSeconds !== undefined && { authorizerResultTtlInSeconds: input.AuthorizerResultTtlInSeconds, }), ...(input.AuthorizerType !== undefined && { authorizerType: input.AuthorizerType }), ...(input.AuthorizerUri !== undefined && { authorizerUri: input.AuthorizerUri }), + ...(input.EnableSimpleResponses !== undefined && { enableSimpleResponses: input.EnableSimpleResponses }), ...(input.IdentitySource !== undefined && { identitySource: serializeAws_restJson1IdentitySourceList(input.IdentitySource, context), }), @@ -2546,15 +2612,6 @@ export const serializeAws_restJson1UpdateDeploymentCommand = async ( "Content-Type": "application/json", }; let resolvedPath = "/v2/apis/{ApiId}/deployments/{DeploymentId}"; - if (input.DeploymentId !== undefined) { - const labelValue: string = input.DeploymentId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: DeploymentId."); - } - resolvedPath = resolvedPath.replace("{DeploymentId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: DeploymentId."); - } if (input.ApiId !== undefined) { const labelValue: string = input.ApiId; if (labelValue.length <= 0) { @@ -2564,6 +2621,15 @@ export const serializeAws_restJson1UpdateDeploymentCommand = async ( } else { throw new Error("No value provided for input HTTP label: ApiId."); } + if (input.DeploymentId !== undefined) { + const labelValue: string = input.DeploymentId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: DeploymentId."); + } + resolvedPath = resolvedPath.replace("{DeploymentId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: DeploymentId."); + } let body: any; body = JSON.stringify({ ...(input.Description !== undefined && { description: input.Description }), @@ -2602,6 +2668,12 @@ export const serializeAws_restJson1UpdateDomainNameCommand = async ( ...(input.DomainNameConfigurations !== undefined && { domainNameConfigurations: serializeAws_restJson1DomainNameConfigurations(input.DomainNameConfigurations, context), }), + ...(input.MutualTlsAuthentication !== undefined && { + mutualTlsAuthentication: serializeAws_restJson1MutualTlsAuthenticationInput( + input.MutualTlsAuthentication, + context + ), + }), }); const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -2649,6 +2721,7 @@ export const serializeAws_restJson1UpdateIntegrationCommand = async ( ...(input.CredentialsArn !== undefined && { credentialsArn: input.CredentialsArn }), ...(input.Description !== undefined && { description: input.Description }), ...(input.IntegrationMethod !== undefined && { integrationMethod: input.IntegrationMethod }), + ...(input.IntegrationSubtype !== undefined && { integrationSubtype: input.IntegrationSubtype }), ...(input.IntegrationType !== undefined && { integrationType: input.IntegrationType }), ...(input.IntegrationUri !== undefined && { integrationUri: input.IntegrationUri }), ...(input.PassthroughBehavior !== undefined && { passthroughBehavior: input.PassthroughBehavior }), @@ -2685,14 +2758,14 @@ export const serializeAws_restJson1UpdateIntegrationResponseCommand = async ( "Content-Type": "application/json", }; let resolvedPath = "/v2/apis/{ApiId}/integrations/{IntegrationId}/integrationresponses/{IntegrationResponseId}"; - if (input.ApiId !== undefined) { - const labelValue: string = input.ApiId; + if (input.IntegrationId !== undefined) { + const labelValue: string = input.IntegrationId; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: ApiId."); + throw new Error("Empty value provided for input HTTP label: IntegrationId."); } - resolvedPath = resolvedPath.replace("{ApiId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{IntegrationId}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: ApiId."); + throw new Error("No value provided for input HTTP label: IntegrationId."); } if (input.IntegrationResponseId !== undefined) { const labelValue: string = input.IntegrationResponseId; @@ -2703,14 +2776,14 @@ export const serializeAws_restJson1UpdateIntegrationResponseCommand = async ( } else { throw new Error("No value provided for input HTTP label: IntegrationResponseId."); } - if (input.IntegrationId !== undefined) { - const labelValue: string = input.IntegrationId; + if (input.ApiId !== undefined) { + const labelValue: string = input.ApiId; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: IntegrationId."); + throw new Error("Empty value provided for input HTTP label: ApiId."); } - resolvedPath = resolvedPath.replace("{IntegrationId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{ApiId}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: IntegrationId."); + throw new Error("No value provided for input HTTP label: ApiId."); } let body: any; body = JSON.stringify({ @@ -2791,15 +2864,6 @@ export const serializeAws_restJson1UpdateRouteCommand = async ( "Content-Type": "application/json", }; let resolvedPath = "/v2/apis/{ApiId}/routes/{RouteId}"; - if (input.RouteId !== undefined) { - const labelValue: string = input.RouteId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: RouteId."); - } - resolvedPath = resolvedPath.replace("{RouteId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: RouteId."); - } if (input.ApiId !== undefined) { const labelValue: string = input.ApiId; if (labelValue.length <= 0) { @@ -2809,6 +2873,15 @@ export const serializeAws_restJson1UpdateRouteCommand = async ( } else { throw new Error("No value provided for input HTTP label: ApiId."); } + if (input.RouteId !== undefined) { + const labelValue: string = input.RouteId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: RouteId."); + } + resolvedPath = resolvedPath.replace("{RouteId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: RouteId."); + } let body: any; body = JSON.stringify({ ...(input.ApiKeyRequired !== undefined && { apiKeyRequired: input.ApiKeyRequired }), @@ -2860,15 +2933,6 @@ export const serializeAws_restJson1UpdateRouteResponseCommand = async ( } else { throw new Error("No value provided for input HTTP label: RouteId."); } - if (input.ApiId !== undefined) { - const labelValue: string = input.ApiId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: ApiId."); - } - resolvedPath = resolvedPath.replace("{ApiId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: ApiId."); - } if (input.RouteResponseId !== undefined) { const labelValue: string = input.RouteResponseId; if (labelValue.length <= 0) { @@ -2878,6 +2942,15 @@ export const serializeAws_restJson1UpdateRouteResponseCommand = async ( } else { throw new Error("No value provided for input HTTP label: RouteResponseId."); } + if (input.ApiId !== undefined) { + const labelValue: string = input.ApiId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: ApiId."); + } + resolvedPath = resolvedPath.replace("{ApiId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: ApiId."); + } let body: any; body = JSON.stringify({ ...(input.ModelSelectionExpression !== undefined && { modelSelectionExpression: input.ModelSelectionExpression }), @@ -2909,15 +2982,6 @@ export const serializeAws_restJson1UpdateStageCommand = async ( "Content-Type": "application/json", }; let resolvedPath = "/v2/apis/{ApiId}/stages/{StageName}"; - if (input.StageName !== undefined) { - const labelValue: string = input.StageName; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: StageName."); - } - resolvedPath = resolvedPath.replace("{StageName}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: StageName."); - } if (input.ApiId !== undefined) { const labelValue: string = input.ApiId; if (labelValue.length <= 0) { @@ -2927,6 +2991,15 @@ export const serializeAws_restJson1UpdateStageCommand = async ( } else { throw new Error("No value provided for input HTTP label: ApiId."); } + if (input.StageName !== undefined) { + const labelValue: string = input.StageName; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: StageName."); + } + resolvedPath = resolvedPath.replace("{StageName}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: StageName."); + } let body: any; body = JSON.stringify({ ...(input.AccessLogSettings !== undefined && { @@ -3001,11 +3074,13 @@ export const deserializeAws_restJson1CreateApiCommand = async ( const contents: CreateApiCommandOutput = { $metadata: deserializeMetadata(output), ApiEndpoint: undefined, + ApiGatewayManaged: undefined, ApiId: undefined, ApiKeySelectionExpression: undefined, CorsConfiguration: undefined, CreatedDate: undefined, Description: undefined, + DisableExecuteApiEndpoint: undefined, DisableSchemaValidation: undefined, ImportInfo: undefined, Name: undefined, @@ -3019,6 +3094,9 @@ export const deserializeAws_restJson1CreateApiCommand = async ( if (data.apiEndpoint !== undefined && data.apiEndpoint !== null) { contents.ApiEndpoint = data.apiEndpoint; } + if (data.apiGatewayManaged !== undefined && data.apiGatewayManaged !== null) { + contents.ApiGatewayManaged = data.apiGatewayManaged; + } if (data.apiId !== undefined && data.apiId !== null) { contents.ApiId = data.apiId; } @@ -3034,6 +3112,9 @@ export const deserializeAws_restJson1CreateApiCommand = async ( if (data.description !== undefined && data.description !== null) { contents.Description = data.description; } + if (data.disableExecuteApiEndpoint !== undefined && data.disableExecuteApiEndpoint !== null) { + contents.DisableExecuteApiEndpoint = data.disableExecuteApiEndpoint; + } if (data.disableSchemaValidation !== undefined && data.disableSchemaValidation !== null) { contents.DisableSchemaValidation = data.disableSchemaValidation; } @@ -3224,9 +3305,11 @@ export const deserializeAws_restJson1CreateAuthorizerCommand = async ( $metadata: deserializeMetadata(output), AuthorizerCredentialsArn: undefined, AuthorizerId: undefined, + AuthorizerPayloadFormatVersion: undefined, AuthorizerResultTtlInSeconds: undefined, AuthorizerType: undefined, AuthorizerUri: undefined, + EnableSimpleResponses: undefined, IdentitySource: undefined, IdentityValidationExpression: undefined, JwtConfiguration: undefined, @@ -3239,6 +3322,9 @@ export const deserializeAws_restJson1CreateAuthorizerCommand = async ( if (data.authorizerId !== undefined && data.authorizerId !== null) { contents.AuthorizerId = data.authorizerId; } + if (data.authorizerPayloadFormatVersion !== undefined && data.authorizerPayloadFormatVersion !== null) { + contents.AuthorizerPayloadFormatVersion = data.authorizerPayloadFormatVersion; + } if (data.authorizerResultTtlInSeconds !== undefined && data.authorizerResultTtlInSeconds !== null) { contents.AuthorizerResultTtlInSeconds = data.authorizerResultTtlInSeconds; } @@ -3248,6 +3334,9 @@ export const deserializeAws_restJson1CreateAuthorizerCommand = async ( if (data.authorizerUri !== undefined && data.authorizerUri !== null) { contents.AuthorizerUri = data.authorizerUri; } + if (data.enableSimpleResponses !== undefined && data.enableSimpleResponses !== null) { + contents.EnableSimpleResponses = data.enableSimpleResponses; + } if (data.identitySource !== undefined && data.identitySource !== null) { contents.IdentitySource = deserializeAws_restJson1IdentitySourceList(data.identitySource, context); } @@ -3435,6 +3524,7 @@ export const deserializeAws_restJson1CreateDomainNameCommand = async ( ApiMappingSelectionExpression: undefined, DomainName: undefined, DomainNameConfigurations: undefined, + MutualTlsAuthentication: undefined, Tags: undefined, }; const data: any = await parseBody(output.body, context); @@ -3450,6 +3540,12 @@ export const deserializeAws_restJson1CreateDomainNameCommand = async ( context ); } + if (data.mutualTlsAuthentication !== undefined && data.mutualTlsAuthentication !== null) { + contents.MutualTlsAuthentication = deserializeAws_restJson1MutualTlsAuthentication( + data.mutualTlsAuthentication, + context + ); + } if (data.tags !== undefined && data.tags !== null) { contents.Tags = deserializeAws_restJson1Tags(data.tags, context); } @@ -3543,6 +3639,7 @@ export const deserializeAws_restJson1CreateIntegrationCommand = async ( IntegrationId: undefined, IntegrationMethod: undefined, IntegrationResponseSelectionExpression: undefined, + IntegrationSubtype: undefined, IntegrationType: undefined, IntegrationUri: undefined, PassthroughBehavior: undefined, @@ -3584,6 +3681,9 @@ export const deserializeAws_restJson1CreateIntegrationCommand = async ( ) { contents.IntegrationResponseSelectionExpression = data.integrationResponseSelectionExpression; } + if (data.integrationSubtype !== undefined && data.integrationSubtype !== null) { + contents.IntegrationSubtype = data.integrationSubtype; + } if (data.integrationType !== undefined && data.integrationType !== null) { contents.IntegrationType = data.integrationType; } @@ -5348,11 +5448,13 @@ export const deserializeAws_restJson1GetApiCommand = async ( const contents: GetApiCommandOutput = { $metadata: deserializeMetadata(output), ApiEndpoint: undefined, + ApiGatewayManaged: undefined, ApiId: undefined, ApiKeySelectionExpression: undefined, CorsConfiguration: undefined, CreatedDate: undefined, Description: undefined, + DisableExecuteApiEndpoint: undefined, DisableSchemaValidation: undefined, ImportInfo: undefined, Name: undefined, @@ -5366,6 +5468,9 @@ export const deserializeAws_restJson1GetApiCommand = async ( if (data.apiEndpoint !== undefined && data.apiEndpoint !== null) { contents.ApiEndpoint = data.apiEndpoint; } + if (data.apiGatewayManaged !== undefined && data.apiGatewayManaged !== null) { + contents.ApiGatewayManaged = data.apiGatewayManaged; + } if (data.apiId !== undefined && data.apiId !== null) { contents.ApiId = data.apiId; } @@ -5381,6 +5486,9 @@ export const deserializeAws_restJson1GetApiCommand = async ( if (data.description !== undefined && data.description !== null) { contents.Description = data.description; } + if (data.disableExecuteApiEndpoint !== undefined && data.disableExecuteApiEndpoint !== null) { + contents.DisableExecuteApiEndpoint = data.disableExecuteApiEndpoint; + } if (data.disableSchemaValidation !== undefined && data.disableSchemaValidation !== null) { contents.DisableSchemaValidation = data.disableSchemaValidation; } @@ -5697,9 +5805,11 @@ export const deserializeAws_restJson1GetAuthorizerCommand = async ( $metadata: deserializeMetadata(output), AuthorizerCredentialsArn: undefined, AuthorizerId: undefined, + AuthorizerPayloadFormatVersion: undefined, AuthorizerResultTtlInSeconds: undefined, AuthorizerType: undefined, AuthorizerUri: undefined, + EnableSimpleResponses: undefined, IdentitySource: undefined, IdentityValidationExpression: undefined, JwtConfiguration: undefined, @@ -5712,6 +5822,9 @@ export const deserializeAws_restJson1GetAuthorizerCommand = async ( if (data.authorizerId !== undefined && data.authorizerId !== null) { contents.AuthorizerId = data.authorizerId; } + if (data.authorizerPayloadFormatVersion !== undefined && data.authorizerPayloadFormatVersion !== null) { + contents.AuthorizerPayloadFormatVersion = data.authorizerPayloadFormatVersion; + } if (data.authorizerResultTtlInSeconds !== undefined && data.authorizerResultTtlInSeconds !== null) { contents.AuthorizerResultTtlInSeconds = data.authorizerResultTtlInSeconds; } @@ -5721,6 +5834,9 @@ export const deserializeAws_restJson1GetAuthorizerCommand = async ( if (data.authorizerUri !== undefined && data.authorizerUri !== null) { contents.AuthorizerUri = data.authorizerUri; } + if (data.enableSimpleResponses !== undefined && data.enableSimpleResponses !== null) { + contents.EnableSimpleResponses = data.enableSimpleResponses; + } if (data.identitySource !== undefined && data.identitySource !== null) { contents.IdentitySource = deserializeAws_restJson1IdentitySourceList(data.identitySource, context); } @@ -6026,6 +6142,7 @@ export const deserializeAws_restJson1GetDomainNameCommand = async ( ApiMappingSelectionExpression: undefined, DomainName: undefined, DomainNameConfigurations: undefined, + MutualTlsAuthentication: undefined, Tags: undefined, }; const data: any = await parseBody(output.body, context); @@ -6041,6 +6158,12 @@ export const deserializeAws_restJson1GetDomainNameCommand = async ( context ); } + if (data.mutualTlsAuthentication !== undefined && data.mutualTlsAuthentication !== null) { + contents.MutualTlsAuthentication = deserializeAws_restJson1MutualTlsAuthentication( + data.mutualTlsAuthentication, + context + ); + } if (data.tags !== undefined && data.tags !== null) { contents.Tags = deserializeAws_restJson1Tags(data.tags, context); } @@ -6185,6 +6308,7 @@ export const deserializeAws_restJson1GetIntegrationCommand = async ( IntegrationId: undefined, IntegrationMethod: undefined, IntegrationResponseSelectionExpression: undefined, + IntegrationSubtype: undefined, IntegrationType: undefined, IntegrationUri: undefined, PassthroughBehavior: undefined, @@ -6226,6 +6350,9 @@ export const deserializeAws_restJson1GetIntegrationCommand = async ( ) { contents.IntegrationResponseSelectionExpression = data.integrationResponseSelectionExpression; } + if (data.integrationSubtype !== undefined && data.integrationSubtype !== null) { + contents.IntegrationSubtype = data.integrationSubtype; + } if (data.integrationType !== undefined && data.integrationType !== null) { contents.IntegrationType = data.integrationType; } @@ -7532,11 +7659,13 @@ export const deserializeAws_restJson1ImportApiCommand = async ( const contents: ImportApiCommandOutput = { $metadata: deserializeMetadata(output), ApiEndpoint: undefined, + ApiGatewayManaged: undefined, ApiId: undefined, ApiKeySelectionExpression: undefined, CorsConfiguration: undefined, CreatedDate: undefined, Description: undefined, + DisableExecuteApiEndpoint: undefined, DisableSchemaValidation: undefined, ImportInfo: undefined, Name: undefined, @@ -7550,6 +7679,9 @@ export const deserializeAws_restJson1ImportApiCommand = async ( if (data.apiEndpoint !== undefined && data.apiEndpoint !== null) { contents.ApiEndpoint = data.apiEndpoint; } + if (data.apiGatewayManaged !== undefined && data.apiGatewayManaged !== null) { + contents.ApiGatewayManaged = data.apiGatewayManaged; + } if (data.apiId !== undefined && data.apiId !== null) { contents.ApiId = data.apiId; } @@ -7565,6 +7697,9 @@ export const deserializeAws_restJson1ImportApiCommand = async ( if (data.description !== undefined && data.description !== null) { contents.Description = data.description; } + if (data.disableExecuteApiEndpoint !== undefined && data.disableExecuteApiEndpoint !== null) { + contents.DisableExecuteApiEndpoint = data.disableExecuteApiEndpoint; + } if (data.disableSchemaValidation !== undefined && data.disableSchemaValidation !== null) { contents.DisableSchemaValidation = data.disableSchemaValidation; } @@ -7663,11 +7798,13 @@ export const deserializeAws_restJson1ReimportApiCommand = async ( const contents: ReimportApiCommandOutput = { $metadata: deserializeMetadata(output), ApiEndpoint: undefined, + ApiGatewayManaged: undefined, ApiId: undefined, ApiKeySelectionExpression: undefined, CorsConfiguration: undefined, CreatedDate: undefined, Description: undefined, + DisableExecuteApiEndpoint: undefined, DisableSchemaValidation: undefined, ImportInfo: undefined, Name: undefined, @@ -7681,6 +7818,9 @@ export const deserializeAws_restJson1ReimportApiCommand = async ( if (data.apiEndpoint !== undefined && data.apiEndpoint !== null) { contents.ApiEndpoint = data.apiEndpoint; } + if (data.apiGatewayManaged !== undefined && data.apiGatewayManaged !== null) { + contents.ApiGatewayManaged = data.apiGatewayManaged; + } if (data.apiId !== undefined && data.apiId !== null) { contents.ApiId = data.apiId; } @@ -7696,6 +7836,9 @@ export const deserializeAws_restJson1ReimportApiCommand = async ( if (data.description !== undefined && data.description !== null) { contents.Description = data.description; } + if (data.disableExecuteApiEndpoint !== undefined && data.disableExecuteApiEndpoint !== null) { + contents.DisableExecuteApiEndpoint = data.disableExecuteApiEndpoint; + } if (data.disableSchemaValidation !== undefined && data.disableSchemaValidation !== null) { contents.DisableSchemaValidation = data.disableSchemaValidation; } @@ -7784,6 +7927,65 @@ const deserializeAws_restJson1ReimportApiCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_restJson1ResetAuthorizersCacheCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): PromiseThe application ID.
+ *The description of the application.
*/ - Id?: string; + Description?: string; /** - *The description of the application.
+ *The application ID.
*/ - Description?: string; + Id?: string; } export namespace Application { @@ -45,17 +45,17 @@ export interface CreateApplicationRequest { */ Name: string | undefined; + /** + *A description of the application.
+ */ + Description?: string; + /** *Metadata to assign to the application. Tags help organize and categorize your AppConfig * resources. Each tag consists of a key and an optional value, both of which you * define.
*/ Tags?: { [key: string]: string }; - - /** - *A description of the application.
- */ - Description?: string; } export namespace CreateApplicationRequest { @@ -120,14 +120,9 @@ export interface ConfigurationProfile { ApplicationId?: string; /** - *The name of the configuration profile.
- */ - Name?: string; - - /** - *A list of methods for validating the configuration.
+ *The URI location of the configuration.
*/ - Validators?: Validator[]; + LocationUri?: string; /** *The ARN of an IAM role with permission to access the configuration at the specified @@ -136,9 +131,14 @@ export interface ConfigurationProfile { RetrievalRoleArn?: string; /** - *
The URI location of the configuration.
+ *The name of the configuration profile.
*/ - LocationUri?: string; + Name?: string; + + /** + *The configuration profile description.
+ */ + Description?: string; /** *The configuration profile ID.
@@ -146,9 +146,9 @@ export interface ConfigurationProfile { Id?: string; /** - *The configuration profile description.
+ *A list of methods for validating the configuration.
*/ - Description?: string; + Validators?: Validator[]; } export namespace ConfigurationProfile { @@ -165,11 +165,6 @@ export interface CreateConfigurationProfileRequest { */ RetrievalRoleArn?: string; - /** - *A list of methods for validating the configuration.
- */ - Validators?: Validator[]; - /** *A name for the configuration profile.
*/ @@ -187,11 +182,6 @@ export interface CreateConfigurationProfileRequest { */ Tags?: { [key: string]: string }; - /** - *A description of the configuration profile.
- */ - Description?: string; - /** *A URI to locate the configuration. You can specify a Systems Manager (SSM) document, an SSM * Parameter Store parameter, or an Amazon S3 object. For an SSM document, specify either the @@ -202,6 +192,16 @@ export interface CreateConfigurationProfileRequest { * . Here is an example: s3://my-bucket/my-app/us-east-1/my-config.json
*/ LocationUri: string | undefined; + + /** + *A description of the configuration profile.
+ */ + Description?: string; + + /** + *A list of methods for validating the configuration.
+ */ + Validators?: Validator[]; } export namespace CreateConfigurationProfileRequest { @@ -251,16 +251,14 @@ export interface CreateDeploymentStrategyRequest { FinalBakeTimeInMinutes?: number; /** - *Metadata to assign to the deployment strategy. Tags help organize and categorize your - * AppConfig resources. Each tag consists of a key and an optional value, both of which you - * define.
+ *A name for the deployment strategy.
*/ - Tags?: { [key: string]: string }; + Name: string | undefined; /** - *A name for the deployment strategy.
+ *A description of the deployment strategy.
*/ - Name: string | undefined; + Description?: string; /** *Save the deployment strategy to a Systems Manager (SSM) document.
@@ -268,9 +266,11 @@ export interface CreateDeploymentStrategyRequest { ReplicateTo: ReplicateTo | string | undefined; /** - *Total amount of time for a deployment to last.
+ *Metadata to assign to the deployment strategy. Tags help organize and categorize your + * AppConfig resources. Each tag consists of a key and an optional value, both of which you + * define.
*/ - DeploymentDurationInMinutes: number | undefined; + Tags?: { [key: string]: string }; /** *The algorithm used to define how percentage grows over time. AWS AppConfig supports the @@ -307,9 +307,9 @@ export interface CreateDeploymentStrategyRequest { GrowthType?: GrowthType | string; /** - *
A description of the deployment strategy.
+ *Total amount of time for a deployment to last.
*/ - Description?: string; + DeploymentDurationInMinutes: number | undefined; } export namespace CreateDeploymentStrategyRequest { @@ -319,16 +319,6 @@ export namespace CreateDeploymentStrategyRequest { } export interface DeploymentStrategy { - /** - *The algorithm used to define how percentage grew over time.
- */ - GrowthType?: GrowthType | string; - - /** - *Total amount of time the deployment lasted.
- */ - DeploymentDurationInMinutes?: number; - /** *Save the deployment strategy to a Systems Manager (SSM) document.
*/ @@ -344,6 +334,11 @@ export interface DeploymentStrategy { */ Description?: string; + /** + *The name of the deployment strategy.
+ */ + Name?: string; + /** *The amount of time AppConfig monitored for alarms before considering the deployment to be * complete and no longer eligible for automatic roll back.
@@ -351,15 +346,20 @@ export interface DeploymentStrategy { FinalBakeTimeInMinutes?: number; /** - *The name of the deployment strategy.
+ *Total amount of time the deployment lasted.
*/ - Name?: string; + DeploymentDurationInMinutes?: number; /** *The percentage of targets that received a deployed configuration during each * interval.
*/ GrowthFactor?: number; + + /** + *The algorithm used to define how percentage grew over time.
+ */ + GrowthType?: GrowthType | string; } export namespace DeploymentStrategy { @@ -373,14 +373,14 @@ export namespace DeploymentStrategy { */ export interface Monitor { /** - *ARN of the Amazon CloudWatch alarm.
+ *ARN of an IAM role for AppConfig to monitor AlarmArn
.
ARN of an IAM role for AppConfig to monitor AlarmArn
.
ARN of the Amazon CloudWatch alarm.
*/ - AlarmRoleArn?: string; + AlarmArn?: string; } export namespace Monitor { @@ -391,11 +391,9 @@ export namespace Monitor { export interface CreateEnvironmentRequest { /** - *Metadata to assign to the environment. Tags help organize and categorize your AppConfig - * resources. Each tag consists of a key and an optional value, both of which you - * define.
+ *The application ID.
*/ - Tags?: { [key: string]: string }; + ApplicationId: string | undefined; /** *Amazon CloudWatch alarms to monitor during the deployment process.
@@ -408,14 +406,16 @@ export interface CreateEnvironmentRequest { Description?: string; /** - *A name for the environment.
+ *Metadata to assign to the environment. Tags help organize and categorize your AppConfig + * resources. Each tag consists of a key and an optional value, both of which you + * define.
*/ - Name: string | undefined; + Tags?: { [key: string]: string }; /** - *The application ID.
+ *A name for the environment.
*/ - ApplicationId: string | undefined; + Name: string | undefined; } export namespace CreateEnvironmentRequest { @@ -442,6 +442,16 @@ export interface Environment { */ ApplicationId?: string; + /** + *Amazon CloudWatch alarms monitored during the deployment.
+ */ + Monitors?: Monitor[]; + + /** + *The environment ID.
+ */ + Id?: string; + /** *The description of the environment.
*/ @@ -454,16 +464,6 @@ export interface Environment { * */ State?: EnvironmentState | string; - - /** - *The environment ID.
- */ - Id?: string; - - /** - *Amazon CloudWatch alarms monitored during the deployment.
- */ - Monitors?: Monitor[]; } export namespace Environment { @@ -489,6 +489,16 @@ export namespace ConflictException { } export interface CreateHostedConfigurationVersionRequest { + /** + *The content of the configuration or the configuration data.
+ */ + Content: Uint8Array | undefined; + + /** + *The configuration profile ID.
+ */ + ConfigurationProfileId: string | undefined; + /** *An optional locking token used to prevent race conditions from overwriting configuration * updates when creating a new version. To ensure your data is not overwritten when creating @@ -497,11 +507,6 @@ export interface CreateHostedConfigurationVersionRequest { */ LatestVersionNumber?: number; - /** - *
The content of the configuration or the configuration data.
- */ - Content: Uint8Array | undefined; - /** *A description of the configuration.
*/ @@ -513,11 +518,6 @@ export interface CreateHostedConfigurationVersionRequest { */ ContentType: string | undefined; - /** - *The configuration profile ID.
- */ - ConfigurationProfileId: string | undefined; - /** *The application ID.
*/ @@ -532,12 +532,6 @@ export namespace CreateHostedConfigurationVersionRequest { } export interface HostedConfigurationVersion { - /** - *A standard MIME type describing the format of the configuration content. For more - * information, see Content-Type.
- */ - ContentType?: string; - /** *A description of the configuration.
*/ @@ -549,9 +543,15 @@ export interface HostedConfigurationVersion { ConfigurationProfileId?: string; /** - *The configuration version.
+ *The content of the configuration or the configuration data.
*/ - VersionNumber?: number; + Content?: Uint8Array; + + /** + *A standard MIME type describing the format of the configuration content. For more + * information, see Content-Type.
+ */ + ContentType?: string; /** *The application ID.
@@ -559,9 +559,9 @@ export interface HostedConfigurationVersion { ApplicationId?: string; /** - *The content of the configuration or the configuration data.
+ *The configuration version.
*/ - Content?: Uint8Array; + VersionNumber?: number; } export namespace HostedConfigurationVersion { @@ -581,10 +581,10 @@ export enum BytesMeasure { export interface PayloadTooLargeException extends __SmithyException, $MetadataBearer { name: "PayloadTooLargeException"; $fault: "client"; - Limit?: number; - Size?: number; Message?: string; + Size?: number; Measure?: BytesMeasure | string; + Limit?: number; } export namespace PayloadTooLargeException { @@ -655,14 +655,14 @@ export namespace DeleteDeploymentStrategyRequest { export interface DeleteEnvironmentRequest { /** - *The ID of the environment you want to delete.
+ *The application ID that includes the environment you want to delete.
*/ - EnvironmentId: string | undefined; + ApplicationId: string | undefined; /** - *The application ID that includes the environment you want to delete.
+ *The ID of the environment you want to delete.
*/ - ApplicationId: string | undefined; + EnvironmentId: string | undefined; } export namespace DeleteEnvironmentRequest { @@ -673,9 +673,9 @@ export namespace DeleteEnvironmentRequest { export interface DeleteHostedConfigurationVersionRequest { /** - *The application ID.
+ *The configuration profile ID.
*/ - ApplicationId: string | undefined; + ConfigurationProfileId: string | undefined; /** *The versions number to delete.
@@ -683,9 +683,9 @@ export interface DeleteHostedConfigurationVersionRequest { VersionNumber: number | undefined; /** - *The configuration profile ID.
+ *The application ID.
*/ - ConfigurationProfileId: string | undefined; + ApplicationId: string | undefined; } export namespace DeleteHostedConfigurationVersionRequest { @@ -708,17 +708,17 @@ export namespace GetApplicationRequest { } export interface Configuration { - /** - *The content of the configuration or the configuration data.
- */ - Content?: Uint8Array; - /** *A standard MIME type describing the format of the configuration content. For more * information, see Content-Type.
*/ ContentType?: string; + /** + *The content of the configuration or the configuration data.
+ */ + Content?: Uint8Array; + /** *The configuration version.
*/ @@ -739,24 +739,6 @@ export interface GetConfigurationRequest { */ Environment: string | undefined; - /** - *The configuration to get. Specify either the configuration name or the configuration - * ID.
- */ - Configuration: string | undefined; - - /** - *A unique ID to identify the client for the configuration. This ID enables AppConfig to - * deploy the configuration in intervals, as defined in the deployment strategy.
- */ - ClientId: string | undefined; - - /** - *The application to get. Specify either the application name or the application - * ID.
- */ - Application: string | undefined; - /** *The configuration version returned in the most recent GetConfiguration
* response.
A unique ID to identify the client for the configuration. This ID enables AppConfig to + * deploy the configuration in intervals, as defined in the deployment strategy.
+ */ + ClientId: string | undefined; + + /** + *The application to get. Specify either the application name or the application + * ID.
+ */ + Application: string | undefined; + + /** + *The configuration to get. Specify either the configuration name or the configuration + * ID.
+ */ + Configuration: string | undefined; } export namespace GetConfigurationRequest { @@ -785,16 +785,16 @@ export namespace GetConfigurationRequest { } export interface GetConfigurationProfileRequest { - /** - *The ID of the configuration profile you want to get.
- */ - ConfigurationProfileId: string | undefined; - /** *The ID of the application that includes the configuration profile you want to * get.
*/ ApplicationId: string | undefined; + + /** + *The ID of the configuration profile you want to get.
+ */ + ConfigurationProfileId: string | undefined; } export namespace GetConfigurationProfileRequest { @@ -823,11 +823,6 @@ export enum TriggeredBy { *An object that describes a deployment event.
*/ export interface DeploymentEvent { - /** - *The date and time the event occurred.
- */ - OccurredAt?: Date; - /** *A description of the deployment event. Descriptions include, but are not limited to, the * user account or the CloudWatch alarm ARN that initiated a rollback, the percentage of hosts @@ -836,18 +831,23 @@ export interface DeploymentEvent { */ Description?: string; - /** - *
The entity that triggered the deployment event. Events can be triggered by a user, AWS - * AppConfig, an Amazon CloudWatch alarm, or an internal error.
- */ - TriggeredBy?: TriggeredBy | string; - /** *The type of deployment event. Deployment event types include the start, stop, or * completion of a deployment; a percentage update; the start or stop of a bake period; the * start or completion of a rollback.
*/ EventType?: DeploymentEventType | string; + + /** + *The date and time the event occurred.
+ */ + OccurredAt?: Date; + + /** + *The entity that triggered the deployment event. Events can be triggered by a user, AWS + * AppConfig, an Amazon CloudWatch alarm, or an internal error.
+ */ + TriggeredBy?: TriggeredBy | string; } export namespace DeploymentEvent { @@ -867,71 +867,70 @@ export enum DeploymentState { export interface Deployment { /** - *The ID of the deployment strategy that was deployed.
+ *The time the deployment started.
*/ - DeploymentStrategyId?: string; + StartedAt?: Date; /** - *The ID of the application that was deployed.
+ *The ID of the configuration profile that was deployed.
*/ - ApplicationId?: string; + ConfigurationProfileId?: string; /** - *Information about the source location of the configuration.
+ *The percentage of targets for which the deployment is available.
*/ - ConfigurationLocationUri?: string; + PercentageComplete?: number; /** - *The algorithm used to define how percentage grew over time.
+ *The state of the deployment.
*/ - GrowthType?: GrowthType | string; + State?: DeploymentState | string; /** - *The percentage of targets for which the deployment is available.
+ *The description of the deployment.
*/ - PercentageComplete?: number; + Description?: string; /** - *The state of the deployment.
+ *The algorithm used to define how percentage grew over time.
*/ - State?: DeploymentState | string; + GrowthType?: GrowthType | string; /** - *A list containing all events related to a deployment. The most recent events are - * displayed first.
+ *Information about the source location of the configuration.
*/ - EventLog?: DeploymentEvent[]; + ConfigurationLocationUri?: string; /** - *The configuration version that was deployed.
+ *The ID of the deployment strategy that was deployed.
*/ - ConfigurationVersion?: string; + DeploymentStrategyId?: string; /** - *The description of the deployment.
+ *The configuration version that was deployed.
*/ - Description?: string; + ConfigurationVersion?: string; /** - *The ID of the configuration profile that was deployed.
+ *A list containing all events related to a deployment. The most recent events are + * displayed first.
*/ - ConfigurationProfileId?: string; + EventLog?: DeploymentEvent[]; /** - *Total amount of time the deployment lasted.
+ *The ID of the environment that was deployed.
*/ - DeploymentDurationInMinutes?: number; + EnvironmentId?: string; /** - *The amount of time AppConfig monitored for alarms before considering the deployment to be - * complete and no longer eligible for automatic roll back.
+ *The ID of the application that was deployed.
*/ - FinalBakeTimeInMinutes?: number; + ApplicationId?: string; /** - *The time the deployment started.
+ *The name of the configuration.
*/ - StartedAt?: Date; + ConfigurationName?: string; /** *The sequence number of the deployment.
@@ -939,10 +938,10 @@ export interface Deployment { DeploymentNumber?: number; /** - *The percentage of targets to receive a deployed configuration during each - * interval.
+ *The amount of time AppConfig monitored for alarms before considering the deployment to be + * complete and no longer eligible for automatic roll back.
*/ - GrowthFactor?: number; + FinalBakeTimeInMinutes?: number; /** *The time the deployment completed.
@@ -950,14 +949,15 @@ export interface Deployment { CompletedAt?: Date; /** - *The name of the configuration.
+ *The percentage of targets to receive a deployed configuration during each + * interval.
*/ - ConfigurationName?: string; + GrowthFactor?: number; /** - *The ID of the environment that was deployed.
+ *Total amount of time the deployment lasted.
*/ - EnvironmentId?: string; + DeploymentDurationInMinutes?: number; } export namespace Deployment { @@ -1027,14 +1027,14 @@ export interface GetHostedConfigurationVersionRequest { ConfigurationProfileId: string | undefined; /** - *The application ID.
+ *The version.
*/ - ApplicationId: string | undefined; + VersionNumber: number | undefined; /** - *The version.
+ *The application ID.
*/ - VersionNumber: number | undefined; + ApplicationId: string | undefined; } export namespace GetHostedConfigurationVersionRequest { @@ -1045,15 +1045,15 @@ export namespace GetHostedConfigurationVersionRequest { export interface Applications { /** - *The token for the next set of items to return. Use this token to get the next set of - * results.
+ *The elements from this collection.
*/ - NextToken?: string; + Items?: Application[]; /** - *The elements from this collection.
+ *The token for the next set of items to return. Use this token to get the next set of + * results.
*/ - Items?: Application[]; + NextToken?: string; } export namespace Applications { @@ -1064,15 +1064,15 @@ export namespace Applications { export interface ListApplicationsRequest { /** - *The maximum number of items to return for this call. The call also returns a token that - * you can specify in a subsequent call to get the next set of results.
+ *A token to start the list. Use this token to get the next set of results.
*/ - MaxResults?: number; + NextToken?: string; /** - *A token to start the list. Use this token to get the next set of results.
+ *The maximum number of items to return for this call. The call also returns a token that + * you can specify in a subsequent call to get the next set of results.
*/ - NextToken?: string; + MaxResults?: number; } export namespace ListApplicationsRequest { @@ -1085,26 +1085,26 @@ export namespace ListApplicationsRequest { *A summary of a configuration profile.
*/ export interface ConfigurationProfileSummary { - /** - *The application ID.
- */ - ApplicationId?: string; - /** *The types of validators in the configuration profile.
*/ ValidatorTypes?: (ValidatorType | string)[]; /** - *The name of the configuration profile.
+ *The application ID.
*/ - Name?: string; + ApplicationId?: string; /** *The URI location of the configuration.
*/ LocationUri?: string; + /** + *The name of the configuration profile.
+ */ + Name?: string; + /** *The ID of the configuration profile.
*/ @@ -1119,15 +1119,15 @@ export namespace ConfigurationProfileSummary { export interface ConfigurationProfiles { /** - *The token for the next set of items to return. Use this token to get the next set of - * results.
+ *The elements from this collection.
*/ - NextToken?: string; + Items?: ConfigurationProfileSummary[]; /** - *The elements from this collection.
+ *The token for the next set of items to return. Use this token to get the next set of + * results.
*/ - Items?: ConfigurationProfileSummary[]; + NextToken?: string; } export namespace ConfigurationProfiles { @@ -1144,14 +1144,14 @@ export interface ListConfigurationProfilesRequest { MaxResults?: number; /** - *A token to start the list. Use this token to get the next set of results.
+ *The application ID.
*/ - NextToken?: string; + ApplicationId: string | undefined; /** - *The application ID.
+ *A token to start the list. Use this token to get the next set of results.
*/ - ApplicationId: string | undefined; + NextToken?: string; } export namespace ListConfigurationProfilesRequest { @@ -1165,16 +1165,9 @@ export namespace ListConfigurationProfilesRequest { */ export interface DeploymentSummary { /** - *The amount of time AppConfig monitors for alarms before considering the deployment to be - * complete and no longer eligible for automatic roll back.
- */ - FinalBakeTimeInMinutes?: number; - - /** - *The percentage of targets to receive a deployed configuration during each - * interval.
+ *The version of the configuration.
*/ - GrowthFactor?: number; + ConfigurationVersion?: string; /** *The sequence number of the deployment.
@@ -1182,24 +1175,25 @@ export interface DeploymentSummary { DeploymentNumber?: number; /** - *Time the deployment completed.
+ *The state of the deployment.
*/ - CompletedAt?: Date; + State?: DeploymentState | string; /** - *Total amount of time the deployment lasted.
+ *The amount of time AppConfig monitors for alarms before considering the deployment to be + * complete and no longer eligible for automatic roll back.
*/ - DeploymentDurationInMinutes?: number; + FinalBakeTimeInMinutes?: number; /** - *The algorithm used to define how percentage grows over time.
+ *The percentage of targets for which the deployment is available.
*/ - GrowthType?: GrowthType | string; + PercentageComplete?: number; /** - *The percentage of targets for which the deployment is available.
+ *The name of the configuration.
*/ - PercentageComplete?: number; + ConfigurationName?: string; /** *Time the deployment started.
@@ -1207,19 +1201,25 @@ export interface DeploymentSummary { StartedAt?: Date; /** - *The name of the configuration.
+ *Time the deployment completed.
*/ - ConfigurationName?: string; + CompletedAt?: Date; /** - *The version of the configuration.
+ *The percentage of targets to receive a deployed configuration during each + * interval.
*/ - ConfigurationVersion?: string; + GrowthFactor?: number; /** - *The state of the deployment.
+ *Total amount of time the deployment lasted.
*/ - State?: DeploymentState | string; + DeploymentDurationInMinutes?: number; + + /** + *The algorithm used to define how percentage grows over time.
+ */ + GrowthType?: GrowthType | string; } export namespace DeploymentSummary { @@ -1230,15 +1230,15 @@ export namespace DeploymentSummary { export interface Deployments { /** - *The token for the next set of items to return. Use this token to get the next set of - * results.
+ *The elements from this collection.
*/ - NextToken?: string; + Items?: DeploymentSummary[]; /** - *The elements from this collection.
+ *The token for the next set of items to return. Use this token to get the next set of + * results.
*/ - Items?: DeploymentSummary[]; + NextToken?: string; } export namespace Deployments { @@ -1254,11 +1254,6 @@ export interface ListDeploymentsRequest { */ MaxResults?: number; - /** - *A token to start the list. Use this token to get the next set of results.
- */ - NextToken?: string; - /** *The application ID.
*/ @@ -1268,6 +1263,11 @@ export interface ListDeploymentsRequest { *The environment ID.
*/ EnvironmentId: string | undefined; + + /** + *A token to start the list. Use this token to get the next set of results.
+ */ + NextToken?: string; } export namespace ListDeploymentsRequest { @@ -1296,16 +1296,16 @@ export namespace DeploymentStrategies { } export interface ListDeploymentStrategiesRequest { - /** - *A token to start the list. Use this token to get the next set of results.
- */ - NextToken?: string; - /** *The maximum number of items to return for this call. The call also returns a token that * you can specify in a subsequent call to get the next set of results.
*/ MaxResults?: number; + + /** + *A token to start the list. Use this token to get the next set of results.
+ */ + NextToken?: string; } export namespace ListDeploymentStrategiesRequest { @@ -1315,16 +1315,16 @@ export namespace ListDeploymentStrategiesRequest { } export interface Environments { - /** - *The elements from this collection.
- */ - Items?: Environment[]; - /** *The token for the next set of items to return. Use this token to get the next set of * results.
*/ NextToken?: string; + + /** + *The elements from this collection.
+ */ + Items?: Environment[]; } export namespace Environments { @@ -1340,15 +1340,15 @@ export interface ListEnvironmentsRequest { ApplicationId: string | undefined; /** - *The maximum number of items to return for this call. The call also returns a token that - * you can specify in a subsequent call to get the next set of results.
+ *A token to start the list. Use this token to get the next set of results.
*/ - MaxResults?: number; + NextToken?: string; /** - *A token to start the list. Use this token to get the next set of results.
+ *The maximum number of items to return for this call. The call also returns a token that + * you can specify in a subsequent call to get the next set of results.
*/ - NextToken?: string; + MaxResults?: number; } export namespace ListEnvironmentsRequest { @@ -1362,19 +1362,19 @@ export namespace ListEnvironmentsRequest { */ export interface HostedConfigurationVersionSummary { /** - *A description of the configuration.
+ *The configuration profile ID.
*/ - Description?: string; + ConfigurationProfileId?: string; /** - *The application ID.
+ *The configuration version.
*/ - ApplicationId?: string; + VersionNumber?: number; /** - *The configuration version.
+ *The application ID.
*/ - VersionNumber?: number; + ApplicationId?: string; /** *A standard MIME type describing the format of the configuration content. For more @@ -1383,9 +1383,9 @@ export interface HostedConfigurationVersionSummary { ContentType?: string; /** - *
The configuration profile ID.
+ *A description of the configuration.
*/ - ConfigurationProfileId?: string; + Description?: string; } export namespace HostedConfigurationVersionSummary { @@ -1396,15 +1396,15 @@ export namespace HostedConfigurationVersionSummary { export interface HostedConfigurationVersions { /** - *The token for the next set of items to return. Use this token to get the next set of - * results.
+ *The elements from this collection.
*/ - NextToken?: string; + Items?: HostedConfigurationVersionSummary[]; /** - *The elements from this collection.
+ *The token for the next set of items to return. Use this token to get the next set of + * results.
*/ - Items?: HostedConfigurationVersionSummary[]; + NextToken?: string; } export namespace HostedConfigurationVersions { @@ -1415,25 +1415,25 @@ export namespace HostedConfigurationVersions { export interface ListHostedConfigurationVersionsRequest { /** - *A token to start the list. Use this token to get the next set of results.
+ *The application ID.
*/ - NextToken?: string; + ApplicationId: string | undefined; /** - *The application ID.
+ *The configuration profile ID.
*/ - ApplicationId: string | undefined; + ConfigurationProfileId: string | undefined; /** - *The maximum number of items to return for this call. The call also returns a token that - * you can specify in a subsequent call to get the next set of results.
+ *A token to start the list. Use this token to get the next set of results.
*/ - MaxResults?: number; + NextToken?: string; /** - *The configuration profile ID.
+ *The maximum number of items to return for this call. The call also returns a token that + * you can specify in a subsequent call to get the next set of results.
*/ - ConfigurationProfileId: string | undefined; + MaxResults?: number; } export namespace ListHostedConfigurationVersionsRequest { @@ -1476,11 +1476,6 @@ export interface StartDeploymentRequest { */ ApplicationId: string | undefined; - /** - *The configuration version to deploy.
- */ - ConfigurationVersion: string | undefined; - /** *The deployment strategy ID.
*/ @@ -1492,9 +1487,16 @@ export interface StartDeploymentRequest { ConfigurationProfileId: string | undefined; /** - *A description of the deployment.
+ *Metadata to assign to the deployment. Tags help organize and categorize your AppConfig + * resources. Each tag consists of a key and an optional value, both of which you + * define.
*/ - Description?: string; + Tags?: { [key: string]: string }; + + /** + *The configuration version to deploy.
+ */ + ConfigurationVersion: string | undefined; /** *The environment ID.
@@ -1502,11 +1504,9 @@ export interface StartDeploymentRequest { EnvironmentId: string | undefined; /** - *Metadata to assign to the deployment. Tags help organize and categorize your AppConfig - * resources. Each tag consists of a key and an optional value, both of which you - * define.
+ *A description of the deployment.
*/ - Tags?: { [key: string]: string }; + Description?: string; } export namespace StartDeploymentRequest { @@ -1560,14 +1560,14 @@ export namespace TagResourceRequest { export interface UntagResourceRequest { /** - *The tag keys to delete.
+ *The ARN of the resource for which to remove tags.
*/ - TagKeys: string[] | undefined; + ResourceArn: string | undefined; /** - *The ARN of the resource for which to remove tags.
+ *The tag keys to delete.
*/ - ResourceArn: string | undefined; + TagKeys: string[] | undefined; } export namespace UntagResourceRequest { @@ -1600,21 +1600,26 @@ export namespace UpdateApplicationRequest { } export interface UpdateConfigurationProfileRequest { + /** + *A list of methods for validating the configuration.
+ */ + Validators?: Validator[]; + /** *The name of the configuration profile.
*/ Name?: string; /** - *The ARN of an IAM role with permission to access the configuration at the specified - * LocationUri.
+ *A description of the configuration profile.
*/ - RetrievalRoleArn?: string; + Description?: string; /** - *The application ID.
+ *The ARN of an IAM role with permission to access the configuration at the specified + * LocationUri.
*/ - ApplicationId: string | undefined; + RetrievalRoleArn?: string; /** *The ID of the configuration profile.
@@ -1622,14 +1627,9 @@ export interface UpdateConfigurationProfileRequest { ConfigurationProfileId: string | undefined; /** - *A description of the configuration profile.
- */ - Description?: string; - - /** - *A list of methods for validating the configuration.
+ *The application ID.
*/ - Validators?: Validator[]; + ApplicationId: string | undefined; } export namespace UpdateConfigurationProfileRequest { @@ -1641,9 +1641,26 @@ export namespace UpdateConfigurationProfileRequest { export interface UpdateDeploymentStrategyRequest { /** - *A description of the deployment strategy.
+ *The amount of time AppConfig monitors for alarms before considering the deployment to be + * complete and no longer eligible for automatic roll back.
*/ - Description?: string; + FinalBakeTimeInMinutes?: number; + + /** + *The percentage of targets to receive a deployed configuration during each + * interval.
+ */ + GrowthFactor?: number; + + /** + *Total amount of time for a deployment to last.
+ */ + DeploymentDurationInMinutes?: number; + + /** + *The deployment strategy ID.
+ */ + DeploymentStrategyId: string | undefined; /** *The algorithm used to define how percentage grows over time. AWS AppConfig supports the @@ -1679,26 +1696,9 @@ export interface UpdateDeploymentStrategyRequest { GrowthType?: GrowthType | string; /** - *
Total amount of time for a deployment to last.
- */ - DeploymentDurationInMinutes?: number; - - /** - *The deployment strategy ID.
- */ - DeploymentStrategyId: string | undefined; - - /** - *The amount of time AppConfig monitors for alarms before considering the deployment to be - * complete and no longer eligible for automatic roll back.
- */ - FinalBakeTimeInMinutes?: number; - - /** - *The percentage of targets to receive a deployed configuration during each - * interval.
+ *A description of the deployment strategy.
*/ - GrowthFactor?: number; + Description?: string; } export namespace UpdateDeploymentStrategyRequest { @@ -1718,6 +1718,11 @@ export interface UpdateEnvironmentRequest { */ Monitors?: Monitor[]; + /** + *The application ID.
+ */ + ApplicationId: string | undefined; + /** *The environment ID.
*/ @@ -1727,11 +1732,6 @@ export interface UpdateEnvironmentRequest { *The name of the environment.
*/ Name?: string; - - /** - *The application ID.
- */ - ApplicationId: string | undefined; } export namespace UpdateEnvironmentRequest { @@ -1741,11 +1741,6 @@ export namespace UpdateEnvironmentRequest { } export interface ValidateConfigurationRequest { - /** - *The application ID.
- */ - ApplicationId: string | undefined; - /** *The configuration profile ID.
*/ @@ -1755,6 +1750,11 @@ export interface ValidateConfigurationRequest { *The version of the configuration to validate.
*/ ConfigurationVersion: string | undefined; + + /** + *The application ID.
+ */ + ApplicationId: string | undefined; } export namespace ValidateConfigurationRequest { diff --git a/clients/client-appconfig/pagination/ListApplicationsPaginator.ts b/clients/client-appconfig/pagination/ListApplicationsPaginator.ts index 3f07a830347b..e8d1161d1685 100644 --- a/clients/client-appconfig/pagination/ListApplicationsPaginator.ts +++ b/clients/client-appconfig/pagination/ListApplicationsPaginator.ts @@ -33,7 +33,7 @@ export async function* listApplicationsPaginate( let hasNext = true; let page: ListApplicationsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof AppConfig) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listApplicationsPaginate( throw new Error("Invalid client, expected AppConfig | AppConfigClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-appconfig/pagination/ListConfigurationProfilesPaginator.ts b/clients/client-appconfig/pagination/ListConfigurationProfilesPaginator.ts index 29779b703ca1..370aed8bc0fc 100644 --- a/clients/client-appconfig/pagination/ListConfigurationProfilesPaginator.ts +++ b/clients/client-appconfig/pagination/ListConfigurationProfilesPaginator.ts @@ -33,7 +33,7 @@ export async function* listConfigurationProfilesPaginate( let hasNext = true; let page: ListConfigurationProfilesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof AppConfig) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listConfigurationProfilesPaginate( throw new Error("Invalid client, expected AppConfig | AppConfigClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-appconfig/pagination/ListDeploymentStrategiesPaginator.ts b/clients/client-appconfig/pagination/ListDeploymentStrategiesPaginator.ts index 0bcd831422e2..a1475c72ac86 100644 --- a/clients/client-appconfig/pagination/ListDeploymentStrategiesPaginator.ts +++ b/clients/client-appconfig/pagination/ListDeploymentStrategiesPaginator.ts @@ -33,7 +33,7 @@ export async function* listDeploymentStrategiesPaginate( let hasNext = true; let page: ListDeploymentStrategiesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof AppConfig) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listDeploymentStrategiesPaginate( throw new Error("Invalid client, expected AppConfig | AppConfigClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-appconfig/pagination/ListDeploymentsPaginator.ts b/clients/client-appconfig/pagination/ListDeploymentsPaginator.ts index 86949a659d3f..2d59f56b3d39 100644 --- a/clients/client-appconfig/pagination/ListDeploymentsPaginator.ts +++ b/clients/client-appconfig/pagination/ListDeploymentsPaginator.ts @@ -33,7 +33,7 @@ export async function* listDeploymentsPaginate( let hasNext = true; let page: ListDeploymentsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof AppConfig) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listDeploymentsPaginate( throw new Error("Invalid client, expected AppConfig | AppConfigClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-appconfig/pagination/ListEnvironmentsPaginator.ts b/clients/client-appconfig/pagination/ListEnvironmentsPaginator.ts index 56beff8923cb..f340c2905d8d 100644 --- a/clients/client-appconfig/pagination/ListEnvironmentsPaginator.ts +++ b/clients/client-appconfig/pagination/ListEnvironmentsPaginator.ts @@ -33,7 +33,7 @@ export async function* listEnvironmentsPaginate( let hasNext = true; let page: ListEnvironmentsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof AppConfig) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listEnvironmentsPaginate( throw new Error("Invalid client, expected AppConfig | AppConfigClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-appconfig/pagination/ListHostedConfigurationVersionsPaginator.ts b/clients/client-appconfig/pagination/ListHostedConfigurationVersionsPaginator.ts index d6077864c4d9..c4374dd2cea9 100644 --- a/clients/client-appconfig/pagination/ListHostedConfigurationVersionsPaginator.ts +++ b/clients/client-appconfig/pagination/ListHostedConfigurationVersionsPaginator.ts @@ -33,7 +33,7 @@ export async function* listHostedConfigurationVersionsPaginate( let hasNext = true; let page: ListHostedConfigurationVersionsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof AppConfig) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listHostedConfigurationVersionsPaginate( throw new Error("Invalid client, expected AppConfig | AppConfigClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-appconfig/protocols/Aws_restJson1.ts b/clients/client-appconfig/protocols/Aws_restJson1.ts index 4eb536b8b137..26ea1c3ffcbc 100644 --- a/clients/client-appconfig/protocols/Aws_restJson1.ts +++ b/clients/client-appconfig/protocols/Aws_restJson1.ts @@ -399,15 +399,6 @@ export const serializeAws_restJson1DeleteEnvironmentCommand = async ( "Content-Type": "", }; let resolvedPath = "/applications/{ApplicationId}/environments/{EnvironmentId}"; - if (input.EnvironmentId !== undefined) { - const labelValue: string = input.EnvironmentId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: EnvironmentId."); - } - resolvedPath = resolvedPath.replace("{EnvironmentId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: EnvironmentId."); - } if (input.ApplicationId !== undefined) { const labelValue: string = input.ApplicationId; if (labelValue.length <= 0) { @@ -417,6 +408,15 @@ export const serializeAws_restJson1DeleteEnvironmentCommand = async ( } else { throw new Error("No value provided for input HTTP label: ApplicationId."); } + if (input.EnvironmentId !== undefined) { + const labelValue: string = input.EnvironmentId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: EnvironmentId."); + } + resolvedPath = resolvedPath.replace("{EnvironmentId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: EnvironmentId."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -439,14 +439,14 @@ export const serializeAws_restJson1DeleteHostedConfigurationVersionCommand = asy }; let resolvedPath = "/applications/{ApplicationId}/configurationprofiles/{ConfigurationProfileId}/hostedconfigurationversions/{VersionNumber}"; - if (input.ApplicationId !== undefined) { - const labelValue: string = input.ApplicationId; + if (input.ConfigurationProfileId !== undefined) { + const labelValue: string = input.ConfigurationProfileId; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: ApplicationId."); + throw new Error("Empty value provided for input HTTP label: ConfigurationProfileId."); } - resolvedPath = resolvedPath.replace("{ApplicationId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{ConfigurationProfileId}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: ApplicationId."); + throw new Error("No value provided for input HTTP label: ConfigurationProfileId."); } if (input.VersionNumber !== undefined) { const labelValue: string = input.VersionNumber.toString(); @@ -457,14 +457,14 @@ export const serializeAws_restJson1DeleteHostedConfigurationVersionCommand = asy } else { throw new Error("No value provided for input HTTP label: VersionNumber."); } - if (input.ConfigurationProfileId !== undefined) { - const labelValue: string = input.ConfigurationProfileId; + if (input.ApplicationId !== undefined) { + const labelValue: string = input.ApplicationId; if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: ConfigurationProfileId."); + throw new Error("Empty value provided for input HTTP label: ApplicationId."); } - resolvedPath = resolvedPath.replace("{ConfigurationProfileId}", __extendedEncodeURIComponent(labelValue)); + resolvedPath = resolvedPath.replace("{ApplicationId}", __extendedEncodeURIComponent(labelValue)); } else { - throw new Error("No value provided for input HTTP label: ConfigurationProfileId."); + throw new Error("No value provided for input HTTP label: ApplicationId."); } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -526,15 +526,6 @@ export const serializeAws_restJson1GetConfigurationCommand = async ( } else { throw new Error("No value provided for input HTTP label: Environment."); } - if (input.Configuration !== undefined) { - const labelValue: string = input.Configuration; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: Configuration."); - } - resolvedPath = resolvedPath.replace("{Configuration}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: Configuration."); - } if (input.Application !== undefined) { const labelValue: string = input.Application; if (labelValue.length <= 0) { @@ -544,11 +535,20 @@ export const serializeAws_restJson1GetConfigurationCommand = async ( } else { throw new Error("No value provided for input HTTP label: Application."); } + if (input.Configuration !== undefined) { + const labelValue: string = input.Configuration; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: Configuration."); + } + resolvedPath = resolvedPath.replace("{Configuration}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: Configuration."); + } const query: any = { - ...(input.ClientId !== undefined && { client_id: input.ClientId }), ...(input.ClientConfigurationVersion !== undefined && { client_configuration_version: input.ClientConfigurationVersion, }), + ...(input.ClientId !== undefined && { client_id: input.ClientId }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -572,15 +572,6 @@ export const serializeAws_restJson1GetConfigurationProfileCommand = async ( "Content-Type": "", }; let resolvedPath = "/applications/{ApplicationId}/configurationprofiles/{ConfigurationProfileId}"; - if (input.ConfigurationProfileId !== undefined) { - const labelValue: string = input.ConfigurationProfileId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: ConfigurationProfileId."); - } - resolvedPath = resolvedPath.replace("{ConfigurationProfileId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: ConfigurationProfileId."); - } if (input.ApplicationId !== undefined) { const labelValue: string = input.ApplicationId; if (labelValue.length <= 0) { @@ -590,6 +581,15 @@ export const serializeAws_restJson1GetConfigurationProfileCommand = async ( } else { throw new Error("No value provided for input HTTP label: ApplicationId."); } + if (input.ConfigurationProfileId !== undefined) { + const labelValue: string = input.ConfigurationProfileId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: ConfigurationProfileId."); + } + resolvedPath = resolvedPath.replace("{ConfigurationProfileId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: ConfigurationProfileId."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -738,15 +738,6 @@ export const serializeAws_restJson1GetHostedConfigurationVersionCommand = async } else { throw new Error("No value provided for input HTTP label: ConfigurationProfileId."); } - if (input.ApplicationId !== undefined) { - const labelValue: string = input.ApplicationId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: ApplicationId."); - } - resolvedPath = resolvedPath.replace("{ApplicationId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: ApplicationId."); - } if (input.VersionNumber !== undefined) { const labelValue: string = input.VersionNumber.toString(); if (labelValue.length <= 0) { @@ -756,6 +747,15 @@ export const serializeAws_restJson1GetHostedConfigurationVersionCommand = async } else { throw new Error("No value provided for input HTTP label: VersionNumber."); } + if (input.ApplicationId !== undefined) { + const labelValue: string = input.ApplicationId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: ApplicationId."); + } + resolvedPath = resolvedPath.replace("{ApplicationId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: ApplicationId."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -778,8 +778,8 @@ export const serializeAws_restJson1ListApplicationsCommand = async ( }; let resolvedPath = "/applications"; const query: any = { - ...(input.MaxResults !== undefined && { max_results: input.MaxResults.toString() }), ...(input.NextToken !== undefined && { next_token: input.NextToken }), + ...(input.MaxResults !== undefined && { max_results: input.MaxResults.toString() }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -883,8 +883,8 @@ export const serializeAws_restJson1ListDeploymentStrategiesCommand = async ( }; let resolvedPath = "/deploymentstrategies"; const query: any = { - ...(input.NextToken !== undefined && { next_token: input.NextToken }), ...(input.MaxResults !== undefined && { max_results: input.MaxResults.toString() }), + ...(input.NextToken !== undefined && { next_token: input.NextToken }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -918,8 +918,8 @@ export const serializeAws_restJson1ListEnvironmentsCommand = async ( throw new Error("No value provided for input HTTP label: ApplicationId."); } const query: any = { - ...(input.MaxResults !== undefined && { max_results: input.MaxResults.toString() }), ...(input.NextToken !== undefined && { next_token: input.NextToken }), + ...(input.MaxResults !== undefined && { max_results: input.MaxResults.toString() }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -1213,15 +1213,6 @@ export const serializeAws_restJson1UpdateConfigurationProfileCommand = async ( "Content-Type": "application/json", }; let resolvedPath = "/applications/{ApplicationId}/configurationprofiles/{ConfigurationProfileId}"; - if (input.ApplicationId !== undefined) { - const labelValue: string = input.ApplicationId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: ApplicationId."); - } - resolvedPath = resolvedPath.replace("{ApplicationId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: ApplicationId."); - } if (input.ConfigurationProfileId !== undefined) { const labelValue: string = input.ConfigurationProfileId; if (labelValue.length <= 0) { @@ -1231,6 +1222,15 @@ export const serializeAws_restJson1UpdateConfigurationProfileCommand = async ( } else { throw new Error("No value provided for input HTTP label: ConfigurationProfileId."); } + if (input.ApplicationId !== undefined) { + const labelValue: string = input.ApplicationId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: ApplicationId."); + } + resolvedPath = resolvedPath.replace("{ApplicationId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: ApplicationId."); + } let body: any; body = JSON.stringify({ ...(input.Description !== undefined && { Description: input.Description }), @@ -1299,15 +1299,6 @@ export const serializeAws_restJson1UpdateEnvironmentCommand = async ( "Content-Type": "application/json", }; let resolvedPath = "/applications/{ApplicationId}/environments/{EnvironmentId}"; - if (input.EnvironmentId !== undefined) { - const labelValue: string = input.EnvironmentId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: EnvironmentId."); - } - resolvedPath = resolvedPath.replace("{EnvironmentId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: EnvironmentId."); - } if (input.ApplicationId !== undefined) { const labelValue: string = input.ApplicationId; if (labelValue.length <= 0) { @@ -1317,6 +1308,15 @@ export const serializeAws_restJson1UpdateEnvironmentCommand = async ( } else { throw new Error("No value provided for input HTTP label: ApplicationId."); } + if (input.EnvironmentId !== undefined) { + const labelValue: string = input.EnvironmentId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: EnvironmentId."); + } + resolvedPath = resolvedPath.replace("{EnvironmentId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: EnvironmentId."); + } let body: any; body = JSON.stringify({ ...(input.Description !== undefined && { Description: input.Description }), @@ -1343,15 +1343,6 @@ export const serializeAws_restJson1ValidateConfigurationCommand = async ( "Content-Type": "", }; let resolvedPath = "/applications/{ApplicationId}/configurationprofiles/{ConfigurationProfileId}/validators"; - if (input.ApplicationId !== undefined) { - const labelValue: string = input.ApplicationId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: ApplicationId."); - } - resolvedPath = resolvedPath.replace("{ApplicationId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: ApplicationId."); - } if (input.ConfigurationProfileId !== undefined) { const labelValue: string = input.ConfigurationProfileId; if (labelValue.length <= 0) { @@ -1361,6 +1352,15 @@ export const serializeAws_restJson1ValidateConfigurationCommand = async ( } else { throw new Error("No value provided for input HTTP label: ConfigurationProfileId."); } + if (input.ApplicationId !== undefined) { + const labelValue: string = input.ApplicationId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: ApplicationId."); + } + resolvedPath = resolvedPath.replace("{ApplicationId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: ApplicationId."); + } const query: any = { ...(input.ConfigurationVersion !== undefined && { configuration_version: input.ConfigurationVersion }), }; @@ -1742,21 +1742,21 @@ export const deserializeAws_restJson1CreateHostedConfigurationVersionCommand = a Description: undefined, VersionNumber: undefined, }; - if (output.headers["content-type"] !== undefined) { - contents.ContentType = output.headers["content-type"]; - } if (output.headers["description"] !== undefined) { contents.Description = output.headers["description"]; } if (output.headers["configuration-profile-id"] !== undefined) { contents.ConfigurationProfileId = output.headers["configuration-profile-id"]; } - if (output.headers["version-number"] !== undefined) { - contents.VersionNumber = parseInt(output.headers["version-number"], 10); + if (output.headers["content-type"] !== undefined) { + contents.ContentType = output.headers["content-type"]; } if (output.headers["application-id"] !== undefined) { contents.ApplicationId = output.headers["application-id"]; } + if (output.headers["version-number"] !== undefined) { + contents.VersionNumber = parseInt(output.headers["version-number"], 10); + } const data: any = await collectBody(output.body, context); contents.Content = data; return Promise.resolve(contents); @@ -2786,21 +2786,21 @@ export const deserializeAws_restJson1GetHostedConfigurationVersionCommand = asyn Description: undefined, VersionNumber: undefined, }; - if (output.headers["content-type"] !== undefined) { - contents.ContentType = output.headers["content-type"]; - } if (output.headers["description"] !== undefined) { contents.Description = output.headers["description"]; } if (output.headers["configuration-profile-id"] !== undefined) { contents.ConfigurationProfileId = output.headers["configuration-profile-id"]; } - if (output.headers["version-number"] !== undefined) { - contents.VersionNumber = parseInt(output.headers["version-number"], 10); + if (output.headers["content-type"] !== undefined) { + contents.ContentType = output.headers["content-type"]; } if (output.headers["application-id"] !== undefined) { contents.ApplicationId = output.headers["application-id"]; } + if (output.headers["version-number"] !== undefined) { + contents.VersionNumber = parseInt(output.headers["version-number"], 10); + } const data: any = await collectBody(output.body, context); contents.Content = data; return Promise.resolve(contents); diff --git a/clients/client-appflow/.gitignore b/clients/client-appflow/.gitignore new file mode 100644 index 000000000000..b41c05b597c4 --- /dev/null +++ b/clients/client-appflow/.gitignore @@ -0,0 +1,14 @@ +/node_modules/ +/build/ +/coverage/ +/docs/ +/types/ +/dist/ +*.tsbuildinfo +*.tgz +*.log +package-lock.json + +*.d.ts +*.js +*.js.map diff --git a/clients/client-appflow/.npmignore b/clients/client-appflow/.npmignore new file mode 100644 index 000000000000..b7ff81137c4a --- /dev/null +++ b/clients/client-appflow/.npmignore @@ -0,0 +1,4 @@ +/coverage/ +/docs/ +tsconfig.test.json +*.tsbuildinfo diff --git a/clients/client-appflow/Appflow.ts b/clients/client-appflow/Appflow.ts new file mode 100644 index 000000000000..4406fd0d349f --- /dev/null +++ b/clients/client-appflow/Appflow.ts @@ -0,0 +1,671 @@ +import { AppflowClient } from "./AppflowClient"; +import { + CreateConnectorProfileCommand, + CreateConnectorProfileCommandInput, + CreateConnectorProfileCommandOutput, +} from "./commands/CreateConnectorProfileCommand"; +import { CreateFlowCommand, CreateFlowCommandInput, CreateFlowCommandOutput } from "./commands/CreateFlowCommand"; +import { + DeleteConnectorProfileCommand, + DeleteConnectorProfileCommandInput, + DeleteConnectorProfileCommandOutput, +} from "./commands/DeleteConnectorProfileCommand"; +import { DeleteFlowCommand, DeleteFlowCommandInput, DeleteFlowCommandOutput } from "./commands/DeleteFlowCommand"; +import { + DescribeConnectorEntityCommand, + DescribeConnectorEntityCommandInput, + DescribeConnectorEntityCommandOutput, +} from "./commands/DescribeConnectorEntityCommand"; +import { + DescribeConnectorProfilesCommand, + DescribeConnectorProfilesCommandInput, + DescribeConnectorProfilesCommandOutput, +} from "./commands/DescribeConnectorProfilesCommand"; +import { + DescribeConnectorsCommand, + DescribeConnectorsCommandInput, + DescribeConnectorsCommandOutput, +} from "./commands/DescribeConnectorsCommand"; +import { + DescribeFlowCommand, + DescribeFlowCommandInput, + DescribeFlowCommandOutput, +} from "./commands/DescribeFlowCommand"; +import { + DescribeFlowExecutionRecordsCommand, + DescribeFlowExecutionRecordsCommandInput, + DescribeFlowExecutionRecordsCommandOutput, +} from "./commands/DescribeFlowExecutionRecordsCommand"; +import { + ListConnectorEntitiesCommand, + ListConnectorEntitiesCommandInput, + ListConnectorEntitiesCommandOutput, +} from "./commands/ListConnectorEntitiesCommand"; +import { ListFlowsCommand, ListFlowsCommandInput, ListFlowsCommandOutput } from "./commands/ListFlowsCommand"; +import { + ListTagsForResourceCommand, + ListTagsForResourceCommandInput, + ListTagsForResourceCommandOutput, +} from "./commands/ListTagsForResourceCommand"; +import { StartFlowCommand, StartFlowCommandInput, StartFlowCommandOutput } from "./commands/StartFlowCommand"; +import { StopFlowCommand, StopFlowCommandInput, StopFlowCommandOutput } from "./commands/StopFlowCommand"; +import { TagResourceCommand, TagResourceCommandInput, TagResourceCommandOutput } from "./commands/TagResourceCommand"; +import { + UntagResourceCommand, + UntagResourceCommandInput, + UntagResourceCommandOutput, +} from "./commands/UntagResourceCommand"; +import { + UpdateConnectorProfileCommand, + UpdateConnectorProfileCommandInput, + UpdateConnectorProfileCommandOutput, +} from "./commands/UpdateConnectorProfileCommand"; +import { UpdateFlowCommand, UpdateFlowCommandInput, UpdateFlowCommandOutput } from "./commands/UpdateFlowCommand"; +import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; + +/** + *Welcome to the Amazon AppFlow API reference. This guide is for developers who need detailed information about the Amazon AppFlow API operations, data types, and errors.
+ * + *Amazon AppFlow is a fully managed integration service that enables you to securely transfer data between software as a service (SaaS) applications like Salesforce, Marketo, Slack, and ServiceNow, and AWS services like Amazon S3 and Amazon Redshift.
+ * + * + * + *Use the following links to get started on the Amazon AppFlow API:
+ * + *+ * Actions: An alphabetical list of all Amazon AppFlow API operations.
+ *+ * Data types: An alphabetical list of all Amazon AppFlow data types.
+ *+ * Common parameters: Parameters that all Query operations can use.
+ *+ * Common errors: Client and server errors that all operations can return.
+ *If you're new to Amazon AppFlow, we recommend that you review the Amazon AppFlow User Guide.
+ *Amazon AppFlow API users can use vendor-specific mechanisms for OAuth, and include applicable OAuth attributes (such as auth-code
and redirecturi
) with the connector-specific ConnectorProfileProperties
when creating a new connector profile using Amazon AppFlow API operations. For example, Salesforce users can refer to the
+ * Authorize Apps with OAuth
+ * documentation.
+ * Creates a new connector profile associated with your AWS account. There is a soft quota of 100 connector profiles per AWS account. If you need more connector profiles than this quota allows, you can submit a request to the Amazon AppFlow team through the Amazon AppFlow support channel. + *
+ */ + public createConnectorProfile( + args: CreateConnectorProfileCommandInput, + options?: __HttpHandlerOptions + ): Promise+ * Enables your application to create a new flow using Amazon AppFlow. You must create a connector profile before calling this API. Please note that the Request Syntax below shows syntax for multiple destinations, however, you can only transfer data to one item in this list at a time. Amazon AppFlow does not currently support flows to multiple destinations at once. + * + *
+ */ + public createFlow(args: CreateFlowCommandInput, options?: __HttpHandlerOptions): Promise+ * Enables you to delete an existing connector profile. + *
+ */ + public deleteConnectorProfile( + args: DeleteConnectorProfileCommandInput, + options?: __HttpHandlerOptions + ): Promise+ * Enables your application to delete an existing flow. Before deleting the flow, Amazon AppFlow validates the request by checking the flow configuration and status. You can delete flows one at a time. + * + *
+ */ + public deleteFlow(args: DeleteFlowCommandInput, options?: __HttpHandlerOptions): Promise+ * Provides details regarding the entity used with the connector, with a description of the data model for each entity. + *
+ */ + public describeConnectorEntity( + args: DescribeConnectorEntityCommandInput, + options?: __HttpHandlerOptions + ): Promise
+ * Returns a list of connector-profile
details matching the provided connector-profile
names and connector-types
. Both input lists are optional, and you can use them to filter the result.
If no names or connector-types
are provided, returns all connector profiles in a paginated form. If there is no match, this operation returns an empty list.
+ * Describes the connectors vended by Amazon AppFlow for specified connector types. If you don't specify a connector type, this operation describes all connectors vended by Amazon AppFlow.
+ * If there are more connectors than can be returned in one page, the response contains a nextToken
object, which can be be passed in to the next call to the DescribeConnectors
API operation to retrieve the next page.
+ *
+ * Provides a description of the specified flow. + * + *
+ */ + public describeFlow( + args: DescribeFlowCommandInput, + options?: __HttpHandlerOptions + ): Promise+ * Fetches the execution history of the flow. + *
+ */ + public describeFlowExecutionRecords( + args: DescribeFlowExecutionRecordsCommandInput, + options?: __HttpHandlerOptions + ): Promise+ * Returns the list of available connector entities supported by Amazon AppFlow. For example, you can query Salesforce for Account and Opportunity entities, or query ServiceNow for the Incident entity. + *
+ */ + public listConnectorEntities( + args: ListConnectorEntitiesCommandInput, + options?: __HttpHandlerOptions + ): Promise+ * Lists all of the flows associated with your account. + *
+ */ + public listFlows(args: ListFlowsCommandInput, options?: __HttpHandlerOptions): Promise+ * Retrieves the tags that are associated with a specified flow. + *
+ */ + public listTagsForResource( + args: ListTagsForResourceCommandInput, + options?: __HttpHandlerOptions + ): Promise+ * Activates an existing flow. For on-demand flows, this operation runs the flow immediately. For schedule and event-triggered flows, this operation activates the flow. + * + *
+ */ + public startFlow(args: StartFlowCommandInput, options?: __HttpHandlerOptions): Promise
+ * Deactivates the existing flow. For on-demand flows, this operation returns an unsupportedOperationException
error message. For schedule and event-triggered flows, this operation deactivates the flow.
+ *
+ * Applies a tag to the specified flow. + *
+ */ + public tagResource(args: TagResourceCommandInput, options?: __HttpHandlerOptions): Promise+ * Removes a tag from the specified flow. + *
+ */ + public untagResource( + args: UntagResourceCommandInput, + options?: __HttpHandlerOptions + ): Promise+ * Updates a given connector profile associated with your account. + *
+ */ + public updateConnectorProfile( + args: UpdateConnectorProfileCommandInput, + options?: __HttpHandlerOptions + ): Promise+ * Updates an existing flow. + *
+ */ + public updateFlow(args: UpdateFlowCommandInput, options?: __HttpHandlerOptions): PromiseWelcome to the Amazon AppFlow API reference. This guide is for developers who need detailed information about the Amazon AppFlow API operations, data types, and errors.
+ * + *Amazon AppFlow is a fully managed integration service that enables you to securely transfer data between software as a service (SaaS) applications like Salesforce, Marketo, Slack, and ServiceNow, and AWS services like Amazon S3 and Amazon Redshift.
+ * + * + * + *Use the following links to get started on the Amazon AppFlow API:
+ * + *+ * Actions: An alphabetical list of all Amazon AppFlow API operations.
+ *+ * Data types: An alphabetical list of all Amazon AppFlow data types.
+ *+ * Common parameters: Parameters that all Query operations can use.
+ *+ * Common errors: Client and server errors that all operations can return.
+ *If you're new to Amazon AppFlow, we recommend that you review the Amazon AppFlow User Guide.
+ *Amazon AppFlow API users can use vendor-specific mechanisms for OAuth, and include applicable OAuth attributes (such as auth-code
and redirecturi
) with the connector-specific ConnectorProfileProperties
when creating a new connector profile using Amazon AppFlow API operations. For example, Salesforce users can refer to the
+ * Authorize Apps with OAuth
+ * documentation.
+ * The aggregation settings that you can use to customize the output format of your flow data. + *
+ */ +export interface AggregationConfig { + /** + *+ * Specifies whether Amazon AppFlow aggregates the flow records into a single file, or leave them unaggregated. + *
+ */ + aggregationType?: AggregationType | string; +} + +export namespace AggregationConfig { + export const filterSensitiveLog = (obj: AggregationConfig): any => ({ + ...obj, + }); +} + +export enum AmplitudeConnectorOperator { + BETWEEN = "BETWEEN", +} + +/** + *+ * The connector-specific credentials required when using Amplitude. + *
+ */ +export interface AmplitudeConnectorProfileCredentials { + /** + *+ * The Secret Access Key portion of the credentials. + *
+ */ + secretKey: string | undefined; + + /** + *+ * A unique alphanumeric identifier used to authenticate a user, developer, or calling program to your API. + *
+ */ + apiKey: string | undefined; +} + +export namespace AmplitudeConnectorProfileCredentials { + export const filterSensitiveLog = (obj: AmplitudeConnectorProfileCredentials): any => ({ + ...obj, + ...(obj.secretKey && { secretKey: SENSITIVE_STRING }), + }); +} + +/** + *+ * The connector-specific profile properties required when using Amplitude. + *
+ */ +export interface AmplitudeConnectorProfileProperties {} + +export namespace AmplitudeConnectorProfileProperties { + export const filterSensitiveLog = (obj: AmplitudeConnectorProfileProperties): any => ({ + ...obj, + }); +} + +/** + *+ * The connector metadata specific to Amplitude. + *
+ */ +export interface AmplitudeMetadata {} + +export namespace AmplitudeMetadata { + export const filterSensitiveLog = (obj: AmplitudeMetadata): any => ({ + ...obj, + }); +} + +/** + *+ * The properties that are applied when Amplitude is being used as a source. + *
+ */ +export interface AmplitudeSourceProperties { + /** + *+ * The object specified in the Amplitude flow source. + *
+ */ + object: string | undefined; +} + +export namespace AmplitudeSourceProperties { + export const filterSensitiveLog = (obj: AmplitudeSourceProperties): any => ({ + ...obj, + }); +} + +/** + *+ * There was a conflict when processing the request (for example, a flow with the given name already exists within the account. Check for conflicting resource names and try again. + *
+ */ +export interface ConflictException extends __SmithyException, $MetadataBearer { + name: "ConflictException"; + $fault: "client"; + message?: string; +} + +export namespace ConflictException { + export const filterSensitiveLog = (obj: ConflictException): any => ({ + ...obj, + }); +} + +export enum ConnectionMode { + PRIVATE = "Private", + PUBLIC = "Public", +} + +/** + *+ * An error occurred when authenticating with the connector endpoint. + *
+ */ +export interface ConnectorAuthenticationException extends __SmithyException, $MetadataBearer { + name: "ConnectorAuthenticationException"; + $fault: "client"; + message?: string; +} + +export namespace ConnectorAuthenticationException { + export const filterSensitiveLog = (obj: ConnectorAuthenticationException): any => ({ + ...obj, + }); +} + +/** + *+ * The connector metadata specific to Datadog. + *
+ */ +export interface DatadogMetadata {} + +export namespace DatadogMetadata { + export const filterSensitiveLog = (obj: DatadogMetadata): any => ({ + ...obj, + }); +} + +/** + *+ * The connector metadata specific to Dynatrace. + *
+ */ +export interface DynatraceMetadata {} + +export namespace DynatraceMetadata { + export const filterSensitiveLog = (obj: DynatraceMetadata): any => ({ + ...obj, + }); +} + +/** + *+ * The connector metadata specific to Amazon EventBridge. + *
+ */ +export interface EventBridgeMetadata {} + +export namespace EventBridgeMetadata { + export const filterSensitiveLog = (obj: EventBridgeMetadata): any => ({ + ...obj, + }); +} + +/** + *+ * The connector metadata specific to Google Analytics. + *
+ */ +export interface GoogleAnalyticsMetadata { + /** + *+ * The desired authorization scope for the Google Analytics account. + *
+ */ + oAuthScopes?: string[]; +} + +export namespace GoogleAnalyticsMetadata { + export const filterSensitiveLog = (obj: GoogleAnalyticsMetadata): any => ({ + ...obj, + }); +} + +/** + *+ * The connector metadata specific to Infor Nexus. + *
+ */ +export interface InforNexusMetadata {} + +export namespace InforNexusMetadata { + export const filterSensitiveLog = (obj: InforNexusMetadata): any => ({ + ...obj, + }); +} + +/** + *+ * The connector metadata specific to Marketo. + *
+ */ +export interface MarketoMetadata {} + +export namespace MarketoMetadata { + export const filterSensitiveLog = (obj: MarketoMetadata): any => ({ + ...obj, + }); +} + +/** + *+ * The connector metadata specific to Amazon Redshift. + *
+ */ +export interface RedshiftMetadata {} + +export namespace RedshiftMetadata { + export const filterSensitiveLog = (obj: RedshiftMetadata): any => ({ + ...obj, + }); +} + +/** + *+ * The connector metadata specific to Amazon S3. + *
+ */ +export interface S3Metadata {} + +export namespace S3Metadata { + export const filterSensitiveLog = (obj: S3Metadata): any => ({ + ...obj, + }); +} + +/** + *+ * The connector metadata specific to Salesforce. + *
+ */ +export interface SalesforceMetadata { + /** + *+ * The desired authorization scope for the Salesforce account. + *
+ */ + oAuthScopes?: string[]; +} + +export namespace SalesforceMetadata { + export const filterSensitiveLog = (obj: SalesforceMetadata): any => ({ + ...obj, + }); +} + +/** + *+ * The connector metadata specific to ServiceNow. + *
+ */ +export interface ServiceNowMetadata {} + +export namespace ServiceNowMetadata { + export const filterSensitiveLog = (obj: ServiceNowMetadata): any => ({ + ...obj, + }); +} + +/** + *+ * The connector metadata specific to Singular. + *
+ */ +export interface SingularMetadata {} + +export namespace SingularMetadata { + export const filterSensitiveLog = (obj: SingularMetadata): any => ({ + ...obj, + }); +} + +/** + *+ * The connector metadata specific to Slack. + *
+ */ +export interface SlackMetadata { + /** + *+ * The desired authorization scope for the Slack account. + *
+ */ + oAuthScopes?: string[]; +} + +export namespace SlackMetadata { + export const filterSensitiveLog = (obj: SlackMetadata): any => ({ + ...obj, + }); +} + +/** + *+ * The connector metadata specific to Snowflake. + *
+ */ +export interface SnowflakeMetadata { + /** + *+ * Specifies the supported AWS Regions when using Snowflake. + *
+ */ + supportedRegions?: string[]; +} + +export namespace SnowflakeMetadata { + export const filterSensitiveLog = (obj: SnowflakeMetadata): any => ({ + ...obj, + }); +} + +/** + *+ * The connector metadata specific to Trend Micro. + *
+ */ +export interface TrendmicroMetadata {} + +export namespace TrendmicroMetadata { + export const filterSensitiveLog = (obj: TrendmicroMetadata): any => ({ + ...obj, + }); +} + +/** + *+ * The connector metadata specific to Veeva. + *
+ */ +export interface VeevaMetadata {} + +export namespace VeevaMetadata { + export const filterSensitiveLog = (obj: VeevaMetadata): any => ({ + ...obj, + }); +} + +/** + *+ * The connector metadata specific to Zendesk. + *
+ */ +export interface ZendeskMetadata { + /** + *+ * The desired authorization scope for the Zendesk account. + *
+ */ + oAuthScopes?: string[]; +} + +export namespace ZendeskMetadata { + export const filterSensitiveLog = (obj: ZendeskMetadata): any => ({ + ...obj, + }); +} + +/** + *
+ * A structure to specify connector-specific metadata such as oAuthScopes
, supportedRegions
, privateLinkServiceUrl
, and so on.
+ *
+ * The connector metadata specific to Snowflake. + *
+ */ + Snowflake?: SnowflakeMetadata; + + /** + *+ * The connector metadata specific to Slack. + *
+ */ + Slack?: SlackMetadata; + + /** + *+ * The connector metadata specific to Amazon Redshift. + *
+ */ + Redshift?: RedshiftMetadata; + + /** + *+ * The connector metadata specific to Marketo. + *
+ */ + Marketo?: MarketoMetadata; + + /** + *+ * The connector metadata specific to Datadog. + *
+ */ + Datadog?: DatadogMetadata; + + /** + *+ * The connector metadata specific to Veeva. + *
+ */ + Veeva?: VeevaMetadata; + + /** + *+ * The connector metadata specific to Amazon EventBridge. + *
+ */ + EventBridge?: EventBridgeMetadata; + + /** + *+ * The connector metadata specific to Trend Micro. + *
+ */ + Trendmicro?: TrendmicroMetadata; + + /** + *+ * The connector metadata specific to ServiceNow. + *
+ */ + ServiceNow?: ServiceNowMetadata; + + /** + *+ * The connector metadata specific to Zendesk. + *
+ */ + Zendesk?: ZendeskMetadata; + + /** + *+ * The connector metadata specific to Dynatrace. + *
+ */ + Dynatrace?: DynatraceMetadata; + + /** + *+ * The connector metadata specific to Amplitude. + *
+ */ + Amplitude?: AmplitudeMetadata; + + /** + *+ * The connector metadata specific to Google Analytics. + *
+ */ + GoogleAnalytics?: GoogleAnalyticsMetadata; + + /** + *+ * The connector metadata specific to Amazon S3. + *
+ */ + S3?: S3Metadata; + + /** + *+ * The connector metadata specific to Infor Nexus. + *
+ */ + InforNexus?: InforNexusMetadata; + + /** + *+ * The connector metadata specific to Salesforce. + *
+ */ + Salesforce?: SalesforceMetadata; + + /** + *+ * The connector metadata specific to Singular. + *
+ */ + Singular?: SingularMetadata; +} + +export namespace ConnectorMetadata { + export const filterSensitiveLog = (obj: ConnectorMetadata): any => ({ + ...obj, + }); +} + +export enum ConnectorType { + AMPLITUDE = "Amplitude", + DATADOG = "Datadog", + DYNATRACE = "Dynatrace", + EVENTBRIDGE = "EventBridge", + GOOGLEANALYTICS = "Googleanalytics", + INFORNEXUS = "Infornexus", + MARKETO = "Marketo", + REDSHIFT = "Redshift", + S3 = "S3", + SALESFORCE = "Salesforce", + SERVICENOW = "Servicenow", + SINGULAR = "Singular", + SLACK = "Slack", + SNOWFLAKE = "Snowflake", + TRENDMICRO = "Trendmicro", + VEEVA = "Veeva", + ZENDESK = "Zendesk", +} + +export enum ScheduleFrequencyType { + BYMINUTE = "BYMINUTE", + DAILY = "DAILY", + HOURLY = "HOURLY", + MONTHLY = "MONTHLY", + ONCE = "ONCE", + WEEKLY = "WEEKLY", +} + +export enum TriggerType { + EVENT = "Event", + ONDEMAND = "OnDemand", + SCHEDULED = "Scheduled", +} + +/** + *+ * The configuration settings related to a given connector. + *
+ */ +export interface ConnectorConfiguration { + /** + *+ * Specifies whether the connector can be used as a source. + *
+ */ + canUseAsSource?: boolean; + + /** + *
+ * Specifies connector-specific metadata such as oAuthScopes
, supportedRegions
, privateLinkServiceUrl
, and so on.
+ *
+ * Specifies whether the connector can be used as a destination. + *
+ */ + canUseAsDestination?: boolean; + + /** + *+ * Lists the connectors that are available for use as destinations. + *
+ */ + supportedDestinationConnectors?: (ConnectorType | string)[]; + + /** + *+ * Specifies the supported trigger types for the flow. + *
+ */ + supportedTriggerTypes?: (TriggerType | string)[]; + + /** + *+ * Specifies if PrivateLink is enabled for that connector. + *
+ */ + isPrivateLinkEnabled?: boolean; + + /** + *+ * Specifies if a PrivateLink endpoint URL is required. + *
+ */ + isPrivateLinkEndpointUrlRequired?: boolean; + + /** + *+ * Specifies the supported flow frequency for that connector. + *
+ */ + supportedSchedulingFrequencies?: (ScheduleFrequencyType | string)[]; +} + +export namespace ConnectorConfiguration { + export const filterSensitiveLog = (obj: ConnectorConfiguration): any => ({ + ...obj, + }); +} + +/** + *+ * The high-level entity that can be queried in Amazon AppFlow. For example, a Salesforce entity might be an Account or Opportunity, whereas a ServiceNow entity might be an Incident. + * + *
+ */ +export interface ConnectorEntity { + /** + *
+ * Specifies whether the connector entity is a parent or a category and has more entities nested underneath it. If another call is made with entitiesPath = "the_current_entity_name_with_hasNestedEntities_true"
, then it returns the nested entities underneath it. This provides a way to retrieve all supported entities in a recursive fashion.
+ *
+ * The label applied to the connector entity. + *
+ */ + label?: string; + + /** + *+ * The name of the connector entity. + *
+ */ + name: string | undefined; +} + +export namespace ConnectorEntity { + export const filterSensitiveLog = (obj: ConnectorEntity): any => ({ + ...obj, + }); +} + +/** + *+ * The properties that can be applied to a field when connector is being used as a destination. + *
+ */ +export interface DestinationFieldProperties { + /** + *+ * Specifies if the destination field can be created by the current user. + *
+ */ + isCreatable?: boolean; + + /** + *+ * Specifies if the flow run can either insert new rows in the destination field if they do not already exist, or update them if they do. + *
+ */ + isUpsertable?: boolean; + + /** + *+ * Specifies if the destination field can have a null value. + *
+ */ + isNullable?: boolean; +} + +export namespace DestinationFieldProperties { + export const filterSensitiveLog = (obj: DestinationFieldProperties): any => ({ + ...obj, + }); +} + +/** + *+ * The properties that can be applied to a field when the connector is being used as a source. + *
+ */ +export interface SourceFieldProperties { + /** + *+ * Indicates whether the field can be returned in a search result. + *
+ */ + isRetrievable?: boolean; + + /** + *+ * Indicates if the field can be queried. + *
+ */ + isQueryable?: boolean; +} + +export namespace SourceFieldProperties { + export const filterSensitiveLog = (obj: SourceFieldProperties): any => ({ + ...obj, + }); +} + +export enum Operator { + ADDITION = "ADDITION", + BETWEEN = "BETWEEN", + CONTAINS = "CONTAINS", + DIVISION = "DIVISION", + EQUAL_TO = "EQUAL_TO", + GREATER_THAN = "GREATER_THAN", + GREATER_THAN_OR_EQUAL_TO = "GREATER_THAN_OR_EQUAL_TO", + LESS_THAN = "LESS_THAN", + LESS_THAN_OR_EQUAL_TO = "LESS_THAN_OR_EQUAL_TO", + MASK_ALL = "MASK_ALL", + MASK_FIRST_N = "MASK_FIRST_N", + MASK_LAST_N = "MASK_LAST_N", + MULTIPLICATION = "MULTIPLICATION", + NOT_EQUAL_TO = "NOT_EQUAL_TO", + NO_OP = "NO_OP", + PROJECTION = "PROJECTION", + SUBTRACTION = "SUBTRACTION", + VALIDATE_NON_NEGATIVE = "VALIDATE_NON_NEGATIVE", + VALIDATE_NON_NULL = "VALIDATE_NON_NULL", + VALIDATE_NON_ZERO = "VALIDATE_NON_ZERO", + VALIDATE_NUMERIC = "VALIDATE_NUMERIC", +} + +/** + *+ * Contains details regarding the supported field type and the operators that can be applied for filtering. + *
+ */ +export interface FieldTypeDetails { + /** + *+ * The list of operators supported by a field. + *
+ */ + filterOperators: (Operator | string)[] | undefined; + + /** + *
+ * The list of values that a field can contain. For example, a Boolean fieldType
can have two values: "true" and "false".
+ *
+ * The type of field, such as string, integer, date, and so on. + *
+ */ + fieldType: string | undefined; +} + +export namespace FieldTypeDetails { + export const filterSensitiveLog = (obj: FieldTypeDetails): any => ({ + ...obj, + }); +} + +/** + *
+ * Contains details regarding all the supported FieldTypes
and their corresponding filterOperators
and supportedValues
.
+ *
+ * The initial supported version for fieldType
. If this is later changed to a different version, v2 will be introduced.
+ *
+ * Describes the data model of a connector field. For example, for an account entity, the fields would be account name, account ID, and so on. + *
+ */ +export interface ConnectorEntityField { + /** + *+ * The properties applied to a field when the connector is being used as a destination. + *
+ */ + destinationProperties?: DestinationFieldProperties; + + /** + *+ * The unique identifier of the connector field. + *
+ */ + identifier: string | undefined; + + /** + *+ * The label applied to a connector entity field. + *
+ */ + label?: string; + + /** + *
+ * Contains details regarding the supported FieldType
, including the corresponding filterOperators
and supportedValues
.
+ *
+ * A description of the connector entity field. + *
+ */ + description?: string; + + /** + *+ * The properties that can be applied to a field when the connector is being used as a source. + *
+ */ + sourceProperties?: SourceFieldProperties; +} + +export namespace ConnectorEntityField { + export const filterSensitiveLog = (obj: ConnectorEntityField): any => ({ + ...obj, + }); +} + +/** + *+ * Used by select connectors for which the OAuth workflow is supported, such as Salesforce, Google Analytics, Marketo, Zendesk, and Slack. + *
+ */ +export interface ConnectorOAuthRequest { + /** + *+ * The code provided by the connector when it has been authenticated via the connected app. + *
+ */ + authCode?: string; + + /** + *+ * The URL to which the authentication server redirects the browser after authorization has been granted. + *
+ */ + redirectUri?: string; +} + +export namespace ConnectorOAuthRequest { + export const filterSensitiveLog = (obj: ConnectorOAuthRequest): any => ({ + ...obj, + }); +} + +export enum DatadogConnectorOperator { + ADDITION = "ADDITION", + BETWEEN = "BETWEEN", + DIVISION = "DIVISION", + EQUAL_TO = "EQUAL_TO", + MASK_ALL = "MASK_ALL", + MASK_FIRST_N = "MASK_FIRST_N", + MASK_LAST_N = "MASK_LAST_N", + MULTIPLICATION = "MULTIPLICATION", + NO_OP = "NO_OP", + PROJECTION = "PROJECTION", + SUBTRACTION = "SUBTRACTION", + VALIDATE_NON_NEGATIVE = "VALIDATE_NON_NEGATIVE", + VALIDATE_NON_NULL = "VALIDATE_NON_NULL", + VALIDATE_NON_ZERO = "VALIDATE_NON_ZERO", + VALIDATE_NUMERIC = "VALIDATE_NUMERIC", +} + +export enum DynatraceConnectorOperator { + ADDITION = "ADDITION", + BETWEEN = "BETWEEN", + DIVISION = "DIVISION", + EQUAL_TO = "EQUAL_TO", + MASK_ALL = "MASK_ALL", + MASK_FIRST_N = "MASK_FIRST_N", + MASK_LAST_N = "MASK_LAST_N", + MULTIPLICATION = "MULTIPLICATION", + NO_OP = "NO_OP", + PROJECTION = "PROJECTION", + SUBTRACTION = "SUBTRACTION", + VALIDATE_NON_NEGATIVE = "VALIDATE_NON_NEGATIVE", + VALIDATE_NON_NULL = "VALIDATE_NON_NULL", + VALIDATE_NON_ZERO = "VALIDATE_NON_ZERO", + VALIDATE_NUMERIC = "VALIDATE_NUMERIC", +} + +export enum GoogleAnalyticsConnectorOperator { + BETWEEN = "BETWEEN", + PROJECTION = "PROJECTION", +} + +export enum InforNexusConnectorOperator { + ADDITION = "ADDITION", + BETWEEN = "BETWEEN", + DIVISION = "DIVISION", + EQUAL_TO = "EQUAL_TO", + MASK_ALL = "MASK_ALL", + MASK_FIRST_N = "MASK_FIRST_N", + MASK_LAST_N = "MASK_LAST_N", + MULTIPLICATION = "MULTIPLICATION", + NO_OP = "NO_OP", + PROJECTION = "PROJECTION", + SUBTRACTION = "SUBTRACTION", + VALIDATE_NON_NEGATIVE = "VALIDATE_NON_NEGATIVE", + VALIDATE_NON_NULL = "VALIDATE_NON_NULL", + VALIDATE_NON_ZERO = "VALIDATE_NON_ZERO", + VALIDATE_NUMERIC = "VALIDATE_NUMERIC", +} + +export enum MarketoConnectorOperator { + ADDITION = "ADDITION", + BETWEEN = "BETWEEN", + DIVISION = "DIVISION", + GREATER_THAN = "GREATER_THAN", + LESS_THAN = "LESS_THAN", + MASK_ALL = "MASK_ALL", + MASK_FIRST_N = "MASK_FIRST_N", + MASK_LAST_N = "MASK_LAST_N", + MULTIPLICATION = "MULTIPLICATION", + NO_OP = "NO_OP", + PROJECTION = "PROJECTION", + SUBTRACTION = "SUBTRACTION", + VALIDATE_NON_NEGATIVE = "VALIDATE_NON_NEGATIVE", + VALIDATE_NON_NULL = "VALIDATE_NON_NULL", + VALIDATE_NON_ZERO = "VALIDATE_NON_ZERO", + VALIDATE_NUMERIC = "VALIDATE_NUMERIC", +} + +export enum S3ConnectorOperator { + ADDITION = "ADDITION", + BETWEEN = "BETWEEN", + DIVISION = "DIVISION", + EQUAL_TO = "EQUAL_TO", + GREATER_THAN = "GREATER_THAN", + GREATER_THAN_OR_EQUAL_TO = "GREATER_THAN_OR_EQUAL_TO", + LESS_THAN = "LESS_THAN", + LESS_THAN_OR_EQUAL_TO = "LESS_THAN_OR_EQUAL_TO", + MASK_ALL = "MASK_ALL", + MASK_FIRST_N = "MASK_FIRST_N", + MASK_LAST_N = "MASK_LAST_N", + MULTIPLICATION = "MULTIPLICATION", + NOT_EQUAL_TO = "NOT_EQUAL_TO", + NO_OP = "NO_OP", + PROJECTION = "PROJECTION", + SUBTRACTION = "SUBTRACTION", + VALIDATE_NON_NEGATIVE = "VALIDATE_NON_NEGATIVE", + VALIDATE_NON_NULL = "VALIDATE_NON_NULL", + VALIDATE_NON_ZERO = "VALIDATE_NON_ZERO", + VALIDATE_NUMERIC = "VALIDATE_NUMERIC", +} + +export enum SalesforceConnectorOperator { + ADDITION = "ADDITION", + BETWEEN = "BETWEEN", + CONTAINS = "CONTAINS", + DIVISION = "DIVISION", + EQUAL_TO = "EQUAL_TO", + GREATER_THAN = "GREATER_THAN", + GREATER_THAN_OR_EQUAL_TO = "GREATER_THAN_OR_EQUAL_TO", + LESS_THAN = "LESS_THAN", + LESS_THAN_OR_EQUAL_TO = "LESS_THAN_OR_EQUAL_TO", + MASK_ALL = "MASK_ALL", + MASK_FIRST_N = "MASK_FIRST_N", + MASK_LAST_N = "MASK_LAST_N", + MULTIPLICATION = "MULTIPLICATION", + NOT_EQUAL_TO = "NOT_EQUAL_TO", + NO_OP = "NO_OP", + PROJECTION = "PROJECTION", + SUBTRACTION = "SUBTRACTION", + VALIDATE_NON_NEGATIVE = "VALIDATE_NON_NEGATIVE", + VALIDATE_NON_NULL = "VALIDATE_NON_NULL", + VALIDATE_NON_ZERO = "VALIDATE_NON_ZERO", + VALIDATE_NUMERIC = "VALIDATE_NUMERIC", +} + +export enum ServiceNowConnectorOperator { + ADDITION = "ADDITION", + BETWEEN = "BETWEEN", + CONTAINS = "CONTAINS", + DIVISION = "DIVISION", + EQUAL_TO = "EQUAL_TO", + GREATER_THAN = "GREATER_THAN", + GREATER_THAN_OR_EQUAL_TO = "GREATER_THAN_OR_EQUAL_TO", + LESS_THAN = "LESS_THAN", + LESS_THAN_OR_EQUAL_TO = "LESS_THAN_OR_EQUAL_TO", + MASK_ALL = "MASK_ALL", + MASK_FIRST_N = "MASK_FIRST_N", + MASK_LAST_N = "MASK_LAST_N", + MULTIPLICATION = "MULTIPLICATION", + NOT_EQUAL_TO = "NOT_EQUAL_TO", + NO_OP = "NO_OP", + PROJECTION = "PROJECTION", + SUBTRACTION = "SUBTRACTION", + VALIDATE_NON_NEGATIVE = "VALIDATE_NON_NEGATIVE", + VALIDATE_NON_NULL = "VALIDATE_NON_NULL", + VALIDATE_NON_ZERO = "VALIDATE_NON_ZERO", + VALIDATE_NUMERIC = "VALIDATE_NUMERIC", +} + +export enum SingularConnectorOperator { + ADDITION = "ADDITION", + DIVISION = "DIVISION", + EQUAL_TO = "EQUAL_TO", + MASK_ALL = "MASK_ALL", + MASK_FIRST_N = "MASK_FIRST_N", + MASK_LAST_N = "MASK_LAST_N", + MULTIPLICATION = "MULTIPLICATION", + NO_OP = "NO_OP", + PROJECTION = "PROJECTION", + SUBTRACTION = "SUBTRACTION", + VALIDATE_NON_NEGATIVE = "VALIDATE_NON_NEGATIVE", + VALIDATE_NON_NULL = "VALIDATE_NON_NULL", + VALIDATE_NON_ZERO = "VALIDATE_NON_ZERO", + VALIDATE_NUMERIC = "VALIDATE_NUMERIC", +} + +export enum SlackConnectorOperator { + ADDITION = "ADDITION", + BETWEEN = "BETWEEN", + DIVISION = "DIVISION", + EQUAL_TO = "EQUAL_TO", + GREATER_THAN = "GREATER_THAN", + GREATER_THAN_OR_EQUAL_TO = "GREATER_THAN_OR_EQUAL_TO", + LESS_THAN = "LESS_THAN", + LESS_THAN_OR_EQUAL_TO = "LESS_THAN_OR_EQUAL_TO", + MASK_ALL = "MASK_ALL", + MASK_FIRST_N = "MASK_FIRST_N", + MASK_LAST_N = "MASK_LAST_N", + MULTIPLICATION = "MULTIPLICATION", + NO_OP = "NO_OP", + PROJECTION = "PROJECTION", + SUBTRACTION = "SUBTRACTION", + VALIDATE_NON_NEGATIVE = "VALIDATE_NON_NEGATIVE", + VALIDATE_NON_NULL = "VALIDATE_NON_NULL", + VALIDATE_NON_ZERO = "VALIDATE_NON_ZERO", + VALIDATE_NUMERIC = "VALIDATE_NUMERIC", +} + +export enum TrendmicroConnectorOperator { + ADDITION = "ADDITION", + DIVISION = "DIVISION", + EQUAL_TO = "EQUAL_TO", + MASK_ALL = "MASK_ALL", + MASK_FIRST_N = "MASK_FIRST_N", + MASK_LAST_N = "MASK_LAST_N", + MULTIPLICATION = "MULTIPLICATION", + NO_OP = "NO_OP", + PROJECTION = "PROJECTION", + SUBTRACTION = "SUBTRACTION", + VALIDATE_NON_NEGATIVE = "VALIDATE_NON_NEGATIVE", + VALIDATE_NON_NULL = "VALIDATE_NON_NULL", + VALIDATE_NON_ZERO = "VALIDATE_NON_ZERO", + VALIDATE_NUMERIC = "VALIDATE_NUMERIC", +} + +export enum VeevaConnectorOperator { + ADDITION = "ADDITION", + BETWEEN = "BETWEEN", + CONTAINS = "CONTAINS", + DIVISION = "DIVISION", + EQUAL_TO = "EQUAL_TO", + GREATER_THAN = "GREATER_THAN", + GREATER_THAN_OR_EQUAL_TO = "GREATER_THAN_OR_EQUAL_TO", + LESS_THAN = "LESS_THAN", + LESS_THAN_OR_EQUAL_TO = "LESS_THAN_OR_EQUAL_TO", + MASK_ALL = "MASK_ALL", + MASK_FIRST_N = "MASK_FIRST_N", + MASK_LAST_N = "MASK_LAST_N", + MULTIPLICATION = "MULTIPLICATION", + NOT_EQUAL_TO = "NOT_EQUAL_TO", + NO_OP = "NO_OP", + PROJECTION = "PROJECTION", + SUBTRACTION = "SUBTRACTION", + VALIDATE_NON_NEGATIVE = "VALIDATE_NON_NEGATIVE", + VALIDATE_NON_NULL = "VALIDATE_NON_NULL", + VALIDATE_NON_ZERO = "VALIDATE_NON_ZERO", + VALIDATE_NUMERIC = "VALIDATE_NUMERIC", +} + +export enum ZendeskConnectorOperator { + ADDITION = "ADDITION", + DIVISION = "DIVISION", + GREATER_THAN = "GREATER_THAN", + MASK_ALL = "MASK_ALL", + MASK_FIRST_N = "MASK_FIRST_N", + MASK_LAST_N = "MASK_LAST_N", + MULTIPLICATION = "MULTIPLICATION", + NO_OP = "NO_OP", + PROJECTION = "PROJECTION", + SUBTRACTION = "SUBTRACTION", + VALIDATE_NON_NEGATIVE = "VALIDATE_NON_NEGATIVE", + VALIDATE_NON_NULL = "VALIDATE_NON_NULL", + VALIDATE_NON_ZERO = "VALIDATE_NON_ZERO", + VALIDATE_NUMERIC = "VALIDATE_NUMERIC", +} + +/** + *+ * The operation to be performed on the provided source fields. + *
+ */ +export interface ConnectorOperator { + /** + *+ * The operation to be performed on the provided Slack source fields. + *
+ */ + Slack?: SlackConnectorOperator | string; + + /** + *+ * The operation to be performed on the provided Infor Nexus source fields. + *
+ */ + InforNexus?: InforNexusConnectorOperator | string; + + /** + *+ * The operation to be performed on the provided Zendesk source fields. + *
+ */ + Zendesk?: ZendeskConnectorOperator | string; + + /** + *+ * The operation to be performed on the provided Dynatrace source fields. + *
+ */ + Dynatrace?: DynatraceConnectorOperator | string; + + /** + *+ * The operation to be performed on the provided Amazon S3 source fields. + *
+ */ + S3?: S3ConnectorOperator | string; + + /** + *+ * The operation to be performed on the provided Singular source fields. + *
+ */ + Singular?: SingularConnectorOperator | string; + + /** + *+ * The operation to be performed on the provided Salesforce source fields. + *
+ */ + Salesforce?: SalesforceConnectorOperator | string; + + /** + *+ * The operation to be performed on the provided Trend Micro source fields. + *
+ */ + Trendmicro?: TrendmicroConnectorOperator | string; + + /** + *+ * The operation to be performed on the provided ServiceNow source fields. + *
+ */ + ServiceNow?: ServiceNowConnectorOperator | string; + + /** + *+ * The operation to be performed on the provided Amplitude source fields. + *
+ */ + Amplitude?: AmplitudeConnectorOperator | string; + + /** + *+ * The operation to be performed on the provided Google Analytics source fields. + *
+ */ + GoogleAnalytics?: GoogleAnalyticsConnectorOperator | string; + + /** + *+ * The operation to be performed on the provided Datadog source fields. + *
+ */ + Datadog?: DatadogConnectorOperator | string; + + /** + *+ * The operation to be performed on the provided Veeva source fields. + *
+ */ + Veeva?: VeevaConnectorOperator | string; + + /** + *+ * The operation to be performed on the provided Marketo source fields. + *
+ */ + Marketo?: MarketoConnectorOperator | string; +} + +export namespace ConnectorOperator { + export const filterSensitiveLog = (obj: ConnectorOperator): any => ({ + ...obj, + }); +} + +/** + *+ * The connector-specific profile properties required by Datadog. + *
+ */ +export interface DatadogConnectorProfileProperties { + /** + *+ * The location of the Datadog resource. + *
+ */ + instanceUrl: string | undefined; +} + +export namespace DatadogConnectorProfileProperties { + export const filterSensitiveLog = (obj: DatadogConnectorProfileProperties): any => ({ + ...obj, + }); +} + +/** + *+ * The connector-specific profile properties required by Dynatrace. + *
+ */ +export interface DynatraceConnectorProfileProperties { + /** + *+ * The location of the Dynatrace resource. + *
+ */ + instanceUrl: string | undefined; +} + +export namespace DynatraceConnectorProfileProperties { + export const filterSensitiveLog = (obj: DynatraceConnectorProfileProperties): any => ({ + ...obj, + }); +} + +/** + *+ * The connector-specific profile properties required by Google Analytics. + *
+ */ +export interface GoogleAnalyticsConnectorProfileProperties {} + +export namespace GoogleAnalyticsConnectorProfileProperties { + export const filterSensitiveLog = (obj: GoogleAnalyticsConnectorProfileProperties): any => ({ + ...obj, + }); +} + +/** + *+ * The connector-specific profile properties required by Infor Nexus. + *
+ */ +export interface InforNexusConnectorProfileProperties { + /** + *+ * The location of the Infor Nexus resource. + *
+ */ + instanceUrl: string | undefined; +} + +export namespace InforNexusConnectorProfileProperties { + export const filterSensitiveLog = (obj: InforNexusConnectorProfileProperties): any => ({ + ...obj, + }); +} + +/** + *+ * The connector-specific profile properties required when using Marketo. + *
+ */ +export interface MarketoConnectorProfileProperties { + /** + *+ * The location of the Marketo resource. + *
+ */ + instanceUrl: string | undefined; +} + +export namespace MarketoConnectorProfileProperties { + export const filterSensitiveLog = (obj: MarketoConnectorProfileProperties): any => ({ + ...obj, + }); +} + +/** + *+ * The connector-specific profile properties when using Amazon Redshift. + *
+ */ +export interface RedshiftConnectorProfileProperties { + /** + *+ * The object key for the destination bucket in which Amazon AppFlow places the files. + *
+ */ + bucketPrefix?: string; + + /** + *+ * A name for the associated Amazon S3 bucket. + *
+ */ + bucketName: string | undefined; + + /** + *+ * The Amazon Resource Name (ARN) of the IAM role. + *
+ */ + roleArn: string | undefined; + + /** + *+ * The JDBC URL of the Amazon Redshift cluster. + *
+ */ + databaseUrl: string | undefined; +} + +export namespace RedshiftConnectorProfileProperties { + export const filterSensitiveLog = (obj: RedshiftConnectorProfileProperties): any => ({ + ...obj, + }); +} + +/** + *+ * The connector-specific profile properties required when using Salesforce. + *
+ */ +export interface SalesforceConnectorProfileProperties { + /** + *+ * The location of the Salesforce resource. + *
+ */ + instanceUrl?: string; + + /** + *+ * Indicates whether the connector profile applies to a sandbox or production environment. + *
+ */ + isSandboxEnvironment?: boolean; +} + +export namespace SalesforceConnectorProfileProperties { + export const filterSensitiveLog = (obj: SalesforceConnectorProfileProperties): any => ({ + ...obj, + }); +} + +/** + *+ * The connector-specific profile properties required when using ServiceNow. + *
+ */ +export interface ServiceNowConnectorProfileProperties { + /** + *+ * The location of the ServiceNow resource. + *
+ */ + instanceUrl: string | undefined; +} + +export namespace ServiceNowConnectorProfileProperties { + export const filterSensitiveLog = (obj: ServiceNowConnectorProfileProperties): any => ({ + ...obj, + }); +} + +/** + *+ * The connector-specific profile properties required when using Singular. + *
+ */ +export interface SingularConnectorProfileProperties {} + +export namespace SingularConnectorProfileProperties { + export const filterSensitiveLog = (obj: SingularConnectorProfileProperties): any => ({ + ...obj, + }); +} + +/** + *+ * The connector-specific profile properties required when using Slack. + *
+ */ +export interface SlackConnectorProfileProperties { + /** + *+ * The location of the Slack resource. + *
+ */ + instanceUrl: string | undefined; +} + +export namespace SlackConnectorProfileProperties { + export const filterSensitiveLog = (obj: SlackConnectorProfileProperties): any => ({ + ...obj, + }); +} + +/** + *+ * The connector-specific profile properties required when using Snowflake. + *
+ */ +export interface SnowflakeConnectorProfileProperties { + /** + *+ * The AWS Region of the Snowflake account. + *
+ */ + region?: string; + + /** + *+ * The name of the Amazon S3 bucket associated with Snowflake. + *
+ */ + bucketName: string | undefined; + + /** + *+ * The bucket path that refers to the Amazon S3 bucket associated with Snowflake. + *
+ */ + bucketPrefix?: string; + + /** + *+ * The Snowflake Private Link service name to be used for private data transfers. + *
+ */ + privateLinkServiceName?: string; + + /** + *+ * The name of the account. + *
+ */ + accountName?: string; + + /** + *
+ * The name of the Amazon S3 stage that was created while setting up an Amazon S3 stage in the Snowflake account. This is written in the following format: < Database>< Schema>
+ * The name of the Snowflake warehouse. + *
+ */ + warehouse: string | undefined; +} + +export namespace SnowflakeConnectorProfileProperties { + export const filterSensitiveLog = (obj: SnowflakeConnectorProfileProperties): any => ({ + ...obj, + }); +} + +/** + *+ * The connector-specific profile properties required when using Trend Micro. + *
+ */ +export interface TrendmicroConnectorProfileProperties {} + +export namespace TrendmicroConnectorProfileProperties { + export const filterSensitiveLog = (obj: TrendmicroConnectorProfileProperties): any => ({ + ...obj, + }); +} + +/** + *+ * The connector-specific profile properties required when using Veeva. + *
+ */ +export interface VeevaConnectorProfileProperties { + /** + *+ * The location of the Veeva resource. + *
+ */ + instanceUrl: string | undefined; +} + +export namespace VeevaConnectorProfileProperties { + export const filterSensitiveLog = (obj: VeevaConnectorProfileProperties): any => ({ + ...obj, + }); +} + +/** + *+ * The connector-specific profile properties required when using Zendesk. + *
+ */ +export interface ZendeskConnectorProfileProperties { + /** + *+ * The location of the Zendesk resource. + *
+ */ + instanceUrl: string | undefined; +} + +export namespace ZendeskConnectorProfileProperties { + export const filterSensitiveLog = (obj: ZendeskConnectorProfileProperties): any => ({ + ...obj, + }); +} + +/** + *+ * The connector-specific profile properties required by each connector. + *
+ */ +export interface ConnectorProfileProperties { + /** + *+ * The connector-specific properties required Google Analytics. + *
+ */ + GoogleAnalytics?: GoogleAnalyticsConnectorProfileProperties; + + /** + *+ * The connector-specific properties required by serviceNow. + *
+ */ + ServiceNow?: ServiceNowConnectorProfileProperties; + + /** + *+ * The connector-specific properties required by Amplitude. + *
+ */ + Amplitude?: AmplitudeConnectorProfileProperties; + + /** + *+ * The connector-specific properties required by Trend Micro. + *
+ */ + Trendmicro?: TrendmicroConnectorProfileProperties; + + /** + *+ * The connector-specific properties required by Slack. + *
+ */ + Slack?: SlackConnectorProfileProperties; + + /** + *+ * The connector-specific properties required by Veeva. + *
+ */ + Veeva?: VeevaConnectorProfileProperties; + + /** + *+ * The connector-specific properties required by Marketo. + *
+ */ + Marketo?: MarketoConnectorProfileProperties; + + /** + *+ * The connector-specific properties required by Datadog. + *
+ */ + Datadog?: DatadogConnectorProfileProperties; + + /** + *+ * The connector-specific properties required by Amazon Redshift. + *
+ */ + Redshift?: RedshiftConnectorProfileProperties; + + /** + *+ * The connector-specific properties required by Singular. + *
+ */ + Singular?: SingularConnectorProfileProperties; + + /** + *+ * The connector-specific properties required by Infor Nexus. + *
+ */ + InforNexus?: InforNexusConnectorProfileProperties; + + /** + *+ * The connector-specific properties required by Zendesk. + *
+ */ + Zendesk?: ZendeskConnectorProfileProperties; + + /** + *+ * The connector-specific properties required by Snowflake. + *
+ */ + Snowflake?: SnowflakeConnectorProfileProperties; + + /** + *+ * The connector-specific properties required by Dynatrace. + *
+ */ + Dynatrace?: DynatraceConnectorProfileProperties; + + /** + *+ * The connector-specific properties required by Salesforce. + *
+ */ + Salesforce?: SalesforceConnectorProfileProperties; +} + +export namespace ConnectorProfileProperties { + export const filterSensitiveLog = (obj: ConnectorProfileProperties): any => ({ + ...obj, + }); +} + +/** + *
+ * Describes an instance of a connector. This includes the provided name, credentials ARN, connection-mode, and so on. To keep the API intuitive and extensible, the fields that are common to all types of connector profiles are explicitly specified at the top level. The rest of the connector-specific properties are available via the connectorProfileProperties
field.
+ *
+ * The name of the connector profile. The name is unique for each ConnectorProfile
in the AWS account.
+ *
+ * The Amazon Resource Name (ARN) of the connector profile credentials. + *
+ */ + credentialsArn?: string; + + /** + *+ * The Amazon Resource Name (ARN) of the connector profile. + *
+ */ + connectorProfileArn?: string; + + /** + *+ * The type of connector, such as Salesforce, Amplitude, and so on. + *
+ */ + connectorType?: ConnectorType | string; + + /** + *+ * Specifies when the connector profile was last updated. + *
+ */ + lastUpdatedAt?: Date; + + /** + *+ * The connector-specific properties of the profile configuration. + *
+ */ + connectorProfileProperties?: ConnectorProfileProperties; + + /** + *+ * Indicates the connection mode and if it is public or private. + *
+ */ + connectionMode?: ConnectionMode | string; + + /** + *+ * Specifies when the connector profile was created. + *
+ */ + createdAt?: Date; +} + +export namespace ConnectorProfile { + export const filterSensitiveLog = (obj: ConnectorProfile): any => ({ + ...obj, + }); +} + +/** + *+ * The connector-specific credentials required by Datadog. + *
+ */ +export interface DatadogConnectorProfileCredentials { + /** + *+ * Application keys, in conjunction with your API key, give you full access to Datadog’s programmatic API. Application keys are associated with the user account that created them. The application key is used to log all requests made to the API. + *
+ */ + applicationKey: string | undefined; + + /** + *+ * A unique alphanumeric identifier used to authenticate a user, developer, or calling program to your API. + *
+ */ + apiKey: string | undefined; +} + +export namespace DatadogConnectorProfileCredentials { + export const filterSensitiveLog = (obj: DatadogConnectorProfileCredentials): any => ({ + ...obj, + }); +} + +/** + *+ * The connector-specific profile credentials required by Dynatrace. + *
+ */ +export interface DynatraceConnectorProfileCredentials { + /** + *+ * The API tokens used by Dynatrace API to authenticate various API calls. + *
+ */ + apiToken: string | undefined; +} + +export namespace DynatraceConnectorProfileCredentials { + export const filterSensitiveLog = (obj: DynatraceConnectorProfileCredentials): any => ({ + ...obj, + }); +} + +/** + *+ * The connector-specific profile credentials required by Google Analytics. + *
+ */ +export interface GoogleAnalyticsConnectorProfileCredentials { + /** + *+ * The client secret used by the oauth client to authenticate to the authorization server. + *
+ */ + clientSecret: string | undefined; + + /** + *+ * The oauth requirement needed to request security tokens from the connector endpoint. + *
+ */ + oAuthRequest?: ConnectorOAuthRequest; + + /** + *+ * The identifier for the desired client. + *
+ */ + clientId: string | undefined; + + /** + *+ * The credentials used to acquire new access tokens. This is required only for OAuth2 access tokens, and is not required for OAuth1 access tokens. + *
+ */ + refreshToken?: string; + + /** + *+ * The credentials used to access protected Google Analytics resources. + *
+ */ + accessToken?: string; +} + +export namespace GoogleAnalyticsConnectorProfileCredentials { + export const filterSensitiveLog = (obj: GoogleAnalyticsConnectorProfileCredentials): any => ({ + ...obj, + ...(obj.clientSecret && { clientSecret: SENSITIVE_STRING }), + ...(obj.accessToken && { accessToken: SENSITIVE_STRING }), + }); +} + +/** + *+ * The connector-specific profile credentials required by Infor Nexus. + *
+ */ +export interface InforNexusConnectorProfileCredentials { + /** + *+ * The secret key used to sign requests. + *
+ */ + secretAccessKey: string | undefined; + + /** + *+ * The Access Key portion of the credentials. + *
+ */ + accessKeyId: string | undefined; + + /** + *+ * The encryption keys used to encrypt data. + *
+ */ + datakey: string | undefined; + + /** + *+ * The identifier for the user. + *
+ */ + userId: string | undefined; +} + +export namespace InforNexusConnectorProfileCredentials { + export const filterSensitiveLog = (obj: InforNexusConnectorProfileCredentials): any => ({ + ...obj, + ...(obj.accessKeyId && { accessKeyId: SENSITIVE_STRING }), + }); +} + +/** + *+ * The connector-specific profile credentials required by Marketo. + *
+ */ +export interface MarketoConnectorProfileCredentials { + /** + *+ * The identifier for the desired client. + *
+ */ + clientId: string | undefined; + + /** + *+ * The client secret used by the oauth client to authenticate to the authorization server. + *
+ */ + clientSecret: string | undefined; + + /** + *+ * The credentials used to access protected Marketo resources. + *
+ */ + accessToken?: string; + + /** + *+ * The oauth requirement needed to request security tokens from the connector endpoint. + *
+ */ + oAuthRequest?: ConnectorOAuthRequest; +} + +export namespace MarketoConnectorProfileCredentials { + export const filterSensitiveLog = (obj: MarketoConnectorProfileCredentials): any => ({ + ...obj, + ...(obj.clientSecret && { clientSecret: SENSITIVE_STRING }), + ...(obj.accessToken && { accessToken: SENSITIVE_STRING }), + }); +} + +/** + *+ * The connector-specific profile credentials required when using Amazon Redshift. + *
+ */ +export interface RedshiftConnectorProfileCredentials { + /** + *+ * The name of the user. + *
+ */ + username: string | undefined; + + /** + *+ * The password that corresponds to the user name. + *
+ */ + password: string | undefined; +} + +export namespace RedshiftConnectorProfileCredentials { + export const filterSensitiveLog = (obj: RedshiftConnectorProfileCredentials): any => ({ + ...obj, + ...(obj.password && { password: SENSITIVE_STRING }), + }); +} + +/** + *+ * The connector-specific profile credentials required when using Salesforce. + *
+ */ +export interface SalesforceConnectorProfileCredentials { + /** + *+ * The credentials used to access protected Salesforce resources. + *
+ */ + accessToken?: string; + + /** + *+ * The credentials used to acquire new access tokens. + *
+ */ + refreshToken?: string; + + /** + *+ * The oauth requirement needed to request security tokens from the connector endpoint. + *
+ */ + oAuthRequest?: ConnectorOAuthRequest; +} + +export namespace SalesforceConnectorProfileCredentials { + export const filterSensitiveLog = (obj: SalesforceConnectorProfileCredentials): any => ({ + ...obj, + ...(obj.accessToken && { accessToken: SENSITIVE_STRING }), + }); +} + +/** + *+ * The connector-specific profile credentials required when using ServiceNow. + *
+ */ +export interface ServiceNowConnectorProfileCredentials { + /** + *+ * The password that corresponds to the user name. + *
+ */ + password: string | undefined; + + /** + *+ * The name of the user. + *
+ */ + username: string | undefined; +} + +export namespace ServiceNowConnectorProfileCredentials { + export const filterSensitiveLog = (obj: ServiceNowConnectorProfileCredentials): any => ({ + ...obj, + ...(obj.password && { password: SENSITIVE_STRING }), + }); +} + +/** + *+ * The connector-specific profile credentials required when using Singular. + *
+ */ +export interface SingularConnectorProfileCredentials { + /** + *A unique alphanumeric identifier used to authenticate a user, developer, or calling program to your API. + *
+ */ + apiKey: string | undefined; +} + +export namespace SingularConnectorProfileCredentials { + export const filterSensitiveLog = (obj: SingularConnectorProfileCredentials): any => ({ + ...obj, + }); +} + +/** + *+ * The connector-specific profile credentials required when using Slack. + *
+ */ +export interface SlackConnectorProfileCredentials { + /** + *+ * The client secret used by the oauth client to authenticate to the authorization server. + *
+ */ + clientSecret: string | undefined; + + /** + *+ * The credentials used to access protected Slack resources. + *
+ */ + accessToken?: string; + + /** + *+ * The identifier for the client. + *
+ */ + clientId: string | undefined; + + /** + *+ * The oauth requirement needed to request security tokens from the connector endpoint. + *
+ */ + oAuthRequest?: ConnectorOAuthRequest; +} + +export namespace SlackConnectorProfileCredentials { + export const filterSensitiveLog = (obj: SlackConnectorProfileCredentials): any => ({ + ...obj, + ...(obj.clientSecret && { clientSecret: SENSITIVE_STRING }), + ...(obj.accessToken && { accessToken: SENSITIVE_STRING }), + }); +} + +/** + *+ * The connector-specific profile credentials required when using Snowflake. + *
+ */ +export interface SnowflakeConnectorProfileCredentials { + /** + *+ * The password that corresponds to the user name. + *
+ */ + password: string | undefined; + + /** + *+ * The name of the user. + *
+ */ + username: string | undefined; +} + +export namespace SnowflakeConnectorProfileCredentials { + export const filterSensitiveLog = (obj: SnowflakeConnectorProfileCredentials): any => ({ + ...obj, + ...(obj.password && { password: SENSITIVE_STRING }), + }); +} + +/** + *+ * The connector-specific profile credentials required when using Trend Micro. + *
+ */ +export interface TrendmicroConnectorProfileCredentials { + /** + *+ * The Secret Access Key portion of the credentials. + *
+ */ + apiSecretKey: string | undefined; +} + +export namespace TrendmicroConnectorProfileCredentials { + export const filterSensitiveLog = (obj: TrendmicroConnectorProfileCredentials): any => ({ + ...obj, + ...(obj.apiSecretKey && { apiSecretKey: SENSITIVE_STRING }), + }); +} + +/** + *+ * The connector-specific profile credentials required when using Veeva. + *
+ */ +export interface VeevaConnectorProfileCredentials { + /** + *+ * The name of the user. + *
+ */ + username: string | undefined; + + /** + *+ * The password that corresponds to the user name. + *
+ */ + password: string | undefined; +} + +export namespace VeevaConnectorProfileCredentials { + export const filterSensitiveLog = (obj: VeevaConnectorProfileCredentials): any => ({ + ...obj, + ...(obj.password && { password: SENSITIVE_STRING }), + }); +} + +/** + *+ * The connector-specific profile credentials required when using Zendesk. + *
+ */ +export interface ZendeskConnectorProfileCredentials { + /** + *+ * The client secret used by the oauth client to authenticate to the authorization server. + *
+ */ + clientSecret: string | undefined; + + /** + *+ * The oauth requirement needed to request security tokens from the connector endpoint. + *
+ */ + oAuthRequest?: ConnectorOAuthRequest; + + /** + *+ * The identifier for the desired client. + *
+ */ + clientId: string | undefined; + + /** + *+ * The credentials used to access protected Zendesk resources. + *
+ */ + accessToken?: string; +} + +export namespace ZendeskConnectorProfileCredentials { + export const filterSensitiveLog = (obj: ZendeskConnectorProfileCredentials): any => ({ + ...obj, + ...(obj.clientSecret && { clientSecret: SENSITIVE_STRING }), + ...(obj.accessToken && { accessToken: SENSITIVE_STRING }), + }); +} + +/** + *+ * The connector-specific credentials required by a connector. + *
+ */ +export interface ConnectorProfileCredentials { + /** + *+ * The connector-specific credentials required when using Datadog. + *
+ */ + Datadog?: DatadogConnectorProfileCredentials; + + /** + *+ * The connector-specific credentials required when using Marketo. + *
+ */ + Marketo?: MarketoConnectorProfileCredentials; + + /** + *+ * The connector-specific credentials required when using Amazon Redshift. + *
+ */ + Redshift?: RedshiftConnectorProfileCredentials; + + /** + *+ * The connector-specific credentials required when using Dynatrace. + *
+ */ + Dynatrace?: DynatraceConnectorProfileCredentials; + + /** + *+ * The connector-specific credentials required when using Infor Nexus. + *
+ */ + InforNexus?: InforNexusConnectorProfileCredentials; + + /** + *+ * The connector-specific credentials required when using Zendesk. + *
+ */ + Zendesk?: ZendeskConnectorProfileCredentials; + + /** + *+ * The connector-specific credentials required when using Trend Micro. + *
+ */ + Trendmicro?: TrendmicroConnectorProfileCredentials; + + /** + *+ * The connector-specific credentials required when using Slack. + *
+ */ + Slack?: SlackConnectorProfileCredentials; + + /** + *+ * The connector-specific credentials required when using Salesforce. + *
+ */ + Salesforce?: SalesforceConnectorProfileCredentials; + + /** + *+ * The connector-specific credentials required when using Snowflake. + *
+ */ + Snowflake?: SnowflakeConnectorProfileCredentials; + + /** + *+ * The connector-specific credentials required when using Singular. + *
+ */ + Singular?: SingularConnectorProfileCredentials; + + /** + *+ * The connector-specific credentials required when using Google Analytics. + *
+ */ + GoogleAnalytics?: GoogleAnalyticsConnectorProfileCredentials; + + /** + *+ * The connector-specific credentials required when using ServiceNow. + *
+ */ + ServiceNow?: ServiceNowConnectorProfileCredentials; + + /** + *+ * The connector-specific credentials required when using Amplitude. + *
+ */ + Amplitude?: AmplitudeConnectorProfileCredentials; + + /** + *+ * The connector-specific credentials required when using Veeva. + *
+ */ + Veeva?: VeevaConnectorProfileCredentials; +} + +export namespace ConnectorProfileCredentials { + export const filterSensitiveLog = (obj: ConnectorProfileCredentials): any => ({ + ...obj, + ...(obj.Marketo && { Marketo: MarketoConnectorProfileCredentials.filterSensitiveLog(obj.Marketo) }), + ...(obj.Redshift && { Redshift: RedshiftConnectorProfileCredentials.filterSensitiveLog(obj.Redshift) }), + ...(obj.InforNexus && { InforNexus: InforNexusConnectorProfileCredentials.filterSensitiveLog(obj.InforNexus) }), + ...(obj.Zendesk && { Zendesk: ZendeskConnectorProfileCredentials.filterSensitiveLog(obj.Zendesk) }), + ...(obj.Trendmicro && { Trendmicro: TrendmicroConnectorProfileCredentials.filterSensitiveLog(obj.Trendmicro) }), + ...(obj.Slack && { Slack: SlackConnectorProfileCredentials.filterSensitiveLog(obj.Slack) }), + ...(obj.Salesforce && { Salesforce: SalesforceConnectorProfileCredentials.filterSensitiveLog(obj.Salesforce) }), + ...(obj.Snowflake && { Snowflake: SnowflakeConnectorProfileCredentials.filterSensitiveLog(obj.Snowflake) }), + ...(obj.GoogleAnalytics && { + GoogleAnalytics: GoogleAnalyticsConnectorProfileCredentials.filterSensitiveLog(obj.GoogleAnalytics), + }), + ...(obj.ServiceNow && { ServiceNow: ServiceNowConnectorProfileCredentials.filterSensitiveLog(obj.ServiceNow) }), + ...(obj.Amplitude && { Amplitude: AmplitudeConnectorProfileCredentials.filterSensitiveLog(obj.Amplitude) }), + ...(obj.Veeva && { Veeva: VeevaConnectorProfileCredentials.filterSensitiveLog(obj.Veeva) }), + }); +} + +/** + *+ * Defines the connector-specific configuration and credentials for the connector profile. + *
+ */ +export interface ConnectorProfileConfig { + /** + *+ * The connector-specific properties of the profile configuration. + *
+ */ + connectorProfileProperties: ConnectorProfileProperties | undefined; + + /** + *+ * The connector-specific credentials required by each connector. + *
+ */ + connectorProfileCredentials: ConnectorProfileCredentials | undefined; +} + +export namespace ConnectorProfileConfig { + export const filterSensitiveLog = (obj: ConnectorProfileConfig): any => ({ + ...obj, + ...(obj.connectorProfileCredentials && { + connectorProfileCredentials: ConnectorProfileCredentials.filterSensitiveLog(obj.connectorProfileCredentials), + }), + }); +} + +/** + *+ * An error occurred when retrieving data from the connector endpoint. + *
+ */ +export interface ConnectorServerException extends __SmithyException, $MetadataBearer { + name: "ConnectorServerException"; + $fault: "client"; + message?: string; +} + +export namespace ConnectorServerException { + export const filterSensitiveLog = (obj: ConnectorServerException): any => ({ + ...obj, + }); +} + +export interface CreateConnectorProfileRequest { + /** + *+ * Indicates the connection mode and specifies whether it is public or private. Private flows use AWS PrivateLink to route data over AWS infrastructure without exposing it to the public internet. + *
+ */ + connectionMode: ConnectionMode | string | undefined; + + /** + *+ * The ARN (Amazon Resource Name) of the Key Management Service (KMS) key you provide for encryption. This is required if you do not want to use the Amazon AppFlow-managed KMS key. If you don't provide anything here, Amazon AppFlow uses the Amazon AppFlow-managed KMS key. + *
+ */ + kmsArn?: string; + + /** + *+ * The type of connector, such as Salesforce, Amplitude, and so on. + *
+ */ + connectorType: ConnectorType | string | undefined; + + /** + *
+ * The name of the connector profile. The name is unique for each ConnectorProfile
in your AWS account.
+ *
+ * Defines the connector-specific configuration and credentials. + *
+ */ + connectorProfileConfig: ConnectorProfileConfig | undefined; +} + +export namespace CreateConnectorProfileRequest { + export const filterSensitiveLog = (obj: CreateConnectorProfileRequest): any => ({ + ...obj, + }); +} + +export interface CreateConnectorProfileResponse { + /** + *+ * The Amazon Resource Name (ARN) of the connector profile. + *
+ */ + connectorProfileArn?: string; +} + +export namespace CreateConnectorProfileResponse { + export const filterSensitiveLog = (obj: CreateConnectorProfileResponse): any => ({ + ...obj, + }); +} + +/** + *+ * An internal service error occurred during the processing of your request. Try again later. + *
+ */ +export interface InternalServerException extends __SmithyException, $MetadataBearer { + name: "InternalServerException"; + $fault: "server"; + message?: string; +} + +export namespace InternalServerException { + export const filterSensitiveLog = (obj: InternalServerException): any => ({ + ...obj, + }); +} + +/** + *+ * The request would cause a service quota (such as the number of flows) to be exceeded. + *
+ */ +export interface ServiceQuotaExceededException extends __SmithyException, $MetadataBearer { + name: "ServiceQuotaExceededException"; + $fault: "client"; + message?: string; +} + +export namespace ServiceQuotaExceededException { + export const filterSensitiveLog = (obj: ServiceQuotaExceededException): any => ({ + ...obj, + }); +} + +/** + *+ * The request has invalid or missing parameters. + *
+ */ +export interface ValidationException extends __SmithyException, $MetadataBearer { + name: "ValidationException"; + $fault: "client"; + message?: string; +} + +export namespace ValidationException { + export const filterSensitiveLog = (obj: ValidationException): any => ({ + ...obj, + }); +} + +/** + *
+ * The settings that determine how Amazon AppFlow handles an error when placing data in the destination. For example, this setting would determine if the flow should fail after one insertion error, or continue and attempt to insert every record regardless of the initial failure. ErrorHandlingConfig
is a part of the destination connector details.
+ *
+ *
+ * Specifies the Amazon S3 bucket prefix. + *
+ */ + bucketPrefix?: string; + + /** + *+ * Specifies the name of the Amazon S3 bucket. + *
+ */ + bucketName?: string; + + /** + *+ * Specifies if the flow should fail after the first instance of a failure when attempting to place data in the destination. + *
+ */ + failOnFirstDestinationError?: boolean; +} + +export namespace ErrorHandlingConfig { + export const filterSensitiveLog = (obj: ErrorHandlingConfig): any => ({ + ...obj, + }); +} + +/** + *+ * The properties that are applied when Amazon EventBridge is being used as a destination. + *
+ */ +export interface EventBridgeDestinationProperties { + /** + *+ * The object specified in the Amazon EventBridge flow destination. + *
+ */ + object: string | undefined; + + /** + *
+ * The settings that determine how Amazon AppFlow handles an error when placing data in the destination. For example, this setting would determine if the flow should fail after one insertion error, or continue and attempt to insert every record regardless of the initial failure. ErrorHandlingConfig
is a part of the destination connector details.
+ *
+ *
+ * The properties that are applied when Amazon Redshift is being used as a destination. + *
+ */ +export interface RedshiftDestinationProperties { + /** + *+ * The object specified in the Amazon Redshift flow destination. + *
+ */ + object: string | undefined; + + /** + *
+ * The settings that determine how Amazon AppFlow handles an error when placing data in the Amazon Redshift destination. For example, this setting would determine if the flow should fail after one insertion error, or continue and attempt to insert every record regardless of the initial failure. ErrorHandlingConfig
is a part of the destination connector details.
+ *
+ * The intermediate bucket that Amazon AppFlow uses when moving data into Amazon Redshift. + *
+ */ + intermediateBucketName: string | undefined; + + /** + *+ * The object key for the bucket in which Amazon AppFlow places the destination files. + *
+ */ + bucketPrefix?: string; +} + +export namespace RedshiftDestinationProperties { + export const filterSensitiveLog = (obj: RedshiftDestinationProperties): any => ({ + ...obj, + }); +} + +export enum FileType { + CSV = "CSV", + JSON = "JSON", + PARQUET = "PARQUET", +} + +export enum PrefixFormat { + DAY = "DAY", + HOUR = "HOUR", + MINUTE = "MINUTE", + MONTH = "MONTH", + YEAR = "YEAR", +} + +export enum PrefixType { + FILENAME = "FILENAME", + PATH = "PATH", + PATH_AND_FILENAME = "PATH_AND_FILENAME", +} + +/** + *+ * Determines the prefix that Amazon AppFlow applies to the destination folder name. You can name your destination folders according to the flow frequency and date. + *
+ */ +export interface PrefixConfig { + /** + *+ * Determines the level of granularity that's included in the prefix. + *
+ */ + prefixType?: PrefixType | string; + + /** + *+ * Determines the format of the prefix, and whether it applies to the file name, file path, or both. + *
+ */ + prefixFormat?: PrefixFormat | string; +} + +export namespace PrefixConfig { + export const filterSensitiveLog = (obj: PrefixConfig): any => ({ + ...obj, + }); +} + +/** + *+ * The configuration that determines how Amazon AppFlow should format the flow output data when Amazon S3 is used as the destination. + *
+ */ +export interface S3OutputFormatConfig { + /** + *+ * Indicates the file type that Amazon AppFlow places in the Amazon S3 bucket. + *
+ */ + fileType?: FileType | string; + + /** + *+ * Determines the prefix that Amazon AppFlow applies to the folder name in the Amazon S3 bucket. You can name folders according to the flow frequency and date. + *
+ */ + prefixConfig?: PrefixConfig; + + /** + *+ * The aggregation settings that you can use to customize the output format of your flow data. + *
+ */ + aggregationConfig?: AggregationConfig; +} + +export namespace S3OutputFormatConfig { + export const filterSensitiveLog = (obj: S3OutputFormatConfig): any => ({ + ...obj, + }); +} + +/** + *+ * The properties that are applied when Amazon S3 is used as a destination. + *
+ */ +export interface S3DestinationProperties { + /** + *+ * The configuration that determines how Amazon AppFlow should format the flow output data when Amazon S3 is used as the destination. + *
+ */ + s3OutputFormatConfig?: S3OutputFormatConfig; + + /** + *+ * The object key for the destination bucket in which Amazon AppFlow places the files. + *
+ */ + bucketPrefix?: string; + + /** + *+ * The Amazon S3 bucket name in which Amazon AppFlow places the transferred data. + *
+ */ + bucketName: string | undefined; +} + +export namespace S3DestinationProperties { + export const filterSensitiveLog = (obj: S3DestinationProperties): any => ({ + ...obj, + }); +} + +/** + *+ * The properties that are applied when Salesforce is being used as a destination. + *
+ */ +export interface SalesforceDestinationProperties { + /** + *
+ * The settings that determine how Amazon AppFlow handles an error when placing data in the Salesforce destination. For example, this setting would determine if the flow should fail after one insertion error, or continue and attempt to insert every record regardless of the initial failure. ErrorHandlingConfig
is a part of the destination connector details.
+ *
+ * The object specified in the Salesforce flow destination. + *
+ */ + object: string | undefined; +} + +export namespace SalesforceDestinationProperties { + export const filterSensitiveLog = (obj: SalesforceDestinationProperties): any => ({ + ...obj, + }); +} + +/** + *+ * The properties that are applied when Snowflake is being used as a destination. + *
+ */ +export interface SnowflakeDestinationProperties { + /** + *+ * The object specified in the Snowflake flow destination. + *
+ */ + object: string | undefined; + + /** + *
+ * The settings that determine how Amazon AppFlow handles an error when placing data in the Snowflake destination. For example, this setting would determine if the flow should fail after one insertion error, or continue and attempt to insert every record regardless of the initial failure. ErrorHandlingConfig
is a part of the destination connector details.
+ *
+ * The object key for the destination bucket in which Amazon AppFlow places the files. + *
+ */ + bucketPrefix?: string; + + /** + *+ * The intermediate bucket that Amazon AppFlow uses when moving data into Snowflake. + *
+ */ + intermediateBucketName: string | undefined; +} + +export namespace SnowflakeDestinationProperties { + export const filterSensitiveLog = (obj: SnowflakeDestinationProperties): any => ({ + ...obj, + }); +} + +/** + *+ * This stores the information that is required to query a particular connector. + *
+ */ +export interface DestinationConnectorProperties { + /** + *+ * The properties required to query Amazon S3. + *
+ */ + S3?: S3DestinationProperties; + + /** + *+ * The properties required to query Amazon Redshift. + *
+ */ + Redshift?: RedshiftDestinationProperties; + + /** + *+ * The properties required to query Salesforce. + *
+ */ + Salesforce?: SalesforceDestinationProperties; + + /** + *+ * The properties required to query Amazon EventBridge. + *
+ */ + EventBridge?: EventBridgeDestinationProperties; + + /** + *+ * The properties required to query Snowflake. + *
+ */ + Snowflake?: SnowflakeDestinationProperties; +} + +export namespace DestinationConnectorProperties { + export const filterSensitiveLog = (obj: DestinationConnectorProperties): any => ({ + ...obj, + }); +} + +/** + *+ * Contains information about the configuration of destination connectors present in the flow. + *
+ */ +export interface DestinationFlowConfig { + /** + *+ * The name of the connector profile. This name must be unique for each connector profile in the AWS account. + *
+ */ + connectorProfileName?: string; + + /** + *+ * The type of connector, such as Salesforce, Amplitude, and so on. + *
+ */ + connectorType: ConnectorType | string | undefined; + + /** + *+ * This stores the information that is required to query a particular connector. + *
+ */ + destinationConnectorProperties: DestinationConnectorProperties | undefined; +} + +export namespace DestinationFlowConfig { + export const filterSensitiveLog = (obj: DestinationFlowConfig): any => ({ + ...obj, + }); +} + +/** + *+ * The properties that are applied when Datadog is being used as a source. + *
+ */ +export interface DatadogSourceProperties { + /** + *+ * The object specified in the Datadog flow source. + *
+ */ + object: string | undefined; +} + +export namespace DatadogSourceProperties { + export const filterSensitiveLog = (obj: DatadogSourceProperties): any => ({ + ...obj, + }); +} + +/** + *+ * The properties that are applied when Dynatrace is being used as a source. + *
+ */ +export interface DynatraceSourceProperties { + /** + *+ * The object specified in the Dynatrace flow source. + *
+ */ + object: string | undefined; +} + +export namespace DynatraceSourceProperties { + export const filterSensitiveLog = (obj: DynatraceSourceProperties): any => ({ + ...obj, + }); +} + +/** + *+ * The properties that are applied when Google Analytics is being used as a source. + *
+ */ +export interface GoogleAnalyticsSourceProperties { + /** + *+ * The object specified in the Google Analytics flow source. + *
+ */ + object: string | undefined; +} + +export namespace GoogleAnalyticsSourceProperties { + export const filterSensitiveLog = (obj: GoogleAnalyticsSourceProperties): any => ({ + ...obj, + }); +} + +/** + *+ * The properties that are applied when Infor Nexus is being used as a source. + *
+ */ +export interface InforNexusSourceProperties { + /** + *+ * The object specified in the Infor Nexus flow source. + *
+ */ + object: string | undefined; +} + +export namespace InforNexusSourceProperties { + export const filterSensitiveLog = (obj: InforNexusSourceProperties): any => ({ + ...obj, + }); +} + +/** + *+ * The properties that are applied when Marketo is being used as a source. + *
+ */ +export interface MarketoSourceProperties { + /** + *+ * The object specified in the Marketo flow source. + *
+ */ + object: string | undefined; +} + +export namespace MarketoSourceProperties { + export const filterSensitiveLog = (obj: MarketoSourceProperties): any => ({ + ...obj, + }); +} + +/** + *+ * The properties that are applied when Amazon S3 is being used as the flow source. + *
+ */ +export interface S3SourceProperties { + /** + *+ * The Amazon S3 bucket name where the source files are stored. + *
+ */ + bucketName: string | undefined; + + /** + *+ * The object key for the Amazon S3 bucket in which the source files are stored. + *
+ */ + bucketPrefix?: string; +} + +export namespace S3SourceProperties { + export const filterSensitiveLog = (obj: S3SourceProperties): any => ({ + ...obj, + }); +} + +/** + *+ * The properties that are applied when Salesforce is being used as a source. + *
+ */ +export interface SalesforceSourceProperties { + /** + *+ * Indicates whether Amazon AppFlow includes deleted files in the flow run. + *
+ */ + includeDeletedRecords?: boolean; + + /** + *+ * The flag that enables dynamic fetching of new (recently added) fields in the Salesforce objects while running a flow. + *
+ */ + enableDynamicFieldUpdate?: boolean; + + /** + *+ * The object specified in the Salesforce flow source. + *
+ */ + object: string | undefined; +} + +export namespace SalesforceSourceProperties { + export const filterSensitiveLog = (obj: SalesforceSourceProperties): any => ({ + ...obj, + }); +} + +/** + *+ * The properties that are applied when ServiceNow is being used as a source. + *
+ */ +export interface ServiceNowSourceProperties { + /** + *+ * The object specified in the ServiceNow flow source. + *
+ */ + object: string | undefined; +} + +export namespace ServiceNowSourceProperties { + export const filterSensitiveLog = (obj: ServiceNowSourceProperties): any => ({ + ...obj, + }); +} + +/** + *+ * The properties that are applied when Singular is being used as a source. + *
+ */ +export interface SingularSourceProperties { + /** + *+ * The object specified in the Singular flow source. + *
+ */ + object: string | undefined; +} + +export namespace SingularSourceProperties { + export const filterSensitiveLog = (obj: SingularSourceProperties): any => ({ + ...obj, + }); +} + +/** + *+ * The properties that are applied when Slack is being used as a source. + *
+ */ +export interface SlackSourceProperties { + /** + *+ * The object specified in the Slack flow source. + *
+ */ + object: string | undefined; +} + +export namespace SlackSourceProperties { + export const filterSensitiveLog = (obj: SlackSourceProperties): any => ({ + ...obj, + }); +} + +/** + *+ * The properties that are applied when using Trend Micro as a flow source. + *
+ */ +export interface TrendmicroSourceProperties { + /** + *+ * The object specified in the Trend Micro flow source. + *
+ */ + object: string | undefined; +} + +export namespace TrendmicroSourceProperties { + export const filterSensitiveLog = (obj: TrendmicroSourceProperties): any => ({ + ...obj, + }); +} + +/** + *+ * The properties that are applied when using Veeva as a flow source. + *
+ */ +export interface VeevaSourceProperties { + /** + *+ * The object specified in the Veeva flow source. + *
+ */ + object: string | undefined; +} + +export namespace VeevaSourceProperties { + export const filterSensitiveLog = (obj: VeevaSourceProperties): any => ({ + ...obj, + }); +} + +/** + *+ * The properties that are applied when using Zendesk as a flow source. + *
+ */ +export interface ZendeskSourceProperties { + /** + *+ * The object specified in the Zendesk flow source. + *
+ */ + object: string | undefined; +} + +export namespace ZendeskSourceProperties { + export const filterSensitiveLog = (obj: ZendeskSourceProperties): any => ({ + ...obj, + }); +} + +/** + *+ * Specifies the information that is required to query a particular connector. + *
+ */ +export interface SourceConnectorProperties { + /** + *+ * Specifies the information that is required for querying ServiceNow. + *
+ */ + ServiceNow?: ServiceNowSourceProperties; + + /** + *+ * Specifies the information that is required for querying Trend Micro. + *
+ */ + Trendmicro?: TrendmicroSourceProperties; + + /** + *+ * Specifies the information that is required for querying Amazon S3. + *
+ */ + S3?: S3SourceProperties; + + /** + *+ * Specifies the information that is required for querying Salesforce. + *
+ */ + Salesforce?: SalesforceSourceProperties; + + /** + *+ * Specifies the information that is required for querying Veeva. + *
+ */ + Veeva?: VeevaSourceProperties; + + /** + *+ * Specifies the information that is required for querying Dynatrace. + *
+ */ + Dynatrace?: DynatraceSourceProperties; + + /** + *+ * Specifies the information that is required for querying Infor Nexus. + *
+ */ + InforNexus?: InforNexusSourceProperties; + + /** + *+ * Specifies the information that is required for querying Zendesk. + *
+ */ + Zendesk?: ZendeskSourceProperties; + + /** + *+ * Specifies the information that is required for querying Amplitude. + *
+ */ + Amplitude?: AmplitudeSourceProperties; + + /** + *+ * Specifies the information that is required for querying Slack. + *
+ */ + Slack?: SlackSourceProperties; + + /** + *+ * Specifies the information that is required for querying Datadog. + *
+ */ + Datadog?: DatadogSourceProperties; + + /** + *+ * Specifies the information that is required for querying Singular. + *
+ */ + Singular?: SingularSourceProperties; + + /** + *+ * Specifies the information that is required for querying Marketo. + *
+ */ + Marketo?: MarketoSourceProperties; + + /** + *+ * Specifies the information that is required for querying Google Analytics. + *
+ */ + GoogleAnalytics?: GoogleAnalyticsSourceProperties; +} + +export namespace SourceConnectorProperties { + export const filterSensitiveLog = (obj: SourceConnectorProperties): any => ({ + ...obj, + }); +} + +/** + *+ * Contains information about the configuration of the source connector used in the flow. + *
+ */ +export interface SourceFlowConfig { + /** + *+ * Specifies the information that is required to query a particular source connector. + *
+ */ + sourceConnectorProperties: SourceConnectorProperties | undefined; + + /** + *+ * The name of the connector profile. This name must be unique for each connector profile in the AWS account. + *
+ */ + connectorProfileName?: string; + + /** + *+ * The type of connector, such as Salesforce, Amplitude, and so on. + *
+ */ + connectorType: ConnectorType | string | undefined; +} + +export namespace SourceFlowConfig { + export const filterSensitiveLog = (obj: SourceFlowConfig): any => ({ + ...obj, + }); +} + +export enum OperatorPropertiesKeys { + CONCAT_FORMAT = "CONCAT_FORMAT", + DATA_TYPE = "DATA_TYPE", + DESTINATION_DATA_TYPE = "DESTINATION_DATA_TYPE", + LOWER_BOUND = "LOWER_BOUND", + MASK_LENGTH = "MASK_LENGTH", + MASK_VALUE = "MASK_VALUE", + MATH_OPERATION_FIELDS_ORDER = "MATH_OPERATION_FIELDS_ORDER", + SOURCE_DATA_TYPE = "SOURCE_DATA_TYPE", + SUBFIELD_CATEGORY_MAP = "SUBFIELD_CATEGORY_MAP", + TRUNCATE_LENGTH = "TRUNCATE_LENGTH", + UPPER_BOUND = "UPPER_BOUND", + VALIDATION_ACTION = "VALIDATION_ACTION", + VALUE = "VALUE", + VALUES = "VALUES", +} + +export enum TaskType { + ARITHMETIC = "Arithmetic", + FILTER = "Filter", + MAP = "Map", + MASK = "Mask", + MERGE = "Merge", + TRUNCATE = "Truncate", + VALIDATE = "Validate", +} + +/** + *
+ * A class for modeling different type of tasks. Task implementation varies based on the TaskType
.
+ *
+ * Specifies the particular task implementation that Amazon AppFlow performs. + *
+ */ + taskType: TaskType | string | undefined; + + /** + *+ * The source fields to which a particular task is applied. + *
+ */ + sourceFields: string[] | undefined; + + /** + *
+ * A map used to store task-related information. The execution service looks for particular information based on the TaskType
.
+ *
+ * A field in a destination connector, or a field value against which Amazon AppFlow validates a source field. + *
+ */ + destinationField?: string; + + /** + *+ * The operation to be performed on the provided source fields. + *
+ */ + connectorOperator?: ConnectorOperator; +} + +export namespace Task { + export const filterSensitiveLog = (obj: Task): any => ({ + ...obj, + }); +} + +export enum DataPullMode { + COMPLETE = "Complete", + INCREMENTAL = "Incremental", +} + +/** + *
+ * Specifies the configuration details of a schedule-triggered flow as defined by the user. Currently, these settings only apply to the Scheduled
trigger type.
+ *
+ * Specifies the scheduled start time for a schedule-triggered flow. + *
+ */ + scheduleStartTime?: Date; + + /** + *+ * Specifies the scheduled end time for a schedule-triggered flow. + *
+ */ + scheduleEndTime?: Date; + + /** + *+ * The scheduling expression that determines when and how often the rule runs. + *
+ */ + scheduleExpression: string | undefined; + + /** + *+ * Specifies whether a scheduled flow has an incremental data transfer or a complete data transfer for each flow run. + *
+ */ + dataPullMode?: DataPullMode | string; + + /** + *+ * Specifies the time zone used when referring to the date and time of a scheduled-triggered flow. + *
+ */ + timezone?: string; +} + +export namespace ScheduledTriggerProperties { + export const filterSensitiveLog = (obj: ScheduledTriggerProperties): any => ({ + ...obj, + }); +} + +/** + *
+ * Specifies the configuration details that control the trigger for a flow. Currently, these settings only apply to the Scheduled
trigger type.
+ *
+ * Specifies the configuration details of a schedule-triggered flow as defined by the user. + *
+ */ + Scheduled?: ScheduledTriggerProperties; +} + +export namespace TriggerProperties { + export const filterSensitiveLog = (obj: TriggerProperties): any => ({ + ...obj, + }); +} + +/** + *+ * The trigger settings that determine how and when Amazon AppFlow runs the specified flow. + * + * + *
+ */ +export interface TriggerConfig { + /** + *
+ * Specifies the type of flow trigger. This can be OnDemand
, Scheduled
, or Event
.
+ *
+ * Specifies the configuration details of a schedule-triggered flow as defined by the user. Currently, these settings only apply to the Scheduled
trigger type.
+ *
+ * A description of the flow you want to create. + *
+ */ + description?: string; + + /** + *+ * The trigger settings that determine how and when the flow runs. + *
+ */ + triggerConfig: TriggerConfig | undefined; + + /** + *+ * The ARN (Amazon Resource Name) of the Key Management Service (KMS) key you provide for encryption. This is required if you do not want to use the Amazon AppFlow-managed KMS key. If you don't provide anything here, Amazon AppFlow uses the Amazon AppFlow-managed KMS key. + *
+ */ + kmsArn?: string; + + /** + *+ * The configuration that controls how Amazon AppFlow places data in the destination connector. + *
+ */ + destinationFlowConfigList: DestinationFlowConfig[] | undefined; + + /** + *+ * The configuration that controls how Amazon AppFlow retrieves data from the source connector. + *
+ */ + sourceFlowConfig: SourceFlowConfig | undefined; + + /** + *+ * The tags used to organize, track, or control access for your flow. + *
+ */ + tags?: { [key: string]: string }; + + /** + *+ * A list of tasks that Amazon AppFlow performs while transferring the data in the flow run. + *
+ */ + tasks: Task[] | undefined; + + /** + *+ * The specified name of the flow. Spaces are not allowed. Use underscores (_) or hyphens (-) only. + *
+ */ + flowName: string | undefined; +} + +export namespace CreateFlowRequest { + export const filterSensitiveLog = (obj: CreateFlowRequest): any => ({ + ...obj, + }); +} + +export enum FlowStatus { + ACTIVE = "Active", + DELETED = "Deleted", + DEPRECATED = "Deprecated", + DRAFT = "Draft", + ERRORED = "Errored", + SUSPENDED = "Suspended", +} + +export interface CreateFlowResponse { + /** + *+ * Indicates the current status of the flow. + *
+ */ + flowStatus?: FlowStatus | string; + + /** + *+ * The flow's Amazon Resource Name (ARN). + *
+ */ + flowArn?: string; +} + +export namespace CreateFlowResponse { + export const filterSensitiveLog = (obj: CreateFlowResponse): any => ({ + ...obj, + }); +} + +/** + *+ * The resource specified in the request (such as the source or destination connector profile) is not found. + *
+ */ +export interface ResourceNotFoundException extends __SmithyException, $MetadataBearer { + name: "ResourceNotFoundException"; + $fault: "client"; + message?: string; +} + +export namespace ResourceNotFoundException { + export const filterSensitiveLog = (obj: ResourceNotFoundException): any => ({ + ...obj, + }); +} + +export interface DeleteConnectorProfileRequest { + /** + *+ * Indicates whether Amazon AppFlow should delete the profile, even if it is currently in use in one or more flows. + *
+ */ + forceDelete?: boolean; + + /** + *
+ * The name of the connector profile. The name is unique for each ConnectorProfile
in your account.
+ *
+ * Indicates whether Amazon AppFlow should delete the flow, even if it is currently in use. + *
+ */ + forceDelete?: boolean; + + /** + *+ * The specified name of the flow. Spaces are not allowed. Use underscores (_) or hyphens (-) only. + *
+ */ + flowName: string | undefined; +} + +export namespace DeleteFlowRequest { + export const filterSensitiveLog = (obj: DeleteFlowRequest): any => ({ + ...obj, + }); +} + +export interface DeleteFlowResponse {} + +export namespace DeleteFlowResponse { + export const filterSensitiveLog = (obj: DeleteFlowResponse): any => ({ + ...obj, + }); +} + +export interface DescribeConnectorEntityRequest { + /** + *
+ * The name of the connector profile. The name is unique for each ConnectorProfile
in the AWS account.
+ *
+ * The type of connector application, such as Salesforce, Amplitude, and so on. + *
+ */ + connectorType?: ConnectorType | string; + + /** + *+ * The entity name for that connector. + *
+ */ + connectorEntityName: string | undefined; +} + +export namespace DescribeConnectorEntityRequest { + export const filterSensitiveLog = (obj: DescribeConnectorEntityRequest): any => ({ + ...obj, + }); +} + +export interface DescribeConnectorEntityResponse { + /** + *+ * Describes the fields for that connector entity. For example, for an account entity, the fields would be account name, account ID, and so on. + *
+ */ + connectorEntityFields: ConnectorEntityField[] | undefined; +} + +export namespace DescribeConnectorEntityResponse { + export const filterSensitiveLog = (obj: DescribeConnectorEntityResponse): any => ({ + ...obj, + }); +} + +export interface DescribeConnectorProfilesRequest { + /** + *
+ * The name of the connector profile. The name is unique for each ConnectorProfile
in the AWS account.
+ *
+ * The type of connector, such as Salesforce, Amplitude, and so on. + *
+ */ + connectorType?: ConnectorType | string; + + /** + *
+ * Specifies the maximum number of items that should be returned in the result set. The default for maxResults
is 20 (for all paginated API operations).
+ *
+ * The pagination token for the next page of data. + *
+ */ + nextToken?: string; +} + +export namespace DescribeConnectorProfilesRequest { + export const filterSensitiveLog = (obj: DescribeConnectorProfilesRequest): any => ({ + ...obj, + }); +} + +export interface DescribeConnectorProfilesResponse { + /** + *+ * Returns information about the connector profiles associated with the flow. + *
+ */ + connectorProfileDetails?: ConnectorProfile[]; + + /** + *
+ * The pagination token for the next page of data. If nextToken=null
, this means that all records have been fetched.
+ *
+ * The type of connector, such as Salesforce, Amplitude, and so on. + *
+ */ + connectorTypes?: (ConnectorType | string)[]; + + /** + *+ * The pagination token for the next page of data. + *
+ */ + nextToken?: string; +} + +export namespace DescribeConnectorsRequest { + export const filterSensitiveLog = (obj: DescribeConnectorsRequest): any => ({ + ...obj, + }); +} + +export interface DescribeConnectorsResponse { + /** + *+ * The pagination token for the next page of data. + *
+ */ + nextToken?: string; + + /** + *+ * The configuration that is applied to the connectors used in the flow. + *
+ */ + connectorConfigurations?: { [key: string]: ConnectorConfiguration }; +} + +export namespace DescribeConnectorsResponse { + export const filterSensitiveLog = (obj: DescribeConnectorsResponse): any => ({ + ...obj, + }); +} + +export interface DescribeFlowRequest { + /** + *+ * The specified name of the flow. Spaces are not allowed. Use underscores (_) or hyphens (-) only. + *
+ */ + flowName: string | undefined; +} + +export namespace DescribeFlowRequest { + export const filterSensitiveLog = (obj: DescribeFlowRequest): any => ({ + ...obj, + }); +} + +export enum ExecutionStatus { + ERROR = "Error", + INPROGRESS = "InProgress", + SUCCESSFUL = "Successful", +} + +/** + *+ * Describes the details of the flow run, including the timestamp, status, and message. + *
+ */ +export interface ExecutionDetails { + /** + *+ * Specifies the status of the most recent flow run. + *
+ */ + mostRecentExecutionStatus?: ExecutionStatus | string; + + /** + *+ * Specifies the time of the most recent flow run. + *
+ */ + mostRecentExecutionTime?: Date; + + /** + *+ * Describes the details of the most recent flow run. + *
+ */ + mostRecentExecutionMessage?: string; +} + +export namespace ExecutionDetails { + export const filterSensitiveLog = (obj: ExecutionDetails): any => ({ + ...obj, + }); +} + +export interface DescribeFlowResponse { + /** + *+ * The configuration that controls how Amazon AppFlow retrieves data from the source connector. + *
+ */ + sourceFlowConfig?: SourceFlowConfig; + + /** + *+ * The trigger settings that determine how and when the flow runs. + *
+ */ + triggerConfig?: TriggerConfig; + + /** + *+ * Specifies the user name of the account that performed the most recent update. + *
+ */ + lastUpdatedBy?: string; + + /** + *+ * The configuration that controls how Amazon AppFlow transfers data to the destination connector. + *
+ */ + destinationFlowConfigList?: DestinationFlowConfig[]; + + /** + *+ * Contains an error message if the flow status is in a suspended or error state. This applies only to scheduled or event-triggered flows. + *
+ */ + flowStatusMessage?: string; + + /** + *+ * The ARN (Amazon Resource Name) of the Key Management Service (KMS) key you provide for encryption. This is required if you do not want to use the Amazon AppFlow-managed KMS key. If you don't provide anything here, Amazon AppFlow uses the Amazon AppFlow-managed KMS key. + *
+ */ + kmsArn?: string; + + /** + *+ * Specifies when the flow was last updated. + *
+ */ + lastUpdatedAt?: Date; + + /** + *+ * Describes the details of the most recent flow run. + *
+ */ + lastRunExecutionDetails?: ExecutionDetails; + + /** + *+ * Indicates the current status of the flow. + *
+ */ + flowStatus?: FlowStatus | string; + + /** + *+ * A list of tasks that Amazon AppFlow performs while transferring the data in the flow run. + *
+ */ + tasks?: Task[]; + + /** + *+ * Specifies when the flow was created. + *
+ */ + createdAt?: Date; + + /** + *+ * The ARN of the user who created the flow. + *
+ */ + createdBy?: string; + + /** + *+ * The specified name of the flow. Spaces are not allowed. Use underscores (_) or hyphens (-) only. + *
+ */ + flowName?: string; + + /** + *+ * The flow's Amazon Resource Name (ARN). + *
+ */ + flowArn?: string; + + /** + *+ * A description of the flow. + *
+ */ + description?: string; + + /** + *+ * The tags used to organize, track, or control access for your flow. + *
+ */ + tags?: { [key: string]: string }; +} + +export namespace DescribeFlowResponse { + export const filterSensitiveLog = (obj: DescribeFlowResponse): any => ({ + ...obj, + }); +} + +export interface DescribeFlowExecutionRecordsRequest { + /** + *
+ * Specifies the maximum number of items that should be returned in the result set. The default for maxResults
is 20 (for all paginated API operations).
+ *
+ * The specified name of the flow. Spaces are not allowed. Use underscores (_) or hyphens (-) only. + *
+ */ + flowName: string | undefined; + + /** + *+ * The pagination token for the next page of data. + *
+ */ + nextToken?: string; +} + +export namespace DescribeFlowExecutionRecordsRequest { + export const filterSensitiveLog = (obj: DescribeFlowExecutionRecordsRequest): any => ({ + ...obj, + }); +} + +/** + *+ * Provides details in the event of a failed flow, including the failure count and the related error messages. + *
+ */ +export interface ErrorInfo { + /** + *+ * Specifies the error message that appears if a flow fails. + *
+ */ + executionMessage?: string; + + /** + *+ * Specifies the failure count for the attempted flow. + *
+ */ + putFailuresCount?: number; +} + +export namespace ErrorInfo { + export const filterSensitiveLog = (obj: ErrorInfo): any => ({ + ...obj, + }); +} + +/** + *+ * Specifies the end result of the flow run. + *
+ */ +export interface ExecutionResult { + /** + *+ * The total number of bytes processed by the flow run. + *
+ */ + bytesProcessed?: number; + + /** + *+ * Provides any error message information related to the flow run. + *
+ */ + errorInfo?: ErrorInfo; + + /** + *+ * The total number of bytes written as a result of the flow run. + *
+ */ + bytesWritten?: number; + + /** + *+ * The number of records processed in the flow run. + *
+ */ + recordsProcessed?: number; +} + +export namespace ExecutionResult { + export const filterSensitiveLog = (obj: ExecutionResult): any => ({ + ...obj, + }); +} + +/** + *+ * Specifies information about the past flow run instances for a given flow. + *
+ */ +export interface ExecutionRecord { + /** + *+ * Specifies the flow run status and whether it is in progress, has completed successfully, or has failed. + *
+ */ + executionStatus?: ExecutionStatus | string; + + /** + *+ * Specifies the time of the most recent update. + *
+ */ + lastUpdatedAt?: Date; + + /** + *+ * Specifies the identifier of the given flow run. + *
+ */ + executionId?: string; + + /** + *+ * Describes the result of the given flow run. + *
+ */ + executionResult?: ExecutionResult; + + /** + *+ * Specifies the start time of the flow run. + *
+ */ + startedAt?: Date; +} + +export namespace ExecutionRecord { + export const filterSensitiveLog = (obj: ExecutionRecord): any => ({ + ...obj, + }); +} + +export interface DescribeFlowExecutionRecordsResponse { + /** + *+ * Returns a list of all instances when this flow was run. + *
+ */ + flowExecutions?: ExecutionRecord[]; + + /** + *+ * The pagination token for the next page of data. + *
+ */ + nextToken?: string; +} + +export namespace DescribeFlowExecutionRecordsResponse { + export const filterSensitiveLog = (obj: DescribeFlowExecutionRecordsResponse): any => ({ + ...obj, + }); +} + +/** + *+ * The properties of the flow, such as its source, destination, trigger type, and so on. + *
+ */ +export interface FlowDefinition { + /** + *+ * Specifies the account user name that most recently updated the flow. + *
+ */ + lastUpdatedBy?: string; + + /** + *+ * Specifies when the flow was last updated. + *
+ */ + lastUpdatedAt?: Date; + + /** + *+ * Describes the details of the most recent flow run. + *
+ */ + lastRunExecutionDetails?: ExecutionDetails; + + /** + *+ * The specified name of the flow. Spaces are not allowed. Use underscores (_) or hyphens (-) only. + *
+ */ + flowName?: string; + + /** + *+ * A user-entered description of the flow. + *
+ */ + description?: string; + + /** + *+ * The ARN of the user who created the flow. + *
+ */ + createdBy?: string; + + /** + *+ * The flow's Amazon Resource Name (ARN). + *
+ */ + flowArn?: string; + + /** + *+ * Specifies the source connector type, such as Salesforce, Amazon S3, Amplitude, and so on. + *
+ */ + sourceConnectorType?: ConnectorType | string; + + /** + *+ * The tags used to organize, track, or control access for your flow. + *
+ */ + tags?: { [key: string]: string }; + + /** + *+ * Specifies when the flow was created. + *
+ */ + createdAt?: Date; + + /** + *+ * Specifies the destination connector type, such as Salesforce, Amazon S3, Amplitude, and so on. + *
+ */ + destinationConnectorType?: ConnectorType | string; + + /** + *
+ * Specifies the type of flow trigger. This can be OnDemand
, Scheduled
, or Event
.
+ *
+ * Indicates the current status of the flow. + *
+ */ + flowStatus?: FlowStatus | string; +} + +export namespace FlowDefinition { + export const filterSensitiveLog = (obj: FlowDefinition): any => ({ + ...obj, + }); +} + +export interface ListConnectorEntitiesRequest { + /** + *+ * The type of connector, such as Salesforce, Amplitude, and so on. + *
+ */ + connectorType?: ConnectorType | string; + + /** + *
+ * The name of the connector profile. The name is unique for each ConnectorProfile
in the AWS account, and is used to query the downstream connector.
+ *
+ * This optional parameter is specific to connector implementation. Some connectors support multiple levels or categories of entities. You can find out the list of roots for such providers by sending a request without the entitiesPath
parameter. If the connector supports entities at different roots, this initial request returns the list of roots. Otherwise, this request returns all entities supported by the provider.
+ *
+ * The response of ListConnectorEntities
lists entities grouped by category. This map's key represents the group name, and its value contains the list of entities belonging to that group.
+ *
+ * Specifies the maximum number of items that should be returned in the result set. + *
+ */ + maxResults?: number; + + /** + *+ * The pagination token for next page of data. + *
+ */ + nextToken?: string; +} + +export namespace ListFlowsRequest { + export const filterSensitiveLog = (obj: ListFlowsRequest): any => ({ + ...obj, + }); +} + +export interface ListFlowsResponse { + /** + *+ * The pagination token for next page of data. + *
+ */ + nextToken?: string; + + /** + *+ * The list of flows associated with your account. + *
+ */ + flows?: FlowDefinition[]; +} + +export namespace ListFlowsResponse { + export const filterSensitiveLog = (obj: ListFlowsResponse): any => ({ + ...obj, + }); +} + +export interface ListTagsForResourceRequest { + /** + *+ * The Amazon Resource Name (ARN) of the specified flow. + *
+ */ + resourceArn: string | undefined; +} + +export namespace ListTagsForResourceRequest { + export const filterSensitiveLog = (obj: ListTagsForResourceRequest): any => ({ + ...obj, + }); +} + +export interface ListTagsForResourceResponse { + /** + *+ * The tags used to organize, track, or control access for your flow. + *
+ */ + tags?: { [key: string]: string }; +} + +export namespace ListTagsForResourceResponse { + export const filterSensitiveLog = (obj: ListTagsForResourceResponse): any => ({ + ...obj, + }); +} + +export interface StartFlowRequest { + /** + *+ * The specified name of the flow. Spaces are not allowed. Use underscores (_) or hyphens (-) only. + *
+ */ + flowName: string | undefined; +} + +export namespace StartFlowRequest { + export const filterSensitiveLog = (obj: StartFlowRequest): any => ({ + ...obj, + }); +} + +export interface StartFlowResponse { + /** + *+ * Indicates the current status of the flow. + * + *
+ */ + flowStatus?: FlowStatus | string; + + /** + *+ * The flow's Amazon Resource Name (ARN). + *
+ */ + flowArn?: string; +} + +export namespace StartFlowResponse { + export const filterSensitiveLog = (obj: StartFlowResponse): any => ({ + ...obj, + }); +} + +export interface StopFlowRequest { + /** + *+ * The specified name of the flow. Spaces are not allowed. Use underscores (_) or hyphens (-) only. + *
+ */ + flowName: string | undefined; +} + +export namespace StopFlowRequest { + export const filterSensitiveLog = (obj: StopFlowRequest): any => ({ + ...obj, + }); +} + +export interface StopFlowResponse { + /** + *+ * Indicates the current status of the flow. + *
+ */ + flowStatus?: FlowStatus | string; + + /** + *+ * The flow's Amazon Resource Name (ARN). + *
+ */ + flowArn?: string; +} + +export namespace StopFlowResponse { + export const filterSensitiveLog = (obj: StopFlowResponse): any => ({ + ...obj, + }); +} + +/** + *+ * The requested operation is not supported for the current flow. + *
+ */ +export interface UnsupportedOperationException extends __SmithyException, $MetadataBearer { + name: "UnsupportedOperationException"; + $fault: "client"; + message?: string; +} + +export namespace UnsupportedOperationException { + export const filterSensitiveLog = (obj: UnsupportedOperationException): any => ({ + ...obj, + }); +} + +export interface TagResourceRequest { + /** + *+ * The tags used to organize, track, or control access for your flow. + *
+ */ + tags: { [key: string]: string } | undefined; + + /** + *+ * The Amazon Resource Name (ARN) of the flow that you want to tag. + *
+ */ + resourceArn: string | undefined; +} + +export namespace TagResourceRequest { + export const filterSensitiveLog = (obj: TagResourceRequest): any => ({ + ...obj, + }); +} + +export interface TagResourceResponse {} + +export namespace TagResourceResponse { + export const filterSensitiveLog = (obj: TagResourceResponse): any => ({ + ...obj, + }); +} + +export interface UntagResourceRequest { + /** + *+ * The tag keys associated with the tag that you want to remove from your flow. + *
+ */ + tagKeys: string[] | undefined; + + /** + *+ * The Amazon Resource Name (ARN) of the flow that you want to untag. + *
+ */ + resourceArn: string | undefined; +} + +export namespace UntagResourceRequest { + export const filterSensitiveLog = (obj: UntagResourceRequest): any => ({ + ...obj, + }); +} + +export interface UntagResourceResponse {} + +export namespace UntagResourceResponse { + export const filterSensitiveLog = (obj: UntagResourceResponse): any => ({ + ...obj, + }); +} + +export interface UpdateConnectorProfileRequest { + /** + *
+ * The name of the connector profile and is unique for each ConnectorProfile
in the AWS Account.
+ *
+ * Defines the connector-specific profile configuration and credentials. + *
+ */ + connectorProfileConfig: ConnectorProfileConfig | undefined; + + /** + *+ * Indicates the connection mode and if it is public or private. + *
+ */ + connectionMode: ConnectionMode | string | undefined; +} + +export namespace UpdateConnectorProfileRequest { + export const filterSensitiveLog = (obj: UpdateConnectorProfileRequest): any => ({ + ...obj, + }); +} + +export interface UpdateConnectorProfileResponse { + /** + *+ * The Amazon Resource Name (ARN) of the connector profile. + *
+ */ + connectorProfileArn?: string; +} + +export namespace UpdateConnectorProfileResponse { + export const filterSensitiveLog = (obj: UpdateConnectorProfileResponse): any => ({ + ...obj, + }); +} + +export interface UpdateFlowRequest { + /** + *+ * A list of tasks that Amazon AppFlow performs while transferring the data in the flow run. + *
+ */ + tasks: Task[] | undefined; + + /** + *+ * The configuration that controls how Amazon AppFlow transfers data to the destination connector. + *
+ */ + destinationFlowConfigList: DestinationFlowConfig[] | undefined; + + /** + *+ * Contains information about the configuration of the source connector used in the flow. + *
+ */ + sourceFlowConfig?: SourceFlowConfig; + + /** + *+ * The trigger settings that determine how and when the flow runs. + *
+ */ + triggerConfig: TriggerConfig | undefined; + + /** + *+ * A description of the flow. + *
+ */ + description?: string; + + /** + *+ * The specified name of the flow. Spaces are not allowed. Use underscores (_) or hyphens (-) only. + *
+ */ + flowName: string | undefined; +} + +export namespace UpdateFlowRequest { + export const filterSensitiveLog = (obj: UpdateFlowRequest): any => ({ + ...obj, + }); +} + +export interface UpdateFlowResponse { + /** + *Indicates the current status of the flow. + *
+ */ + flowStatus?: FlowStatus | string; +} + +export namespace UpdateFlowResponse { + export const filterSensitiveLog = (obj: UpdateFlowResponse): any => ({ + ...obj, + }); +} diff --git a/clients/client-appflow/package.json b/clients/client-appflow/package.json new file mode 100644 index 000000000000..7b5042e166c2 --- /dev/null +++ b/clients/client-appflow/package.json @@ -0,0 +1,77 @@ +{ + "name": "@aws-sdk/client-appflow", + "description": "@aws-sdk/client-appflow client", + "version": "1.0.0-rc.1", + "scripts": { + "clean": "npm run remove-definitions && npm run remove-dist", + "build-documentation": "npm run clean && typedoc ./", + "prepublishOnly": "yarn build", + "pretest": "yarn build:cjs", + "remove-definitions": "rimraf ./types", + "remove-dist": "rimraf ./dist", + "remove-documentation": "rimraf ./docs", + "test": "yarn build && jest --coverage --passWithNoTests", + "build:cjs": "tsc -p tsconfig.json", + "build:es": "tsc -p tsconfig.es.json", + "build": "yarn build:cjs && yarn build:es" + }, + "main": "./dist/cjs/index.js", + "types": "./types/index.d.ts", + "module": "./dist/es/index.js", + "browser": { + "./runtimeConfig": "./runtimeConfig.browser" + }, + "react-native": { + "./runtimeConfig": "./runtimeConfig.native" + }, + "sideEffects": false, + "dependencies": { + "@aws-crypto/sha256-browser": "^1.0.0-alpha.0", + "@aws-crypto/sha256-js": "^1.0.0-alpha.0", + "@aws-sdk/config-resolver": "1.0.0-rc.1", + "@aws-sdk/credential-provider-node": "1.0.0-rc.1", + "@aws-sdk/fetch-http-handler": "1.0.0-rc.1", + "@aws-sdk/hash-node": "1.0.0-rc.1", + "@aws-sdk/invalid-dependency": "1.0.0-rc.1", + "@aws-sdk/middleware-content-length": "1.0.0-rc.1", + "@aws-sdk/middleware-host-header": "1.0.0-rc.1", + "@aws-sdk/middleware-logger": "1.0.0-rc.1", + "@aws-sdk/middleware-retry": "1.0.0-rc.1", + "@aws-sdk/middleware-serde": "1.0.0-rc.1", + "@aws-sdk/middleware-signing": "1.0.0-rc.1", + "@aws-sdk/middleware-stack": "1.0.0-rc.1", + "@aws-sdk/middleware-user-agent": "1.0.0-rc.1", + "@aws-sdk/node-config-provider": "1.0.0-rc.1", + "@aws-sdk/node-http-handler": "1.0.0-rc.1", + "@aws-sdk/protocol-http": "1.0.0-rc.1", + "@aws-sdk/smithy-client": "1.0.0-rc.1", + "@aws-sdk/types": "1.0.0-rc.1", + "@aws-sdk/url-parser-browser": "1.0.0-rc.1", + "@aws-sdk/url-parser-node": "1.0.0-rc.1", + "@aws-sdk/util-base64-browser": "1.0.0-rc.1", + "@aws-sdk/util-base64-node": "1.0.0-rc.1", + "@aws-sdk/util-body-length-browser": "1.0.0-rc.1", + "@aws-sdk/util-body-length-node": "1.0.0-rc.1", + "@aws-sdk/util-user-agent-browser": "1.0.0-rc.1", + "@aws-sdk/util-user-agent-node": "1.0.0-rc.1", + "@aws-sdk/util-utf8-browser": "1.0.0-rc.1", + "@aws-sdk/util-utf8-node": "1.0.0-rc.1", + "tslib": "^2.0.0" + }, + "devDependencies": { + "@aws-sdk/client-documentation-generator": "1.0.0-rc.1", + "@types/node": "^12.7.5", + "jest": "^26.1.0", + "rimraf": "^3.0.0", + "typedoc": "^0.17.8", + "typescript": "~4.0.2" + }, + "engines": { + "node": ">=10.0.0" + }, + "author": { + "name": "AWS SDK for JavaScript Team", + "url": "https://aws.amazon.com/javascript/" + }, + "license": "Apache-2.0" +} diff --git a/clients/client-appflow/pagination/DescribeConnectorProfilesPaginator.ts b/clients/client-appflow/pagination/DescribeConnectorProfilesPaginator.ts new file mode 100644 index 000000000000..1d56ea9a4896 --- /dev/null +++ b/clients/client-appflow/pagination/DescribeConnectorProfilesPaginator.ts @@ -0,0 +1,51 @@ +import { Appflow } from "../Appflow"; +import { AppflowClient } from "../AppflowClient"; +import { + DescribeConnectorProfilesCommand, + DescribeConnectorProfilesCommandInput, + DescribeConnectorProfilesCommandOutput, +} from "../commands/DescribeConnectorProfilesCommand"; +import { AppflowPaginationConfiguration } from "./Interfaces"; +import { Paginator } from "@aws-sdk/types"; + +const makePagedClientRequest = async ( + client: AppflowClient, + input: DescribeConnectorProfilesCommandInput, + ...args: any +): PromiseWith Application Auto Scaling, you can configure automatic scaling for the following - * resources:
+ * resources: *Amazon ECS services
@@ -80,7 +80,7 @@ import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; *Custom resources provided by your own applications or services
*Amazon Comprehend document classification endpoints
+ *Amazon Comprehend document classification and entity recognizer endpoints
*AWS Lambda function provisioned concurrency
@@ -88,6 +88,9 @@ import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; *Amazon Keyspaces (for Apache Cassandra) tables
*Amazon Managed Streaming for Apache Kafka cluster storage
+ ** API Summary @@ -95,28 +98,28 @@ import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; *
The Application Auto Scaling service API includes three key sets of actions:
*Register and manage scalable targets - Register AWS or custom resources as - * scalable targets (a resource that Application Auto Scaling can scale), set minimum and maximum - * capacity limits, and retrieve information on existing scalable targets.
+ *Register and manage scalable targets - Register AWS or custom resources as scalable + * targets (a resource that Application Auto Scaling can scale), set minimum and maximum capacity limits, and + * retrieve information on existing scalable targets.
*Configure and manage automatic scaling - Define scaling policies to dynamically - * scale your resources in response to CloudWatch alarms, schedule one-time or recurring - * scaling actions, and retrieve your recent scaling activity history.
+ *Configure and manage automatic scaling - Define scaling policies to dynamically scale + * your resources in response to CloudWatch alarms, schedule one-time or recurring scaling actions, + * and retrieve your recent scaling activity history.
*Suspend and resume scaling - Temporarily suspend and later resume automatic - * scaling by calling the RegisterScalableTarget API action for any Application Auto Scaling scalable target. You - * can suspend and resume (individually or in combination) scale-out activities that are - * triggered by a scaling policy, scale-in activities that are triggered by a scaling - * policy, and scheduled scaling.
+ *Suspend and resume scaling - Temporarily suspend and later resume automatic scaling by + * calling the RegisterScalableTarget API action for any Application Auto Scaling scalable target. You can + * suspend and resume (individually or in combination) scale-out activities that are + * triggered by a scaling policy, scale-in activities that are triggered by a scaling policy, + * and scheduled scaling.
*To learn more about Application Auto Scaling, including information about granting IAM users required - * permissions for Application Auto Scaling actions, see the Application Auto Scaling - * User Guide.
+ * permissions for Application Auto Scaling actions, see the Application Auto Scaling User + * Guide. */ export class ApplicationAutoScaling extends ApplicationAutoScalingClient { /** @@ -473,8 +476,9 @@ export class ApplicationAutoScaling extends ApplicationAutoScalingClient { * targets are uniquely identified by the combination of resource ID, scalable dimension, and * namespace. *When you register a new scalable target, you must specify values for minimum and maximum - * capacity. Application Auto Scaling scaling policies will not scale capacity to values that are outside of - * this range.
+ * capacity. Current capacity will be adjusted within the specified range when scaling starts. + * Application Auto Scaling scaling policies will not scale capacity to values that are outside of this + * range. *After you register a scalable target, you do not need to register it again to use other * Application Auto Scaling operations. To see which resources have been registered, use DescribeScalableTargets. You can also view the scaling policies for a service * namespace by using DescribeScalableTargets. If you no longer need a scalable target, you can diff --git a/clients/client-application-auto-scaling/ApplicationAutoScalingClient.ts b/clients/client-application-auto-scaling/ApplicationAutoScalingClient.ts index 0cd08ca71713..6e6fbfdf718d 100644 --- a/clients/client-application-auto-scaling/ApplicationAutoScalingClient.ts +++ b/clients/client-application-auto-scaling/ApplicationAutoScalingClient.ts @@ -219,7 +219,7 @@ export type ApplicationAutoScalingClientResolvedConfig = __SmithyResolvedConfigu /** *
With Application Auto Scaling, you can configure automatic scaling for the following - * resources:
+ * resources: *Amazon ECS services
@@ -246,7 +246,7 @@ export type ApplicationAutoScalingClientResolvedConfig = __SmithyResolvedConfigu *Custom resources provided by your own applications or services
*Amazon Comprehend document classification endpoints
+ *Amazon Comprehend document classification and entity recognizer endpoints
*AWS Lambda function provisioned concurrency
@@ -254,6 +254,9 @@ export type ApplicationAutoScalingClientResolvedConfig = __SmithyResolvedConfigu *Amazon Keyspaces (for Apache Cassandra) tables
*Amazon Managed Streaming for Apache Kafka cluster storage
+ ** API Summary @@ -261,28 +264,28 @@ export type ApplicationAutoScalingClientResolvedConfig = __SmithyResolvedConfigu *
The Application Auto Scaling service API includes three key sets of actions:
*Register and manage scalable targets - Register AWS or custom resources as - * scalable targets (a resource that Application Auto Scaling can scale), set minimum and maximum - * capacity limits, and retrieve information on existing scalable targets.
+ *Register and manage scalable targets - Register AWS or custom resources as scalable + * targets (a resource that Application Auto Scaling can scale), set minimum and maximum capacity limits, and + * retrieve information on existing scalable targets.
*Configure and manage automatic scaling - Define scaling policies to dynamically - * scale your resources in response to CloudWatch alarms, schedule one-time or recurring - * scaling actions, and retrieve your recent scaling activity history.
+ *Configure and manage automatic scaling - Define scaling policies to dynamically scale + * your resources in response to CloudWatch alarms, schedule one-time or recurring scaling actions, + * and retrieve your recent scaling activity history.
*Suspend and resume scaling - Temporarily suspend and later resume automatic - * scaling by calling the RegisterScalableTarget API action for any Application Auto Scaling scalable target. You - * can suspend and resume (individually or in combination) scale-out activities that are - * triggered by a scaling policy, scale-in activities that are triggered by a scaling - * policy, and scheduled scaling.
+ *Suspend and resume scaling - Temporarily suspend and later resume automatic scaling by + * calling the RegisterScalableTarget API action for any Application Auto Scaling scalable target. You can + * suspend and resume (individually or in combination) scale-out activities that are + * triggered by a scaling policy, scale-in activities that are triggered by a scaling policy, + * and scheduled scaling.
*To learn more about Application Auto Scaling, including information about granting IAM users required - * permissions for Application Auto Scaling actions, see the Application Auto Scaling - * User Guide.
+ * permissions for Application Auto Scaling actions, see the Application Auto Scaling User + * Guide. */ export class ApplicationAutoScalingClient extends __Client< __HttpHandlerOptions, diff --git a/clients/client-application-auto-scaling/models/models_0.ts b/clients/client-application-auto-scaling/models/models_0.ts index 9482ffac588a..afb0302157de 100644 --- a/clients/client-application-auto-scaling/models/models_0.ts +++ b/clients/client-application-auto-scaling/models/models_0.ts @@ -12,14 +12,14 @@ export enum AdjustmentType { */ export interface Alarm { /** - *The Amazon Resource Name (ARN) of the alarm.
+ *The name of the alarm.
*/ - AlarmARN: string | undefined; + AlarmName: string | undefined; /** - *The name of the alarm.
+ *The Amazon Resource Name (ARN) of the alarm.
*/ - AlarmName: string | undefined; + AlarmARN: string | undefined; } export namespace Alarm { @@ -49,6 +49,7 @@ export enum ScalableDimension { CassandraTableReadCapacityUnits = "cassandra:table:ReadCapacityUnits", CassandraTableWriteCapacityUnits = "cassandra:table:WriteCapacityUnits", ComprehendDocClassifierEndpointInferenceUnits = "comprehend:document-classifier-endpoint:DesiredInferenceUnits", + ComprehendEntityRecognizerEndpointInferenceUnits = "comprehend:entity-recognizer-endpoint:DesiredInferenceUnits", CustomResourceScalableDimension = "custom-resource:ResourceType:Property", DynamoDBIndexReadCapacityUnits = "dynamodb:index:ReadCapacityUnits", DynamoDBIndexWriteCapacityUnits = "dynamodb:index:WriteCapacityUnits", @@ -57,6 +58,7 @@ export enum ScalableDimension { EC2SpotFleetRequestTargetCapacity = "ec2:spot-fleet-request:TargetCapacity", ECSServiceDesiredCount = "ecs:service:DesiredCount", EMRInstanceGroupInstanceCount = "elasticmapreduce:instancegroup:InstanceCount", + KafkaBrokerStorageVolumeSize = "kafka:broker-storage:VolumeSize", LambdaFunctionProvisionedConcurrency = "lambda:function:ProvisionedConcurrency", RDSClusterReadReplicaCount = "rds:cluster:ReadReplicaCount", SageMakerVariantDesiredInstanceCount = "sagemaker:variant:DesiredInstanceCount", @@ -71,15 +73,22 @@ export enum ServiceNamespace { EC2 = "ec2", ECS = "ecs", EMR = "elasticmapreduce", + KAFKA = "kafka", LAMBDA = "lambda", RDS = "rds", SAGEMAKER = "sagemaker", } export interface DeleteScalingPolicyRequest { + /** + *The namespace of the AWS service that provides the resource. For a resource provided
+ * by your own application or service, use custom-resource
instead.
The identifier of the resource associated with the scalable target. - * This string consists of the resource type and unique identifier.
+ * This string consists of the resource type and unique identifier. *ECS service - The resource type is service
and the unique identifier is the cluster name
@@ -122,6 +131,9 @@ export interface DeleteScalingPolicyRequest {
*
Amazon Comprehend document classification endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE
.
Amazon Comprehend entity recognizer endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:entity-recognizer-endpoint/EXAMPLE
.
Lambda provisioned concurrency - The resource type is function
and the unique identifier is the function name with a function version or alias name suffix that is not $LATEST
.
* Example: function:my-function:prod
or function:my-function:1
.
Amazon Keyspaces table - The resource type is table
and the unique identifier is the table name.
* Example: keyspace/mykeyspace/table/mytable
.
Amazon MSK cluster - The resource type and unique identifier are specified using the cluster ARN.
+ * Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5
.
The name of the scaling policy.
+ */ + PolicyName: string | undefined; + /** *The scalable dimension. This string consists of the service namespace, resource type, and scaling property.
*
+ * comprehend:entity-recognizer-endpoint:DesiredInferenceUnits
- The number of inference units for an Amazon Comprehend entity recognizer endpoint.
* lambda:function:ProvisionedConcurrency
- The provisioned concurrency for a Lambda function.
* cassandra:table:WriteCapacityUnits
- The provisioned write capacity for an Amazon Keyspaces table.
+ * kafka:broker-storage:VolumeSize
- The provisioned volume size (in GiB) for brokers in an Amazon MSK cluster.
The namespace of the AWS service that provides the resource. For a resource provided
- * by your own application or service, use custom-resource
instead.
The name of the scaling policy.
- */ - PolicyName: string | undefined; } export namespace DeleteScalingPolicyRequest { @@ -277,6 +295,17 @@ export namespace ValidationException { } export interface DeleteScheduledActionRequest { + /** + *The name of the scheduled action.
+ */ + ScheduledActionName: string | undefined; + + /** + *The namespace of the AWS service that provides the resource. For a resource provided
+ * by your own application or service, use custom-resource
instead.
The scalable dimension. This string consists of the service namespace, resource type, and scaling property.
*
+ * comprehend:entity-recognizer-endpoint:DesiredInferenceUnits
- The number of inference units for an Amazon Comprehend entity recognizer endpoint.
* lambda:function:ProvisionedConcurrency
- The provisioned concurrency for a Lambda function.
* cassandra:table:WriteCapacityUnits
- The provisioned write capacity for an Amazon Keyspaces table.
+ * kafka:broker-storage:VolumeSize
- The provisioned volume size (in GiB) for brokers in an Amazon MSK cluster.
The namespace of the AWS service that provides the resource. For a resource provided
- * by your own application or service, use custom-resource
instead.
The identifier of the resource associated with the scheduled action. - * This string consists of the resource type and unique identifier.
+ * This string consists of the resource type and unique identifier. *ECS service - The resource type is service
and the unique identifier is the cluster name
@@ -395,6 +426,9 @@ export interface DeleteScheduledActionRequest {
*
Amazon Comprehend document classification endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE
.
Amazon Comprehend entity recognizer endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:entity-recognizer-endpoint/EXAMPLE
.
Lambda provisioned concurrency - The resource type is function
and the unique identifier is the function name with a function version or alias name suffix that is not $LATEST
.
* Example: function:my-function:prod
or function:my-function:1
.
Amazon Keyspaces table - The resource type is table
and the unique identifier is the table name.
* Example: keyspace/mykeyspace/table/mytable
.
Amazon MSK cluster - The resource type and unique identifier are specified using the cluster ARN.
+ * Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5
.
The name of the scheduled action.
- */ - ScheduledActionName: string | undefined; } export namespace DeleteScheduledActionRequest { @@ -427,15 +460,9 @@ export namespace DeleteScheduledActionResponse { } export interface DeregisterScalableTargetRequest { - /** - *The namespace of the AWS service that provides the resource. For a resource provided
- * by your own application or service, use custom-resource
instead.
The scalable dimension associated with the scalable target. - * This string consists of the service namespace, resource type, and scaling property.
+ * This string consists of the service namespace, resource type, and scaling property. *@@ -487,6 +514,10 @@ export interface DeregisterScalableTargetRequest { *
+ * comprehend:entity-recognizer-endpoint:DesiredInferenceUnits
- The number of inference units for an Amazon Comprehend entity recognizer endpoint.
* lambda:function:ProvisionedConcurrency
- The provisioned concurrency for a Lambda function.
* cassandra:table:WriteCapacityUnits
- The provisioned write capacity for an Amazon Keyspaces table.
+ * kafka:broker-storage:VolumeSize
- The provisioned volume size (in GiB) for brokers in an Amazon MSK cluster.
The identifier of the resource associated with the scalable target. - * This string consists of the resource type and unique identifier.
+ * This string consists of the resource type and unique identifier. *ECS service - The resource type is service
and the unique identifier is the cluster name
@@ -546,6 +581,9 @@ export interface DeregisterScalableTargetRequest {
*
Amazon Comprehend document classification endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE
.
Amazon Comprehend entity recognizer endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:entity-recognizer-endpoint/EXAMPLE
.
Lambda provisioned concurrency - The resource type is function
and the unique identifier is the function name with a function version or alias name suffix that is not $LATEST
.
* Example: function:my-function:prod
or function:my-function:1
.
Amazon Keyspaces table - The resource type is table
and the unique identifier is the table name.
* Example: keyspace/mykeyspace/table/mytable
.
Amazon MSK cluster - The resource type and unique identifier are specified using the cluster ARN.
+ * Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5
.
The namespace of the AWS service that provides the resource. For a resource provided
+ * by your own application or service, use custom-resource
instead.
The namespace of the AWS service that provides the resource. For a resource provided
- * by your own application or service, use custom-resource
instead.
The scalable dimension associated with the scalable target. + * This string consists of the service namespace, resource type, and scaling property. If you specify a scalable dimension, you must also specify a resource ID.
+ *
+ * ecs:service:DesiredCount
- The desired task count of an ECS service.
+ * ec2:spot-fleet-request:TargetCapacity
- The target capacity of a Spot Fleet request.
+ * elasticmapreduce:instancegroup:InstanceCount
- The instance count of an EMR Instance Group.
+ * appstream:fleet:DesiredCapacity
- The desired capacity of an AppStream 2.0 fleet.
+ * dynamodb:table:ReadCapacityUnits
- The provisioned read capacity for a DynamoDB table.
+ * dynamodb:table:WriteCapacityUnits
- The provisioned write capacity for a DynamoDB table.
+ * dynamodb:index:ReadCapacityUnits
- The provisioned read capacity for a DynamoDB global secondary index.
+ * dynamodb:index:WriteCapacityUnits
- The provisioned write capacity for a DynamoDB global secondary index.
+ * rds:cluster:ReadReplicaCount
- The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.
+ * sagemaker:variant:DesiredInstanceCount
- The number of EC2 instances for an Amazon SageMaker model endpoint variant.
+ * custom-resource:ResourceType:Property
- The scalable dimension for a custom resource provided by your own application or service.
+ * comprehend:document-classifier-endpoint:DesiredInferenceUnits
- The number of inference units for an Amazon Comprehend document classification endpoint.
+ * comprehend:entity-recognizer-endpoint:DesiredInferenceUnits
- The number of inference units for an Amazon Comprehend entity recognizer endpoint.
+ * lambda:function:ProvisionedConcurrency
- The provisioned concurrency for a Lambda function.
+ * cassandra:table:ReadCapacityUnits
- The provisioned read capacity for an Amazon Keyspaces table.
+ * cassandra:table:WriteCapacityUnits
- The provisioned write capacity for an Amazon Keyspaces table.
+ * kafka:broker-storage:VolumeSize
- The provisioned volume size (in GiB) for brokers in an Amazon MSK cluster.
The maximum number of scalable targets. This value can be between 1 and @@ -590,9 +708,20 @@ export interface DescribeScalableTargetsRequest { */ MaxResults?: number; + /** + *
The token for the next set of results.
+ */ + NextToken?: string; + + /** + *The namespace of the AWS service that provides the resource. For a resource provided
+ * by your own application or service, use custom-resource
instead.
The identifier of the resource associated with the scalable target. - * This string consists of the resource type and unique identifier. If you specify a scalable dimension, you must also specify a resource ID.
+ * This string consists of the resource type and unique identifier. If you specify a scalable dimension, you must also specify a resource ID. *ECS service - The resource type is service
and the unique identifier is the cluster name
@@ -635,6 +764,9 @@ export interface DescribeScalableTargetsRequest {
*
Amazon Comprehend document classification endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE
.
Amazon Comprehend entity recognizer endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:entity-recognizer-endpoint/EXAMPLE
.
Lambda provisioned concurrency - The resource type is function
and the unique identifier is the function name with a function version or alias name suffix that is not $LATEST
.
* Example: function:my-function:prod
or function:my-function:1
.
Amazon Keyspaces table - The resource type is table
and the unique identifier is the table name.
* Example: keyspace/mykeyspace/table/mytable
.
Amazon MSK cluster - The resource type and unique identifier are specified using the cluster ARN.
+ * Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5
.
Specifies whether the scaling activities for a scalable target are in a suspended state. + *
+ */ +export interface SuspendedState { + /** + *Whether scale in by a target tracking scaling policy or a step scaling policy is
+ * suspended. Set the value to true
if you don't want Application Auto Scaling to remove capacity
+ * when a scaling policy is triggered. The default is false
.
The token for the next set of results.
+ *Whether scale out by a target tracking scaling policy or a step scaling policy is
+ * suspended. Set the value to true
if you don't want Application Auto Scaling to add capacity
+ * when a scaling policy is triggered. The default is false
.
Whether scheduled scaling is suspended. Set the value to true
if you don't
+ * want Application Auto Scaling to add or remove capacity by initiating scheduled actions. The default is
+ * false
.
Represents a scalable target.
+ */ +export interface ScalableTarget { + /** + *The ARN of an IAM role that allows Application Auto Scaling to modify the scalable target on your + * behalf.
+ */ + RoleARN: string | undefined; + + /** + *The maximum value to scale to in response to a scale-out activity.
+ */ + MaxCapacity: number | undefined; + + /** + *The minimum value to scale to in response to a scale-in activity.
+ */ + MinCapacity: number | undefined; + + /** + *The Unix timestamp for when the scalable target was created.
+ */ + CreationTime: Date | undefined; /** *The scalable dimension associated with the scalable target. - * This string consists of the service namespace, resource type, and scaling property. If you specify a scalable dimension, you must also specify a resource ID.
+ * This string consists of the service namespace, resource type, and scaling property. *@@ -705,6 +901,10 @@ export interface DescribeScalableTargetsRequest { *
+ * comprehend:entity-recognizer-endpoint:DesiredInferenceUnits
- The number of inference units for an Amazon Comprehend entity recognizer endpoint.
* lambda:function:ProvisionedConcurrency
- The provisioned concurrency for a Lambda function.
* cassandra:table:WriteCapacityUnits
- The provisioned write capacity for an Amazon Keyspaces table.
+ * kafka:broker-storage:VolumeSize
- The provisioned volume size (in GiB) for brokers in an Amazon MSK cluster.
Specifies whether the scaling activities for a scalable target are in a suspended state. - *
- */ -export interface SuspendedState { - /** - *Whether scale in by a target tracking scaling policy or a step scaling policy is
- * suspended. Set the value to true
if you don't want Application Auto Scaling to remove capacity
- * when a scaling policy is triggered. The default is false
.
Whether scheduled scaling is suspended. Set the value to true
if you don't
- * want Application Auto Scaling to add or remove capacity by initiating scheduled actions. The default is
- * false
.
Whether scale out by a target tracking scaling policy or a step scaling policy is
- * suspended. Set the value to true
if you don't want Application Auto Scaling to add capacity
- * when a scaling policy is triggered. The default is false
.
The namespace of the AWS service that provides the resource, or a
+ * custom-resource
.
Represents a scalable target.
- */ -export interface ScalableTarget { /** *Specifies whether the scaling activities for a scalable target are in a suspended state. *
*/ SuspendedState?: SuspendedState; - /** - *The scalable dimension associated with the scalable target. - * This string consists of the service namespace, resource type, and scaling property.
- *
- * ecs:service:DesiredCount
- The desired task count of an ECS service.
- * ec2:spot-fleet-request:TargetCapacity
- The target capacity of a Spot Fleet request.
- * elasticmapreduce:instancegroup:InstanceCount
- The instance count of an EMR Instance Group.
- * appstream:fleet:DesiredCapacity
- The desired capacity of an AppStream 2.0 fleet.
- * dynamodb:table:ReadCapacityUnits
- The provisioned read capacity for a DynamoDB table.
- * dynamodb:table:WriteCapacityUnits
- The provisioned write capacity for a DynamoDB table.
- * dynamodb:index:ReadCapacityUnits
- The provisioned read capacity for a DynamoDB global secondary index.
- * dynamodb:index:WriteCapacityUnits
- The provisioned write capacity for a DynamoDB global secondary index.
- * rds:cluster:ReadReplicaCount
- The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.
- * sagemaker:variant:DesiredInstanceCount
- The number of EC2 instances for an Amazon SageMaker model endpoint variant.
- * custom-resource:ResourceType:Property
- The scalable dimension for a custom resource provided by your own application or service.
- * comprehend:document-classifier-endpoint:DesiredInferenceUnits
- The number of inference units for an Amazon Comprehend document classification endpoint.
- * lambda:function:ProvisionedConcurrency
- The provisioned concurrency for a Lambda function.
- * cassandra:table:ReadCapacityUnits
- The provisioned read capacity for an Amazon Keyspaces table.
- * cassandra:table:WriteCapacityUnits
- The provisioned write capacity for an Amazon Keyspaces table.
The Unix timestamp for when the scalable target was created.
- */ - CreationTime: Date | undefined; - - /** - *The namespace of the AWS service that provides the resource, or a
- * custom-resource
.
The identifier of the resource associated with the scalable target. - * This string consists of the resource type and unique identifier.
+ * This string consists of the resource type and unique identifier. *ECS service - The resource type is service
and the unique identifier is the cluster name
@@ -893,6 +980,9 @@ export interface ScalableTarget {
*
Amazon Comprehend document classification endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE
.
Amazon Comprehend entity recognizer endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:entity-recognizer-endpoint/EXAMPLE
.
Lambda provisioned concurrency - The resource type is function
and the unique identifier is the function name with a function version or alias name suffix that is not $LATEST
.
* Example: function:my-function:prod
or function:my-function:1
.
Amazon Keyspaces table - The resource type is table
and the unique identifier is the table name.
* Example: keyspace/mykeyspace/table/mytable
.
Amazon MSK cluster - The resource type and unique identifier are specified using the cluster ARN.
+ * Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5
.
The ARN of an IAM role that allows Application Auto Scaling to modify the scalable target on your - * behalf.
- */ - RoleARN: string | undefined; - - /** - *The minimum value to scale to in response to a scale-in activity.
- */ - MinCapacity: number | undefined; - - /** - *The maximum value to scale to in response to a scale-out activity.
- */ - MaxCapacity: number | undefined; } export namespace ScalableTarget { @@ -962,65 +1040,9 @@ export namespace InvalidNextTokenException { } export interface DescribeScalingActivitiesRequest { - /** - *The identifier of the resource associated with the scaling activity. - * This string consists of the resource type and unique identifier. If you specify a scalable dimension, you must also specify a resource ID.
- *ECS service - The resource type is service
and the unique identifier is the cluster name
- * and service name. Example: service/default/sample-webapp
.
Spot Fleet request - The resource type is spot-fleet-request
and the unique identifier is the
- * Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE
.
EMR cluster - The resource type is instancegroup
and the unique identifier is the cluster ID and instance group ID.
- * Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0
.
AppStream 2.0 fleet - The resource type is fleet
and the unique identifier is the fleet name.
- * Example: fleet/sample-fleet
.
DynamoDB table - The resource type is table
and the unique identifier is the table name.
- * Example: table/my-table
.
DynamoDB global secondary index - The resource type is index
and the unique identifier is the index name.
- * Example: table/my-table/index/my-table-index
.
Aurora DB cluster - The resource type is cluster
and the unique identifier is the cluster name.
- * Example: cluster:my-db-cluster
.
Amazon SageMaker endpoint variant - The resource type is variant
and the unique identifier is the resource ID.
- * Example: endpoint/my-end-point/variant/KMeansClustering
.
Custom resources are not supported with a resource type. This parameter must specify the OutputValue
from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information
- * is available in our GitHub
- * repository.
Amazon Comprehend document classification endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE
.
Lambda provisioned concurrency - The resource type is function
and the unique identifier is the function name with a function version or alias name suffix that is not $LATEST
.
- * Example: function:my-function:prod
or function:my-function:1
.
Amazon Keyspaces table - The resource type is table
and the unique identifier is the table name.
- * Example: keyspace/mykeyspace/table/mytable
.
The scalable dimension. This string consists of the service namespace, resource type, and scaling property. - * If you specify a scalable dimension, you must also specify a resource ID.
+ * If you specify a scalable dimension, you must also specify a resource ID. *@@ -1072,6 +1094,10 @@ export interface DescribeScalingActivitiesRequest { *
+ * comprehend:entity-recognizer-endpoint:DesiredInferenceUnits
- The number of inference units for an Amazon Comprehend entity recognizer endpoint.
* lambda:function:ProvisionedConcurrency
- The provisioned concurrency for a Lambda function.
* cassandra:table:WriteCapacityUnits
- The provisioned write capacity for an Amazon Keyspaces table.
+ * kafka:broker-storage:VolumeSize
- The provisioned volume size (in GiB) for brokers in an Amazon MSK cluster.
The token for the next set of results.
- */ - NextToken?: string; - - /** - *The namespace of the AWS service that provides the resource. For a resource provided
- * by your own application or service, use custom-resource
instead.
The identifier of the resource associated with the scaling activity. + * This string consists of the resource type and unique identifier. If you specify a scalable dimension, you must also specify a resource ID.
+ *ECS service - The resource type is service
and the unique identifier is the cluster name
+ * and service name. Example: service/default/sample-webapp
.
Spot Fleet request - The resource type is spot-fleet-request
and the unique identifier is the
+ * Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE
.
EMR cluster - The resource type is instancegroup
and the unique identifier is the cluster ID and instance group ID.
+ * Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0
.
AppStream 2.0 fleet - The resource type is fleet
and the unique identifier is the fleet name.
+ * Example: fleet/sample-fleet
.
DynamoDB table - The resource type is table
and the unique identifier is the table name.
+ * Example: table/my-table
.
DynamoDB global secondary index - The resource type is index
and the unique identifier is the index name.
+ * Example: table/my-table/index/my-table-index
.
Aurora DB cluster - The resource type is cluster
and the unique identifier is the cluster name.
+ * Example: cluster:my-db-cluster
.
Amazon SageMaker endpoint variant - The resource type is variant
and the unique identifier is the resource ID.
+ * Example: endpoint/my-end-point/variant/KMeansClustering
.
Custom resources are not supported with a resource type. This parameter must specify the OutputValue
from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information
+ * is available in our GitHub
+ * repository.
Amazon Comprehend document classification endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE
.
Amazon Comprehend entity recognizer endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:entity-recognizer-endpoint/EXAMPLE
.
Lambda provisioned concurrency - The resource type is function
and the unique identifier is the function name with a function version or alias name suffix that is not $LATEST
.
+ * Example: function:my-function:prod
or function:my-function:1
.
Amazon Keyspaces table - The resource type is table
and the unique identifier is the table name.
+ * Example: keyspace/mykeyspace/table/mytable
.
Amazon MSK cluster - The resource type and unique identifier are specified using the cluster ARN.
+ * Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5
.
The maximum number of scalable targets. This value can be between 1 and
@@ -1107,6 +1189,17 @@ export interface DescribeScalingActivitiesRequest {
* NextToken
value, if applicable.
The token for the next set of results.
+ */ + NextToken?: string; + + /** + *The namespace of the AWS service that provides the resource. For a resource provided
+ * by your own application or service, use custom-resource
instead.
Represents a scaling activity.
*/ export interface ScalingActivity { - /** - *Indicates the status of the scaling activity.
- */ - StatusCode: ScalingActivityStatusCode | string | undefined; - - /** - *The details about the scaling activity.
- */ - Details?: string; - - /** - *The Unix timestamp for when the scaling activity ended.
- */ - EndTime?: Date; - - /** - *A simple description of what action the scaling activity intends to accomplish.
- */ - Description: string | undefined; - - /** - *A simple message about the current status of the scaling activity.
- */ - StatusMessage?: string; - /** *The scalable dimension. This string consists of the service namespace, resource type, and scaling property.
*
+ * comprehend:entity-recognizer-endpoint:DesiredInferenceUnits
- The number of inference units for an Amazon Comprehend entity recognizer endpoint.
* lambda:function:ProvisionedConcurrency
- The provisioned concurrency for a Lambda function.
* cassandra:table:WriteCapacityUnits
- The provisioned write capacity for an Amazon Keyspaces table.
+ * kafka:broker-storage:VolumeSize
- The provisioned volume size (in GiB) for brokers in an Amazon MSK cluster.
The namespace of the AWS service that provides the resource, or a
- * custom-resource
.
The identifier of the resource associated with the scaling activity. - * This string consists of the resource type and unique identifier.
+ * This string consists of the resource type and unique identifier. *ECS service - The resource type is service
and the unique identifier is the cluster name
@@ -1271,6 +1341,9 @@ export interface ScalingActivity {
*
Amazon Comprehend document classification endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE
.
Amazon Comprehend entity recognizer endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:entity-recognizer-endpoint/EXAMPLE
.
Lambda provisioned concurrency - The resource type is function
and the unique identifier is the function name with a function version or alias name suffix that is not $LATEST
.
* Example: function:my-function:prod
or function:my-function:1
.
Amazon Keyspaces table - The resource type is table
and the unique identifier is the table name.
* Example: keyspace/mykeyspace/table/mytable
.
Amazon MSK cluster - The resource type and unique identifier are specified using the cluster ARN.
+ * Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5
.
The namespace of the AWS service that provides the resource, or a
+ * custom-resource
.
The unique identifier of the scaling activity.
+ */ + ActivityId: string | undefined; + + /** + *The Unix timestamp for when the scaling activity ended.
+ */ + EndTime?: Date; + /** *A simple description of what caused the scaling activity to happen.
*/ @@ -1293,9 +1386,24 @@ export interface ScalingActivity { StartTime: Date | undefined; /** - *The unique identifier of the scaling activity.
+ *The details about the scaling activity.
*/ - ActivityId: string | undefined; + Details?: string; + + /** + *Indicates the status of the scaling activity.
+ */ + StatusCode: ScalingActivityStatusCode | string | undefined; + + /** + *A simple description of what action the scaling activity intends to accomplish.
+ */ + Description: string | undefined; + + /** + *A simple message about the current status of the scaling activity.
+ */ + StatusMessage?: string; } export namespace ScalingActivity { @@ -1325,88 +1433,77 @@ export namespace DescribeScalingActivitiesResponse { export interface DescribeScalingPoliciesRequest { /** - *The token for the next set of results.
+ *The names of the scaling policies to describe.
*/ - NextToken?: string; + PolicyNames?: string[]; /** - *The namespace of the AWS service that provides the resource. For a resource provided
- * by your own application or service, use custom-resource
instead.
The token for the next set of results.
*/ - ServiceNamespace: ServiceNamespace | string | undefined; + NextToken?: string; /** - *The scalable dimension. This string consists of the service namespace, resource type, and scaling property. - * If you specify a scalable dimension, you must also specify a resource ID.
+ *The identifier of the resource associated with the scaling policy. + * This string consists of the resource type and unique identifier. If you specify a scalable dimension, you must also specify a resource ID.
*
- * ecs:service:DesiredCount
- The desired task count of an ECS service.
- * ec2:spot-fleet-request:TargetCapacity
- The target capacity of a Spot Fleet request.
ECS service - The resource type is service
and the unique identifier is the cluster name
+ * and service name. Example: service/default/sample-webapp
.
- * elasticmapreduce:instancegroup:InstanceCount
- The instance count of an EMR Instance Group.
Spot Fleet request - The resource type is spot-fleet-request
and the unique identifier is the
+ * Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE
.
- * appstream:fleet:DesiredCapacity
- The desired capacity of an AppStream 2.0 fleet.
EMR cluster - The resource type is instancegroup
and the unique identifier is the cluster ID and instance group ID.
+ * Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0
.
- * dynamodb:table:ReadCapacityUnits
- The provisioned read capacity for a DynamoDB table.
AppStream 2.0 fleet - The resource type is fleet
and the unique identifier is the fleet name.
+ * Example: fleet/sample-fleet
.
- * dynamodb:table:WriteCapacityUnits
- The provisioned write capacity for a DynamoDB table.
DynamoDB table - The resource type is table
and the unique identifier is the table name.
+ * Example: table/my-table
.
- * dynamodb:index:ReadCapacityUnits
- The provisioned read capacity for a DynamoDB global secondary index.
DynamoDB global secondary index - The resource type is index
and the unique identifier is the index name.
+ * Example: table/my-table/index/my-table-index
.
- * dynamodb:index:WriteCapacityUnits
- The provisioned write capacity for a DynamoDB global secondary index.
Aurora DB cluster - The resource type is cluster
and the unique identifier is the cluster name.
+ * Example: cluster:my-db-cluster
.
- * rds:cluster:ReadReplicaCount
- The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.
Amazon SageMaker endpoint variant - The resource type is variant
and the unique identifier is the resource ID.
+ * Example: endpoint/my-end-point/variant/KMeansClustering
.
- * sagemaker:variant:DesiredInstanceCount
- The number of EC2 instances for an Amazon SageMaker model endpoint variant.
Custom resources are not supported with a resource type. This parameter must specify the OutputValue
from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information
+ * is available in our GitHub
+ * repository.
- * custom-resource:ResourceType:Property
- The scalable dimension for a custom resource provided by your own application or service.
Amazon Comprehend document classification endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE
.
- * comprehend:document-classifier-endpoint:DesiredInferenceUnits
- The number of inference units for an Amazon Comprehend document classification endpoint.
Amazon Comprehend entity recognizer endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:entity-recognizer-endpoint/EXAMPLE
.
- * lambda:function:ProvisionedConcurrency
- The provisioned concurrency for a Lambda function.
Lambda provisioned concurrency - The resource type is function
and the unique identifier is the function name with a function version or alias name suffix that is not $LATEST
.
+ * Example: function:my-function:prod
or function:my-function:1
.
- * cassandra:table:ReadCapacityUnits
- The provisioned read capacity for an Amazon Keyspaces table.
Amazon Keyspaces table - The resource type is table
and the unique identifier is the table name.
+ * Example: keyspace/mykeyspace/table/mytable
.
- * cassandra:table:WriteCapacityUnits
- The provisioned write capacity for an Amazon Keyspaces table.
Amazon MSK cluster - The resource type and unique identifier are specified using the cluster ARN.
+ * Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5
.
The names of the scaling policies to describe.
- */ - PolicyNames?: string[]; + ResourceId?: string; /** *The maximum number of scalable targets. This value can be between 1 and @@ -1420,60 +1517,86 @@ export interface DescribeScalingPoliciesRequest { MaxResults?: number; /** - *
The identifier of the resource associated with the scaling policy. - * This string consists of the resource type and unique identifier. If you specify a scalable dimension, you must also specify a resource ID.
+ *The namespace of the AWS service that provides the resource. For a resource provided
+ * by your own application or service, use custom-resource
instead.
The scalable dimension. This string consists of the service namespace, resource type, and scaling property. + * If you specify a scalable dimension, you must also specify a resource ID.
*ECS service - The resource type is service
and the unique identifier is the cluster name
- * and service name. Example: service/default/sample-webapp
.
+ * ecs:service:DesiredCount
- The desired task count of an ECS service.
+ * ec2:spot-fleet-request:TargetCapacity
- The target capacity of a Spot Fleet request.
Spot Fleet request - The resource type is spot-fleet-request
and the unique identifier is the
- * Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE
.
+ * elasticmapreduce:instancegroup:InstanceCount
- The instance count of an EMR Instance Group.
EMR cluster - The resource type is instancegroup
and the unique identifier is the cluster ID and instance group ID.
- * Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0
.
+ * appstream:fleet:DesiredCapacity
- The desired capacity of an AppStream 2.0 fleet.
AppStream 2.0 fleet - The resource type is fleet
and the unique identifier is the fleet name.
- * Example: fleet/sample-fleet
.
+ * dynamodb:table:ReadCapacityUnits
- The provisioned read capacity for a DynamoDB table.
DynamoDB table - The resource type is table
and the unique identifier is the table name.
- * Example: table/my-table
.
+ * dynamodb:table:WriteCapacityUnits
- The provisioned write capacity for a DynamoDB table.
DynamoDB global secondary index - The resource type is index
and the unique identifier is the index name.
- * Example: table/my-table/index/my-table-index
.
+ * dynamodb:index:ReadCapacityUnits
- The provisioned read capacity for a DynamoDB global secondary index.
Aurora DB cluster - The resource type is cluster
and the unique identifier is the cluster name.
- * Example: cluster:my-db-cluster
.
+ * dynamodb:index:WriteCapacityUnits
- The provisioned write capacity for a DynamoDB global secondary index.
Amazon SageMaker endpoint variant - The resource type is variant
and the unique identifier is the resource ID.
- * Example: endpoint/my-end-point/variant/KMeansClustering
.
+ * rds:cluster:ReadReplicaCount
- The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.
Custom resources are not supported with a resource type. This parameter must specify the OutputValue
from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information
- * is available in our GitHub
- * repository.
+ * sagemaker:variant:DesiredInstanceCount
- The number of EC2 instances for an Amazon SageMaker model endpoint variant.
Amazon Comprehend document classification endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE
.
+ * custom-resource:ResourceType:Property
- The scalable dimension for a custom resource provided by your own application or service.
Lambda provisioned concurrency - The resource type is function
and the unique identifier is the function name with a function version or alias name suffix that is not $LATEST
.
- * Example: function:my-function:prod
or function:my-function:1
.
+ * comprehend:document-classifier-endpoint:DesiredInferenceUnits
- The number of inference units for an Amazon Comprehend document classification endpoint.
Amazon Keyspaces table - The resource type is table
and the unique identifier is the table name.
- * Example: keyspace/mykeyspace/table/mytable
.
+ * comprehend:entity-recognizer-endpoint:DesiredInferenceUnits
- The number of inference units for an Amazon Comprehend entity recognizer endpoint.
+ * lambda:function:ProvisionedConcurrency
- The provisioned concurrency for a Lambda function.
+ * cassandra:table:ReadCapacityUnits
- The provisioned read capacity for an Amazon Keyspaces table.
+ * cassandra:table:WriteCapacityUnits
- The provisioned write capacity for an Amazon Keyspaces table.
+ * kafka:broker-storage:VolumeSize
- The provisioned volume size (in GiB) for brokers in an Amazon MSK cluster.
The amount by which to scale, based on the specified adjustment type. A positive value - * adds to the current capacity while a negative number removes from the current capacity. - *
+ *The lower bound for the difference between the alarm threshold and the CloudWatch metric. If + * the metric value is above the breach threshold, the lower bound is inclusive (the metric + * must be greater than or equal to the threshold plus the lower bound). Otherwise, it is + * exclusive (the metric must be greater than the threshold plus the lower bound). A null + * value indicates negative infinity.
*/ - ScalingAdjustment: number | undefined; + MetricIntervalLowerBound?: number; /** *The upper bound for the difference between the alarm threshold and the CloudWatch metric. If @@ -1548,13 +1673,11 @@ export interface StepAdjustment { MetricIntervalUpperBound?: number; /** - *
The lower bound for the difference between the alarm threshold and the CloudWatch metric. If - * the metric value is above the breach threshold, the lower bound is inclusive (the metric - * must be greater than or equal to the threshold plus the lower bound). Otherwise, it is - * exclusive (the metric must be greater than the threshold plus the lower bound). A null - * value indicates negative infinity.
+ *The amount by which to scale, based on the specified adjustment type. A positive value + * adds to the current capacity while a negative number removes from the current capacity. For + * exact capacity, you must specify a positive value.
*/ - MetricIntervalLowerBound?: number; + ScalingAdjustment: number | undefined; } export namespace StepAdjustment { @@ -1568,22 +1691,32 @@ export namespace StepAdjustment { */ export interface StepScalingPolicyConfiguration { /** - *The amount of time, in seconds, to wait for a previous scaling activity to take - * effect.
- *With scale-out policies, the intention is to continuously (but not excessively) scale - * out. After Application Auto Scaling successfully scales out using a step scaling policy, it starts to - * calculate the cooldown time. While the cooldown period is in effect, capacity added by the - * initiating scale-out activity is calculated as part of the desired capacity for the next - * scale-out activity. For example, when an alarm triggers a step scaling policy to increase - * the capacity by 2, the scaling activity completes successfully, and a cooldown period - * starts. If the alarm triggers again during the cooldown period but at a more aggressive - * step adjustment of 3, the previous increase of 2 is considered part of the current - * capacity. Therefore, only 1 is added to the capacity.
+ *Specifies how the ScalingAdjustment
value in a StepAdjustment is interpreted (for example, an absolute number or a
+ * percentage). The valid values are ChangeInCapacity
,
+ * ExactCapacity
, and PercentChangeInCapacity
.
+ * AdjustmentType
is required if you are adding a new step scaling policy
+ * configuration.
The amount of time, in seconds, to wait for a previous scaling activity to take effect.
+ *With scale-out policies, the intention is to continuously (but not excessively) scale out. + * After Application Auto Scaling successfully scales out using a step scaling policy, it starts to calculate the + * cooldown time. The scaling policy won't increase the desired capacity again unless either a + * larger scale out is triggered or the cooldown period ends. While the cooldown period is in + * effect, capacity added by the initiating scale-out activity is calculated as part of the + * desired capacity for the next scale-out activity. For example, when an alarm triggers a step + * scaling policy to increase the capacity by 2, the scaling activity completes successfully, and + * a cooldown period starts. If the alarm triggers again during the cooldown period but at a more + * aggressive step adjustment of 3, the previous increase of 2 is considered part of the current + * capacity. Therefore, only 1 is added to the capacity.
*With scale-in policies, the intention is to scale in conservatively to protect your - * application’s availability, so scale-in activities are blocked until the cooldown period - * has expired. However, if another alarm triggers a scale-out activity during the cooldown - * period after a scale-in activity, Application Auto Scaling scales out the target immediately. In this case, - * the cooldown period for the scale-in activity stops and doesn't complete.
+ * application’s availability, so scale-in activities are blocked until the cooldown period has + * expired. However, if another alarm triggers a scale-out activity during the cooldown period + * after a scale-in activity, Application Auto Scaling scales out the target immediately. In this case, the + * cooldown period for the scale-in activity stops and doesn't complete. *Application Auto Scaling provides a default value of 300 for the following scalable targets:
*DynamoDB global secondary indexes
*Amazon Comprehend document classification endpoints
+ *Amazon Comprehend document classification and entity recognizer endpoints
*Lambda provisioned concurrency
@@ -1625,10 +1758,20 @@ export interface StepScalingPolicyConfiguration { *Amazon Keyspaces tables
*Amazon MSK cluster storage
+ *The aggregation type for the CloudWatch metrics. Valid values are Minimum
,
+ * Maximum
, and Average
. If the aggregation type is null, the
+ * value is treated as Average
.
A set of adjustments that enable you to scale based on the size of the alarm * breach.
@@ -1638,28 +1781,13 @@ export interface StepScalingPolicyConfiguration { StepAdjustments?: StepAdjustment[]; /** - *Specifies whether the ScalingAdjustment
value in a StepAdjustment is an absolute number or a percentage of the current capacity.
- * AdjustmentType
is required if you are adding a new step scaling policy
- * configuration.
The aggregation type for the CloudWatch metrics. Valid values are Minimum
,
- * Maximum
, and Average
. If the aggregation type is null, the
- * value is treated as Average
.
The minimum value to scale by when scaling by percentages. For example, suppose that you - * create a step scaling policy to scale out an Amazon ECS service by 25 percent and you specify a + *
The minimum value to scale by when the adjustment type is
+ * PercentChangeInCapacity
. For example, suppose that you create a step
+ * scaling policy to scale out an Amazon ECS service by 25 percent and you specify a
* MinAdjustmentMagnitude
of 2. If the service has 4 tasks and the scaling
* policy is performed, 25 percent of 4 is 1. However, because you specified a
* MinAdjustmentMagnitude
of 2, Application Auto Scaling scales out the service by 2
* tasks.
Valid only if the adjustment type is PercentChangeInCapacity
.
The value of the dimension.
+ *The name of the dimension.
*/ - Value: string | undefined; + Name: string | undefined; /** - *The name of the dimension.
+ *The value of the dimension.
*/ - Name: string | undefined; + Value: string | undefined; } export namespace MetricDimension { @@ -1725,9 +1853,9 @@ export enum MetricStatistic { */ export interface CustomizedMetricSpecification { /** - *The statistic of the metric.
+ *The namespace of the metric.
*/ - Statistic: MetricStatistic | string | undefined; + Namespace: string | undefined; /** *The dimensions of the metric.
@@ -1737,19 +1865,19 @@ export interface CustomizedMetricSpecification { Dimensions?: MetricDimension[]; /** - *The unit of the metric.
+ *The name of the metric.
*/ - Unit?: string; + MetricName: string | undefined; /** - *The name of the metric.
+ *The statistic of the metric.
*/ - MetricName: string | undefined; + Statistic: MetricStatistic | string | undefined; /** - *The namespace of the metric.
+ *The unit of the metric.
*/ - Namespace: string | undefined; + Unit?: string; } export namespace CustomizedMetricSpecification { @@ -1771,6 +1899,7 @@ export enum MetricType { EC2SpotFleetRequestAverageNetworkOut = "EC2SpotFleetRequestAverageNetworkOut", ECSServiceAverageCPUUtilization = "ECSServiceAverageCPUUtilization", ECSServiceAverageMemoryUtilization = "ECSServiceAverageMemoryUtilization", + KafkaBrokerStorageUtilization = "KafkaBrokerStorageUtilization", LambdaProvisionedConcurrencyUtilization = "LambdaProvisionedConcurrencyUtilization", RDSReaderAverageCPUUtilization = "RDSReaderAverageCPUUtilization", RDSReaderAverageDatabaseConnections = "RDSReaderAverageDatabaseConnections", @@ -1786,19 +1915,13 @@ export enum MetricType { * with CloudWatch in the Application Auto Scaling User Guide. */ export interface PredefinedMetricSpecification { - /** - *The metric type. The ALBRequestCountPerTarget
metric type applies only to
- * Spot Fleet requests and ECS services.
Identifies the resource associated with the metric type. You can't specify a resource
* label unless the metric type is ALBRequestCountPerTarget
and there is a target
* group attached to the Spot Fleet request or ECS service.
Elastic Load Balancing sends data about your load balancers to Amazon CloudWatch. CloudWatch collects - * the data and specifies the format to use to access the data. The format is + *
You create the resource label by appending the final portion of the load balancer ARN
+ * and the final portion of the target group ARN into a single value, separated by a forward
+ * slash (/). The format is
* app/
This is an example: + * app/EC2Co-EcsEl-1TKLTMITMM0EO/f37c06a68c1748aa/targetgroup/EC2Co-Defau-LDNM7Q3ZH1ZN/6d4ea56ca2d6a18d.
*To find the ARN for an Application Load Balancer, use the DescribeLoadBalancers API operation. To find the ARN for the target group, use * the DescribeTargetGroups API operation.
*/ ResourceLabel?: string; + + /** + *The metric type. The ALBRequestCountPerTarget
metric type applies only to
+ * Spot Fleet requests and ECS services.
The amount of time, in seconds, to wait for a previous scale-out activity to take - * effect.
- *With the scale-out cooldown period, the intention is to - * continuously (but not excessively) scale out. After Application Auto Scaling successfully scales out using - * a target tracking scaling policy, it starts to calculate the cooldown time. While the - * scale-out cooldown period is in effect, the capacity added by the initiating scale-out - * activity is calculated as part of the desired capacity for the next scale-out - * activity.
+ *The target value for the metric. The range is 8.515920e-109 to 1.174271e+108 (Base 10) + * or 2e-360 to 2e360 (Base 2).
+ */ + TargetValue: number | undefined; + + /** + *A predefined metric. You can specify either a predefined metric or a customized + * metric.
+ */ + PredefinedMetricSpecification?: PredefinedMetricSpecification; + + /** + *Indicates whether scale in by the target tracking scaling policy is disabled. If the
+ * value is true
, scale in is disabled and the target tracking scaling policy
+ * won't remove capacity from the scalable target. Otherwise, scale in is enabled and the
+ * target tracking scaling policy can remove capacity from the scalable target. The default
+ * value is false
.
A customized metric. You can specify either a predefined metric or a customized + * metric.
+ */ + CustomizedMetricSpecification?: CustomizedMetricSpecification; + + /** + *The amount of time, in seconds, after a scale-in activity completes before another + * scale-in activity can start.
+ *With the scale-in cooldown period, the intention is to scale in + * conservatively to protect your application’s availability, so scale-in activities are blocked + * until the cooldown period has expired. However, if another alarm triggers a scale-out activity + * during the scale-in cooldown period, Application Auto Scaling scales out the target immediately. In this case, + * the scale-in cooldown period stops and doesn't complete.
*Application Auto Scaling provides a default value of 300 for the following scalable targets:
*DynamoDB global secondary indexes
*Amazon Comprehend document classification endpoints
+ *Amazon Comprehend document classification and entity recognizer endpoints
*Lambda provisioned concurrency
@@ -1877,30 +2034,23 @@ export interface TargetTrackingScalingPolicyConfiguration { *Amazon Keyspaces tables
*Amazon MSK cluster storage
+ *A customized metric. You can specify either a predefined metric or a customized - * metric.
- */ - CustomizedMetricSpecification?: CustomizedMetricSpecification; - - /** - *A predefined metric. You can specify either a predefined metric or a customized - * metric.
- */ - PredefinedMetricSpecification?: PredefinedMetricSpecification; + ScaleInCooldown?: number; /** - *The amount of time, in seconds, after a scale-in activity completes before another - * scale-in activity can start.
- *With the scale-in cooldown period, the intention is to scale in - * conservatively to protect your application’s availability, so scale-in activities are - * blocked until the cooldown period has expired. However, if another alarm triggers a - * scale-out activity during the scale-in cooldown period, Application Auto Scaling scales out the target - * immediately. In this case, the scale-in cooldown period stops and doesn't complete.
+ *The amount of time, in seconds, to wait for a previous scale-out activity to take + * effect.
+ *With the scale-out cooldown period, the intention is to continuously + * (but not excessively) scale out. After Application Auto Scaling successfully scales out using a target + * tracking scaling policy, it starts to calculate the cooldown time. The scaling policy won't + * increase the desired capacity again unless either a larger scale out is triggered or the + * cooldown period ends. While the cooldown period is in effect, the capacity added by the + * initiating scale-out activity is calculated as part of the desired capacity for the next + * scale-out activity.
*Application Auto Scaling provides a default value of 300 for the following scalable targets:
*DynamoDB global secondary indexes
*Amazon Comprehend document classification endpoints
+ *Amazon Comprehend document classification and entity recognizer endpoints
*Lambda provisioned concurrency
@@ -1942,24 +2092,12 @@ export interface TargetTrackingScalingPolicyConfiguration { *Amazon Keyspaces tables
*Amazon MSK cluster storage
+ *The target value for the metric. The range is 8.515920e-109 to 1.174271e+108 (Base 10) - * or 2e-360 to 2e360 (Base 2).
- */ - TargetValue: number | undefined; - - /** - *Indicates whether scale in by the target tracking scaling policy is disabled. If the
- * value is true
, scale in is disabled and the target tracking scaling policy
- * won't remove capacity from the scalable target. Otherwise, scale in is enabled and the
- * target tracking scaling policy can remove capacity from the scalable target. The default
- * value is false
.
Represents a scaling policy to use with Application Auto Scaling.
+ *For more information about configuring scaling policies for a specific service, see Getting started with Application Auto Scaling in the Application Auto Scaling User Guide.
*/ export interface ScalingPolicy { + /** + *The CloudWatch alarms associated with the scaling policy.
+ */ + Alarms?: Alarm[]; + + /** + *A step scaling policy.
+ */ + StepScalingPolicyConfiguration?: StepScalingPolicyConfiguration; + + /** + *The namespace of the AWS service that provides the resource, or a
+ * custom-resource
.
The Unix timestamp for when the scaling policy was created.
+ */ + CreationTime: Date | undefined; + + /** + *The scaling policy type.
+ */ + PolicyType: PolicyType | string | undefined; + + /** + *The Amazon Resource Name (ARN) of the scaling policy.
+ */ + PolicyARN: string | undefined; + /** *The identifier of the resource associated with the scaling policy. - * This string consists of the resource type and unique identifier.
+ * This string consists of the resource type and unique identifier. *ECS service - The resource type is service
and the unique identifier is the cluster name
@@ -2017,6 +2187,9 @@ export interface ScalingPolicy {
*
Amazon Comprehend document classification endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE
.
Amazon Comprehend entity recognizer endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:entity-recognizer-endpoint/EXAMPLE
.
Lambda provisioned concurrency - The resource type is function
and the unique identifier is the function name with a function version or alias name suffix that is not $LATEST
.
* Example: function:my-function:prod
or function:my-function:1
.
Amazon Keyspaces table - The resource type is table
and the unique identifier is the table name.
* Example: keyspace/mykeyspace/table/mytable
.
Amazon MSK cluster - The resource type and unique identifier are specified using the cluster ARN.
+ * Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5
.
The Amazon Resource Name (ARN) of the scaling policy.
+ *A target tracking scaling policy.
*/ - PolicyARN: string | undefined; + TargetTrackingScalingPolicyConfiguration?: TargetTrackingScalingPolicyConfiguration; /** - *A target tracking scaling policy.
+ *The name of the scaling policy.
*/ - TargetTrackingScalingPolicyConfiguration?: TargetTrackingScalingPolicyConfiguration; + PolicyName: string | undefined; /** *The scalable dimension. This string consists of the service namespace, resource type, and scaling property.
@@ -2091,6 +2268,10 @@ export interface ScalingPolicy { * *
+ * comprehend:entity-recognizer-endpoint:DesiredInferenceUnits
- The number of inference units for an Amazon Comprehend entity recognizer endpoint.
* lambda:function:ProvisionedConcurrency
- The provisioned concurrency for a Lambda function.
* cassandra:table:WriteCapacityUnits
- The provisioned write capacity for an Amazon Keyspaces table.
+ * kafka:broker-storage:VolumeSize
- The provisioned volume size (in GiB) for brokers in an Amazon MSK cluster.
The scaling policy type.
- */ - PolicyType: PolicyType | string | undefined; - - /** - *The CloudWatch alarms associated with the scaling policy.
- */ - Alarms?: Alarm[]; - - /** - *A step scaling policy.
- */ - StepScalingPolicyConfiguration?: StepScalingPolicyConfiguration; - - /** - *The name of the scaling policy.
- */ - PolicyName: string | undefined; - - /** - *The namespace of the AWS service that provides the resource, or a
- * custom-resource
.
The Unix timestamp for when the scaling policy was created.
- */ - CreationTime: Date | undefined; } export namespace ScalingPolicy { @@ -2181,6 +2335,80 @@ export namespace FailedResourceAccessException { } export interface DescribeScheduledActionsRequest { + /** + *The identifier of the resource associated with the scheduled action. + * This string consists of the resource type and unique identifier. If you specify a scalable dimension, you must also specify a resource ID.
+ *ECS service - The resource type is service
and the unique identifier is the cluster name
+ * and service name. Example: service/default/sample-webapp
.
Spot Fleet request - The resource type is spot-fleet-request
and the unique identifier is the
+ * Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE
.
EMR cluster - The resource type is instancegroup
and the unique identifier is the cluster ID and instance group ID.
+ * Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0
.
AppStream 2.0 fleet - The resource type is fleet
and the unique identifier is the fleet name.
+ * Example: fleet/sample-fleet
.
DynamoDB table - The resource type is table
and the unique identifier is the table name.
+ * Example: table/my-table
.
DynamoDB global secondary index - The resource type is index
and the unique identifier is the index name.
+ * Example: table/my-table/index/my-table-index
.
Aurora DB cluster - The resource type is cluster
and the unique identifier is the cluster name.
+ * Example: cluster:my-db-cluster
.
Amazon SageMaker endpoint variant - The resource type is variant
and the unique identifier is the resource ID.
+ * Example: endpoint/my-end-point/variant/KMeansClustering
.
Custom resources are not supported with a resource type. This parameter must specify the OutputValue
from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information
+ * is available in our GitHub
+ * repository.
Amazon Comprehend document classification endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE
.
Amazon Comprehend entity recognizer endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:entity-recognizer-endpoint/EXAMPLE
.
Lambda provisioned concurrency - The resource type is function
and the unique identifier is the function name with a function version or alias name suffix that is not $LATEST
.
+ * Example: function:my-function:prod
or function:my-function:1
.
Amazon Keyspaces table - The resource type is table
and the unique identifier is the table name.
+ * Example: keyspace/mykeyspace/table/mytable
.
Amazon MSK cluster - The resource type and unique identifier are specified using the cluster ARN.
+ * Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5
.
The maximum number of scheduled action results. This value can be between + * 1 and 50. The default value is 50.
+ *If this parameter is used, the operation returns up to MaxResults
results
+ * at a time, along with a NextToken
value. To get the next set of results,
+ * include the NextToken
value in a subsequent call. If this parameter is not
+ * used, the operation returns up to 50 results and a
+ * NextToken
value, if applicable.
The names of the scheduled actions to describe.
*/ @@ -2188,7 +2416,7 @@ export interface DescribeScheduledActionsRequest { /** *The scalable dimension. This string consists of the service namespace, resource type, and scaling property. - * If you specify a scalable dimension, you must also specify a resource ID.
+ * If you specify a scalable dimension, you must also specify a resource ID. *@@ -2240,6 +2468,10 @@ export interface DescribeScheduledActionsRequest { *
+ * comprehend:entity-recognizer-endpoint:DesiredInferenceUnits
- The number of inference units for an Amazon Comprehend entity recognizer endpoint.
* lambda:function:ProvisionedConcurrency
- The provisioned concurrency for a Lambda function.
* cassandra:table:WriteCapacityUnits
- The provisioned write capacity for an Amazon Keyspaces table.
The identifier of the resource associated with the scheduled action. - * This string consists of the resource type and unique identifier. If you specify a scalable dimension, you must also specify a resource ID.
- *ECS service - The resource type is service
and the unique identifier is the cluster name
- * and service name. Example: service/default/sample-webapp
.
Spot Fleet request - The resource type is spot-fleet-request
and the unique identifier is the
- * Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE
.
EMR cluster - The resource type is instancegroup
and the unique identifier is the cluster ID and instance group ID.
- * Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0
.
AppStream 2.0 fleet - The resource type is fleet
and the unique identifier is the fleet name.
- * Example: fleet/sample-fleet
.
DynamoDB table - The resource type is table
and the unique identifier is the table name.
- * Example: table/my-table
.
DynamoDB global secondary index - The resource type is index
and the unique identifier is the index name.
- * Example: table/my-table/index/my-table-index
.
Aurora DB cluster - The resource type is cluster
and the unique identifier is the cluster name.
- * Example: cluster:my-db-cluster
.
Amazon SageMaker endpoint variant - The resource type is variant
and the unique identifier is the resource ID.
- * Example: endpoint/my-end-point/variant/KMeansClustering
.
Custom resources are not supported with a resource type. This parameter must specify the OutputValue
from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information
- * is available in our GitHub
- * repository.
Amazon Comprehend document classification endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE
.
Lambda provisioned concurrency - The resource type is function
and the unique identifier is the function name with a function version or alias name suffix that is not $LATEST
.
- * Example: function:my-function:prod
or function:my-function:1
.
Amazon Keyspaces table - The resource type is table
and the unique identifier is the table name.
- * Example: keyspace/mykeyspace/table/mytable
.
+ * kafka:broker-storage:VolumeSize
- The provisioned volume size (in GiB) for brokers in an Amazon MSK cluster.
The token for the next set of results.
@@ -2320,17 +2500,6 @@ export interface DescribeScheduledActionsRequest { * by your own application or service, usecustom-resource
instead.
*/
ServiceNamespace: ServiceNamespace | string | undefined;
-
- /**
- * The maximum number of scheduled action results. This value can be between - * 1 and 50. The default value is 50.
- *If this parameter is used, the operation returns up to MaxResults
results
- * at a time, along with a NextToken
value. To get the next set of results,
- * include the NextToken
value in a subsequent call. If this parameter is not
- * used, the operation returns up to 50 results and a
- * NextToken
value, if applicable.
The minimum capacity.
- *For Lambda provisioned concurrency, the minimum value allowed is 0. For all other - * resources, the minimum value allowed is 1.
+ *The maximum capacity.
+ *Although you can specify a large maximum capacity, note that service quotas may impose + * lower limits. Each service has its own default quotas for the maximum capacity of the + * resource. If you want to specify a higher limit, you can request an increase. For more + * information, consult the documentation for that service. For information about the default + * quotas for each service, see Service Endpoints and + * Quotas in the Amazon Web Services General Reference.
*/ - MinCapacity?: number; + MaxCapacity?: number; /** - *The maximum capacity.
+ *The minimum capacity.
+ *For certain resources, the minimum value allowed is 0. This includes Lambda provisioned + * concurrency, Spot Fleet, ECS services, Aurora DB clusters, EMR clusters, and custom resources. + * For all other resources, the minimum value allowed is 1.
*/ - MaxCapacity?: number; + MinCapacity?: number; } export namespace ScalableTargetAction { @@ -2367,9 +2543,14 @@ export namespace ScalableTargetAction { */ export interface ScheduledAction { /** - *The Amazon Resource Name (ARN) of the scheduled action.
+ *The name of the scheduled action.
*/ - ScheduledActionARN: string | undefined; + ScheduledActionName: string | undefined; + + /** + *The date and time that the action is scheduled to end.
+ */ + EndTime?: Date; /** *The namespace of the AWS service that provides the resource, or a @@ -2378,26 +2559,77 @@ export interface ScheduledAction { ServiceNamespace: ServiceNamespace | string | undefined; /** - *
The schedule for this action. The following formats are supported:
+ *The identifier of the resource associated with the scaling policy. + * This string consists of the resource type and unique identifier.
*At expressions - "at(yyyy-mm-ddThh:mm:ss)
"
ECS service - The resource type is service
and the unique identifier is the cluster name
+ * and service name. Example: service/default/sample-webapp
.
Rate expressions - "rate(value
- * unit)
"
Spot Fleet request - The resource type is spot-fleet-request
and the unique identifier is the
+ * Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE
.
Cron expressions - "cron(fields)
"
EMR cluster - The resource type is instancegroup
and the unique identifier is the cluster ID and instance group ID.
+ * Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0
.
AppStream 2.0 fleet - The resource type is fleet
and the unique identifier is the fleet name.
+ * Example: fleet/sample-fleet
.
DynamoDB table - The resource type is table
and the unique identifier is the table name.
+ * Example: table/my-table
.
DynamoDB global secondary index - The resource type is index
and the unique identifier is the index name.
+ * Example: table/my-table/index/my-table-index
.
Aurora DB cluster - The resource type is cluster
and the unique identifier is the cluster name.
+ * Example: cluster:my-db-cluster
.
Amazon SageMaker endpoint variant - The resource type is variant
and the unique identifier is the resource ID.
+ * Example: endpoint/my-end-point/variant/KMeansClustering
.
Custom resources are not supported with a resource type. This parameter must specify the OutputValue
from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information
+ * is available in our GitHub
+ * repository.
Amazon Comprehend document classification endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE
.
Amazon Comprehend entity recognizer endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:entity-recognizer-endpoint/EXAMPLE
.
Lambda provisioned concurrency - The resource type is function
and the unique identifier is the function name with a function version or alias name suffix that is not $LATEST
.
+ * Example: function:my-function:prod
or function:my-function:1
.
Amazon Keyspaces table - The resource type is table
and the unique identifier is the table name.
+ * Example: keyspace/mykeyspace/table/mytable
.
Amazon MSK cluster - The resource type and unique identifier are specified using the cluster ARN.
+ * Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5
.
At expressions are useful for one-time schedules. Specify the time in UTC.
- *For rate expressions, value is a positive integer and unit is
- * minute
| minutes
| hour
| hours
| day
| days
.
For more information about cron expressions, see Cron Expressions in the Amazon CloudWatch Events User Guide.
- *For examples of using these expressions, see Scheduled Scaling in the Application Auto Scaling User Guide.
*/ - Schedule: string | undefined; + ResourceId: string | undefined; + + /** + *The date and time that the scheduled action was created.
+ */ + CreationTime: Date | undefined; + + /** + *The date and time that the action is scheduled to begin.
+ */ + StartTime?: Date; /** *The scalable dimension. This string consists of the service namespace, resource type, and scaling property.
@@ -2452,6 +2684,10 @@ export interface ScheduledAction { * *
+ * comprehend:entity-recognizer-endpoint:DesiredInferenceUnits
- The number of inference units for an Amazon Comprehend entity recognizer endpoint.
* lambda:function:ProvisionedConcurrency
- The provisioned concurrency for a Lambda function.
* cassandra:table:WriteCapacityUnits
- The provisioned write capacity for an Amazon Keyspaces table.
+ * kafka:broker-storage:VolumeSize
- The provisioned volume size (in GiB) for brokers in an Amazon MSK cluster.
The name of the scheduled action.
- */ - ScheduledActionName: string | undefined; - - /** - *The date and time that the scheduled action was created.
+ *The schedule for this action. The following formats are supported:
+ *At expressions - "at(yyyy-mm-ddThh:mm:ss)
"
Rate expressions - "rate(value
+ * unit)
"
Cron expressions - "cron(fields)
"
At expressions are useful for one-time schedules. Specify the time in UTC.
+ *For rate expressions, value is a positive integer and unit is
+ * minute
| minutes
| hour
| hours
| day
| days
.
For more information about cron expressions, see Cron Expressions in the Amazon CloudWatch Events User Guide.
+ *For examples of using these expressions, see Scheduled Scaling in the Application Auto Scaling User Guide.
*/ - CreationTime: Date | undefined; + Schedule: string | undefined; /** *The new minimum and maximum capacity. You can set both values or just one. At the @@ -2485,70 +2737,9 @@ export interface ScheduledAction { ScalableTargetAction?: ScalableTargetAction; /** - *
The date and time that the action is scheduled to end.
- */ - EndTime?: Date; - - /** - *The date and time that the action is scheduled to begin.
- */ - StartTime?: Date; - - /** - *The identifier of the resource associated with the scaling policy. - * This string consists of the resource type and unique identifier.
- *ECS service - The resource type is service
and the unique identifier is the cluster name
- * and service name. Example: service/default/sample-webapp
.
Spot Fleet request - The resource type is spot-fleet-request
and the unique identifier is the
- * Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE
.
EMR cluster - The resource type is instancegroup
and the unique identifier is the cluster ID and instance group ID.
- * Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0
.
AppStream 2.0 fleet - The resource type is fleet
and the unique identifier is the fleet name.
- * Example: fleet/sample-fleet
.
DynamoDB table - The resource type is table
and the unique identifier is the table name.
- * Example: table/my-table
.
DynamoDB global secondary index - The resource type is index
and the unique identifier is the index name.
- * Example: table/my-table/index/my-table-index
.
Aurora DB cluster - The resource type is cluster
and the unique identifier is the cluster name.
- * Example: cluster:my-db-cluster
.
Amazon SageMaker endpoint variant - The resource type is variant
and the unique identifier is the resource ID.
- * Example: endpoint/my-end-point/variant/KMeansClustering
.
Custom resources are not supported with a resource type. This parameter must specify the OutputValue
from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information
- * is available in our GitHub
- * repository.
Amazon Comprehend document classification endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE
.
Lambda provisioned concurrency - The resource type is function
and the unique identifier is the function name with a function version or alias name suffix that is not $LATEST
.
- * Example: function:my-function:prod
or function:my-function:1
.
Amazon Keyspaces table - The resource type is table
and the unique identifier is the table name.
- * Example: keyspace/mykeyspace/table/mytable
.
The Amazon Resource Name (ARN) of the scheduled action.
*/ - ResourceId: string | undefined; + ScheduledActionARN: string | undefined; } export namespace ScheduledAction { @@ -2592,82 +2783,6 @@ export namespace LimitExceededException { } export interface PutScalingPolicyRequest { - /** - *The policy type. This parameter is required if you are creating a scaling policy.
- *The following policy types are supported:
- *
- * TargetTrackingScaling
—Not supported for Amazon EMR
- * StepScaling
—Not supported for DynamoDB, Amazon Comprehend, Lambda, or Amazon Keyspaces (for
- * Apache Cassandra).
For more information, see Target Tracking Scaling Policies and Step Scaling Policies in the Application Auto Scaling User Guide.
- */ - PolicyType?: PolicyType | string; - - /** - *The identifier of the resource associated with the scaling policy. - * This string consists of the resource type and unique identifier.
- *ECS service - The resource type is service
and the unique identifier is the cluster name
- * and service name. Example: service/default/sample-webapp
.
Spot Fleet request - The resource type is spot-fleet-request
and the unique identifier is the
- * Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE
.
EMR cluster - The resource type is instancegroup
and the unique identifier is the cluster ID and instance group ID.
- * Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0
.
AppStream 2.0 fleet - The resource type is fleet
and the unique identifier is the fleet name.
- * Example: fleet/sample-fleet
.
DynamoDB table - The resource type is table
and the unique identifier is the table name.
- * Example: table/my-table
.
DynamoDB global secondary index - The resource type is index
and the unique identifier is the index name.
- * Example: table/my-table/index/my-table-index
.
Aurora DB cluster - The resource type is cluster
and the unique identifier is the cluster name.
- * Example: cluster:my-db-cluster
.
Amazon SageMaker endpoint variant - The resource type is variant
and the unique identifier is the resource ID.
- * Example: endpoint/my-end-point/variant/KMeansClustering
.
Custom resources are not supported with a resource type. This parameter must specify the OutputValue
from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information
- * is available in our GitHub
- * repository.
Amazon Comprehend document classification endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE
.
Lambda provisioned concurrency - The resource type is function
and the unique identifier is the function name with a function version or alias name suffix that is not $LATEST
.
- * Example: function:my-function:prod
or function:my-function:1
.
Amazon Keyspaces table - The resource type is table
and the unique identifier is the table name.
- * Example: keyspace/mykeyspace/table/mytable
.
A target tracking scaling policy. Includes support for predefined or customized - * metrics.
- *This parameter is required if you are creating a policy and the policy type is
- * TargetTrackingScaling
.
The scalable dimension. This string consists of the service namespace, resource type, and scaling property.
*
+ * comprehend:entity-recognizer-endpoint:DesiredInferenceUnits
- The number of inference units for an Amazon Comprehend entity recognizer endpoint.
* lambda:function:ProvisionedConcurrency
- The provisioned concurrency for a Lambda function.
* cassandra:table:WriteCapacityUnits
- The provisioned write capacity for an Amazon Keyspaces table.
+ * kafka:broker-storage:VolumeSize
- The provisioned volume size (in GiB) for brokers in an Amazon MSK cluster.
A step scaling policy.
- *This parameter is required if you are creating a policy and the policy type is
- * StepScaling
.
The name of the scaling policy.
- */ - PolicyName: string | undefined; - - /** - *The namespace of the AWS service that provides the resource. For a resource provided
- * by your own application or service, use custom-resource
instead.
The Amazon Resource Name (ARN) of the resulting scaling policy.
- */ - PolicyARN: string | undefined; - - /** - *The CloudWatch alarms created for the target tracking scaling policy.
- */ - Alarms?: Alarm[]; -} - -export namespace PutScalingPolicyResponse { - export const filterSensitiveLog = (obj: PutScalingPolicyResponse): any => ({ - ...obj, - }); -} - -export interface PutScheduledActionRequest { - /** - *The identifier of the resource associated with the scheduled action. - * This string consists of the resource type and unique identifier.
+ *The identifier of the resource associated with the scaling policy. + * This string consists of the resource type and unique identifier.
*ECS service - The resource type is service
and the unique identifier is the cluster name
@@ -2824,6 +2903,9 @@ export interface PutScheduledActionRequest {
*
Amazon Comprehend document classification endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE
.
Amazon Comprehend entity recognizer endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:entity-recognizer-endpoint/EXAMPLE
.
Lambda provisioned concurrency - The resource type is function
and the unique identifier is the function name with a function version or alias name suffix that is not $LATEST
.
* Example: function:my-function:prod
or function:my-function:1
.
Amazon Keyspaces table - The resource type is table
and the unique identifier is the table name.
* Example: keyspace/mykeyspace/table/mytable
.
Amazon MSK cluster - The resource type and unique identifier are specified using the cluster ARN.
+ * Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5
.
The policy type. This parameter is required if you are creating a scaling policy.
+ *The following policy types are supported:
+ *
+ * TargetTrackingScaling
—Not supported for Amazon EMR
+ * StepScaling
—Not supported for DynamoDB, Amazon Comprehend, Lambda, Amazon Keyspaces (for
+ * Apache Cassandra), or Amazon MSK.
For more information, see Target + * Tracking Scaling Policies and Step Scaling Policies in the Application Auto Scaling User Guide.
+ */ + PolicyType?: PolicyType | string; + + /** + *The name of the scaling policy.
+ */ + PolicyName: string | undefined; + + /** + *The namespace of the AWS service that provides the resource. For a resource provided
+ * by your own application or service, use custom-resource
instead.
The date and time for the recurring schedule to end.
+ *A step scaling policy.
+ *This parameter is required if you are creating a policy and the policy type is
+ * StepScaling
.
A target tracking scaling policy. Includes support for predefined or customized + * metrics.
+ *This parameter is required if you are creating a policy and the policy type is
+ * TargetTrackingScaling
.
The CloudWatch alarms created for the target tracking scaling policy.
+ */ + Alarms?: Alarm[]; + + /** + *The Amazon Resource Name (ARN) of the resulting scaling policy.
+ */ + PolicyARN: string | undefined; +} +export namespace PutScalingPolicyResponse { + export const filterSensitiveLog = (obj: PutScalingPolicyResponse): any => ({ + ...obj, + }); +} + +export interface PutScheduledActionRequest { /** *The date and time for this scheduled action to start.
*/ StartTime?: Date; + /** + *The schedule for this action. The following formats are supported:
+ *At expressions - "at(yyyy-mm-ddThh:mm:ss)
"
Rate expressions - "rate(value
+ * unit)
"
Cron expressions - "cron(fields)
"
At expressions are useful for one-time schedules. Specify the time in UTC.
+ *For rate expressions, value is a positive integer and unit is
+ * minute
| minutes
| hour
| hours
| day
| days
.
For more information about cron expressions, see Cron Expressions in the Amazon CloudWatch Events User Guide.
+ *For examples of using these expressions, see Scheduled Scaling in the Application Auto Scaling User Guide.
+ */ + Schedule?: string; + /** *The scalable dimension. This string consists of the service namespace, resource type, and scaling property.
*
+ * comprehend:entity-recognizer-endpoint:DesiredInferenceUnits
- The number of inference units for an Amazon Comprehend entity recognizer endpoint.
* lambda:function:ProvisionedConcurrency
- The provisioned concurrency for a Lambda function.
* cassandra:table:WriteCapacityUnits
- The provisioned write capacity for an Amazon Keyspaces table.
The schedule for this action. The following formats are supported:
- *At expressions - "at(yyyy-mm-ddThh:mm:ss)
"
Rate expressions - "rate(value
- * unit)
"
Cron expressions - "cron(fields)
"
+ * kafka:broker-storage:VolumeSize
- The provisioned volume size (in GiB) for brokers in an Amazon MSK cluster.
At expressions are useful for one-time schedules. Specify the time in UTC.
- *For rate expressions, value is a positive integer and unit is
- * minute
| minutes
| hour
| hours
| day
| days
.
For more information about cron expressions, see Cron Expressions in the Amazon CloudWatch Events User Guide.
- *For examples of using these expressions, see Scheduled Scaling in the Application Auto Scaling User Guide.
- */ - Schedule?: string; - - /** - *The namespace of the AWS service that provides the resource. For a resource provided
- * by your own application or service, use custom-resource
instead.
The name of the scheduled action. This name must be unique among all other scheduled - * actions on the specified scalable target.
*/ - ScheduledActionName: string | undefined; + ScalableDimension: ScalableDimension | string | undefined; /** *The new minimum and maximum capacity. You can set both values or just one. At the @@ -2953,45 +3095,22 @@ export interface PutScheduledActionRequest { * scales in to the maximum capacity.
*/ ScalableTargetAction?: ScalableTargetAction; -} - -export namespace PutScheduledActionRequest { - export const filterSensitiveLog = (obj: PutScheduledActionRequest): any => ({ - ...obj, - }); -} - -export interface PutScheduledActionResponse {} - -export namespace PutScheduledActionResponse { - export const filterSensitiveLog = (obj: PutScheduledActionResponse): any => ({ - ...obj, - }); -} -export interface RegisterScalableTargetRequest { /** - *The minimum value that you plan to scale in to. When a scaling policy is in effect, - * Application Auto Scaling can scale in (contract) as needed to the minimum capacity limit in response to - * changing demand.
- *This parameter is required if you are registering a scalable target. For certain - * resources, the minimum value allowed is 0. This includes Lambda provisioned concurrency, - * Spot Fleet, ECS services, Aurora DB clusters, EMR clusters, and custom resources. For all - * other resources, the minimum value allowed is 1.
+ *The name of the scheduled action. This name must be unique among all other scheduled + * actions on the specified scalable target.
*/ - MinCapacity?: number; + ScheduledActionName: string | undefined; /** - *The maximum value that you plan to scale out to. When a scaling policy is in effect, - * Application Auto Scaling can scale out (expand) as needed to the maximum capacity limit in response to - * changing demand.
- *This parameter is required if you are registering a scalable target.
+ *The namespace of the AWS service that provides the resource. For a resource provided
+ * by your own application or service, use custom-resource
instead.
The identifier of the resource that is associated with the scalable target. - * This string consists of the resource type and unique identifier.
+ *The identifier of the resource associated with the scheduled action. + * This string consists of the resource type and unique identifier.
*ECS service - The resource type is service
and the unique identifier is the cluster name
@@ -3034,6 +3153,9 @@ export interface RegisterScalableTargetRequest {
*
Amazon Comprehend document classification endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE
.
Amazon Comprehend entity recognizer endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:entity-recognizer-endpoint/EXAMPLE
.
Lambda provisioned concurrency - The resource type is function
and the unique identifier is the function name with a function version or alias name suffix that is not $LATEST
.
* Example: function:my-function:prod
or function:my-function:1
.
Amazon Keyspaces table - The resource type is table
and the unique identifier is the table name.
* Example: keyspace/mykeyspace/table/mytable
.
Amazon MSK cluster - The resource type and unique identifier are specified using the cluster ARN.
+ * Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5
.
The date and time for the recurring schedule to end.
+ */ + EndTime?: Date; +} + +export namespace PutScheduledActionRequest { + export const filterSensitiveLog = (obj: PutScheduledActionRequest): any => ({ + ...obj, + }); +} + +export interface PutScheduledActionResponse {} + +export namespace PutScheduledActionResponse { + export const filterSensitiveLog = (obj: PutScheduledActionResponse): any => ({ + ...obj, + }); +} + +export interface RegisterScalableTargetRequest { /** *An embedded object that contains attributes and attribute values that are used to * suspend and resume automatic scaling. Setting the value of an attribute to @@ -3072,15 +3219,6 @@ export interface RegisterScalableTargetRequest { */ SuspendedState?: SuspendedState; - /** - *
This parameter is required for services that do not support service-linked roles (such - * as Amazon EMR), and it must specify the ARN of an IAM role that allows Application Auto Scaling to modify the - * scalable target on your behalf.
- *If the service supports service-linked roles, Application Auto Scaling uses a service-linked role, which - * it creates if it does not yet exist. For more information, see Application Auto Scaling IAM Roles.
- */ - RoleARN?: string; - /** *The namespace of the AWS service that provides the resource. For a resource provided
* by your own application or service, use custom-resource
instead.
The scalable dimension associated with the scalable target. - * This string consists of the service namespace, resource type, and scaling property.
+ * This string consists of the service namespace, resource type, and scaling property. *@@ -3141,6 +3279,10 @@ export interface RegisterScalableTargetRequest { *
+ * comprehend:entity-recognizer-endpoint:DesiredInferenceUnits
- The number of inference units for an Amazon Comprehend entity recognizer endpoint.
* lambda:function:ProvisionedConcurrency
- The provisioned concurrency for a Lambda function.
* cassandra:table:WriteCapacityUnits
- The provisioned write capacity for an Amazon Keyspaces table.
+ * kafka:broker-storage:VolumeSize
- The provisioned volume size (in GiB) for brokers in an Amazon MSK cluster.
The maximum value that you plan to scale out to. When a scaling policy is in effect, + * Application Auto Scaling can scale out (expand) as needed to the maximum capacity limit in response to + * changing demand.
+ *This parameter is required if you are registering a scalable target.
+ *Although you can specify a large maximum capacity, note that service quotas may impose + * lower limits. Each service has its own default quotas for the maximum capacity of the + * resource. If you want to specify a higher limit, you can request an increase. For more + * information, consult the documentation for that service. For information about the default + * quotas for each service, see Service Endpoints and + * Quotas in the Amazon Web Services General Reference.
+ */ + MaxCapacity?: number; + + /** + *The minimum value that you plan to scale in to. When a scaling policy is in effect, + * Application Auto Scaling can scale in (contract) as needed to the minimum capacity limit in response to + * changing demand.
+ *This parameter is required if you are registering a scalable target. For certain + * resources, the minimum value allowed is 0. This includes Lambda provisioned concurrency, Spot + * Fleet, ECS services, Aurora DB clusters, EMR clusters, and custom resources. For all other + * resources, the minimum value allowed is 1.
+ */ + MinCapacity?: number; + + /** + *The identifier of the resource that is associated with the scalable target. + * This string consists of the resource type and unique identifier.
+ *ECS service - The resource type is service
and the unique identifier is the cluster name
+ * and service name. Example: service/default/sample-webapp
.
Spot Fleet request - The resource type is spot-fleet-request
and the unique identifier is the
+ * Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE
.
EMR cluster - The resource type is instancegroup
and the unique identifier is the cluster ID and instance group ID.
+ * Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0
.
AppStream 2.0 fleet - The resource type is fleet
and the unique identifier is the fleet name.
+ * Example: fleet/sample-fleet
.
DynamoDB table - The resource type is table
and the unique identifier is the table name.
+ * Example: table/my-table
.
DynamoDB global secondary index - The resource type is index
and the unique identifier is the index name.
+ * Example: table/my-table/index/my-table-index
.
Aurora DB cluster - The resource type is cluster
and the unique identifier is the cluster name.
+ * Example: cluster:my-db-cluster
.
Amazon SageMaker endpoint variant - The resource type is variant
and the unique identifier is the resource ID.
+ * Example: endpoint/my-end-point/variant/KMeansClustering
.
Custom resources are not supported with a resource type. This parameter must specify the OutputValue
from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information
+ * is available in our GitHub
+ * repository.
Amazon Comprehend document classification endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE
.
Amazon Comprehend entity recognizer endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:entity-recognizer-endpoint/EXAMPLE
.
Lambda provisioned concurrency - The resource type is function
and the unique identifier is the function name with a function version or alias name suffix that is not $LATEST
.
+ * Example: function:my-function:prod
or function:my-function:1
.
Amazon Keyspaces table - The resource type is table
and the unique identifier is the table name.
+ * Example: keyspace/mykeyspace/table/mytable
.
Amazon MSK cluster - The resource type and unique identifier are specified using the cluster ARN.
+ * Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5
.
This parameter is required for services that do not support service-linked roles (such as + * Amazon EMR), and it must specify the ARN of an IAM role that allows Application Auto Scaling to modify the scalable + * target on your behalf.
+ *If the service supports service-linked roles, Application Auto Scaling uses a service-linked role, which + * it creates if it does not yet exist. For more information, see Application Auto Scaling IAM Roles.
+ */ + RoleARN?: string; } export namespace RegisterScalableTargetRequest { diff --git a/clients/client-application-auto-scaling/pagination/DescribeScalableTargetsPaginator.ts b/clients/client-application-auto-scaling/pagination/DescribeScalableTargetsPaginator.ts index 0284aac2df4f..2d77d9d21c07 100644 --- a/clients/client-application-auto-scaling/pagination/DescribeScalableTargetsPaginator.ts +++ b/clients/client-application-auto-scaling/pagination/DescribeScalableTargetsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeScalableTargetsPaginate( let hasNext = true; let page: DescribeScalableTargetsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof ApplicationAutoScaling) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeScalableTargetsPaginate( throw new Error("Invalid client, expected ApplicationAutoScaling | ApplicationAutoScalingClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-application-auto-scaling/pagination/DescribeScalingActivitiesPaginator.ts b/clients/client-application-auto-scaling/pagination/DescribeScalingActivitiesPaginator.ts index a9b42a8ebbde..9e6559532e32 100644 --- a/clients/client-application-auto-scaling/pagination/DescribeScalingActivitiesPaginator.ts +++ b/clients/client-application-auto-scaling/pagination/DescribeScalingActivitiesPaginator.ts @@ -33,7 +33,7 @@ export async function* describeScalingActivitiesPaginate( let hasNext = true; let page: DescribeScalingActivitiesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof ApplicationAutoScaling) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeScalingActivitiesPaginate( throw new Error("Invalid client, expected ApplicationAutoScaling | ApplicationAutoScalingClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-application-auto-scaling/pagination/DescribeScalingPoliciesPaginator.ts b/clients/client-application-auto-scaling/pagination/DescribeScalingPoliciesPaginator.ts index e57da092d5b7..d3d869ade9cf 100644 --- a/clients/client-application-auto-scaling/pagination/DescribeScalingPoliciesPaginator.ts +++ b/clients/client-application-auto-scaling/pagination/DescribeScalingPoliciesPaginator.ts @@ -33,7 +33,7 @@ export async function* describeScalingPoliciesPaginate( let hasNext = true; let page: DescribeScalingPoliciesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof ApplicationAutoScaling) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeScalingPoliciesPaginate( throw new Error("Invalid client, expected ApplicationAutoScaling | ApplicationAutoScalingClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-application-auto-scaling/pagination/DescribeScheduledActionsPaginator.ts b/clients/client-application-auto-scaling/pagination/DescribeScheduledActionsPaginator.ts index 3037a8537bad..f088172ef67c 100644 --- a/clients/client-application-auto-scaling/pagination/DescribeScheduledActionsPaginator.ts +++ b/clients/client-application-auto-scaling/pagination/DescribeScheduledActionsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeScheduledActionsPaginate( let hasNext = true; let page: DescribeScheduledActionsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof ApplicationAutoScaling) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeScheduledActionsPaginate( throw new Error("Invalid client, expected ApplicationAutoScaling | ApplicationAutoScalingClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-application-discovery-service/models/models_0.ts b/clients/client-application-discovery-service/models/models_0.ts index fc66a7dfa5bb..68aad0397fb6 100644 --- a/clients/client-application-discovery-service/models/models_0.ts +++ b/clients/client-application-discovery-service/models/models_0.ts @@ -86,39 +86,39 @@ export interface AgentInfo { agentId?: string; /** - *The ID of the connector.
+ *Type of agent.
*/ - connectorId?: string; + agentType?: string; /** - *Status of the collection process for an agent or connector.
+ *Agent's first registration timestamp in UTC.
*/ - collectionStatus?: string; + registeredTime?: string; /** - *Network details about the host where the agent or connector resides.
+ *The ID of the connector.
*/ - agentNetworkInfoList?: AgentNetworkInfo[]; + connectorId?: string; /** - *The health of the agent or connector.
+ *Status of the collection process for an agent or connector.
*/ - health?: AgentStatus | string; + collectionStatus?: string; /** - *Agent's first registration timestamp in UTC.
+ *The health of the agent or connector.
*/ - registeredTime?: string; + health?: AgentStatus | string; /** - *Type of agent.
+ *The agent or connector version.
*/ - agentType?: string; + version?: string; /** - *The agent or connector version.
+ *Network details about the host where the agent or connector resides.
*/ - version?: string; + agentNetworkInfoList?: AgentNetworkInfo[]; } export namespace AgentInfo { @@ -453,6 +453,13 @@ export interface Filter { */ name: string | undefined; + /** + *A string value on which to filter. For example, if you choose the
+ * destinationServer.osVersion
filter name, you could specify Ubuntu
+ * for the value.
A conditional operator. The following operators are valid: EQUALS, NOT_EQUALS, * CONTAINS, NOT_CONTAINS. If you specify multiple filters, the system utilizes all filters as @@ -462,13 +469,6 @@ export interface Filter { * returns attributes of matching configuration items.
*/ condition: string | undefined; - - /** - *A string value on which to filter. For example, if you choose the
- * destinationServer.osVersion
filter name, you could specify Ubuntu
- * for the value.
The token from the previous call to DescribeExportTasks
.
The unique IDs assigned to the exports.
*/ - nextToken?: string; + exportIds?: string[]; /** - *The unique IDs assigned to the exports.
+ *The token from the previous call to DescribeExportTasks
.
A number between 1 and 100 specifying the maximum number of continuous export @@ -608,20 +608,16 @@ export enum ContinuousExportStatus { */ export interface ContinuousExportDescription { /** - *
The type of data collector used to gather this data (currently only offered for - * AGENT).
- */ - dataSource?: DataSource | string; - - /** - *The timestamp representing when the continuous export was started.
- */ - startTime?: Date; - - /** - *The timestamp that represents when this continuous export was stopped.
+ *An object which describes how the data is stored.
+ *
+ * databaseName
- the name of the Glue database used to store the
+ * schema.
Contains information about any errors that have occurred. This data type can have the @@ -671,21 +667,15 @@ export interface ContinuousExportDescription { statusDetail?: string; /** - *
The name of the s3 bucket where the export data parquet files are stored.
+ *The type of data collector used to gather this data (currently only offered for + * AGENT).
*/ - s3Bucket?: string; + dataSource?: DataSource | string; /** - *An object which describes how the data is stored.
- *
- * databaseName
- the name of the Glue database used to store the
- * schema.
The name of the s3 bucket where the export data parquet files are stored.
*/ - schemaStorageConfig?: { [key: string]: string }; + s3Bucket?: string; /** *Describes the status of the export. Can be one of the following values:
@@ -723,6 +713,16 @@ export interface ContinuousExportDescription { *The unique ID assigned to this export.
*/ exportId?: string; + + /** + *The timestamp representing when the continuous export was started.
+ */ + startTime?: Date; + + /** + *The timestamp that represents when this continuous export was stopped.
+ */ + stopTime?: Date; } export namespace ContinuousExportDescription { @@ -733,14 +733,14 @@ export namespace ContinuousExportDescription { export interface DescribeContinuousExportsResponse { /** - *A list of continuous export descriptions.
+ *The token from the previous call to DescribeExportTasks
.
The token from the previous call to DescribeExportTasks
.
A list of continuous export descriptions.
*/ - nextToken?: string; + descriptions?: ContinuousExportDescription[]; } export namespace DescribeContinuousExportsResponse { @@ -770,16 +770,16 @@ export interface DescribeExportConfigurationsRequest { */ exportIds?: string[]; - /** - *The token from the previous call to describe-export-tasks.
- */ - nextToken?: string; - /** *A number between 1 and 100 specifying the maximum number of continuous export * descriptions returned.
*/ maxResults?: number; + + /** + *The token from the previous call to describe-export-tasks.
+ */ + nextToken?: string; } export namespace DescribeExportConfigurationsRequest { @@ -806,11 +806,9 @@ export interface ExportInfo { configurationsDownloadUrl?: string; /** - *The endTime
used in the StartExportTask
request. If no
- * endTime
was requested, this result does not appear in
- * ExportInfo
.
A status message provided for API callers.
*/ - requestedEndTime?: Date; + statusMessage: string | undefined; /** *A unique identifier used to query an export.
@@ -818,14 +816,16 @@ export interface ExportInfo { exportId: string | undefined; /** - *A status message provided for API callers.
+ *The time that the data export was initiated.
*/ - statusMessage: string | undefined; + exportRequestTime: Date | undefined; /** - *The time that the data export was initiated.
+ *The endTime
used in the StartExportTask
request. If no
+ * endTime
was requested, this result does not appear in
+ * ExportInfo
.
The value of startTime
parameter in the StartExportTask
@@ -834,11 +834,6 @@ export interface ExportInfo {
*/
requestedStartTime?: Date;
- /**
- *
The status of the data export job.
- */ - exportStatus: ExportStatus | string | undefined; - /** *If true, the export of agent information exceeded the size limit for a single export
* and the exported data is incomplete for the requested time range. To address this, select a
@@ -846,6 +841,11 @@ export interface ExportInfo {
* endDate
.
The status of the data export job.
+ */ + exportStatus: ExportStatus | string | undefined; } export namespace ExportInfo { @@ -916,11 +916,6 @@ export interface DescribeExportTasksRequest { */ filters?: ExportFilter[]; - /** - *One or more unique identifiers used to query the status of an export request.
- */ - exportIds?: string[]; - /** *The maximum number of volume results returned by DescribeExportTasks
in
* paginated output. When this parameter is used, DescribeExportTasks
only returns
@@ -929,6 +924,11 @@ export interface DescribeExportTasksRequest {
*/
maxResults?: number;
+ /**
+ *
One or more unique identifiers used to query the status of an export request.
+ */ + exportIds?: string[]; + /** *The nextToken
value returned from a previous paginated
* DescribeExportTasks
request where maxResults
was used and the
@@ -946,6 +946,13 @@ export namespace DescribeExportTasksRequest {
}
export interface DescribeExportTasksResponse {
+ /**
+ *
Contains one or more sets of export request details. When the status of a request is
+ * SUCCEEDED
, the response includes a URL for an Amazon S3 bucket where you can
+ * view the data in a CSV file.
The nextToken
value to include in a future
* DescribeExportTasks
request. When the results of a
@@ -954,13 +961,6 @@ export interface DescribeExportTasksResponse {
* to return.
Contains one or more sets of export request details. When the status of a request is
- * SUCCEEDED
, the response includes a URL for an Amazon S3 bucket where you can
- * view the data in a CSV file.
The name, status, or import task ID for a specific import task.
- */ - name?: ImportTaskFilterName | string; - /** *An array of strings that you can provide to match against a specific name, status, or * import task ID to filter the results for your import task queries.
*/ values?: string[]; + + /** + *The name, status, or import task ID for a specific import task.
+ */ + name?: ImportTaskFilterName | string; } export namespace ImportTaskFilter { @@ -1004,14 +1004,14 @@ export namespace ImportTaskFilter { export interface DescribeImportTasksRequest { /** - *The token to request a specific page of results.
+ *The maximum number of results that you want this request to return, up to 100.
*/ - nextToken?: string; + maxResults?: number; /** - *The maximum number of results that you want this request to return, up to 100.
+ *The token to request a specific page of results.
*/ - maxResults?: number; + nextToken?: string; /** *An array of name-value pairs that you provide to filter the results for the @@ -1047,10 +1047,25 @@ export enum ImportStatus { */ export interface ImportTask { /** - *
The time that the import task request was deleted, presented in the Unix time stamp + *
The status of the import task. An import can have the status of
+ * IMPORT_COMPLETE
and still have some records fail to import from the overall
+ * request. More information can be found in the downloadable archive defined in the
+ * errorsAndFailedEntriesZip
field, or in the Migration Hub management
+ * console.
The time that the import task request finished, presented in the Unix time stamp * format.
*/ - importDeletedTime?: Date; + importCompletionTime?: Date; + + /** + *The total number of application records in the import file that were successfully + * imported.
+ */ + applicationImportSuccess?: number; /** *A descriptive name for an import task. You can use this name to filter future requests @@ -1060,15 +1075,15 @@ export interface ImportTask { name?: string; /** - *
The total number of server records in the import file that failed to be imported.
+ *The URL for your import file that you've uploaded to Amazon S3.
*/ - serverImportFailure?: number; + importUrl?: string; /** - *The total number of server records in the import file that were successfully - * imported.
+ *The time that the import task request was deleted, presented in the Unix time stamp + * format.
*/ - serverImportSuccess?: number; + importDeletedTime?: Date; /** *A unique token used to prevent the same import request from occurring more than once. If @@ -1078,36 +1093,27 @@ export interface ImportTask { clientRequestToken?: string; /** - *
The time that the import task request was made, presented in the Unix time stamp - * format.
- */ - importRequestTime?: Date; - - /** - *The total number of application records in the import file that were successfully + *
The total number of server records in the import file that were successfully * imported.
*/ - applicationImportSuccess?: number; + serverImportSuccess?: number; /** - *The URL for your import file that you've uploaded to Amazon S3.
+ *The time that the import task request was made, presented in the Unix time stamp + * format.
*/ - importUrl?: string; + importRequestTime?: Date; /** - *The status of the import task. An import can have the status of
- * IMPORT_COMPLETE
and still have some records fail to import from the overall
- * request. More information can be found in the downloadable archive defined in the
- * errorsAndFailedEntriesZip
field, or in the Migration Hub management
- * console.
The total number of application records in the import file that failed to be + * imported.
*/ - status?: ImportStatus | string; + applicationImportFailure?: number; /** - *The time that the import task request finished, presented in the Unix time stamp - * format.
+ *The total number of server records in the import file that failed to be imported.
*/ - importCompletionTime?: Date; + serverImportFailure?: number; /** *A link to a compressed archive folder (in the ZIP format) that contains an error log and a @@ -1124,12 +1130,6 @@ export interface ImportTask { */ errorsAndFailedEntriesZip?: string; - /** - *
The total number of application records in the import file that failed to be - * imported.
- */ - applicationImportFailure?: number; - /** *The unique ID for a specific import task. These IDs aren't globally unique, but they are * unique within an AWS account.
@@ -1145,15 +1145,15 @@ export namespace ImportTask { export interface DescribeImportTasksResponse { /** - *A returned array of import tasks that match any applied filters, up to the specified - * number of maximum results.
+ *The token to request the next page of results.
*/ - tasks?: ImportTask[]; + nextToken?: string; /** - *The token to request the next page of results.
+ *A returned array of import tasks that match any applied filters, up to the specified + * number of maximum results.
*/ - nextToken?: string; + tasks?: ImportTask[]; } export namespace DescribeImportTasksResponse { @@ -1168,14 +1168,14 @@ export namespace DescribeImportTasksResponse { */ export interface TagFilter { /** - *Values for the tag filter.
+ *A name of the tag filter.
*/ - values: string[] | undefined; + name: string | undefined; /** - *A name of the tag filter.
+ *Values for the tag filter.
*/ - name: string | undefined; + values: string[] | undefined; } export namespace TagFilter { @@ -1228,6 +1228,11 @@ export interface ConfigurationTag { */ configurationId?: string; + /** + *A type of IT asset to tag.
+ */ + configurationType?: ConfigurationItemType | string; + /** *A value on which to filter. For example key = serverType and * value = web server.
@@ -1235,21 +1240,16 @@ export interface ConfigurationTag { value?: string; /** - *A type of IT asset to tag.
+ *The time the configuration tag was created in Coordinated Universal Time + * (UTC).
*/ - configurationType?: ConfigurationItemType | string; + timeOfCreation?: Date; /** *A type of tag on which to filter. For example, * serverType.
*/ key?: string; - - /** - *The time the configuration tag was created in Coordinated Universal Time - * (UTC).
- */ - timeOfCreation?: Date; } export namespace ConfigurationTag { @@ -1328,6 +1328,11 @@ export namespace GetDiscoverySummaryRequest { *Inventory data for installed discovery agents.
*/ export interface CustomerAgentInfo { + /** + *Number of discovery agents with status SHUTDOWN.
+ */ + shutdownAgents: number | undefined; + /** *Total number of discovery agents.
*/ @@ -1348,20 +1353,15 @@ export interface CustomerAgentInfo { */ blackListedAgents: number | undefined; - /** - *Number of unknown discovery agents.
- */ - unknownAgents: number | undefined; - /** *Number of unhealthy discovery agents.
*/ unhealthyAgents: number | undefined; /** - *Number of discovery agents with status SHUTDOWN.
+ *Number of unknown discovery agents.
*/ - shutdownAgents: number | undefined; + unknownAgents: number | undefined; } export namespace CustomerAgentInfo { @@ -1379,11 +1379,6 @@ export interface CustomerConnectorInfo { */ blackListedConnectors: number | undefined; - /** - *Number of healthy discovery connectors.
- */ - healthyConnectors: number | undefined; - /** *Total number of discovery connectors.
*/ @@ -1394,6 +1389,11 @@ export interface CustomerConnectorInfo { */ shutdownConnectors: number | undefined; + /** + *Number of healthy discovery connectors.
+ */ + healthyConnectors: number | undefined; + /** *Number of active discovery connectors.
*/ @@ -1417,6 +1417,11 @@ export namespace CustomerConnectorInfo { } export interface GetDiscoverySummaryResponse { + /** + *The number of servers discovered.
+ */ + servers?: number; + /** *The number of servers mapped to tags.
*/ @@ -1427,16 +1432,6 @@ export interface GetDiscoverySummaryResponse { */ serversMappedToApplications?: number; - /** - *The number of servers discovered.
- */ - servers?: number; - - /** - *The number of applications discovered.
- */ - applications?: number; - /** *Details about discovered connectors, including connector status and health.
*/ @@ -1446,6 +1441,11 @@ export interface GetDiscoverySummaryResponse { *Details about discovered agents, including agent status and health.
*/ agentSummary?: CustomerAgentInfo; + + /** + *The number of applications discovered.
+ */ + applications?: number; } export namespace GetDiscoverySummaryResponse { @@ -1481,6 +1481,14 @@ export namespace OrderByElement { } export interface ListConfigurationsRequest { + /** + *Token to retrieve the next set of results. For example, if a previous call to
+ * ListConfigurations returned 100 items, but you set
+ * ListConfigurationsRequest$maxResults
to 10, you received a set of 10 results
+ * along with a token. Use that token in this query to get the next set of 10.
The total number of items to return. The maximum value is 100.
*/ @@ -1493,14 +1501,6 @@ export interface ListConfigurationsRequest { */ orderBy?: OrderByElement[]; - /** - *Token to retrieve the next set of results. For example, if a previous call to
- * ListConfigurations returned 100 items, but you set
- * ListConfigurationsRequest$maxResults
to 10, you received a set of 10 results
- * along with a token. Use that token in this query to get the next set of 10.
A valid configuration identified by Application Discovery Service.
*/ @@ -1549,21 +1549,15 @@ export namespace ListConfigurationsResponse { } export interface ListServerNeighborsRequest { - /** - *Maximum number of results to return in a single page of output.
- */ - maxResults?: number; - /** *List of configuration IDs to test for one-hop-away.
*/ neighborConfigurationIds?: string[]; /** - *Flag to indicate if port and protocol information is needed as part of the - * response.
+ *Maximum number of results to return in a single page of output.
*/ - portInformationNeeded?: boolean; + maxResults?: number; /** *Token to retrieve the next set of results. For example, if you previously specified 100 @@ -1577,6 +1571,12 @@ export interface ListServerNeighborsRequest { *
Configuration ID of the server for which neighbors are being listed.
*/ configurationId: string | undefined; + + /** + *Flag to indicate if port and protocol information is needed as part of the + * response.
+ */ + portInformationNeeded?: boolean; } export namespace ListServerNeighborsRequest { @@ -1590,14 +1590,14 @@ export namespace ListServerNeighborsRequest { */ export interface NeighborConnectionDetail { /** - *The number of open network connections with the neighboring server.
+ *The ID of the server that accepted the network connection.
*/ - connectionsCount: number | undefined; + destinationServerId: string | undefined; /** - *The ID of the server that accepted the network connection.
+ *The network protocol used for the connection.
*/ - destinationServerId: string | undefined; + transportProtocol?: string; /** *The ID of the server that opened the network connection.
@@ -1605,14 +1605,14 @@ export interface NeighborConnectionDetail { sourceServerId: string | undefined; /** - *The network protocol used for the connection.
+ *The destination network port for the connection.
*/ - transportProtocol?: string; + destinationPort?: number; /** - *The destination network port for the connection.
+ *The number of open network connections with the neighboring server.
*/ - destinationPort?: number; + connectionsCount: number | undefined; } export namespace NeighborConnectionDetail { @@ -1696,6 +1696,17 @@ export interface StartContinuousExportResponse { */ s3Bucket?: string; + /** + *The type of data collector used to gather this data (currently only offered for + * AGENT).
+ */ + dataSource?: DataSource | string; + + /** + *The timestamp representing when the continuous export was started.
+ */ + startTime?: Date; + /** *A dictionary which describes how the data is stored.
*The type of data collector used to gather this data (currently only offered for - * AGENT).
- */ - dataSource?: DataSource | string; - - /** - *The timestamp representing when the continuous export was started.
- */ - startTime?: Date; - /** *The unique ID assigned to this export.
*/ @@ -1771,13 +1771,6 @@ export enum ExportDataFormat { } export interface StartExportTaskRequest { - /** - *The start timestamp for exported data from the single Application Discovery Agent - * selected in the filters. If no value is specified, data is exported starting from the first - * data collected by the agent.
- */ - startTime?: Date; - /** *The end timestamp for exported data from the single Application Discovery Agent * selected in the filters. If no value is specified, exported data includes the most recent data @@ -1804,6 +1797,13 @@ export interface StartExportTaskRequest { *
*/ exportDataFormat?: (ExportDataFormat | string)[]; + + /** + *The start timestamp for exported data from the single Application Discovery Agent + * selected in the filters. If no value is specified, data is exported starting from the first + * data collected by the agent.
+ */ + startTime?: Date; } export namespace StartExportTaskRequest { @@ -1826,6 +1826,13 @@ export namespace StartExportTaskResponse { } export interface StartImportTaskRequest { + /** + *A descriptive name for this request. You can use this name to filter future requests + * related to this import task, such as identifying applications and servers that were included + * in this import task. We recommend that you use a meaningful name for each import task.
+ */ + name: string | undefined; + /** *The URL for your import file that you've uploaded to Amazon S3.
* @@ -1847,13 +1854,6 @@ export interface StartImportTaskRequest { * token. */ clientRequestToken?: string; - - /** - *A descriptive name for this request. You can use this name to filter future requests - * related to this import task, such as identifying applications and servers that were included - * in this import task. We recommend that you use a meaningful name for each import task.
- */ - name: string | undefined; } export namespace StartImportTaskRequest { @@ -1891,15 +1891,15 @@ export namespace StopContinuousExportRequest { export interface StopContinuousExportResponse { /** - *Timestamp that represents when this continuous export started collecting - * data.
+ *Timestamp that represents when this continuous export was stopped.
*/ - startTime?: Date; + stopTime?: Date; /** - *Timestamp that represents when this continuous export was stopped.
+ *Timestamp that represents when this continuous export started collecting + * data.
*/ - stopTime?: Date; + startTime?: Date; } export namespace StopContinuousExportResponse { @@ -1937,6 +1937,11 @@ export namespace StopDataCollectionByAgentIdsResponse { } export interface UpdateApplicationRequest { + /** + *Configuration ID of the application to be updated.
+ */ + configurationId: string | undefined; + /** *New name of the application to be updated.
*/ @@ -1946,11 +1951,6 @@ export interface UpdateApplicationRequest { *New description of the application to be updated.
*/ description?: string; - - /** - *Configuration ID of the application to be updated.
- */ - configurationId: string | undefined; } export namespace UpdateApplicationRequest { diff --git a/clients/client-application-discovery-service/pagination/DescribeContinuousExportsPaginator.ts b/clients/client-application-discovery-service/pagination/DescribeContinuousExportsPaginator.ts index cc2394d0e9a7..4d781ac69395 100644 --- a/clients/client-application-discovery-service/pagination/DescribeContinuousExportsPaginator.ts +++ b/clients/client-application-discovery-service/pagination/DescribeContinuousExportsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeContinuousExportsPaginate( let hasNext = true; let page: DescribeContinuousExportsCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof ApplicationDiscoveryService) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeContinuousExportsPaginate( throw new Error("Invalid client, expected ApplicationDiscoveryService | ApplicationDiscoveryServiceClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-application-discovery-service/pagination/DescribeImportTasksPaginator.ts b/clients/client-application-discovery-service/pagination/DescribeImportTasksPaginator.ts index 2437bbe5c5a3..4b6235c0243b 100644 --- a/clients/client-application-discovery-service/pagination/DescribeImportTasksPaginator.ts +++ b/clients/client-application-discovery-service/pagination/DescribeImportTasksPaginator.ts @@ -33,7 +33,7 @@ export async function* describeImportTasksPaginate( let hasNext = true; let page: DescribeImportTasksCommandOutput; while (hasNext) { - input["nextToken"] = token; + input.nextToken = token; input["maxResults"] = config.pageSize; if (config.client instanceof ApplicationDiscoveryService) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeImportTasksPaginate( throw new Error("Invalid client, expected ApplicationDiscoveryService | ApplicationDiscoveryServiceClient"); } yield page; - token = page["nextToken"]; + token = page.nextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-application-insights/models/models_0.ts b/clients/client-application-insights/models/models_0.ts index 6edb9afffbff..98d658a9c95f 100644 --- a/clients/client-application-insights/models/models_0.ts +++ b/clients/client-application-insights/models/models_0.ts @@ -9,24 +9,24 @@ export type Tier = "DEFAULT" | "DOT_NET_CORE" | "DOT_NET_WEB" | "DOT_NET_WORKER" */ export interface ApplicationComponent { /** - *The resource type. Supported resource types include EC2 instances, Auto Scaling group, Classic ELB, Application ELB, and SQS Queue.
+ *The name of the component.
*/ - ResourceType?: string; + ComponentName?: string; /** - *The name of the component.
+ *The stack tier of the application component.
*/ - ComponentName?: string; + Tier?: Tier | string; /** - *Indicates whether the application component is monitored.
+ *The resource type. Supported resource types include EC2 instances, Auto Scaling group, Classic ELB, Application ELB, and SQS Queue.
*/ - Monitor?: boolean; + ResourceType?: string; /** - *The stack tier of the application component.
+ *Indicates whether the application component is monitored.
*/ - Tier?: Tier | string; + Monitor?: boolean; } export namespace ApplicationComponent { @@ -39,19 +39,6 @@ export namespace ApplicationComponent { *Describes the status of the application.
*/ export interface ApplicationInfo { - /** - *- * The SNS topic provided to Application Insights that is associated to the created opsItems to receive SNS notifications - * for opsItem updates. - *
- */ - OpsItemSNSTopicArn?: string; - - /** - *The lifecycle of the application.
- */ - LifeCycle?: string; - /** *The name of the resource group used for the application.
*/ @@ -85,6 +72,19 @@ export interface ApplicationInfo { * */ CWEMonitorEnabled?: boolean; + + /** + *+ * The SNS topic provided to Application Insights that is associated to the created opsItems to receive SNS notifications + * for opsItem updates. + *
+ */ + OpsItemSNSTopicArn?: string; + + /** + *The lifecycle of the application.
+ */ + LifeCycle?: string; } export namespace ApplicationInfo { @@ -122,45 +122,45 @@ export type ConfigurationEventStatus = "ERROR" | "INFO" | "WARN"; export interface ConfigurationEvent { /** *- * The details of the event in plain text. + * The name of the resource Application Insights attempted to configure. *
*/ - EventDetail?: string; + EventResourceName?: string; /** *- * The resource monitored by Application Insights. + * The resource type that Application Insights attempted to configure, for example, CLOUDWATCH_ALARM. *
*/ - MonitoredResourceARN?: string; + EventResourceType?: ConfigurationEventResourceType | string; /** *- * The status of the configuration update event. Possible values include INFO, WARN, and ERROR. + * The timestamp of the event. *
*/ - EventStatus?: ConfigurationEventStatus | string; + EventTime?: Date; /** *- * The name of the resource Application Insights attempted to configure. + * The details of the event in plain text. *
*/ - EventResourceName?: string; + EventDetail?: string; /** *- * The resource type that Application Insights attempted to configure, for example, CLOUDWATCH_ALARM. + * The resource monitored by Application Insights. *
*/ - EventResourceType?: ConfigurationEventResourceType | string; + MonitoredResourceARN?: string; /** *- * The timestamp of the event. + * The status of the configuration update event. Possible values include INFO, WARN, and ERROR. *
*/ - EventTime?: Date; + EventStatus?: ConfigurationEventStatus | string; } export namespace ConfigurationEvent { @@ -197,18 +197,18 @@ export namespace ConfigurationEvent { *One part of a key-value pair that defines a tag. The maximum length of a tag key is - * 128 characters. The minimum length is 1 character.
- */ - Key: string | undefined; - /** *The optional part of a key-value pair that defines a tag. The maximum length of a tag * value is 256 characters. The minimum length is 0 characters. If you don't want an * application to have a specific tag value, don't specify a value for this parameter.
*/ Value: string | undefined; + + /** + *One part of a key-value pair that defines a tag. The maximum length of a tag key is + * 128 characters. The minimum length is 1 character.
+ */ + Key: string | undefined; } export namespace Tag { @@ -218,6 +218,13 @@ export namespace Tag { } export interface CreateApplicationRequest { + /** + *
+ * Indicates whether Application Insights can listen to CloudWatch events for the application resources, such as instance terminated
, failed deployment
, and others.
+ *
* When set to true
, creates opsItems for any problems detected on an application.
@@ -233,25 +240,18 @@ export interface CreateApplicationRequest {
*/
OpsItemSNSTopicArn?: string;
- /**
- *
List of tags to add to the application.
- * tag key (Key
) and an associated tag value (Value
). The maximum
- * length of a tag key is 128 characters. The maximum length of a tag value is 256
- * characters.
The name of the resource group.
*/ ResourceGroupName: string | undefined; /** - *
- * Indicates whether Application Insights can listen to CloudWatch events for the application resources, such as instance terminated
, failed deployment
, and others.
- *
List of tags to add to the application.
+ * tag key (Key
) and an associated tag value (Value
). The maximum
+ * length of a tag key is 128 characters. The maximum length of a tag value is 256
+ * characters.
The list of resource ARNs that belong to the component.
- */ - ResourceList: string[] | undefined; - /** *The name of the component.
*/ @@ -363,6 +358,11 @@ export interface CreateComponentRequest { *The name of the resource group.
*/ ResourceGroupName: string | undefined; + + /** + *The list of resource ARNs that belong to the component.
+ */ + ResourceList: string[] | undefined; } export namespace CreateComponentRequest { @@ -381,29 +381,29 @@ export namespace CreateComponentResponse { export interface CreateLogPatternRequest { /** - *Rank of the log pattern.
+ *The log pattern.
*/ - Rank: number | undefined; + Pattern: string | undefined; /** - *The name of the log pattern.
+ *The name of the log pattern set.
*/ - PatternName: string | undefined; + PatternSetName: string | undefined; /** - *The name of the resource group.
+ *Rank of the log pattern.
*/ - ResourceGroupName: string | undefined; + Rank: number | undefined; /** - *The name of the log pattern set.
+ *The name of the log pattern.
*/ - PatternSetName: string | undefined; + PatternName: string | undefined; /** - *The log pattern.
+ *The name of the resource group.
*/ - Pattern: string | undefined; + ResourceGroupName: string | undefined; } export namespace CreateLogPatternRequest { @@ -417,10 +417,10 @@ export namespace CreateLogPatternRequest { */ export interface LogPattern { /** - *The name of the log pattern. A log pattern name can contains at many as 30 characters, and it cannot + *
The name of the log pattern. A log pattern name can contains at many as 50 characters, and it cannot * be empty. The characters can be Unicode letters, digits or one of the following symbols: period, dash, underscore.
*/ - PatternSetName?: string; + PatternName?: string; /** *Rank of the log pattern.
@@ -434,10 +434,10 @@ export interface LogPattern { Pattern?: string; /** - *The name of the log pattern. A log pattern name can contains at many as 50 characters, and it cannot + *
The name of the log pattern. A log pattern name can contains at many as 30 characters, and it cannot * be empty. The characters can be Unicode letters, digits or one of the following symbols: period, dash, underscore.
*/ - PatternName?: string; + PatternSetName?: string; } export namespace LogPattern { @@ -448,14 +448,14 @@ export namespace LogPattern { export interface CreateLogPatternResponse { /** - *The name of the resource group.
+ *The successfully created log pattern.
*/ - ResourceGroupName?: string; + LogPattern?: LogPattern; /** - *The successfully created log pattern.
+ *The name of the resource group.
*/ - LogPattern?: LogPattern; + ResourceGroupName?: string; } export namespace CreateLogPatternResponse { @@ -512,6 +512,11 @@ export namespace DeleteComponentResponse { } export interface DeleteLogPatternRequest { + /** + *The name of the log pattern set.
+ */ + PatternSetName: string | undefined; + /** *The name of the log pattern.
*/ @@ -521,11 +526,6 @@ export interface DeleteLogPatternRequest { *The name of the resource group.
*/ ResourceGroupName: string | undefined; - - /** - *The name of the log pattern set.
- */ - PatternSetName: string | undefined; } export namespace DeleteLogPatternRequest { @@ -588,15 +588,15 @@ export namespace DescribeComponentRequest { export interface DescribeComponentResponse { /** - *Describes a standalone resource or similarly grouped resources that the application is made - * up of.
+ *The list of resource ARNs that belong to the component.
*/ - ApplicationComponent?: ApplicationComponent; + ResourceList?: string[]; /** - *The list of resource ARNs that belong to the component.
+ *Describes a standalone resource or similarly grouped resources that the application is made + * up of.
*/ - ResourceList?: string[]; + ApplicationComponent?: ApplicationComponent; } export namespace DescribeComponentResponse { @@ -607,14 +607,14 @@ export namespace DescribeComponentResponse { export interface DescribeComponentConfigurationRequest { /** - *The name of the component.
+ *The name of the resource group.
*/ - ComponentName: string | undefined; + ResourceGroupName: string | undefined; /** - *The name of the resource group.
+ *The name of the component.
*/ - ResourceGroupName: string | undefined; + ComponentName: string | undefined; } export namespace DescribeComponentConfigurationRequest { @@ -625,12 +625,9 @@ export namespace DescribeComponentConfigurationRequest { export interface DescribeComponentConfigurationResponse { /** - *The tier of the application component. Supported tiers include
- * DOT_NET_CORE
, DOT_NET_WORKER
, DOT_NET_WEB
,
- * SQL_SERVER
, and DEFAULT
- *
The configuration settings of the component. The value is the escaped JSON of the configuration.
*/ - Tier?: Tier | string; + ComponentConfiguration?: string; /** *Indicates whether the application component is monitored.
@@ -638,9 +635,12 @@ export interface DescribeComponentConfigurationResponse { Monitor?: boolean; /** - *The configuration settings of the component. The value is the escaped JSON of the configuration.
+ *The tier of the application component. Supported tiers include
+ * DOT_NET_CORE
, DOT_NET_WORKER
, DOT_NET_WEB
,
+ * SQL_SERVER
, and DEFAULT
+ *
The name of the component.
- */ - ComponentName: string | undefined; - /** *The tier of the application component. Supported tiers include
* DOT_NET_CORE
, DOT_NET_WORKER
, DOT_NET_WEB
, SQL_SERVER
,
@@ -666,6 +661,11 @@ export interface DescribeComponentConfigurationRecommendationRequest {
*
The name of the resource group.
*/ ResourceGroupName: string | undefined; + + /** + *The name of the component.
+ */ + ComponentName: string | undefined; } export namespace DescribeComponentConfigurationRecommendationRequest { @@ -688,6 +688,11 @@ export namespace DescribeComponentConfigurationRecommendationResponse { } export interface DescribeLogPatternRequest { + /** + *The name of the log pattern set.
+ */ + PatternSetName: string | undefined; + /** *The name of the log pattern.
*/ @@ -697,11 +702,6 @@ export interface DescribeLogPatternRequest { *The name of the resource group.
*/ ResourceGroupName: string | undefined; - - /** - *The name of the log pattern set.
- */ - PatternSetName: string | undefined; } export namespace DescribeLogPatternRequest { @@ -712,14 +712,14 @@ export namespace DescribeLogPatternRequest { export interface DescribeLogPatternResponse { /** - *The successfully created log pattern.
+ *The name of the resource group.
*/ - LogPattern?: LogPattern; + ResourceGroupName?: string; /** - *The name of the resource group.
+ *The successfully created log pattern.
*/ - ResourceGroupName?: string; + LogPattern?: LogPattern; } export namespace DescribeLogPatternResponse { @@ -748,199 +748,199 @@ export type LogFilter = "ERROR" | "INFO" | "WARN"; */ export interface Observation { /** - *The source of the CloudWatch Event.
+ *The timestamp in the CloudWatch Logs that specifies when the matched line occurred.
*/ - CloudWatchEventSource?: CloudWatchEventSource | string; + LineTime?: Date; /** - * The detail type of the CloudWatch Event-based observation, for example, EC2
- * Instance State-change Notification
.
The service to which the AWS Health Event belongs, such as EC2.
*/ - CloudWatchEventDetailType?: string; + HealthService?: string; /** *
- * The name of the X-Ray node.
+ * The status of the CodeDeploy deployment, for example SUCCESS
or FAILURE
.
*
The ID of the observation type.
- */ - Id?: string; + CodeDeployState?: string; /** - *The source resource ARN of the observation.
+ *The deployment ID of the CodeDeploy-based observation related to the detected problem.
*/ - SourceARN?: string; + CodeDeployDeploymentId?: string; /** *- * The CodeDeploy application to which the deployment belongs. + * The X-Ray request fault percentage for this node. *
*/ - CodeDeployApplication?: string; + XRayFaultPercent?: number; /** - *The description of the AWS Health event provided by the service, such as Amazon EC2.
+ *The Amazon Resource Name (ARN) of the AWS Health Event-based observation.
*/ - HealthEventDescription?: string; + HealthEventArn?: string; /** - * The category of the AWS Health event, such as issue
.
The name of the observation metric.
*/ - HealthEventTypeCategory?: string; + MetricName?: string; /** *- * The X-Ray request throttle percentage for this node. + * The X-Ray request count for this node. *
*/ - XRayThrottlePercent?: number; + XRayRequestCount?: number; /** - *The value of the source observation metric.
+ * The detail type of the CloudWatch Event-based observation, for example, EC2
+ * Instance State-change Notification
.
The log filter of the observation.
+ *The source type of the observation.
*/ - LogFilter?: LogFilter | string; + SourceType?: string; /** *- * The deployment group to which the CodeDeploy deployment belongs. + * The X-Ray request error percentage for this node. *
*/ - CodeDeployDeploymentGroup?: string; + XRayErrorPercent?: number; /** - *- * The instance group to which the CodeDeploy instance belongs. - *
+ * The category of the AWS Health event, such as issue
.
The ID of the CloudWatch Event-based observation related to the detected problem.
+ *+ * The X-Ray node request average latency for this node. + *
*/ - CloudWatchEventId?: string; + XRayRequestAverageLatency?: number; /** - *The unit of the source observation metric.
+ *The namespace of the observation metric.
*/ - Unit?: string; + MetricNamespace?: string; /** - *The time when the observation ended, in epoch seconds.
+ *
+ * The state of the instance, such as STOPPING
or TERMINATING
.
+ *
The log text of the observation.
+ *The ID of the CloudWatch Event-based observation related to the detected problem.
*/ - LogText?: string; + CloudWatchEventId?: string; /** *
- * The state of the instance, such as STOPPING
or TERMINATING
.
+ * The X-Ray request throttle percentage for this node.
*
The log group name.
+ *The time when the observation was first detected, in epoch seconds.
*/ - LogGroup?: string; + StartTime?: Date; /** - *- * The X-Ray node request average latency for this node. - *
+ *The value of the source observation metric.
*/ - XRayRequestAverageLatency?: number; + Value?: number; /** - * The type of the AWS Health event, for example,
- * AWS_EC2_POWER_CONNECTIVITY_ISSUE
.
+ * The type of the X-Ray node.
*/ - HealthEventTypeCode?: string; + XRayNodeType?: string; /** - *The deployment ID of the CodeDeploy-based observation related to the detected problem.
+ *The source resource ARN of the observation.
*/ - CodeDeployDeploymentId?: string; + SourceARN?: string; /** - *The name of the observation metric.
+ *The log text of the observation.
*/ - MetricName?: string; + LogText?: string; /** - *The service to which the AWS Health Event belongs, such as EC2.
+ *The ID of the observation type.
*/ - HealthService?: string; + Id?: string; /** - *The timestamp in the CloudWatch Logs that specifies when the matched line occurred.
+ *The description of the AWS Health event provided by the service, such as Amazon EC2.
*/ - LineTime?: Date; + HealthEventDescription?: string; /** - *The Amazon Resource Name (ARN) of the AWS Health Event-based observation.
+ * The type of the AWS Health event, for example,
+ * AWS_EC2_POWER_CONNECTIVITY_ISSUE
.
- * The status of the CodeDeploy deployment, for example SUCCESS
or FAILURE
.
+ * The name of the X-Ray node.
*
- * The type of the X-Ray node.
+ *The time when the observation ended, in epoch seconds.
*/ - XRayNodeType?: string; + EndTime?: Date; /** - *The source type of the observation.
+ *The unit of the source observation metric.
*/ - SourceType?: string; + Unit?: string; /** *- * The X-Ray request count for this node. + * The CodeDeploy application to which the deployment belongs. *
*/ - XRayRequestCount?: number; + CodeDeployApplication?: string; /** - *The time when the observation was first detected, in epoch seconds.
+ *The log filter of the observation.
*/ - StartTime?: Date; + LogFilter?: LogFilter | string; /** *- * The X-Ray request error percentage for this node. + * The instance group to which the CodeDeploy instance belongs. *
*/ - XRayErrorPercent?: number; + CodeDeployInstanceGroupId?: string; /** - *The namespace of the observation metric.
+ *The source of the CloudWatch Event.
*/ - MetricNamespace?: string; + CloudWatchEventSource?: CloudWatchEventSource | string; + + /** + *The log group name.
+ */ + LogGroup?: string; /** *- * The X-Ray request fault percentage for this node. + * The deployment group to which the CodeDeploy deployment belongs. *
*/ - XRayFaultPercent?: number; + CodeDeployDeploymentGroup?: string; } export namespace Observation { @@ -988,54 +988,54 @@ export type Status = "IGNORE" | "PENDING" | "RESOLVED"; */ export interface Problem { /** - *The resource affected by the problem.
+ *The name of the problem.
*/ - AffectedResource?: string; + Title?: string; /** - *A detailed analysis of the problem using machine learning.
+ *A measure of the level of impact of the problem.
*/ - Insights?: string; + SeverityLevel?: SeverityLevel | string; /** - *Feedback provided by the user about the problem.
+ *The name of the resource group affected by the problem.
*/ - Feedback?: { [key: string]: FeedbackValue | string }; + ResourceGroupName?: string; /** - *The time when the problem ended, in epoch seconds.
+ *The status of the problem.
*/ - EndTime?: Date; + Status?: Status | string; /** - *The status of the problem.
+ *The time when the problem ended, in epoch seconds.
*/ - Status?: Status | string; + EndTime?: Date; /** - *The name of the problem.
+ *The ID of the problem.
*/ - Title?: string; + Id?: string; /** - *The time when the problem started, in epoch seconds.
+ *A detailed analysis of the problem using machine learning.
*/ - StartTime?: Date; + Insights?: string; /** - *The name of the resource group affected by the problem.
+ *Feedback provided by the user about the problem.
*/ - ResourceGroupName?: string; + Feedback?: { [key: string]: FeedbackValue | string }; /** - *The ID of the problem.
+ *The time when the problem started, in epoch seconds.
*/ - Id?: string; + StartTime?: Date; /** - *A measure of the level of impact of the problem.
+ *The resource affected by the problem.
*/ - SeverityLevel?: SeverityLevel | string; + AffectedResource?: string; } export namespace Problem { @@ -1120,15 +1120,15 @@ export namespace ListApplicationsRequest { export interface ListApplicationsResponse { /** - *The token used to retrieve the next page of results. This value is null
- * when there are no more results to return.
The list of applications.
*/ - NextToken?: string; + ApplicationInfoList?: ApplicationInfo[]; /** - *The list of applications.
+ *The token used to retrieve the next page of results. This value is null
+ * when there are no more results to return.
The token to request the next page of results.
+ */ + NextToken?: string; + /** *The maximum number of results to return in a single call. To retrieve the remaining
* results, make another call with the returned NextToken
value.
The name of the resource group.
*/ ResourceGroupName: string | undefined; - - /** - *The token to request the next page of results.
- */ - NextToken?: string; } export namespace ListComponentsRequest { @@ -1180,6 +1180,19 @@ export namespace ListComponentsResponse { } export interface ListConfigurationHistoryRequest { + /** + *The NextToken
value returned from a previous paginated ListConfigurationHistory
request where
+ * MaxResults
was used and the results exceeded the value of that parameter. Pagination
+ * continues from the end of the previous results that returned the NextToken
value. This
+ * value is null
when there are no more results to return.
The start time of the event.
+ */ + StartTime?: Date; + /** * The maximum number of results returned by ListConfigurationHistory
in
* paginated output. When this parameter is used, ListConfigurationHistory
@@ -1192,17 +1205,9 @@ export interface ListConfigurationHistoryRequest {
MaxResults?: number;
/**
- *
Resource group to which the application belongs.
- */ - ResourceGroupName?: string; - - /** - *The NextToken
value returned from a previous paginated ListConfigurationHistory
request where
- * MaxResults
was used and the results exceeded the value of that parameter. Pagination
- * continues from the end of the previous results that returned the NextToken
value. This
- * value is null
when there are no more results to return.
The end time of the event.
*/ - NextToken?: string; + EndTime?: Date; /** *The status of the configuration update event. Possible values include INFO, WARN, and ERROR.
@@ -1210,14 +1215,9 @@ export interface ListConfigurationHistoryRequest { EventStatus?: ConfigurationEventStatus | string; /** - *The end time of the event.
- */ - EndTime?: Date; - - /** - *The start time of the event.
+ *Resource group to which the application belongs.
*/ - StartTime?: Date; + ResourceGroupName?: string; } export namespace ListConfigurationHistoryRequest { @@ -1227,11 +1227,6 @@ export namespace ListConfigurationHistoryRequest { } export interface ListConfigurationHistoryResponse { - /** - *The list of configuration events and their corresponding details.
- */ - EventList?: ConfigurationEvent[]; - /** *The NextToken
value to include in a future
* ListConfigurationHistory
request. When the results of a
@@ -1240,6 +1235,11 @@ export interface ListConfigurationHistoryResponse {
* there are no more results to return.
The list of configuration events and their corresponding details.
+ */ + EventList?: ConfigurationEvent[]; } export namespace ListConfigurationHistoryResponse { @@ -1249,6 +1249,11 @@ export namespace ListConfigurationHistoryResponse { } export interface ListLogPatternsRequest { + /** + *The token to request the next page of results.
+ */ + NextToken?: string; + /** *The name of the resource group.
*/ @@ -1264,11 +1269,6 @@ export interface ListLogPatternsRequest { *The name of the log pattern set.
*/ PatternSetName?: string; - - /** - *The token to request the next page of results.
- */ - NextToken?: string; } export namespace ListLogPatternsRequest { @@ -1278,6 +1278,11 @@ export namespace ListLogPatternsRequest { } export interface ListLogPatternsResponse { + /** + *The name of the resource group.
+ */ + ResourceGroupName?: string; + /** *The token used to retrieve the next page of results. This value is null
* when there are no more results to return.
The list of log patterns.
*/ LogPatterns?: LogPattern[]; - - /** - *The name of the resource group.
- */ - ResourceGroupName?: string; } export namespace ListLogPatternsResponse { @@ -1302,6 +1302,11 @@ export namespace ListLogPatternsResponse { } export interface ListLogPatternSetsRequest { + /** + *The token to request the next page of results.
+ */ + NextToken?: string; + /** *The maximum number of results to return in a single call. To retrieve the remaining
* results, make another call with the returned NextToken
value.
The name of the resource group.
*/ ResourceGroupName: string | undefined; - - /** - *The token to request the next page of results.
- */ - NextToken?: string; } export namespace ListLogPatternSetsRequest { @@ -1331,16 +1331,16 @@ export interface ListLogPatternSetsResponse { */ ResourceGroupName?: string; - /** - *The list of log pattern sets.
- */ - LogPatternSets?: string[]; - /** *The token used to retrieve the next page of results. This value is null
* when there are no more results to return.
The list of log pattern sets.
+ */ + LogPatternSets?: string[]; } export namespace ListLogPatternSetsResponse { @@ -1351,32 +1351,32 @@ export namespace ListLogPatternSetsResponse { export interface ListProblemsRequest { /** - *The time when the problem was detected, in epoch - * seconds. If you don't specify a time frame for the request, problems within the past seven days are returned.
+ *The token to request the next page of results.
*/ - StartTime?: Date; + NextToken?: string; /** - *The name of the resource group.
+ *The maximum number of results to return in a single call. To retrieve the remaining
+ * results, make another call with the returned NextToken
value.
The time when the problem ended, in epoch seconds. If not specified, problems within the - * past seven days are returned.
+ *The name of the resource group.
*/ - EndTime?: Date; + ResourceGroupName?: string; /** - *The token to request the next page of results.
+ *The time when the problem was detected, in epoch + * seconds. If you don't specify a time frame for the request, problems within the past seven days are returned.
*/ - NextToken?: string; + StartTime?: Date; /** - *The maximum number of results to return in a single call. To retrieve the remaining
- * results, make another call with the returned NextToken
value.
The time when the problem ended, in epoch seconds. If not specified, problems within the + * past seven days are returned.
*/ - MaxResults?: number; + EndTime?: Date; } export namespace ListProblemsRequest { @@ -1434,11 +1434,6 @@ export namespace ListTagsForResourceResponse { } export interface TagResourceRequest { - /** - *The Amazon Resource Name (ARN) of the application that you want to add one or more tags to.
- */ - ResourceARN: string | undefined; - /** *A list of tags that to add to the application. A tag consists of a required
* tag key (Key
) and an associated tag value (Value
). The maximum
@@ -1446,6 +1441,11 @@ export interface TagResourceRequest {
* characters.
The Amazon Resource Name (ARN) of the application that you want to add one or more tags to.
+ */ + ResourceARN: string | undefined; } export namespace TagResourceRequest { @@ -1469,12 +1469,11 @@ export namespace TagResourceResponse { export interface TooManyTagsException extends __SmithyException, $MetadataBearer { name: "TooManyTagsException"; $fault: "client"; + Message?: string; /** *The name of the resource with too many tags.
*/ ResourceName?: string; - - Message?: string; } export namespace TooManyTagsException { @@ -1516,22 +1515,17 @@ export namespace UntagResourceResponse { export interface UpdateApplicationRequest { /** *
- * Indicates whether Application Insights can listen to CloudWatch events for the application resources, such as instance terminated
, failed deployment
, and others.
+ * When set to true
, creates opsItems for any problems detected on an application.
*
The name of the resource group.
- */ - ResourceGroupName: string | undefined; + OpsCenterEnabled?: boolean; /** *
- * When set to true
, creates opsItems for any problems detected on an application.
- *
@@ -1541,10 +1535,15 @@ export interface UpdateApplicationRequest { /** *
- * The SNS topic provided to Application Insights that is associated to the created opsItem. Allows you to - * receive notifications for updates to the opsItem.
+ * Indicates whether Application Insights can listen to CloudWatch events for the application resources, such asinstance terminated
, failed deployment
, and others.
+ *
*/
- OpsItemSNSTopicArn?: string;
+ CWEMonitorEnabled?: boolean;
+
+ /**
+ * The name of the resource group.
+ */ + ResourceGroupName: string | undefined; } export namespace UpdateApplicationRequest { @@ -1568,24 +1567,24 @@ export namespace UpdateApplicationResponse { export interface UpdateComponentRequest { /** - *The new name of the component.
+ *The name of the component.
*/ - NewComponentName?: string; + ComponentName: string | undefined; /** - *The name of the resource group.
+ *The list of resource ARNs that belong to the component.
*/ - ResourceGroupName: string | undefined; + ResourceList?: string[]; /** - *The name of the component.
+ *The new name of the component.
*/ - ComponentName: string | undefined; + NewComponentName?: string; /** - *The list of resource ARNs that belong to the component.
+ *The name of the resource group.
*/ - ResourceList?: string[]; + ResourceGroupName: string | undefined; } export namespace UpdateComponentRequest { @@ -1603,22 +1602,11 @@ export namespace UpdateComponentResponse { } export interface UpdateComponentConfigurationRequest { - /** - *The tier of the application component. Supported tiers include DOT_NET_WORKER
,
- * DOT_NET_WEB
, DOT_NET_CORE
, SQL_SERVER
, and DEFAULT
.
The name of the component.
*/ ComponentName: string | undefined; - /** - *The name of the resource group.
- */ - ResourceGroupName: string | undefined; - /** *Indicates whether the application component is monitored.
*/ @@ -1631,6 +1619,17 @@ export interface UpdateComponentConfigurationRequest { * format of the component configuration file, see Component Configuration. */ ComponentConfiguration?: string; + + /** + *The tier of the application component. Supported tiers include DOT_NET_WORKER
,
+ * DOT_NET_WEB
, DOT_NET_CORE
, SQL_SERVER
, and DEFAULT
.
The name of the resource group.
+ */ + ResourceGroupName: string | undefined; } export namespace UpdateComponentConfigurationRequest { @@ -1649,19 +1648,19 @@ export namespace UpdateComponentConfigurationResponse { export interface UpdateLogPatternRequest { /** - *The log pattern.
+ *The name of the resource group.
*/ - Pattern?: string; + ResourceGroupName: string | undefined; /** - *The name of the log pattern set.
+ *Rank of the log pattern.
*/ - PatternSetName: string | undefined; + Rank?: number; /** - *The name of the resource group.
+ *The log pattern.
*/ - ResourceGroupName: string | undefined; + Pattern?: string; /** *The name of the log pattern.
@@ -1669,9 +1668,9 @@ export interface UpdateLogPatternRequest { PatternName: string | undefined; /** - *Rank of the log pattern.
+ *The name of the log pattern set.
*/ - Rank?: number; + PatternSetName: string | undefined; } export namespace UpdateLogPatternRequest { @@ -1682,14 +1681,14 @@ export namespace UpdateLogPatternRequest { export interface UpdateLogPatternResponse { /** - *The name of the resource group.
+ *The successfully created log pattern.
*/ - ResourceGroupName?: string; + LogPattern?: LogPattern; /** - *The successfully created log pattern.
+ *The name of the resource group.
*/ - LogPattern?: LogPattern; + ResourceGroupName?: string; } export namespace UpdateLogPatternResponse { diff --git a/clients/client-application-insights/pagination/ListApplicationsPaginator.ts b/clients/client-application-insights/pagination/ListApplicationsPaginator.ts index 5e1ac7fea0c0..e20c534a5744 100644 --- a/clients/client-application-insights/pagination/ListApplicationsPaginator.ts +++ b/clients/client-application-insights/pagination/ListApplicationsPaginator.ts @@ -33,7 +33,7 @@ export async function* listApplicationsPaginate( let hasNext = true; let page: ListApplicationsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof ApplicationInsights) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listApplicationsPaginate( throw new Error("Invalid client, expected ApplicationInsights | ApplicationInsightsClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-application-insights/pagination/ListComponentsPaginator.ts b/clients/client-application-insights/pagination/ListComponentsPaginator.ts index 80ee3460d454..37fcd139c5c6 100644 --- a/clients/client-application-insights/pagination/ListComponentsPaginator.ts +++ b/clients/client-application-insights/pagination/ListComponentsPaginator.ts @@ -33,7 +33,7 @@ export async function* listComponentsPaginate( let hasNext = true; let page: ListComponentsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof ApplicationInsights) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listComponentsPaginate( throw new Error("Invalid client, expected ApplicationInsights | ApplicationInsightsClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-application-insights/pagination/ListConfigurationHistoryPaginator.ts b/clients/client-application-insights/pagination/ListConfigurationHistoryPaginator.ts index fe18e85f4704..faccc2936d3a 100644 --- a/clients/client-application-insights/pagination/ListConfigurationHistoryPaginator.ts +++ b/clients/client-application-insights/pagination/ListConfigurationHistoryPaginator.ts @@ -33,7 +33,7 @@ export async function* listConfigurationHistoryPaginate( let hasNext = true; let page: ListConfigurationHistoryCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof ApplicationInsights) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listConfigurationHistoryPaginate( throw new Error("Invalid client, expected ApplicationInsights | ApplicationInsightsClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-application-insights/pagination/ListLogPatternSetsPaginator.ts b/clients/client-application-insights/pagination/ListLogPatternSetsPaginator.ts index 13a0aedca7bf..b39e2d3bbe85 100644 --- a/clients/client-application-insights/pagination/ListLogPatternSetsPaginator.ts +++ b/clients/client-application-insights/pagination/ListLogPatternSetsPaginator.ts @@ -33,7 +33,7 @@ export async function* listLogPatternSetsPaginate( let hasNext = true; let page: ListLogPatternSetsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof ApplicationInsights) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listLogPatternSetsPaginate( throw new Error("Invalid client, expected ApplicationInsights | ApplicationInsightsClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-application-insights/pagination/ListLogPatternsPaginator.ts b/clients/client-application-insights/pagination/ListLogPatternsPaginator.ts index c862bc52762c..96238c4e7144 100644 --- a/clients/client-application-insights/pagination/ListLogPatternsPaginator.ts +++ b/clients/client-application-insights/pagination/ListLogPatternsPaginator.ts @@ -33,7 +33,7 @@ export async function* listLogPatternsPaginate( let hasNext = true; let page: ListLogPatternsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof ApplicationInsights) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listLogPatternsPaginate( throw new Error("Invalid client, expected ApplicationInsights | ApplicationInsightsClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-application-insights/pagination/ListProblemsPaginator.ts b/clients/client-application-insights/pagination/ListProblemsPaginator.ts index 37cb2e402d89..a4c177d8da44 100644 --- a/clients/client-application-insights/pagination/ListProblemsPaginator.ts +++ b/clients/client-application-insights/pagination/ListProblemsPaginator.ts @@ -33,7 +33,7 @@ export async function* listProblemsPaginate( let hasNext = true; let page: ListProblemsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof ApplicationInsights) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* listProblemsPaginate( throw new Error("Invalid client, expected ApplicationInsights | ApplicationInsightsClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-appstream/models/models_0.ts b/clients/client-appstream/models/models_0.ts index 4d8104514146..f491f71c248e 100644 --- a/clients/client-appstream/models/models_0.ts +++ b/clients/client-appstream/models/models_0.ts @@ -10,14 +10,14 @@ export enum AccessEndpointType { */ export interface AccessEndpoint { /** - *The type of interface endpoint.
+ *The identifier (ID) of the VPC in which the interface endpoint is used.
*/ - EndpointType: AccessEndpointType | string | undefined; + VpceId?: string; /** - *The identifier (ID) of the VPC in which the interface endpoint is used.
+ *The type of interface endpoint.
*/ - VpceId?: string; + EndpointType: AccessEndpointType | string | undefined; } export namespace AccessEndpoint { @@ -39,29 +39,24 @@ export enum Action { */ export interface Application { /** - *The arguments that are passed to the application at launch.
- */ - LaunchParameters?: string; - - /** - *The application name to display.
+ *The name of the application.
*/ - DisplayName?: string; + Name?: string; /** - *The name of the application.
+ *Additional attributes that describe the application.
*/ - Name?: string; + Metadata?: { [key: string]: string }; /** - *The path to the application executable in the instance.
+ *The application name to display.
*/ - LaunchPath?: string; + DisplayName?: string; /** - *Additional attributes that describe the application.
+ *The arguments that are passed to the application at launch.
*/ - Metadata?: { [key: string]: string }; + LaunchParameters?: string; /** *If there is a problem, the application can be disabled after image creation.
@@ -72,6 +67,11 @@ export interface Application { *The URL for the application icon. This URL might be time-limited.
*/ IconURL?: string; + + /** + *The path to the application executable in the instance.
+ */ + LaunchPath?: string; } export namespace Application { @@ -105,17 +105,17 @@ export namespace ApplicationSettings { *Describes the persistent application settings for users of a stack.
*/ export interface ApplicationSettingsResponse { - /** - *The path prefix for the S3 bucket where users’ persistent application settings are stored.
- */ - SettingsGroup?: string; - /** *The S3 bucket where users’ persistent application settings are stored. When persistent application settings are enabled for the first time for an account in an AWS Region, an S3 bucket is created. The bucket is unique to the AWS account and the Region. *
*/ S3BucketName?: string; + /** + *The path prefix for the S3 bucket where users’ persistent application settings are stored.
+ */ + SettingsGroup?: string; + /** *Specifies whether persistent application settings are enabled for users during their streaming sessions.
*/ @@ -273,9 +273,9 @@ export enum AuthenticationType { */ export interface UserStackAssociation { /** - *The name of the stack that is associated with the user.
+ *Specifies whether a welcome email is sent to a user after the user is created in the user pool.
*/ - StackName: string | undefined; + SendEmailNotification?: boolean; /** *The authentication type for the user.
@@ -283,9 +283,9 @@ export interface UserStackAssociation { AuthenticationType: AuthenticationType | string | undefined; /** - *Specifies whether a welcome email is sent to a user after the user is created in the user pool.
+ *The name of the stack that is associated with the user.
*/ - SendEmailNotification?: boolean; + StackName: string | undefined; /** *The email address of the user who is associated with the stack.
@@ -321,6 +321,7 @@ export namespace BatchAssociateUserStackRequest { } export enum UserStackAssociationErrorCode { + DIRECTORY_NOT_FOUND = "DIRECTORY_NOT_FOUND", INTERNAL_ERROR = "INTERNAL_ERROR", STACK_NOT_FOUND = "STACK_NOT_FOUND", USER_NAME_NOT_FOUND = "USER_NAME_NOT_FOUND", @@ -331,14 +332,14 @@ export enum UserStackAssociationErrorCode { */ export interface UserStackAssociationError { /** - *Information about the user and associated stack.
+ *The error code for the error that is returned when a user can’t be associated with or disassociated from a stack.
*/ - UserStackAssociation?: UserStackAssociation; + ErrorCode?: UserStackAssociationErrorCode | string; /** - *The error code for the error that is returned when a user can’t be associated with or disassociated from a stack.
+ *Information about the user and associated stack.
*/ - ErrorCode?: UserStackAssociationErrorCode | string; + UserStackAssociation?: UserStackAssociation; /** *The error message for the error that is returned when a user can’t be associated with or disassociated from a stack.
@@ -369,6 +370,24 @@ export namespace BatchAssociateUserStackResult { }); } +/** + *Indicates an incorrect combination of parameters, or a missing parameter.
+ */ +export interface InvalidParameterCombinationException extends __SmithyException, $MetadataBearer { + name: "InvalidParameterCombinationException"; + $fault: "client"; + /** + *The error message in the exception.
+ */ + Message?: string; +} + +export namespace InvalidParameterCombinationException { + export const filterSensitiveLog = (obj: InvalidParameterCombinationException): any => ({ + ...obj, + }); +} + export interface BatchDisassociateUserStackRequest { /** *The list of UserStackAssociation objects.
@@ -420,9 +439,9 @@ export namespace ComputeCapacity { */ export interface ComputeCapacityStatus { /** - *The number of instances in use for streaming.
+ *The desired number of streaming instances.
*/ - InUse?: number; + Desired: number | undefined; /** *The number of currently available instances that can be used to stream @@ -431,9 +450,9 @@ export interface ComputeCapacityStatus { Available?: number; /** - *
The desired number of streaming instances.
+ *The number of instances in use for streaming.
*/ - Desired: number | undefined; + InUse?: number; /** *The total number of simultaneous streaming instances that are running.
@@ -449,24 +468,24 @@ export namespace ComputeCapacityStatus { export interface CopyImageRequest { /** - *The name of the image to copy.
+ *The destination region to which the image will be copied. This parameter is required, even if you are copying an image within the same region.
*/ - SourceImageName: string | undefined; + DestinationRegion: string | undefined; /** - *The description that the image will have when it is copied to the destination.
+ *The name that the image will have when it is copied to the destination.
*/ - DestinationImageDescription?: string; + DestinationImageName: string | undefined; /** - *The name that the image will have when it is copied to the destination.
+ *The description that the image will have when it is copied to the destination.
*/ - DestinationImageName: string | undefined; + DestinationImageDescription?: string; /** - *The destination region to which the image will be copied. This parameter is required, even if you are copying an image within the same region.
+ *The name of the image to copy.
*/ - DestinationRegion: string | undefined; + SourceImageName: string | undefined; } export namespace CopyImageRequest { @@ -550,6 +569,11 @@ export namespace ServiceAccountCredentials { } export interface CreateDirectoryConfigRequest { + /** + *The credentials for the service account used by the fleet or image builder to connect to the directory.
+ */ + ServiceAccountCredentials?: ServiceAccountCredentials; + /** *The fully qualified name of the directory (for example, corp.example.com).
*/ @@ -559,11 +583,6 @@ export interface CreateDirectoryConfigRequest { *The distinguished names of the organizational units for computer accounts.
*/ OrganizationalUnitDistinguishedNames: string[] | undefined; - - /** - *The credentials for the service account used by the fleet or image builder to connect to the directory.
- */ - ServiceAccountCredentials: ServiceAccountCredentials | undefined; } export namespace CreateDirectoryConfigRequest { @@ -579,11 +598,6 @@ export namespace CreateDirectoryConfigRequest { *Describes the configuration information required to join fleets and image builders to Microsoft Active Directory domains.
*/ export interface DirectoryConfig { - /** - *The credentials for the service account used by the fleet or image builder to connect to the directory.
- */ - ServiceAccountCredentials?: ServiceAccountCredentials; - /** *The fully qualified name of the directory (for example, corp.example.com).
*/ @@ -594,6 +608,11 @@ export interface DirectoryConfig { */ CreatedTime?: Date; + /** + *The credentials for the service account used by the fleet or image builder to connect to the directory.
+ */ + ServiceAccountCredentials?: ServiceAccountCredentials; + /** *The distinguished names of the organizational units for computer accounts.
*/ @@ -624,18 +643,36 @@ export namespace CreateDirectoryConfigResult { } /** - *Describes the configuration information required to join fleets and image builders to Microsoft Active Directory domains.
+ *The specified role is invalid.
*/ -export interface DomainJoinInfo { +export interface InvalidRoleException extends __SmithyException, $MetadataBearer { + name: "InvalidRoleException"; + $fault: "client"; /** - *The fully qualified name of the directory (for example, corp.example.com).
+ *The error message in the exception.
*/ - DirectoryName?: string; + Message?: string; +} + +export namespace InvalidRoleException { + export const filterSensitiveLog = (obj: InvalidRoleException): any => ({ + ...obj, + }); +} +/** + *Describes the configuration information required to join fleets and image builders to Microsoft Active Directory domains.
+ */ +export interface DomainJoinInfo { /** *The distinguished name of the organizational unit for computer accounts.
*/ OrganizationalUnitDistinguishedName?: string; + + /** + *The fully qualified name of the directory (for example, corp.example.com).
+ */ + DirectoryName?: string; } export namespace DomainJoinInfo { @@ -649,19 +686,24 @@ export enum FleetType { ON_DEMAND = "ON_DEMAND", } +export enum StreamView { + APP = "APP", + DESKTOP = "DESKTOP", +} + /** *Describes VPC configuration information for fleets and image builders.
*/ export interface VpcConfig { /** - *The identifiers of the security groups for the fleet or image builder.
+ *The identifiers of the subnets to which a network interface is attached from the fleet instance or image builder instance. Fleet instances use one or more subnets. Image builder instances use one subnet.
*/ - SecurityGroupIds?: string[]; + SubnetIds?: string[]; /** - *The identifiers of the subnets to which a network interface is attached from the fleet instance or image builder instance. Fleet instances use one or more subnets. Image builder instances use one subnet.
+ *The identifiers of the security groups for the fleet or image builder.
*/ - SubnetIds?: string[]; + SecurityGroupIds?: string[]; } export namespace VpcConfig { @@ -671,25 +713,63 @@ export namespace VpcConfig { } export interface CreateFleetRequest { + /** + *A unique name for the fleet.
+ */ + Name: string | undefined; + + /** + *The Amazon Resource Name (ARN) of the IAM role to apply to the fleet. To assume a role, a fleet instance calls the AWS Security Token Service (STS) AssumeRole
API operation and passes the ARN of the role to use. The operation creates a new session with temporary credentials. AppStream 2.0 retrieves the temporary credentials and creates the appstream_machine_role credential profile on the instance.
For more information, see Using an IAM Role to Grant Permissions to Applications and Scripts Running on AppStream 2.0 Streaming Instances in the Amazon AppStream 2.0 Administration Guide.
+ */ + IamRoleArn?: string; + + /** + *The AppStream 2.0 view that is displayed to your users when they stream from the fleet. When APP
is specified, only the windows of applications opened by users display. When DESKTOP
is specified, the standard desktop that is provided by the operating system displays.
The default value is APP
.
Enables or disables default internet access for the fleet.
*/ EnableDefaultInternetAccess?: boolean; /** - *The description to display.
+ *The amount of time that users can be idle (inactive) before they are disconnected
+ * from their streaming session and the DisconnectTimeoutInSeconds
time
+ * interval begins. Users are notified before they are disconnected due to inactivity. If
+ * they try to reconnect to the streaming session before the time interval specified in
+ * DisconnectTimeoutInSeconds
elapses, they are connected to their
+ * previous session. Users are considered idle when they stop providing keyboard or mouse
+ * input during their streaming session. File uploads and downloads, audio in, audio out,
+ * and pixels changing do not qualify as user activity. If users continue to be idle after
+ * the time interval in IdleDisconnectTimeoutInSeconds
elapses, they are
+ * disconnected.
To prevent users from being disconnected due to inactivity, specify a value of 0. Otherwise, specify a value between 60 and 3600. The default value is 0.
+ *If you enable this feature, we recommend that you specify a value that corresponds exactly to a whole number of minutes (for example, 60, 120, and 180). If you don't do this, the value is rounded to the nearest minute. For example, if you specify a value of 70, users are disconnected after 1 minute of inactivity. If you specify a value that is at the midpoint between two different minutes, the value is rounded up. For example, if you specify a value of 90, users are disconnected after 2 minutes of inactivity.
+ *The desired capacity for the fleet.
+ *The name of the directory and organizational unit (OU) to use to join the fleet to a Microsoft Active Directory domain.
*/ - ComputeCapacity: ComputeCapacity | undefined; + DomainJoinInfo?: DomainJoinInfo; /** - *The VPC configuration for the fleet.
+ *The fleet name to display.
*/ - VpcConfig?: VpcConfig; + DisplayName?: string; + + /** + *The amount of time that a streaming session remains active after users disconnect. If users try to reconnect to the streaming session after a disconnection or network interruption within this time interval, they are connected to their previous session. Otherwise, they are connected to a new session with a new streaming instance.
+ *Specify a value between 60 and 360000.
+ */ + DisconnectTimeoutInSeconds?: number; /** *The fleet type.
@@ -710,20 +790,9 @@ export interface CreateFleetRequest { FleetType?: FleetType | string; /** - *The amount of time that a streaming session remains active after users disconnect. If users try to reconnect to the streaming session after a disconnection or network interruption within this time interval, they are connected to their previous session. Otherwise, they are connected to a new session with a new streaming instance.
- *Specify a value between 60 and 360000.
- */ - DisconnectTimeoutInSeconds?: number; - - /** - *A unique name for the fleet.
- */ - Name: string | undefined; - - /** - *The name of the directory and organizational unit (OU) to use to join the fleet to a Microsoft Active Directory domain.
+ *The desired capacity for the fleet.
*/ - DomainJoinInfo?: DomainJoinInfo; + ComputeCapacity: ComputeCapacity | undefined; /** *The name of the image used to create the fleet.
@@ -731,40 +800,14 @@ export interface CreateFleetRequest { ImageName?: string; /** - *The maximum amount of time that a streaming session can remain active, in seconds. If users are still connected to a streaming instance five minutes before this limit is reached, they are prompted to save any open documents before being disconnected. After this time elapses, the instance is terminated and replaced by a new instance.
- *Specify a value between 600 and 360000.
- */ - MaxUserDurationInSeconds?: number; - - /** - *The amount of time that users can be idle (inactive) before they are disconnected
- * from their streaming session and the DisconnectTimeoutInSeconds
time
- * interval begins. Users are notified before they are disconnected due to inactivity. If
- * they try to reconnect to the streaming session before the time interval specified in
- * DisconnectTimeoutInSeconds
elapses, they are connected to their
- * previous session. Users are considered idle when they stop providing keyboard or mouse
- * input during their streaming session. File uploads and downloads, audio in, audio out,
- * and pixels changing do not qualify as user activity. If users continue to be idle after
- * the time interval in IdleDisconnectTimeoutInSeconds
elapses, they are
- * disconnected.
To prevent users from being disconnected due to inactivity, specify a value of 0. Otherwise, specify a value between 60 and 3600. The default value is 0.
- *If you enable this feature, we recommend that you specify a value that corresponds exactly to a whole number of minutes (for example, 60, 120, and 180). If you don't do this, the value is rounded to the nearest minute. For example, if you specify a value of 70, users are disconnected after 1 minute of inactivity. If you specify a value that is at the midpoint between two different minutes, the value is rounded up. For example, if you specify a value of 90, users are disconnected after 2 minutes of inactivity.
- *The fleet name to display.
+ *The VPC configuration for the fleet.
*/ - DisplayName?: string; + VpcConfig?: VpcConfig; /** - *The Amazon Resource Name (ARN) of the IAM role to apply to the fleet. To assume a role, a fleet instance calls the AWS Security Token Service (STS) AssumeRole
API operation and passes the ARN of the role to use. The operation creates a new session with temporary credentials. AppStream 2.0 retrieves the temporary credentials and creates the AppStream_Machine_Role credential profile on the instance.
For more information, see Using an IAM Role to Grant Permissions to Applications and Scripts Running on AppStream 2.0 Streaming Instances in the Amazon AppStream 2.0 Administration Guide.
+ *The description to display.
*/ - IamRoleArn?: string; + Description?: string; /** *The instance type to use when launching fleet instances. The following instance types are available:
@@ -806,19 +849,55 @@ export interface CreateFleetRequest { *stream.memory.8xlarge
* *stream.graphics-design.large
+ *stream.memory.z1d.large
*stream.graphics-design.xlarge
+ *stream.memory.z1d.xlarge
*stream.graphics-design.2xlarge
+ *stream.memory.z1d.2xlarge
*stream.graphics-design.4xlarge
+ *stream.memory.z1d.3xlarge
*stream.graphics-desktop.2xlarge
+ *stream.memory.z1d.6xlarge
+ *stream.memory.z1d.12xlarge
+ *stream.graphics-design.large
+ *stream.graphics-design.xlarge
+ *stream.graphics-design.2xlarge
+ *stream.graphics-design.4xlarge
+ *stream.graphics-desktop.2xlarge
+ *stream.graphics.g4dn.xlarge
+ *stream.graphics.g4dn.2xlarge
+ *stream.graphics.g4dn.4xlarge
+ *stream.graphics.g4dn.8xlarge
+ *stream.graphics.g4dn.12xlarge
+ *stream.graphics.g4dn.16xlarge
*stream.graphics-pro.4xlarge
@@ -833,11 +912,6 @@ export interface CreateFleetRequest { */ InstanceType: string | undefined; - /** - *The ARN of the public, private, or shared image to use.
- */ - ImageArn?: string; - /** *The tags to associate with the fleet. A tag is a key-value pair, and the value is optional. For example, Environment=Test. If you do not specify a value, Environment=.
* @@ -849,6 +923,17 @@ export interface CreateFleetRequest { *For more information, see Tagging Your Resources in the Amazon AppStream 2.0 Administration Guide.
*/ Tags?: { [key: string]: string }; + + /** + *The maximum amount of time that a streaming session can remain active, in seconds. If users are still connected to a streaming instance five minutes before this limit is reached, they are prompted to save any open documents before being disconnected. After this time elapses, the instance is terminated and replaced by a new instance.
+ *Specify a value between 600 and 360000.
+ */ + MaxUserDurationInSeconds?: number; + + /** + *The ARN of the public, private, or shared image to use.
+ */ + ImageArn?: string; } export namespace CreateFleetRequest { @@ -893,14 +978,14 @@ export enum FleetErrorCode { */ export interface FleetError { /** - *The error message.
+ *The error code.
*/ - ErrorMessage?: string; + ErrorCode?: FleetErrorCode | string; /** - *The error code.
+ *The error message.
*/ - ErrorCode?: FleetErrorCode | string; + ErrorMessage?: string; } export namespace FleetError { @@ -920,116 +1005,15 @@ export enum FleetState { *Describes a fleet.
*/ export interface Fleet { - /** - *The amount of time that a streaming session remains active after users disconnect. If they try to reconnect to the streaming session after a disconnection or network interruption within this time interval, they are connected to their previous session. Otherwise, they are connected to a new session with a new streaming instance.
- *Specify a value between 60 and 360000.
- */ - DisconnectTimeoutInSeconds?: number; - - /** - *The maximum amount of time that a streaming session can remain active, in seconds. If users are still connected to a streaming instance five minutes before this limit is reached, they are prompted to save any open documents before being disconnected. After this time elapses, the instance is terminated and replaced by a new instance.
- *Specify a value between 600 and 360000.
- */ - MaxUserDurationInSeconds?: number; - - /** - *The fleet errors.
- */ - FleetErrors?: FleetError[]; - - /** - *The fleet name to display.
- */ - DisplayName?: string; - - /** - *The VPC configuration for the fleet.
- */ - VpcConfig?: VpcConfig; - /** *The description to display.
*/ Description?: string; /** - *The Amazon Resource Name (ARN) for the fleet.
- */ - Arn: string | undefined; - - /** - *The name of the image used to create the fleet.
- */ - ImageName?: string; - - /** - *The fleet type.
- *Provides users with instant-on access to their apps. - * You are charged for all running instances in your fleet, even if no users are streaming apps.
- *Provide users with access to applications after they connect, which takes one to two minutes. - * You are charged for instance streaming when users are connected and a - * small hourly fee for instances that are not streaming apps.
- *The current state for the fleet.
- */ - State: FleetState | string | undefined; - - /** - *The ARN of the IAM role that is applied to the fleet. To assume a role, the fleet instance calls the AWS Security Token Service (STS) AssumeRole
API operation and passes the ARN of the role to use. The operation creates a new session with temporary credentials. AppStream 2.0 retrieves the temporary credentials and creates the AppStream_Machine_Role credential profile on the instance.
For more information, see Using an IAM Role to Grant Permissions to Applications and Scripts Running on AppStream 2.0 Streaming Instances in the Amazon AppStream 2.0 Administration Guide.
- */ - IamRoleArn?: string; - - /** - *The capacity status for the fleet.
- */ - ComputeCapacityStatus: ComputeCapacityStatus | undefined; - - /** - *The ARN for the public, private, or shared image.
- */ - ImageArn?: string; - - /** - *The name of the fleet.
- */ - Name: string | undefined; - - /** - *The name of the directory and organizational unit (OU) to use to join the fleet to a Microsoft Active Directory domain.
- */ - DomainJoinInfo?: DomainJoinInfo; - - /** - *The amount of time that users can be idle (inactive) before they are disconnected
- * from their streaming session and the DisconnectTimeoutInSeconds
time
- * interval begins. Users are notified before they are disconnected due to inactivity. If
- * users try to reconnect to the streaming session before the time interval specified in
- * DisconnectTimeoutInSeconds
elapses, they are connected to their
- * previous session. Users are considered idle when they stop providing keyboard or mouse
- * input during their streaming session. File uploads and downloads, audio in, audio out,
- * and pixels changing do not qualify as user activity. If users continue to be idle after
- * the time interval in IdleDisconnectTimeoutInSeconds
elapses, they are
- * disconnected.
To prevent users from being disconnected due to inactivity, specify a value of 0. Otherwise, specify a value between 60 and 3600. The default value is 0.
- * - *If you enable this feature, we recommend that you specify a value that corresponds exactly to a whole number of minutes (for example, 60, 120, and 180). If you don't do this, the value is rounded to the nearest minute. For example, if you specify a value of 70, users are disconnected after 1 minute of inactivity. If you specify a value that is at the midpoint between two different minutes, the value is rounded up. For example, if you specify a value of 90, users are disconnected after 2 minutes of inactivity.
- *The VPC configuration for the fleet.
*/ - IdleDisconnectTimeoutInSeconds?: number; + VpcConfig?: VpcConfig; /** *The time the fleet was created.
@@ -1076,6 +1060,24 @@ export interface Fleet { *stream.memory.8xlarge
*stream.memory.z1d.large
+ *stream.memory.z1d.xlarge
+ *stream.memory.z1d.2xlarge
+ *stream.memory.z1d.3xlarge
+ *stream.memory.z1d.6xlarge
+ *stream.memory.z1d.12xlarge
+ *stream.graphics-design.large
*stream.graphics-desktop.2xlarge
*stream.graphics.g4dn.xlarge
+ *stream.graphics.g4dn.2xlarge
+ *stream.graphics.g4dn.4xlarge
+ *stream.graphics.g4dn.8xlarge
+ *stream.graphics.g4dn.12xlarge
+ *stream.graphics.g4dn.16xlarge
+ *stream.graphics-pro.4xlarge
*The Amazon Resource Name (ARN) for the fleet.
+ */ + Arn: string | undefined; + + /** + *The amount of time that a streaming session remains active after users disconnect. If they try to reconnect to the streaming session after a disconnection or network interruption within this time interval, they are connected to their previous session. Otherwise, they are connected to a new session with a new streaming instance.
+ *Specify a value between 60 and 360000.
+ */ + DisconnectTimeoutInSeconds?: number; + + /** + *The current state for the fleet.
+ */ + State: FleetState | string | undefined; + + /** + *The fleet type.
+ *Provides users with instant-on access to their apps. + * You are charged for all running instances in your fleet, even if no users are streaming apps.
+ *Provide users with access to applications after they connect, which takes one to two minutes. + * You are charged for instance streaming when users are connected and a + * small hourly fee for instances that are not streaming apps.
+ *The capacity status for the fleet.
+ */ + ComputeCapacityStatus: ComputeCapacityStatus | undefined; + + /** + *The fleet errors.
+ */ + FleetErrors?: FleetError[]; + + /** + *The ARN of the IAM role that is applied to the fleet. To assume a role, the fleet instance calls the AWS Security Token Service (STS) AssumeRole
API operation and passes the ARN of the role to use. The operation creates a new session with temporary credentials. AppStream 2.0 retrieves the temporary credentials and creates the appstream_machine_role credential profile on the instance.
For more information, see Using an IAM Role to Grant Permissions to Applications and Scripts Running on AppStream 2.0 Streaming Instances in the Amazon AppStream 2.0 Administration Guide.
+ */ + IamRoleArn?: string; + + /** + *The AppStream 2.0 view that is displayed to your users when they stream from the fleet. When APP
is specified, only the windows of applications opened by users display. When DESKTOP
is specified, the standard desktop that is provided by the operating system displays.
The default value is APP
.
The maximum amount of time that a streaming session can remain active, in seconds. If users are still connected to a streaming instance five minutes before this limit is reached, they are prompted to save any open documents before being disconnected. After this time elapses, the instance is terminated and replaced by a new instance.
+ *Specify a value between 600 and 360000.
+ */ + MaxUserDurationInSeconds?: number; + + /** + *The name of the directory and organizational unit (OU) to use to join the fleet to a Microsoft Active Directory domain.
+ */ + DomainJoinInfo?: DomainJoinInfo; + + /** + *The name of the fleet.
+ */ + Name: string | undefined; + + /** + *The name of the image used to create the fleet.
+ */ + ImageName?: string; + + /** + *The ARN for the public, private, or shared image.
+ */ + ImageArn?: string; + + /** + *The fleet name to display.
+ */ + DisplayName?: string; + /** *Indicates whether default internet access is enabled for the fleet.
*/ EnableDefaultInternetAccess?: boolean; + + /** + *The amount of time that users can be idle (inactive) before they are disconnected
+ * from their streaming session and the DisconnectTimeoutInSeconds
time
+ * interval begins. Users are notified before they are disconnected due to inactivity. If
+ * users try to reconnect to the streaming session before the time interval specified in
+ * DisconnectTimeoutInSeconds
elapses, they are connected to their
+ * previous session. Users are considered idle when they stop providing keyboard or mouse
+ * input during their streaming session. File uploads and downloads, audio in, audio out,
+ * and pixels changing do not qualify as user activity. If users continue to be idle after
+ * the time interval in IdleDisconnectTimeoutInSeconds
elapses, they are
+ * disconnected.
To prevent users from being disconnected due to inactivity, specify a value of 0. Otherwise, specify a value between 60 and 3600. The default value is 0.
+ * + *If you enable this feature, we recommend that you specify a value that corresponds exactly to a whole number of minutes (for example, 60, 120, and 180). If you don't do this, the value is rounded to the nearest minute. For example, if you specify a value of 70, users are disconnected after 1 minute of inactivity. If you specify a value that is at the midpoint between two different minutes, the value is rounded up. For example, if you specify a value of 90, users are disconnected after 2 minutes of inactivity.
+ *Indicates an incorrect combination of parameters, or a missing parameter.
+ *AppStream 2.0 can’t process the request right now because the Describe calls from your AWS account are being throttled by Amazon EC2. Try again later.
*/ -export interface InvalidParameterCombinationException extends __SmithyException, $MetadataBearer { - name: "InvalidParameterCombinationException"; +export interface RequestLimitExceededException extends __SmithyException, $MetadataBearer { + name: "RequestLimitExceededException"; $fault: "client"; /** *The error message in the exception.
@@ -1140,35 +1268,46 @@ export interface InvalidParameterCombinationException extends __SmithyException, Message?: string; } -export namespace InvalidParameterCombinationException { - export const filterSensitiveLog = (obj: InvalidParameterCombinationException): any => ({ +export namespace RequestLimitExceededException { + export const filterSensitiveLog = (obj: RequestLimitExceededException): any => ({ ...obj, }); } -/** - *The specified role is invalid.
- */ -export interface InvalidRoleException extends __SmithyException, $MetadataBearer { - name: "InvalidRoleException"; - $fault: "client"; +export interface CreateImageBuilderRequest { /** - *The error message in the exception.
+ *The ARN of the public, private, or shared image to use.
*/ - Message?: string; -} + ImageArn?: string; -export namespace InvalidRoleException { - export const filterSensitiveLog = (obj: InvalidRoleException): any => ({ - ...obj, - }); -} + /** + *The list of interface VPC endpoint (interface endpoint) objects. Administrators can connect to the image builder only through the specified endpoints.
+ */ + AccessEndpoints?: AccessEndpoint[]; -export interface CreateImageBuilderRequest { /** - *Enables or disables default internet access for the image builder.
+ *The tags to associate with the image builder. A tag is a key-value pair, and the value is optional. For example, Environment=Test. If you do not specify a value, Environment=.
+ * + *Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following special characters:
+ *_ . : / = + \ - @
+ * + *If you do not specify a value, the value is set to an empty string.
+ * + *For more information about tags, see Tagging Your Resources in the Amazon AppStream 2.0 Administration Guide.
*/ - EnableDefaultInternetAccess?: boolean; + Tags?: { [key: string]: string }; + + /** + *The Amazon Resource Name (ARN) of the IAM role to apply to the image builder. To assume a role, the image builder calls the AWS Security Token Service (STS) AssumeRole
API operation and passes the ARN of the role to use. The operation creates a new session with temporary credentials. AppStream 2.0 retrieves the temporary credentials and creates the appstream_machine_role credential profile on the instance.
For more information, see Using an IAM Role to Grant Permissions to Applications and Scripts Running on AppStream 2.0 Streaming Instances in the Amazon AppStream 2.0 Administration Guide.
+ */ + IamRoleArn?: string; + + /** + *The name of the image used to create the image builder.
+ */ + ImageName?: string; /** *The instance type to use when launching the image builder. The following instance types are available:
@@ -1210,6 +1349,24 @@ export interface CreateImageBuilderRequest { *stream.memory.8xlarge
*stream.memory.z1d.large
+ *stream.memory.z1d.xlarge
+ *stream.memory.z1d.2xlarge
+ *stream.memory.z1d.3xlarge
+ *stream.memory.z1d.6xlarge
+ *stream.memory.z1d.12xlarge
+ *stream.graphics-design.large
*stream.graphics-desktop.2xlarge
*stream.graphics.g4dn.xlarge
+ *stream.graphics.g4dn.2xlarge
+ *stream.graphics.g4dn.4xlarge
+ *stream.graphics.g4dn.8xlarge
+ *stream.graphics.g4dn.12xlarge
+ *stream.graphics.g4dn.16xlarge
+ *stream.graphics-pro.4xlarge
*The VPC configuration for the image builder. You can specify only one subnet.
- */ - VpcConfig?: VpcConfig; - - /** - *The Amazon Resource Name (ARN) of the IAM role to apply to the image builder. To assume a role, the image builder calls the AWS Security Token Service (STS) AssumeRole
API operation and passes the ARN of the role to use. The operation creates a new session with temporary credentials. AppStream 2.0 retrieves the temporary credentials and creates the AppStream_Machine_Role credential profile on the instance.
For more information, see Using an IAM Role to Grant Permissions to Applications and Scripts Running on AppStream 2.0 Streaming Instances in the Amazon AppStream 2.0 Administration Guide.
- */ - IamRoleArn?: string; - /** *The description to display.
*/ Description?: string; /** - *The image builder name to display.
- */ - DisplayName?: string; - - /** - *The tags to associate with the image builder. A tag is a key-value pair, and the value is optional. For example, Environment=Test. If you do not specify a value, Environment=.
- * - *Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following special characters:
- *_ . : / = + \ - @
- * - *If you do not specify a value, the value is set to an empty string.
- * - *For more information about tags, see Tagging Your Resources in the Amazon AppStream 2.0 Administration Guide.
- */ - Tags?: { [key: string]: string }; - - /** - *The name of the image used to create the image builder.
+ *The VPC configuration for the image builder. You can specify only one subnet.
*/ - ImageName?: string; + VpcConfig?: VpcConfig; /** - *The list of interface VPC endpoint (interface endpoint) objects. Administrators can connect to the image builder only through the specified endpoints.
+ *Enables or disables default internet access for the image builder.
*/ - AccessEndpoints?: AccessEndpoint[]; + EnableDefaultInternetAccess?: boolean; /** - *The ARN of the public, private, or shared image to use.
+ *The image builder name to display.
*/ - ImageArn?: string; + DisplayName?: string; /** *The version of the AppStream 2.0 agent to use for this image builder. To use the latest version of the AppStream 2.0 agent, specify [LATEST].
@@ -1313,9 +1459,9 @@ export namespace CreateImageBuilderRequest { */ export interface ResourceError { /** - *The time the error occurred.
+ *The error code.
*/ - ErrorTimestamp?: Date; + ErrorCode?: FleetErrorCode | string; /** *The error message.
@@ -1323,9 +1469,9 @@ export interface ResourceError { ErrorMessage?: string; /** - *The error code.
+ *The time the error occurred.
*/ - ErrorCode?: FleetErrorCode | string; + ErrorTimestamp?: Date; } export namespace ResourceError { @@ -1379,14 +1525,14 @@ export enum ImageBuilderStateChangeReasonCode { */ export interface ImageBuilderStateChangeReason { /** - *The state change reason code.
+ *The state change reason message.
*/ - Code?: ImageBuilderStateChangeReasonCode | string; + Message?: string; /** - *The state change reason message.
+ *The state change reason code.
*/ - Message?: string; + Code?: ImageBuilderStateChangeReasonCode | string; } export namespace ImageBuilderStateChangeReason { @@ -1400,24 +1546,29 @@ export namespace ImageBuilderStateChangeReason { */ export interface ImageBuilder { /** - *The ARN for the image builder.
+ *The name of the image builder.
*/ - Arn?: string; + Name: string | undefined; + + /** + *The ARN of the image from which this builder was created.
+ */ + ImageArn?: string; /** - *The VPC configuration of the image builder.
+ *The operating system platform of the image builder.
*/ - VpcConfig?: VpcConfig; + Platform?: PlatformType | string; /** - *The image builder errors.
+ *The time stamp when the image builder was created.
*/ - ImageBuilderErrors?: ResourceError[]; + CreatedTime?: Date; /** - *Enables or disables default internet access for the image builder.
+ *The list of virtual private cloud (VPC) interface endpoint objects. Administrators can connect to the image builder only through the specified endpoints.
*/ - EnableDefaultInternetAccess?: boolean; + AccessEndpoints?: AccessEndpoint[]; /** *The image builder name to display.
@@ -1464,6 +1615,24 @@ export interface ImageBuilder { *stream.memory.8xlarge
*stream.memory.z1d.large
+ *stream.memory.z1d.xlarge
+ *stream.memory.z1d.2xlarge
+ *stream.memory.z1d.3xlarge
+ *stream.memory.z1d.6xlarge
+ *stream.memory.z1d.12xlarge
+ *stream.graphics-design.large
*stream.graphics-desktop.2xlarge
*stream.graphics.g4dn.xlarge
+ *stream.graphics.g4dn.2xlarge
+ *stream.graphics.g4dn.4xlarge
+ *stream.graphics.g4dn.8xlarge
+ *stream.graphics.g4dn.12xlarge
+ *stream.graphics.g4dn.16xlarge
+ *stream.graphics-pro.4xlarge
*The name of the directory and organizational unit (OU) to use to join the image builder to a Microsoft Active Directory domain.
- */ - DomainJoinInfo?: DomainJoinInfo; - - /** - *The name of the image builder.
+ *The VPC configuration of the image builder.
*/ - Name: string | undefined; + VpcConfig?: VpcConfig; /** - *The operating system platform of the image builder.
+ *The ARN of the IAM role that is applied to the image builder. To assume a role, the image builder calls the AWS Security Token Service (STS) AssumeRole
API operation and passes the ARN of the role to use. The operation creates a new session with temporary credentials. AppStream 2.0 retrieves the temporary credentials and creates the appstream_machine_role credential profile on the instance.
For more information, see Using an IAM Role to Grant Permissions to Applications and Scripts Running on AppStream 2.0 Streaming Instances in the Amazon AppStream 2.0 Administration Guide.
*/ - Platform?: PlatformType | string; + IamRoleArn?: string; /** - *The time stamp when the image builder was created.
+ *The reason why the last state change occurred.
*/ - CreatedTime?: Date; + StateChangeReason?: ImageBuilderStateChangeReason; /** - *Describes the network details of the fleet or image builder instance.
+ *The name of the directory and organizational unit (OU) to use to join the image builder to a Microsoft Active Directory domain.
*/ - NetworkAccessConfiguration?: NetworkAccessConfiguration; + DomainJoinInfo?: DomainJoinInfo; /** - *The reason why the last state change occurred.
+ *Enables or disables default internet access for the image builder.
*/ - StateChangeReason?: ImageBuilderStateChangeReason; + EnableDefaultInternetAccess?: boolean; /** *The version of the AppStream 2.0 agent that is currently being used by the image builder.
@@ -1527,14 +1711,14 @@ export interface ImageBuilder { AppstreamAgentVersion?: string; /** - *The ARN of the image from which this builder was created.
+ *The description to display.
*/ - ImageArn?: string; + Description?: string; /** - *The list of virtual private cloud (VPC) interface endpoint objects. Administrators can connect to the image builder only through the specified endpoints.
+ *The ARN for the image builder.
*/ - AccessEndpoints?: AccessEndpoint[]; + Arn?: string; /** *The state of the image builder.
@@ -1542,16 +1726,14 @@ export interface ImageBuilder { State?: ImageBuilderState | string; /** - *The description to display.
+ *The image builder errors.
*/ - Description?: string; + ImageBuilderErrors?: ResourceError[]; /** - *The ARN of the IAM role that is applied to the image builder. To assume a role, the image builder calls the AWS Security Token Service (STS) AssumeRole
API operation and passes the ARN of the role to use. The operation creates a new session with temporary credentials. AppStream 2.0 retrieves the temporary credentials and creates the AppStream_Machine_Role credential profile on the instance.
For more information, see Using an IAM Role to Grant Permissions to Applications and Scripts Running on AppStream 2.0 Streaming Instances in the Amazon AppStream 2.0 Administration Guide.
+ *Describes the network details of the fleet or image builder instance.
*/ - IamRoleArn?: string; + NetworkAccessConfiguration?: NetworkAccessConfiguration; } export namespace ImageBuilder { @@ -1574,16 +1756,16 @@ export namespace CreateImageBuilderResult { } export interface CreateImageBuilderStreamingURLRequest { - /** - *The name of the image builder.
- */ - Name: string | undefined; - /** *The time that the streaming URL will be valid, in seconds. * Specify a value between 1 and 604800 seconds. The default is 3600 seconds.
*/ Validity?: number; + + /** + *The name of the image builder.
+ */ + Name: string | undefined; } export namespace CreateImageBuilderStreamingURLRequest { @@ -1620,6 +1802,11 @@ export enum StorageConnectorType { *Describes a connector that enables persistent storage for users.
*/ export interface StorageConnector { + /** + *The type of storage connector.
+ */ + ConnectorType: StorageConnectorType | string | undefined; + /** *The names of the domains for the account.
*/ @@ -1629,11 +1816,6 @@ export interface StorageConnector { *The ARN of the storage connector.
*/ ResourceIdentifier?: string; - - /** - *The type of storage connector.
- */ - ConnectorType: StorageConnectorType | string | undefined; } export namespace StorageConnector { @@ -1670,14 +1852,26 @@ export namespace UserSetting { export interface CreateStackRequest { /** - *The URL that users are redirected to after their streaming session ends.
+ *The storage connectors to enable.
*/ - RedirectURL?: string; + StorageConnectors?: StorageConnector[]; /** - *The actions that are enabled or disabled for users during their streaming sessions. By default, these actions are enabled.
+ *The persistent application settings for users of a stack. When these settings are enabled, changes that users make to applications and Windows settings are automatically saved after each session and applied to the next session.
*/ - UserSettings?: UserSetting[]; + ApplicationSettings?: ApplicationSettings; + + /** + *The tags to associate with the stack. A tag is a key-value pair, and the value is optional. For example, Environment=Test. If you do not specify a value, Environment=.
+ * + *If you do not specify a value, the value is set to an empty string.
+ * + *Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following special characters:
+ *_ . : / = + \ - @
+ * + *For more information about tags, see Tagging Your Resources in the Amazon AppStream 2.0 Administration Guide.
+ */ + Tags?: { [key: string]: string }; /** *The stack name to display.
@@ -1685,19 +1879,19 @@ export interface CreateStackRequest { DisplayName?: string; /** - *The list of interface VPC endpoint (interface endpoint) objects. Users of the stack can connect to AppStream 2.0 only through the specified endpoints.
+ *The name of the stack.
*/ - AccessEndpoints?: AccessEndpoint[]; + Name: string | undefined; /** - *The domains where AppStream 2.0 streaming sessions can be embedded in an iframe. You must approve the domains that you want to host embedded AppStream 2.0 streaming sessions.
+ *The list of interface VPC endpoint (interface endpoint) objects. Users of the stack can connect to AppStream 2.0 only through the specified endpoints.
*/ - EmbedHostDomains?: string[]; + AccessEndpoints?: AccessEndpoint[]; /** - *The name of the stack.
+ *The URL that users are redirected to after their streaming session ends.
*/ - Name: string | undefined; + RedirectURL?: string; /** *The URL that users are redirected to after they click the Send Feedback link. If no URL is specified, no Send Feedback link is displayed.
@@ -1705,26 +1899,14 @@ export interface CreateStackRequest { FeedbackURL?: string; /** - *The storage connectors to enable.
- */ - StorageConnectors?: StorageConnector[]; - - /** - *The persistent application settings for users of a stack. When these settings are enabled, changes that users make to applications and Windows settings are automatically saved after each session and applied to the next session.
+ *The actions that are enabled or disabled for users during their streaming sessions. By default, these actions are enabled.
*/ - ApplicationSettings?: ApplicationSettings; + UserSettings?: UserSetting[]; /** - *The tags to associate with the stack. A tag is a key-value pair, and the value is optional. For example, Environment=Test. If you do not specify a value, Environment=.
- * - *If you do not specify a value, the value is set to an empty string.
- * - *Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following special characters:
- *_ . : / = + \ - @
- * - *For more information about tags, see Tagging Your Resources in the Amazon AppStream 2.0 Administration Guide.
+ *The domains where AppStream 2.0 streaming sessions can be embedded in an iframe. You must approve the domains that you want to host embedded AppStream 2.0 streaming sessions.
*/ - Tags?: { [key: string]: string }; + EmbedHostDomains?: string[]; /** *The description to display.
@@ -1748,14 +1930,14 @@ export enum StackErrorCode { */ export interface StackError { /** - *The error message.
+ *The error code.
*/ - ErrorMessage?: string; + ErrorCode?: StackErrorCode | string; /** - *The error code.
+ *The error message.
*/ - ErrorCode?: StackErrorCode | string; + ErrorMessage?: string; } export namespace StackError { @@ -1768,35 +1950,20 @@ export namespace StackError { *Describes a stack.
*/ export interface Stack { - /** - *The storage connectors to enable.
- */ - StorageConnectors?: StorageConnector[]; - - /** - *The time the stack was created.
- */ - CreatedTime?: Date; - /** *The name of the stack.
*/ Name: string | undefined; - /** - *The ARN of the stack.
- */ - Arn?: string; - /** *The URL that users are redirected to after they click the Send Feedback link. If no URL is specified, no Send Feedback link is displayed.
*/ FeedbackURL?: string; /** - *The description to display.
+ *The domains where AppStream 2.0 streaming sessions can be embedded in an iframe. You must approve the domains that you want to host embedded AppStream 2.0 streaming sessions.
*/ - Description?: string; + EmbedHostDomains?: string[]; /** *The actions that are enabled or disabled for users during their streaming sessions. By default these actions are enabled.
@@ -1814,24 +1981,39 @@ export interface Stack { ApplicationSettings?: ApplicationSettingsResponse; /** - *The domains where AppStream 2.0 streaming sessions can be embedded in an iframe. You must approve the domains that you want to host embedded AppStream 2.0 streaming sessions.
+ *The stack name to display.
*/ - EmbedHostDomains?: string[]; + DisplayName?: string; /** - *The URL that users are redirected to after their streaming session ends.
+ *The list of virtual private cloud (VPC) interface endpoint objects. Users of the stack can connect to AppStream 2.0 only through the specified endpoints.
*/ - RedirectURL?: string; + AccessEndpoints?: AccessEndpoint[]; /** - *The list of virtual private cloud (VPC) interface endpoint objects. Users of the stack can connect to AppStream 2.0 only through the specified endpoints.
+ *The time the stack was created.
*/ - AccessEndpoints?: AccessEndpoint[]; + CreatedTime?: Date; /** - *The stack name to display.
+ *The description to display.
*/ - DisplayName?: string; + Description?: string; + + /** + *The ARN of the stack.
+ */ + Arn?: string; + + /** + *The URL that users are redirected to after their streaming session ends.
+ */ + RedirectURL?: string; + + /** + *The storage connectors to enable.
+ */ + StorageConnectors?: StorageConnector[]; } export namespace Stack { @@ -1855,15 +2037,15 @@ export namespace CreateStackResult { export interface CreateStreamingURLRequest { /** - *The name of the fleet.
+ *The name of the stack.
*/ - FleetName: string | undefined; + StackName: string | undefined; /** - *The time that the streaming URL will be valid, in seconds. - * Specify a value between 1 and 604800 seconds. The default is 60 seconds.
+ *The name of the application to launch after the session starts. This is the name that you specified + * as Name in the Image Assistant.
*/ - Validity?: number; + ApplicationId?: string; /** *The session context. For more information, see Session Context in the Amazon AppStream 2.0 Administration Guide.
@@ -1871,20 +2053,20 @@ export interface CreateStreamingURLRequest { SessionContext?: string; /** - *The identifier of the user.
+ *The time that the streaming URL will be valid, in seconds. + * Specify a value between 1 and 604800 seconds. The default is 60 seconds.
*/ - UserId: string | undefined; + Validity?: number; /** - *The name of the application to launch after the session starts. This is the name that you specified - * as Name in the Image Assistant.
+ *The identifier of the user.
*/ - ApplicationId?: string; + UserId: string | undefined; /** - *The name of the stack.
+ *The name of the fleet.
*/ - StackName: string | undefined; + FleetName: string | undefined; } export namespace CreateStreamingURLRequest { @@ -1895,14 +2077,14 @@ export namespace CreateStreamingURLRequest { export interface CreateStreamingURLResult { /** - *The URL to start the AppStream 2.0 streaming session.
+ *The elapsed time, in seconds after the Unix epoch, when this URL expires.
*/ - StreamingURL?: string; + Expires?: Date; /** - *The elapsed time, in seconds after the Unix epoch, when this URL expires.
+ *The URL to start the AppStream 2.0 streaming session.
*/ - Expires?: Date; + StreamingURL?: string; } export namespace CreateStreamingURLResult { @@ -1924,11 +2106,6 @@ export enum UsageReportSchedule { } export interface CreateUsageReportSubscriptionResult { - /** - *The schedule for generating usage reports.
- */ - Schedule?: UsageReportSchedule | string; - /** *The Amazon S3 bucket where generated reports are stored.
* @@ -1939,6 +2116,11 @@ export interface CreateUsageReportSubscriptionResult { * when you enable usage reports, AppStream 2.0 creates a new S3 bucket. */ S3BucketName?: string; + + /** + *The schedule for generating usage reports.
+ */ + Schedule?: UsageReportSchedule | string; } export namespace CreateUsageReportSubscriptionResult { @@ -1954,9 +2136,14 @@ export enum MessageAction { export interface CreateUserRequest { /** - *The first name, or given name, of the user.
+ *The last name, or surname, of the user.
+ */ + LastName?: string; + + /** + *The authentication type for the user. You must specify USERPOOL.
*/ - FirstName?: string; + AuthenticationType: AuthenticationType | string | undefined; /** *The email address of the user.
@@ -1967,16 +2154,6 @@ export interface CreateUserRequest { */ UserName: string | undefined; - /** - *The authentication type for the user. You must specify USERPOOL.
- */ - AuthenticationType: AuthenticationType | string | undefined; - - /** - *The last name, or surname, of the user.
- */ - LastName?: string; - /** *The action to take for the welcome email that is sent to a user after the user is created in the user pool. If you specify SUPPRESS, no email is sent. If you specify RESEND, do not specify the first name or last name of the user. If the value is null, the email is sent.
* @@ -1985,14 +2162,19 @@ export interface CreateUserRequest { * */ MessageAction?: MessageAction | string; + + /** + *The first name, or given name, of the user.
+ */ + FirstName?: string; } export namespace CreateUserRequest { export const filterSensitiveLog = (obj: CreateUserRequest): any => ({ ...obj, - ...(obj.FirstName && { FirstName: SENSITIVE_STRING }), - ...(obj.UserName && { UserName: SENSITIVE_STRING }), ...(obj.LastName && { LastName: SENSITIVE_STRING }), + ...(obj.UserName && { UserName: SENSITIVE_STRING }), + ...(obj.FirstName && { FirstName: SENSITIVE_STRING }), }); } @@ -2144,20 +2326,30 @@ export enum VisibilityType { */ export interface Image { /** - *The permissions to provide to the destination AWS account for the specified image.
+ *The version of the AppStream 2.0 agent to use for instances that are launched from this image.
*/ - ImagePermissions?: ImagePermissions; + AppstreamAgentVersion?: string; /** - *Indicates whether the image is public or private.
+ *The operating system platform of the image.
*/ - Visibility?: VisibilityType | string; + Platform?: PlatformType | string; + + /** + *The ARN of the image.
+ */ + Arn?: string; /** *The reason why the last state change occurred.
*/ StateChangeReason?: ImageStateChangeReason; + /** + *The permissions to provide to the destination AWS account for the specified image.
+ */ + ImagePermissions?: ImagePermissions; + /** *The image name to display.
*/ @@ -2169,19 +2361,15 @@ export interface Image { BaseImageArn?: string; /** - *The time the image was created.
- */ - CreatedTime?: Date; - - /** - *The description to display.
+ *The name of the image.
*/ - Description?: string; + Name: string | undefined; /** - *The operating system platform of the image.
+ *The release date of the public base image. + * For private images, this date is the release date of the base image from which the image was created.
*/ - Platform?: PlatformType | string; + PublicBaseImageReleasedDate?: Date; /** *The applications associated with the image.
@@ -2189,41 +2377,35 @@ export interface Image { Applications?: Application[]; /** - *The ARN of the image.
+ *The name of the image builder that was used to create the private image. If the image is shared, this value is null.
*/ - Arn?: string; + ImageBuilderName?: string; /** - *The version of the AppStream 2.0 agent to use for instances that are launched from this image.
+ *The image starts in the PENDING
state. If image creation succeeds, the
+ * state is AVAILABLE
. If image creation fails, the state is FAILED
.
The name of the image.
+ *Indicates whether the image is public or private.
*/ - Name: string | undefined; + Visibility?: VisibilityType | string; /** - *The name of the image builder that was used to create the private image. If the image is shared, this value is null.
+ *The time the image was created.
*/ - ImageBuilderName?: string; + CreatedTime?: Date; /** - *The image starts in the PENDING
state. If image creation succeeds, the
- * state is AVAILABLE
. If image creation fails, the state is FAILED
.
The description to display.
*/ - State?: ImageState | string; + Description?: string; /** *Indicates whether an image builder can be launched from this image.
*/ ImageBuilderSupported?: boolean; - - /** - *The release date of the public base image. - * For private images, this date is the release date of the base image from which the image was created.
- */ - PublicBaseImageReleasedDate?: Date; } export namespace Image { @@ -2273,14 +2455,14 @@ export namespace DeleteImageBuilderResult { export interface DeleteImagePermissionsRequest { /** - *The 12-digit identifier of the AWS account for which to delete image permissions.
+ *The name of the private image.
*/ - SharedAccountId: string | undefined; + Name: string | undefined; /** - *The name of the private image.
+ *The 12-digit identifier of the AWS account for which to delete image permissions.
*/ - Name: string | undefined; + SharedAccountId: string | undefined; } export namespace DeleteImagePermissionsRequest { @@ -2372,14 +2554,14 @@ export interface DescribeDirectoryConfigsRequest { DirectoryNames?: string[]; /** - *The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page.
+ *The maximum size of each page of results.
*/ - NextToken?: string; + MaxResults?: number; /** - *The maximum size of each page of results.
+ *The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page.
*/ - MaxResults?: number; + NextToken?: string; } export namespace DescribeDirectoryConfigsRequest { @@ -2411,14 +2593,14 @@ export namespace DescribeDirectoryConfigsResult { export interface DescribeFleetsRequest { /** - *The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page.
+ *The names of the fleets to describe.
*/ - NextToken?: string; + Names?: string[]; /** - *The names of the fleets to describe.
+ *The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page.
*/ - Names?: string[]; + NextToken?: string; } export namespace DescribeFleetsRequest { @@ -2429,14 +2611,14 @@ export namespace DescribeFleetsRequest { export interface DescribeFleetsResult { /** - *Information about the fleets.
+ *The pagination token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.
*/ - Fleets?: Fleet[]; + NextToken?: string; /** - *The pagination token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.
+ *Information about the fleets.
*/ - NextToken?: string; + Fleets?: Fleet[]; } export namespace DescribeFleetsResult { @@ -2487,6 +2669,11 @@ export namespace DescribeImageBuildersResult { } export interface DescribeImagePermissionsRequest { + /** + *The maximum size of each page of results.
+ */ + MaxResults?: number; + /** *The name of the private image for which to describe permissions. The image must be one that you own.
*/ @@ -2497,11 +2684,6 @@ export interface DescribeImagePermissionsRequest { */ NextToken?: string; - /** - *The maximum size of each page of results.
- */ - MaxResults?: number; - /** *The 12-digit identifier of one or more AWS accounts with which the image is shared.
*/ @@ -2536,6 +2718,11 @@ export namespace SharedImagePermissions { } export interface DescribeImagePermissionsResult { + /** + *The pagination token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.
+ */ + NextToken?: string; + /** *The permissions for a private image that you own.
*/ @@ -2545,11 +2732,6 @@ export interface DescribeImagePermissionsResult { *The name of the private image.
*/ Name?: string; - - /** - *The pagination token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.
- */ - NextToken?: string; } export namespace DescribeImagePermissionsResult { @@ -2560,9 +2742,9 @@ export namespace DescribeImagePermissionsResult { export interface DescribeImagesRequest { /** - *The ARNs of the public, private, and shared images to describe.
+ *The names of the public or private images to describe.
*/ - Arns?: string[]; + Names?: string[]; /** *The type of image (public, private, or shared) to describe.
@@ -2570,9 +2752,9 @@ export interface DescribeImagesRequest { Type?: VisibilityType | string; /** - *The names of the public or private images to describe.
+ *The ARNs of the public, private, and shared images to describe.
*/ - Names?: string[]; + Arns?: string[]; /** *The maximum size of each page of results.
@@ -2593,14 +2775,14 @@ export namespace DescribeImagesRequest { export interface DescribeImagesResult { /** - *Information about the images.
+ *The pagination token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.
*/ - Images?: Image[]; + NextToken?: string; /** - *The pagination token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.
+ *Information about the images.
*/ - NextToken?: string; + Images?: Image[]; } export namespace DescribeImagesResult { @@ -2610,6 +2792,11 @@ export namespace DescribeImagesResult { } export interface DescribeSessionsRequest { + /** + *The user identifier (ID). If you specify a user ID, you must also specify the authentication type.
+ */ + UserId?: string; + /** *The authentication method. Specify API
for a user
* authenticated using a streaming URL or SAML
for a SAML federated user.
@@ -2617,20 +2804,15 @@ export interface DescribeSessionsRequest {
*/
AuthenticationType?: AuthenticationType | string;
- /**
- *
The name of the fleet. This value is case-sensitive.
- */ - FleetName: string | undefined; - /** *The name of the stack. This value is case-sensitive.
*/ StackName: string | undefined; /** - *The user identifier.
+ *The name of the fleet. This value is case-sensitive.
*/ - UserId?: string; + FleetName: string | undefined; /** *The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page.
@@ -2665,29 +2847,29 @@ export enum SessionState { */ export interface Session { /** - *The current state of the streaming session.
+ *The network details for the streaming session.
*/ - State: SessionState | string | undefined; + NetworkAccessConfiguration?: NetworkAccessConfiguration; /** - *The time when a streaming instance is dedicated for the user.
+ *The identifier of the user for whom the session was created.
*/ - StartTime?: Date; + UserId: string | undefined; /** - *The time when the streaming session is set to expire. This time is based on the MaxUserDurationinSeconds
value, which determines the maximum length of time that a streaming session can run. A streaming session might end earlier than the time specified in SessionMaxExpirationTime
, when the DisconnectTimeOutInSeconds
elapses or the user chooses to end his or her session. If the DisconnectTimeOutInSeconds
elapses, or the user chooses to end his or her session, the streaming instance is terminated and the streaming session ends.
The identifier of the streaming session.
*/ - MaxExpirationTime?: Date; + Id: string | undefined; /** - *The network details for the streaming session.
+ *The current state of the streaming session.
*/ - NetworkAccessConfiguration?: NetworkAccessConfiguration; + State: SessionState | string | undefined; /** - *The identifier of the streaming session.
+ *The time when the streaming session is set to expire. This time is based on the MaxUserDurationinSeconds
value, which determines the maximum length of time that a streaming session can run. A streaming session might end earlier than the time specified in SessionMaxExpirationTime
, when the DisconnectTimeOutInSeconds
elapses or the user chooses to end his or her session. If the DisconnectTimeOutInSeconds
elapses, or the user chooses to end his or her session, the streaming instance is terminated and the streaming session ends.
Specifies whether a user is connected to the streaming session.
@@ -2695,15 +2877,14 @@ export interface Session { ConnectionState?: SessionConnectionState | string; /** - *The authentication method. The user is authenticated using a streaming URL
- * (API
) or SAML 2.0 federation (SAML
).
The time when a streaming instance is dedicated for the user.
*/ - AuthenticationType?: AuthenticationType | string; + StartTime?: Date; /** - *The identifier of the user for whom the session was created.
+ *The name of the fleet for the streaming session.
*/ - UserId: string | undefined; + FleetName: string | undefined; /** *The name of the stack for the streaming session.
@@ -2711,9 +2892,10 @@ export interface Session { StackName: string | undefined; /** - *The name of the fleet for the streaming session.
+ *The authentication method. The user is authenticated using a streaming URL
+ * (API
) or SAML 2.0 federation (SAML
).
The names of the stacks to describe.
+ *The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page.
*/ - Names?: string[]; + NextToken?: string; /** - *The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page.
+ *The names of the stacks to describe.
*/ - NextToken?: string; + Names?: string[]; } export namespace DescribeStacksRequest { @@ -2778,14 +2960,14 @@ export namespace DescribeStacksResult { export interface DescribeUsageReportSubscriptionsRequest { /** - *The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page.
+ *The maximum size of each page of results.
*/ - NextToken?: string; + MaxResults?: number; /** - *The maximum size of each page of results.
+ *The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page.
*/ - MaxResults?: number; + NextToken?: string; } export namespace DescribeUsageReportSubscriptionsRequest { @@ -2825,11 +3007,6 @@ export namespace LastReportGenerationExecutionError { *Describes information about the usage report subscription.
*/ export interface UsageReportSubscription { - /** - *The time when the last usage report was generated.
- */ - LastGeneratedReportDate?: Date; - /** *The schedule for generating usage reports.
*/ @@ -2840,6 +3017,11 @@ export interface UsageReportSubscription { */ SubscriptionErrors?: LastReportGenerationExecutionError[]; + /** + *The time when the last usage report was generated.
+ */ + LastGeneratedReportDate?: Date; + /** *The Amazon S3 bucket where generated reports are stored.
* @@ -2877,6 +3059,11 @@ export namespace DescribeUsageReportSubscriptionsResult { } export interface DescribeUsersRequest { + /** + *The authentication type for the users in the user pool to describe. You must specify USERPOOL.
+ */ + AuthenticationType: AuthenticationType | string | undefined; + /** *The maximum size of each page of results.
*/ @@ -2886,11 +3073,6 @@ export interface DescribeUsersRequest { *The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page.
*/ NextToken?: string; - - /** - *The authentication type for the users in the user pool to describe. You must specify USERPOOL.
- */ - AuthenticationType: AuthenticationType | string | undefined; } export namespace DescribeUsersRequest { @@ -2904,14 +3086,9 @@ export namespace DescribeUsersRequest { */ export interface User { /** - *Specifies whether the user in the user pool is enabled.
- */ - Enabled?: boolean; - - /** - *The authentication type for the user.
+ *The date and time the user was created in the user pool.
*/ - AuthenticationType: AuthenticationType | string | undefined; + CreatedTime?: Date; /** *The email address of the user.
@@ -2945,9 +3122,9 @@ export interface User { Status?: string; /** - *The first name, or given name, of the user.
+ *The authentication type for the user.
*/ - FirstName?: string; + AuthenticationType: AuthenticationType | string | undefined; /** *The ARN of the user.
@@ -2955,35 +3132,40 @@ export interface User { Arn?: string; /** - *The date and time the user was created in the user pool.
+ *The last name, or surname, of the user.
*/ - CreatedTime?: Date; + LastName?: string; /** - *The last name, or surname, of the user.
+ *The first name, or given name, of the user.
+ */ + FirstName?: string; + + /** + *Specifies whether the user in the user pool is enabled.
*/ - LastName?: string; + Enabled?: boolean; } export namespace User { export const filterSensitiveLog = (obj: User): any => ({ ...obj, ...(obj.UserName && { UserName: SENSITIVE_STRING }), - ...(obj.FirstName && { FirstName: SENSITIVE_STRING }), ...(obj.LastName && { LastName: SENSITIVE_STRING }), + ...(obj.FirstName && { FirstName: SENSITIVE_STRING }), }); } export interface DescribeUsersResult { /** - *Information about users in the user pool.
+ *The pagination token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.
*/ - Users?: User[]; + NextToken?: string; /** - *The pagination token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.
+ *Information about users in the user pool.
*/ - NextToken?: string; + Users?: User[]; } export namespace DescribeUsersResult { @@ -2995,23 +3177,19 @@ export namespace DescribeUsersResult { export interface DescribeUserStackAssociationsRequest { /** - *The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page.
+ *The maximum size of each page of results.
*/ - NextToken?: string; + MaxResults?: number; /** - *The email address of the user who is associated with the stack.
- * - *Users' email addresses are case-sensitive.
- *The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page.
*/ - UserName?: string; + NextToken?: string; /** - *The maximum size of each page of results.
+ *The authentication type for the user who is associated with the stack. You must specify USERPOOL.
*/ - MaxResults?: number; + AuthenticationType?: AuthenticationType | string; /** *The name of the stack that is associated with the user.
@@ -3019,9 +3197,13 @@ export interface DescribeUserStackAssociationsRequest { StackName?: string; /** - *The authentication type for the user who is associated with the stack. You must specify USERPOOL.
+ *The email address of the user who is associated with the stack.
+ * + *Users' email addresses are case-sensitive.
+ *The authentication type for the user. You must specify USERPOOL.
- */ - AuthenticationType: AuthenticationType | string | undefined; - /** *The email address of the user.
* @@ -3066,6 +3243,11 @@ export interface DisableUserRequest { * */ UserName: string | undefined; + + /** + *The authentication type for the user. You must specify USERPOOL.
+ */ + AuthenticationType: AuthenticationType | string | undefined; } export namespace DisableUserRequest { @@ -3085,14 +3267,14 @@ export namespace DisableUserResult { export interface DisassociateFleetRequest { /** - *The name of the fleet.
+ *The name of the stack.
*/ - FleetName: string | undefined; + StackName: string | undefined; /** - *The name of the stack.
+ *The name of the fleet.
*/ - StackName: string | undefined; + FleetName: string | undefined; } export namespace DisassociateFleetRequest { @@ -3398,14 +3580,14 @@ export namespace TagResourceResponse { export interface UntagResourceRequest { /** - *The Amazon Resource Name (ARN) of the resource.
+ *The tag keys for the tags to disassociate.
*/ - ResourceArn: string | undefined; + TagKeys: string[] | undefined; /** - *The tag keys for the tags to disassociate.
+ *The Amazon Resource Name (ARN) of the resource.
*/ - TagKeys: string[] | undefined; + ResourceArn: string | undefined; } export namespace UntagResourceRequest { @@ -3424,14 +3606,14 @@ export namespace UntagResourceResponse { export interface UpdateDirectoryConfigRequest { /** - *The distinguished names of the organizational units for computer accounts.
+ *The credentials for the service account used by the fleet or image builder to connect to the directory.
*/ - OrganizationalUnitDistinguishedNames?: string[]; + ServiceAccountCredentials?: ServiceAccountCredentials; /** - *The credentials for the service account used by the fleet or image builder to connect to the directory.
+ *The distinguished names of the organizational units for computer accounts.
*/ - ServiceAccountCredentials?: ServiceAccountCredentials; + OrganizationalUnitDistinguishedNames?: string[]; /** *The name of the Directory Config object.
@@ -3464,52 +3646,35 @@ export namespace UpdateDirectoryConfigResult { export interface UpdateFleetRequest { /** - *The ARN of the public, private, or shared image to use.
- */ - ImageArn?: string; - - /** - *Enables or disables default internet access for the fleet.
- */ - EnableDefaultInternetAccess?: boolean; - - /** - *The VPC configuration for the fleet.
+ *The amount of time that users can be idle (inactive) before they are disconnected
+ * from their streaming session and the DisconnectTimeoutInSeconds
time
+ * interval begins. Users are notified before they are disconnected due to inactivity. If
+ * users try to reconnect to the streaming session before the time interval specified in
+ * DisconnectTimeoutInSeconds
elapses, they are connected to their
+ * previous session. Users are considered idle when they stop providing keyboard or mouse
+ * input during their streaming session. File uploads and downloads, audio in, audio out,
+ * and pixels changing do not qualify as user activity. If users continue to be idle after
+ * the time interval in IdleDisconnectTimeoutInSeconds
elapses, they are
+ * disconnected.
To prevent users from being disconnected due to inactivity, specify a value of 0. Otherwise, specify a value between 60 and 3600. The default value is 0.
+ * + *If you enable this feature, we recommend that you specify a value that corresponds exactly to a whole number of minutes (for example, 60, 120, and 180). If you don't do this, the value is rounded to the nearest minute. For example, if you specify a value of 70, users are disconnected after 1 minute of inactivity. If you specify a value that is at the midpoint between two different minutes, the value is rounded up. For example, if you specify a value of 90, users are disconnected after 2 minutes of inactivity.
+ *The Amazon Resource Name (ARN) of the IAM role to apply to the fleet. To assume a role, a fleet instance calls the AWS Security Token Service (STS) AssumeRole
API operation and passes the ARN of the role to use. The operation creates a new session with temporary credentials. AppStream 2.0 retrieves the temporary credentials and creates the AppStream_Machine_Role credential profile on the instance.
The Amazon Resource Name (ARN) of the IAM role to apply to the fleet. To assume a role, a fleet instance calls the AWS Security Token Service (STS) AssumeRole
API operation and passes the ARN of the role to use. The operation creates a new session with temporary credentials. AppStream 2.0 retrieves the temporary credentials and creates the appstream_machine_role credential profile on the instance.
For more information, see Using an IAM Role to Grant Permissions to Applications and Scripts Running on AppStream 2.0 Streaming Instances in the Amazon AppStream 2.0 Administration Guide.
*/ IamRoleArn?: string; /** - *The fleet attributes to delete.
- */ - AttributesToDelete?: (FleetAttribute | string)[]; - - /** - *The description to display.
- */ - Description?: string; - - /** - *The name of the directory and organizational unit (OU) to use to join the fleet to a Microsoft Active Directory domain.
- */ - DomainJoinInfo?: DomainJoinInfo; - - /** - *A unique name for the fleet.
- */ - Name?: string; - - /** - *The maximum amount of time that a streaming session can remain active, in seconds. If users are still connected to a streaming instance five minutes before this limit is reached, they are prompted to save any open documents before being disconnected. After this time elapses, the instance is terminated and replaced by a new instance.
- *Specify a value between 600 and 360000.
+ *Deletes the VPC association for the specified fleet.
*/ - MaxUserDurationInSeconds?: number; + DeleteVpcConfig?: boolean; /** *The amount of time that a streaming session remains active after users disconnect. If users try to reconnect to the streaming session after a disconnection or network interruption within this time interval, they are connected to their previous session. Otherwise, they are connected to a new session with a new streaming instance.
@@ -3518,39 +3683,20 @@ export interface UpdateFleetRequest { DisconnectTimeoutInSeconds?: number; /** - *Deletes the VPC association for the specified fleet.
+ *A unique name for the fleet.
*/ - DeleteVpcConfig?: boolean; + Name?: string; /** - *The name of the image used to create the fleet.
+ *The name of the directory and organizational unit (OU) to use to join the fleet to a Microsoft Active Directory domain.
*/ - ImageName?: string; + DomainJoinInfo?: DomainJoinInfo; /** *The desired capacity for the fleet.
*/ ComputeCapacity?: ComputeCapacity; - /** - *The amount of time that users can be idle (inactive) before they are disconnected
- * from their streaming session and the DisconnectTimeoutInSeconds
time
- * interval begins. Users are notified before they are disconnected due to inactivity. If
- * users try to reconnect to the streaming session before the time interval specified in
- * DisconnectTimeoutInSeconds
elapses, they are connected to their
- * previous session. Users are considered idle when they stop providing keyboard or mouse
- * input during their streaming session. File uploads and downloads, audio in, audio out,
- * and pixels changing do not qualify as user activity. If users continue to be idle after
- * the time interval in IdleDisconnectTimeoutInSeconds
elapses, they are
- * disconnected.
To prevent users from being disconnected due to inactivity, specify a value of 0. Otherwise, specify a value between 60 and 3600. The default value is 0.
- * - *If you enable this feature, we recommend that you specify a value that corresponds exactly to a whole number of minutes (for example, 60, 120, and 180). If you don't do this, the value is rounded to the nearest minute. For example, if you specify a value of 70, users are disconnected after 1 minute of inactivity. If you specify a value that is at the midpoint between two different minutes, the value is rounded up. For example, if you specify a value of 90, users are disconnected after 2 minutes of inactivity.
- *The instance type to use when launching fleet instances. The following instance types are available:
*stream.memory.8xlarge
*stream.memory.z1d.large
+ *stream.memory.z1d.xlarge
+ *stream.memory.z1d.2xlarge
+ *stream.memory.z1d.3xlarge
+ *stream.memory.z1d.6xlarge
+ *stream.memory.z1d.12xlarge
+ *stream.graphics-design.large
*stream.graphics-desktop.2xlarge
*stream.graphics.g4dn.xlarge
+ *stream.graphics.g4dn.2xlarge
+ *stream.graphics.g4dn.4xlarge
+ *stream.graphics.g4dn.8xlarge
+ *stream.graphics.g4dn.12xlarge
+ *stream.graphics.g4dn.16xlarge
+ *stream.graphics-pro.4xlarge
*The description to display.
+ */ + Description?: string; + + /** + *Enables or disables default internet access for the fleet.
+ */ + EnableDefaultInternetAccess?: boolean; + + /** + *The VPC configuration for the fleet.
+ */ + VpcConfig?: VpcConfig; + + /** + *The fleet attributes to delete.
+ */ + AttributesToDelete?: (FleetAttribute | string)[]; + + /** + *The maximum amount of time that a streaming session can remain active, in seconds. If users are still connected to a streaming instance five minutes before this limit is reached, they are prompted to save any open documents before being disconnected. After this time elapses, the instance is terminated and replaced by a new instance.
+ *Specify a value between 600 and 360000.
+ */ + MaxUserDurationInSeconds?: number; + + /** + *The name of the image used to create the fleet.
+ */ + ImageName?: string; + /** *The fleet name to display.
*/ DisplayName?: string; + + /** + *The ARN of the public, private, or shared image to use.
+ */ + ImageArn?: string; + + /** + *The AppStream 2.0 view that is displayed to your users when they stream from the fleet. When APP
is specified, only the windows of applications opened by users display. When DESKTOP
is specified, the standard desktop that is provided by the operating system displays.
The default value is APP
.
The actions that are enabled or disabled for users during their streaming sessions. By default, these actions are enabled.
+ *The list of interface VPC endpoint (interface endpoint) objects. Users of the stack can connect to AppStream 2.0 only through the specified endpoints.
*/ - UserSettings?: UserSetting[]; + AccessEndpoints?: AccessEndpoint[]; + + /** + *The stack name to display.
+ */ + DisplayName?: string; /** *The persistent application settings for users of a stack. When these settings are enabled, changes that users make to applications and Windows settings are automatically saved after each session and applied to the next session.
@@ -3700,14 +3930,14 @@ export interface UpdateStackRequest { ApplicationSettings?: ApplicationSettings; /** - *The list of interface VPC endpoint (interface endpoint) objects. Users of the stack can connect to AppStream 2.0 only through the specified endpoints.
+ *The description to display.
*/ - AccessEndpoints?: AccessEndpoint[]; + Description?: string; /** - *The domains where AppStream 2.0 streaming sessions can be embedded in an iframe. You must approve the domains that you want to host embedded AppStream 2.0 streaming sessions.
+ *The URL that users are redirected to after they choose the Send Feedback link. If no URL is specified, no Send Feedback link is displayed.
*/ - EmbedHostDomains?: string[]; + FeedbackURL?: string; /** *The stack attributes to delete.
@@ -3715,14 +3945,14 @@ export interface UpdateStackRequest { AttributesToDelete?: (StackAttribute | string)[]; /** - *The description to display.
+ *The name of the stack.
*/ - Description?: string; + Name: string | undefined; /** - *The stack name to display.
+ *The domains where AppStream 2.0 streaming sessions can be embedded in an iframe. You must approve the domains that you want to host embedded AppStream 2.0 streaming sessions.
*/ - DisplayName?: string; + EmbedHostDomains?: string[]; /** *The storage connectors to enable.
@@ -3730,24 +3960,19 @@ export interface UpdateStackRequest { StorageConnectors?: StorageConnector[]; /** - *The URL that users are redirected to after they choose the Send Feedback link. If no URL is specified, no Send Feedback link is displayed.
- */ - FeedbackURL?: string; - - /** - *Deletes the storage connectors currently enabled for the stack.
+ *The actions that are enabled or disabled for users during their streaming sessions. By default, these actions are enabled.
*/ - DeleteStorageConnectors?: boolean; + UserSettings?: UserSetting[]; /** - *The name of the stack.
+ *The URL that users are redirected to after their streaming session ends.
*/ - Name: string | undefined; + RedirectURL?: string; /** - *The URL that users are redirected to after their streaming session ends.
+ *Deletes the storage connectors currently enabled for the stack.
*/ - RedirectURL?: string; + DeleteStorageConnectors?: boolean; } export namespace UpdateStackRequest { diff --git a/clients/client-appstream/pagination/DescribeImagePermissionsPaginator.ts b/clients/client-appstream/pagination/DescribeImagePermissionsPaginator.ts index bcc7f9bdce47..74a76d89ce1a 100644 --- a/clients/client-appstream/pagination/DescribeImagePermissionsPaginator.ts +++ b/clients/client-appstream/pagination/DescribeImagePermissionsPaginator.ts @@ -33,7 +33,7 @@ export async function* describeImagePermissionsPaginate( let hasNext = true; let page: DescribeImagePermissionsCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof AppStream) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeImagePermissionsPaginate( throw new Error("Invalid client, expected AppStream | AppStreamClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-appstream/pagination/DescribeImagesPaginator.ts b/clients/client-appstream/pagination/DescribeImagesPaginator.ts index 904420f2a1e8..ed53b8861179 100644 --- a/clients/client-appstream/pagination/DescribeImagesPaginator.ts +++ b/clients/client-appstream/pagination/DescribeImagesPaginator.ts @@ -33,7 +33,7 @@ export async function* describeImagesPaginate( let hasNext = true; let page: DescribeImagesCommandOutput; while (hasNext) { - input["NextToken"] = token; + input.NextToken = token; input["MaxResults"] = config.pageSize; if (config.client instanceof AppStream) { page = await makePagedRequest(config.client, input, ...additionalArguments); @@ -43,7 +43,7 @@ export async function* describeImagesPaginate( throw new Error("Invalid client, expected AppStream | AppStreamClient"); } yield page; - token = page["NextToken"]; + token = page.NextToken; hasNext = !!token; } // @ts-ignore diff --git a/clients/client-appstream/protocols/Aws_json1_1.ts b/clients/client-appstream/protocols/Aws_json1_1.ts index 8d34b7940396..3ab12c156a07 100644 --- a/clients/client-appstream/protocols/Aws_json1_1.ts +++ b/clients/client-appstream/protocols/Aws_json1_1.ts @@ -199,6 +199,7 @@ import { ListTagsForResourceResponse, NetworkAccessConfiguration, OperationNotPermittedException, + RequestLimitExceededException, ResourceAlreadyExistsException, ResourceError, ResourceInUseException, @@ -984,6 +985,14 @@ const deserializeAws_json1_1BatchAssociateUserStackCommandError = async ( const errorTypeParts: String = parsedOutput.body["__type"].split("#"); errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; switch (errorCode) { + case "InvalidParameterCombinationException": + case "com.amazonaws.appstream#InvalidParameterCombinationException": + response = { + ...(await deserializeAws_json1_1InvalidParameterCombinationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "OperationNotPermittedException": case "com.amazonaws.appstream#OperationNotPermittedException": response = { @@ -1039,6 +1048,22 @@ const deserializeAws_json1_1BatchDisassociateUserStackCommandError = async ( const errorTypeParts: String = parsedOutput.body["__type"].split("#"); errorCode = errorTypeParts[1] === undefined ? errorTypeParts[0] : errorTypeParts[1]; switch (errorCode) { + case "InvalidParameterCombinationException": + case "com.amazonaws.appstream#InvalidParameterCombinationException": + response = { + ...(await deserializeAws_json1_1InvalidParameterCombinationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "OperationNotPermittedException": + case "com.amazonaws.appstream#OperationNotPermittedException": + response = { + ...(await deserializeAws_json1_1OperationNotPermittedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; default: const parsedBody = parsedOutput.body; errorCode = parsedBody.code || parsedBody.Code || errorCode; @@ -1189,6 +1214,14 @@ const deserializeAws_json1_1CreateDirectoryConfigCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "InvalidRoleException": + case "com.amazonaws.appstream#InvalidRoleException": + response = { + ...(await deserializeAws_json1_1InvalidRoleExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "LimitExceededException": case "com.amazonaws.appstream#LimitExceededException": response = { @@ -1197,6 +1230,14 @@ const deserializeAws_json1_1CreateDirectoryConfigCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "OperationNotPermittedException": + case "com.amazonaws.appstream#OperationNotPermittedException": + response = { + ...(await deserializeAws_json1_1OperationNotPermittedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "ResourceAlreadyExistsException": case "com.amazonaws.appstream#ResourceAlreadyExistsException": response = { @@ -1205,6 +1246,14 @@ const deserializeAws_json1_1CreateDirectoryConfigCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "ResourceNotFoundException": + case "com.amazonaws.appstream#ResourceNotFoundException": + response = { + ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; default: const parsedBody = parsedOutput.body; errorCode = parsedBody.code || parsedBody.Code || errorCode; @@ -1308,6 +1357,14 @@ const deserializeAws_json1_1CreateFleetCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "RequestLimitExceededException": + case "com.amazonaws.appstream#RequestLimitExceededException": + response = { + ...(await deserializeAws_json1_1RequestLimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "ResourceAlreadyExistsException": case "com.amazonaws.appstream#ResourceAlreadyExistsException": response = { @@ -1435,6 +1492,14 @@ const deserializeAws_json1_1CreateImageBuilderCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "RequestLimitExceededException": + case "com.amazonaws.appstream#RequestLimitExceededException": + response = { + ...(await deserializeAws_json1_1RequestLimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "ResourceAlreadyExistsException": case "com.amazonaws.appstream#ResourceAlreadyExistsException": response = { @@ -2972,6 +3037,14 @@ const deserializeAws_json1_1DescribeUserStackAssociationsCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "OperationNotPermittedException": + case "com.amazonaws.appstream#OperationNotPermittedException": + response = { + ...(await deserializeAws_json1_1OperationNotPermittedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; default: const parsedBody = parsedOutput.body; errorCode = parsedBody.code || parsedBody.Code || errorCode; @@ -3082,6 +3155,14 @@ const deserializeAws_json1_1DisassociateFleetCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "OperationNotPermittedException": + case "com.amazonaws.appstream#OperationNotPermittedException": + response = { + ...(await deserializeAws_json1_1OperationNotPermittedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "ResourceInUseException": case "com.amazonaws.appstream#ResourceInUseException": response = { @@ -3444,6 +3525,14 @@ const deserializeAws_json1_1StartFleetCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "RequestLimitExceededException": + case "com.amazonaws.appstream#RequestLimitExceededException": + response = { + ...(await deserializeAws_json1_1RequestLimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "ResourceNotAvailableException": case "com.amazonaws.appstream#ResourceNotAvailableException": response = { @@ -3862,6 +3951,22 @@ const deserializeAws_json1_1UpdateDirectoryConfigCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "InvalidRoleException": + case "com.amazonaws.appstream#InvalidRoleException": + response = { + ...(await deserializeAws_json1_1InvalidRoleExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "OperationNotPermittedException": + case "com.amazonaws.appstream#OperationNotPermittedException": + response = { + ...(await deserializeAws_json1_1OperationNotPermittedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "ResourceInUseException": case "com.amazonaws.appstream#ResourceInUseException": response = { @@ -3981,6 +4086,14 @@ const deserializeAws_json1_1UpdateFleetCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "RequestLimitExceededException": + case "com.amazonaws.appstream#RequestLimitExceededException": + response = { + ...(await deserializeAws_json1_1RequestLimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "ResourceInUseException": case "com.amazonaws.appstream#ResourceInUseException": response = { @@ -4317,6 +4430,21 @@ const deserializeAws_json1_1OperationNotPermittedExceptionResponse = async ( return contents; }; +const deserializeAws_json1_1RequestLimitExceededExceptionResponse = async ( + parsedOutput: any, + context: __SerdeContext +): PromiseLists the API keys for a given API.
*API keys are deleted automatically sometime after they expire. However, they may + *
API keys are deleted automatically 60 days after they expire. However, they may
* still be included in the response until they have actually been deleted. You can safely
* call DeleteApiKey
to manually delete a key before it's automatically
* deleted.
Updates an API key.
+ *Updates an API key. The key can be updated while it is not deleted.
*/ public updateApiKey( args: UpdateApiKeyCommandInput, diff --git a/clients/client-appsync/models/models_0.ts b/clients/client-appsync/models/models_0.ts index 6e2afbebc3a6..76d4b67dd2e7 100644 --- a/clients/client-appsync/models/models_0.ts +++ b/clients/client-appsync/models/models_0.ts @@ -28,14 +28,15 @@ export enum AuthenticationType { */ export interface OpenIDConnectConfig { /** - *The number of milliseconds a token is valid after being authenticated.
+ *The issuer for the OpenID Connect configuration. The issuer returned by discovery must
+ * exactly match the value of iss
in the ID token.
The number of milliseconds a token is valid after being issued to a user.
+ *The number of milliseconds a token is valid after being authenticated.
*/ - iatTTL?: number; + authTTL?: number; /** *The client identifier of the Relying party at the OpenID identity provider. This @@ -46,10 +47,9 @@ export interface OpenIDConnectConfig { clientId?: string; /** - *
The issuer for the OpenID Connect configuration. The issuer returned by discovery must
- * exactly match the value of iss
in the ID token.
The number of milliseconds a token is valid after being issued to a user.
*/ - issuer: string | undefined; + iatTTL?: number; } export namespace OpenIDConnectConfig { @@ -62,6 +62,11 @@ export namespace OpenIDConnectConfig { *Describes an Amazon Cognito user pool configuration.
*/ export interface CognitoUserPoolConfig { + /** + *The user pool ID.
+ */ + userPoolId: string | undefined; + /** *A regular expression for validating the incoming Amazon Cognito user pool app client * ID.
@@ -72,11 +77,6 @@ export interface CognitoUserPoolConfig { *The AWS Region in which the user pool was created.
*/ awsRegion: string | undefined; - - /** - *The user pool ID.
- */ - userPoolId: string | undefined; } export namespace CognitoUserPoolConfig { @@ -95,14 +95,14 @@ export interface AdditionalAuthenticationProvider { userPoolConfig?: CognitoUserPoolConfig; /** - *The OpenID Connect configuration.
+ *The authentication type: API key, AWS IAM, OIDC, or Amazon Cognito user pools.
*/ - openIDConnectConfig?: OpenIDConnectConfig; + authenticationType?: AuthenticationType | string; /** - *The authentication type: API key, AWS IAM, OIDC, or Amazon Cognito user pools.
+ *The OpenID Connect configuration.
*/ - authenticationType?: AuthenticationType | string; + openIDConnectConfig?: OpenIDConnectConfig; } export namespace AdditionalAuthenticationProvider { @@ -146,23 +146,6 @@ export enum ApiCacheType { *The ApiCache
object.
Caching behavior.
- *- * FULL_REQUEST_CACHING: All requests are fully - * cached.
- *- * PER_RESOLVER_CACHING: Individual resovlers - * that you specify are cached.
- *The cache instance status.
*The cache instance type.
+ *At rest encryption flag for cache. This setting cannot be updated after creation.
+ */ + atRestEncryptionEnabled?: boolean; + + /** + *The cache instance type. Valid values are
+ *
+ * SMALL
+ *
+ * MEDIUM
+ *
+ * LARGE
+ *
+ * XLARGE
+ *
+ * LARGE_2X
+ *
+ * LARGE_4X
+ *
+ * LARGE_8X
(not available in all regions)
+ * LARGE_12X
+ *
Historically, instance types were identified by an EC2-style value. As of July 2020, this is deprecated, and the generic identifiers above should be used.
+ *The following legacy instance types are avaible, but their use is discouraged:
*@@ -204,8 +235,7 @@ export interface ApiCache { *
- * T2_MEDIUM: A t2.medium instance - * type.
+ * T2_MEDIUM: A t2.medium instance type. *@@ -213,34 +243,24 @@ export interface ApiCache { *
- * R4_XLARGE: A r4.xlarge instance - * type.
+ * R4_XLARGE: A r4.xlarge instance type. *- * R4_2XLARGE: A r4.2xlarge instance - * type.
+ * R4_2XLARGE: A r4.2xlarge instance type. *- * R4_4XLARGE: A r4.4xlarge instance - * type.
+ * R4_4XLARGE: A r4.4xlarge instance type. *- * R4_8XLARGE: A r4.8xlarge instance - * type.
+ * R4_8XLARGE: A r4.8xlarge instance type. *TTL in seconds for cache entries.
- *Valid values are between 1 and 3600 seconds.
- */ - ttl?: number; - /** *Transit encryption flag when connecting to cache. This setting cannot be updated after * creation.
@@ -248,9 +268,27 @@ export interface ApiCache { transitEncryptionEnabled?: boolean; /** - *At rest encryption flag for cache. This setting cannot be updated after creation.
+ *Caching behavior.
+ *+ * FULL_REQUEST_CACHING: All requests are fully + * cached.
+ *+ * PER_RESOLVER_CACHING: Individual resovlers + * that you specify are cached.
+ *TTL in seconds for cache entries.
+ *Valid values are between 1 and 3600 seconds.
+ */ + ttl?: number; } export namespace ApiCache { @@ -299,25 +337,33 @@ export namespace ApiCache { *
- * ListApiKeys
returns the expiration time in seconds.
ListApiKeys
returns the expiration time and deletion time
+ * in seconds.
*
- * CreateApiKey
returns the expiration time in seconds and accepts a
- * user-provided expiration time in seconds.
CreateApiKey
returns the expiration time and deletion time
+ * in seconds and accepts a user-provided expiration time in seconds.
*
- * UpdateApiKey
returns the expiration time in seconds and accepts a
- * user-provided expiration time in seconds. Key expiration can only be updated while
- * the key has not expired.
UpdateApiKey
returns the expiration time and and deletion time
+ * in seconds and accepts a user-provided expiration time in seconds. Expired API keys
+ * are kept for 60 days after the expiration time. Key expiration time can be updated
+ * while the key is not deleted.
*
* DeleteApiKey
deletes the item from the table.
Expiration is stored in Amazon DynamoDB as seconds.
+ *Expiration is stored in Amazon DynamoDB as seconds. After the expiration + * time, using the key to authenticate will fail. But the key can be reinstated before + * deletion.
+ *Deletion is stored in Amazon DynamoDB as seconds. The key will be deleted + * after deletion time.
*The time after which the API key expires. The date is represented as seconds since the + *
The time after which the API key is deleted. The date is represented as seconds since the * epoch, rounded down to the nearest hour.
*/ - expires?: number; + deletes?: number; /** *A description of the purpose of the API key.
*/ description?: string; + + /** + *The time after which the API key expires. The date is represented as seconds since the + * epoch, rounded down to the nearest hour.
+ */ + expires?: number; } export namespace ApiKey { @@ -400,14 +452,14 @@ export enum AuthorizationType { */ export interface AwsIamConfig { /** - *The signing region for AWS IAM authorization.
+ *The signing service name for AWS IAM authorization.
*/ - signingRegion?: string; + signingServiceName?: string; /** - *The signing service name for AWS IAM authorization.
+ *The signing region for AWS IAM authorization.
*/ - signingServiceName?: string; + signingRegion?: string; } export namespace AwsIamConfig { @@ -480,6 +532,23 @@ export namespace ConcurrentModificationException { *Represents the input of a CreateApiCache
operation.
Transit encryption flag when connecting to cache. This setting cannot be updated after + * creation.
+ */ + transitEncryptionEnabled?: boolean; + + /** + *The GraphQL API Id.
+ */ + apiId: string | undefined; + + /** + *TTL in seconds for cache entries.
+ *Valid values are between 1 and 3600 seconds.
+ */ + ttl: number | undefined; + /** *Caching behavior.
*The cache instance type.
+ *The cache instance type. Valid values are
+ *
+ * SMALL
+ *
+ * MEDIUM
+ *
+ * LARGE
+ *
+ * XLARGE
+ *
+ * LARGE_2X
+ *
+ * LARGE_4X
+ *
+ * LARGE_8X
(not available in all regions)
+ * LARGE_12X
+ *
Historically, instance types were identified by an EC2-style value. As of July 2020, this is deprecated, and the generic identifiers above should be used.
+ *The following legacy instance types are avaible, but their use is discouraged:
*@@ -506,8 +618,7 @@ export interface CreateApiCacheRequest { *
- * T2_MEDIUM: A t2.medium instance - * type.
+ * T2_MEDIUM: A t2.medium instance type. *@@ -515,23 +626,19 @@ export interface CreateApiCacheRequest { *
- * R4_XLARGE: A r4.xlarge instance - * type.
+ * R4_XLARGE: A r4.xlarge instance type. *- * R4_2XLARGE: A r4.2xlarge instance - * type.
+ * R4_2XLARGE: A r4.2xlarge instance type. *- * R4_4XLARGE: A r4.4xlarge instance - * type.
+ * R4_4XLARGE: A r4.4xlarge instance type. *- * R4_8XLARGE: A r4.8xlarge instance - * type.
+ * R4_8XLARGE: A r4.8xlarge instance type. *At rest encryption flag for cache. This setting cannot be updated after creation.
*/ atRestEncryptionEnabled?: boolean; - - /** - *The GraphQL API Id.
- */ - apiId: string | undefined; - - /** - *Transit encryption flag when connecting to cache. This setting cannot be updated after - * creation.
- */ - transitEncryptionEnabled?: boolean; - - /** - *TTL in seconds for cache entries.
- *Valid values are between 1 and 3600 seconds.
- */ - ttl: number | undefined; } export namespace CreateApiCacheRequest { @@ -629,6 +719,11 @@ export namespace UnauthorizedException { } export interface CreateApiKeyRequest { + /** + *The ID for your GraphQL API.
+ */ + apiId: string | undefined; + /** *The time from creation time after which the API key expires. The date is represented as * seconds since the epoch, rounded down to the nearest hour. The default value for this @@ -640,11 +735,6 @@ export interface CreateApiKeyRequest { *
A description of the purpose of the API key.
*/ description?: string; - - /** - *The ID for your GraphQL API.
- */ - apiId: string | undefined; } export namespace CreateApiKeyRequest { @@ -686,14 +776,14 @@ export namespace LimitExceededException { */ export interface DeltaSyncConfig { /** - *The Delta Sync table name.
+ *The number of minutes an Item is stored in the datasource.
*/ - deltaSyncTableName?: string; + baseTableTTL?: number; /** - *The number of minutes an Item is stored in the datasource.
+ *The Delta Sync table name.
*/ - baseTableTTL?: number; + deltaSyncTableName?: string; /** *The number of minutes a Delta Sync log entry is stored in the Delta Sync table.
@@ -712,29 +802,29 @@ export namespace DeltaSyncConfig { */ export interface DynamodbDataSourceConfig { /** - *The AWS Region.
+ *The DeltaSyncConfig
for a versioned datasource.
Set to TRUE to use Amazon Cognito credentials with this data source.
+ *Set to TRUE to use Conflict Detection and Resolution with this data source.
*/ - useCallerCredentials?: boolean; + versioned?: boolean; /** - *Set to TRUE to use Conflict Detection and Resolution with this data source.
+ *The table name.
*/ - versioned?: boolean; + tableName: string | undefined; /** - *The DeltaSyncConfig
for a versioned datasource.
Set to TRUE to use Amazon Cognito credentials with this data source.
*/ - deltaSyncConfig?: DeltaSyncConfig; + useCallerCredentials?: boolean; /** - *The table name.
+ *The AWS Region.
*/ - tableName: string | undefined; + awsRegion: string | undefined; } export namespace DynamodbDataSourceConfig { @@ -748,14 +838,14 @@ export namespace DynamodbDataSourceConfig { */ export interface ElasticsearchDataSourceConfig { /** - *The endpoint.
+ *The AWS Region.
*/ - endpoint: string | undefined; + awsRegion: string | undefined; /** - *The AWS Region.
+ *The endpoint.
*/ - awsRegion: string | undefined; + endpoint: string | undefined; } export namespace ElasticsearchDataSourceConfig { @@ -768,6 +858,11 @@ export namespace ElasticsearchDataSourceConfig { *Describes an HTTP data source configuration.
*/ export interface HttpDataSourceConfig { + /** + *The authorization config in case the HTTP endpoint requires authorization.
+ */ + authorizationConfig?: AuthorizationConfig; + /** *The HTTP URL endpoint. You can either specify the domain name or IP, and port * combination, and the URL scheme must be HTTP or HTTPS. If the port is not specified, AWS @@ -775,11 +870,6 @@ export interface HttpDataSourceConfig { * endpoints.
*/ endpoint?: string; - - /** - *The authorization config in case the HTTP endpoint requires authorization.
- */ - authorizationConfig?: AuthorizationConfig; } export namespace HttpDataSourceConfig { @@ -809,9 +899,9 @@ export namespace LambdaDataSourceConfig { */ export interface RdsHttpEndpointConfig { /** - *Logical database name.
+ *Logical schema name.
*/ - databaseName?: string; + schema?: string; /** *AWS Region for RDS HTTP endpoint.
@@ -819,19 +909,19 @@ export interface RdsHttpEndpointConfig { awsRegion?: string; /** - *Amazon RDS cluster ARN.
+ *AWS secret store ARN for database credentials.
*/ - dbClusterIdentifier?: string; + awsSecretStoreArn?: string; /** - *Logical schema name.
+ *Logical database name.
*/ - schema?: string; + databaseName?: string; /** - *AWS secret store ARN for database credentials.
+ *Amazon RDS cluster ARN.
*/ - awsSecretStoreArn?: string; + dbClusterIdentifier?: string; } export namespace RdsHttpEndpointConfig { @@ -848,11 +938,6 @@ export enum RelationalDatabaseSourceType { *Describes a relational database data source configuration.
*/ export interface RelationalDatabaseDataSourceConfig { - /** - *Amazon RDS HTTP endpoint settings.
- */ - rdsHttpEndpointConfig?: RdsHttpEndpointConfig; - /** *Source type for the relational database.
*Amazon RDS HTTP endpoint settings.
+ */ + rdsHttpEndpointConfig?: RdsHttpEndpointConfig; } export namespace RelationalDatabaseDataSourceConfig { @@ -883,9 +973,19 @@ export enum DataSourceType { export interface CreateDataSourceRequest { /** - *The type of the DataSource
.
Amazon DynamoDB settings.
*/ - type: DataSourceType | string | undefined; + dynamodbConfig?: DynamodbDataSourceConfig; + + /** + *Amazon Elasticsearch Service settings.
+ */ + elasticsearchConfig?: ElasticsearchDataSourceConfig; + + /** + *HTTP endpoint settings.
+ */ + httpConfig?: HttpDataSourceConfig; /** *Relational database settings.
@@ -893,9 +993,9 @@ export interface CreateDataSourceRequest { relationalDatabaseConfig?: RelationalDatabaseDataSourceConfig; /** - *AWS Lambda settings.
+ *A user-supplied name for the DataSource
.
A description of the DataSource
.
Amazon DynamoDB settings.
+ *The type of the DataSource
.
The AWS IAM service role ARN for the data source. The system assumes this role when @@ -914,24 +1014,14 @@ export interface CreateDataSourceRequest { serviceRoleArn?: string; /** - *
HTTP endpoint settings.
+ *AWS Lambda settings.
*/ - httpConfig?: HttpDataSourceConfig; + lambdaConfig?: LambdaDataSourceConfig; /** *The API ID for the GraphQL API for the DataSource
.
A user-supplied name for the DataSource
.
Amazon Elasticsearch Service settings.
- */ - elasticsearchConfig?: ElasticsearchDataSourceConfig; } export namespace CreateDataSourceRequest { @@ -944,6 +1034,47 @@ export namespace CreateDataSourceRequest { *Describes a data source.
*/ export interface DataSource { + /** + *Amazon DynamoDB settings.
+ */ + dynamodbConfig?: DynamodbDataSourceConfig; + + /** + *The data source ARN.
+ */ + dataSourceArn?: string; + + /** + *Amazon Elasticsearch Service settings.
+ */ + elasticsearchConfig?: ElasticsearchDataSourceConfig; + + /** + *HTTP endpoint settings.
+ */ + httpConfig?: HttpDataSourceConfig; + + /** + *The description of the data source.
+ */ + description?: string; + + /** + *The name of the data source.
+ */ + name?: string; + + /** + *The AWS IAM service role ARN for the data source. The system assumes this role when + * accessing the data source.
+ */ + serviceRoleArn?: string; + + /** + *Relational database settings.
+ */ + relationalDatabaseConfig?: RelationalDatabaseDataSourceConfig; + /** *The type of the data source.
*Relational database settings.
- */ - relationalDatabaseConfig?: RelationalDatabaseDataSourceConfig; - - /** - *Amazon Elasticsearch Service settings.
- */ - elasticsearchConfig?: ElasticsearchDataSourceConfig; - /** *AWS Lambda settings.
*/ lambdaConfig?: LambdaDataSourceConfig; - - /** - *The AWS IAM service role ARN for the data source. The system assumes this role when - * accessing the data source.
- */ - serviceRoleArn?: string; - - /** - *The description of the data source.
- */ - description?: string; - - /** - *Amazon DynamoDB settings.
- */ - dynamodbConfig?: DynamodbDataSourceConfig; - - /** - *HTTP endpoint settings.
- */ - httpConfig?: HttpDataSourceConfig; - - /** - *The data source ARN.
- */ - dataSourceArn?: string; - - /** - *The name of the data source.
- */ - name?: string; } export namespace DataSource { @@ -1051,21 +1141,21 @@ export namespace CreateDataSourceResponse { export interface CreateFunctionRequest { /** - *The Function
response mapping template.
The Function
+ * DataSource
name.
The version
of the request mapping template. Currently the supported value
- * is 2018-05-29.
The Function
request mapping template. Functions support only the
+ * 2018-05-29 version of the request mapping template.
The Function
- * DataSource
name.
The Function
response mapping template.
The Function
name. The function name does not have to be unique.
The Function
request mapping template. Functions support only the
- * 2018-05-29 version of the request mapping template.
The version
of the request mapping template. Currently the supported value
+ * is 2018-05-29.
A unique ID representing the Function
object.
The version of the request mapping template. Currently only the 2018-05-29 version of - * the template is supported.
+ *The ARN of the Function
object.
The Function
response mapping template.
The Function
description.
The name of the Function
object.
The ARN of the Function
object.
A unique ID representing the Function
object.
The Function
request mapping template. Functions support only the
@@ -1138,9 +1222,15 @@ export interface FunctionConfiguration {
requestMappingTemplate?: string;
/**
- *
The Function
description.
The Function
response mapping template.
The version of the request mapping template. Currently only the 2018-05-29 version of + * the template is supported.
+ */ + functionVersion?: string; } export namespace FunctionConfiguration { @@ -1172,6 +1262,12 @@ export enum FieldLogLevel { *The CloudWatch Logs configuration.
*/ export interface LogConfig { + /** + *The service role that AWS AppSync will assume to publish to Amazon CloudWatch logs in + * your account.
+ */ + cloudWatchLogsRoleArn: string | undefined; + /** *The field logging level. Values can be NONE, ERROR, or ALL.
*The service role that AWS AppSync will assume to publish to Amazon CloudWatch logs in - * your account.
- */ - cloudWatchLogsRoleArn: string | undefined; } export namespace LogConfig { @@ -1243,17 +1333,6 @@ export enum DefaultAction { *Describes an Amazon Cognito user pool configuration.
*/ export interface UserPoolConfig { - /** - *A regular expression for validating the incoming Amazon Cognito user pool app client - * ID.
- */ - appIdClientRegex?: string; - - /** - *The AWS Region in which the user pool was created.
- */ - awsRegion: string | undefined; - /** *The action that you want your GraphQL API to take when a request that uses Amazon * Cognito user pool authentication doesn't match the Amazon Cognito user pool @@ -1265,6 +1344,17 @@ export interface UserPoolConfig { *
The user pool ID.
*/ userPoolId: string | undefined; + + /** + *A regular expression for validating the incoming Amazon Cognito user pool app client + * ID.
+ */ + appIdClientRegex?: string; + + /** + *The AWS Region in which the user pool was created.
+ */ + awsRegion: string | undefined; } export namespace UserPoolConfig { @@ -1274,20 +1364,31 @@ export namespace UserPoolConfig { } export interface CreateGraphqlApiRequest { + /** + *The Amazon CloudWatch Logs configuration.
+ */ + logConfig?: LogConfig; + + /** + *A list of additional authentication providers for the GraphqlApi
+ * API.
A TagMap
object.
A user-supplied name for the GraphqlApi
.
The OpenID Connect configuration.
*/ - name: string | undefined; + openIDConnectConfig?: OpenIDConnectConfig; /** - *The Amazon CloudWatch Logs configuration.
+ *A user-supplied name for the GraphqlApi
.
The authentication type: API key, AWS IAM, OIDC, or Amazon Cognito user pools.
@@ -1304,17 +1405,6 @@ export interface CreateGraphqlApiRequest { *The Amazon Cognito user pool configuration.
*/ userPoolConfig?: UserPoolConfig; - - /** - *The OpenID Connect configuration.
- */ - openIDConnectConfig?: OpenIDConnectConfig; - - /** - *A list of additional authentication providers for the GraphqlApi
- * API.
The tags.
+ *The Amazon CloudWatch Logs configuration.
*/ - tags?: { [key: string]: string }; + logConfig?: LogConfig; /** - *A flag representing whether X-Ray tracing is enabled for this
- * GraphqlApi
.
The URIs.
*/ - xrayEnabled?: boolean; + uris?: { [key: string]: string }; /** - *The Amazon CloudWatch Logs configuration.
+ *The Amazon Cognito user pool configuration.
*/ - logConfig?: LogConfig; + userPoolConfig?: UserPoolConfig; /** - *The authentication type.
+ *A list of additional authentication providers for the GraphqlApi
+ * API.
The API name.
+ *The ARN.
*/ - name?: string; + arn?: string; /** - *The ARN.
+ *The API ID.
*/ - arn?: string; + apiId?: string; /** - *The URIs.
+ *The ARN of the AWS WAF ACL associated with this
+ * GraphqlApi
if one exists.
The Amazon Cognito user pool configuration.
+ *The OpenID Connect configuration.
*/ - userPoolConfig?: UserPoolConfig; + openIDConnectConfig?: OpenIDConnectConfig; /** - *The API ID.
+ *The API name.
*/ - apiId?: string; + name?: string; /** - *The OpenID Connect configuration.
+ *The tags.
*/ - openIDConnectConfig?: OpenIDConnectConfig; + tags?: { [key: string]: string }; /** - *A list of additional authentication providers for the GraphqlApi
- * API.
A flag representing whether X-Ray tracing is enabled for this
+ * GraphqlApi
.
The authentication type.
+ */ + authenticationType?: AuthenticationType | string; } export namespace GraphqlApi { @@ -1507,12 +1603,6 @@ export interface SyncConfig { */ conflictHandler?: ConflictHandlerType | string; - /** - *The LambdaConflictHandlerConfig
when configuring LAMBDA as the Conflict
- * Handler.
The Conflict Detection strategy to use.
*The LambdaConflictHandlerConfig
when configuring LAMBDA as the Conflict
+ * Handler.
The ID for the GraphQL API for which the resolver is being created.
- */ - apiId: string | undefined; - - /** - *The name of the data source for which the resolver is being created.
- */ - dataSourceName?: string; +} +export interface CreateResolverRequest { /** - *The name of the field to attach the resolver to.
+ *The name of the Type
.
The mapping template to be used for responses from the data source.
+ *The caching configuration for the resolver.
*/ - responseMappingTemplate?: string; + cachingConfig?: CachingConfig; /** - *The caching configuration for the resolver.
+ *The ID for the GraphQL API for which the resolver is being created.
*/ - cachingConfig?: CachingConfig; + apiId: string | undefined; /** *The mapping template to be used for requests.
*A resolver uses a request mapping template to convert a GraphQL expression into a format * that a data source can understand. Mapping templates are written in Apache Velocity * Template Language (VTL).
+ *VTL request mapping templates are optional when using a Lambda data source. For all + * other data sources, VTL request and response mapping templates are required.
*/ - requestMappingTemplate: string | undefined; + requestMappingTemplate?: string; /** *The SyncConfig
for a resolver attached to a versioned datasource.
The name of the Type
.
The name of the field to attach the resolver to.
*/ - typeName: string | undefined; + fieldName: string | undefined; + + /** + *The name of the data source for which the resolver is being created.
+ */ + dataSourceName?: string; + + /** + *The mapping template to be used for responses from the data source.
+ */ + responseMappingTemplate?: string; /** *The resolver type.
@@ -1618,29 +1716,14 @@ export namespace CreateResolverRequest { */ export interface Resolver { /** - *The SyncConfig
for a resolver attached to a versioned datasource.
The resolver type name.
- */ - typeName?: string; - - /** - *The caching configuration for the resolver.
- */ - cachingConfig?: CachingConfig; - - /** - *The resolver data source name.
+ *The resolver ARN.
*/ - dataSourceName?: string; + resolverArn?: string; /** - *The response mapping template.
+ *The PipelineConfig
.
The request mapping template.
@@ -1648,19 +1731,9 @@ export interface Resolver { requestMappingTemplate?: string; /** - *The resolver field name.
- */ - fieldName?: string; - - /** - *The resolver ARN.
- */ - resolverArn?: string; - - /** - *The PipelineConfig
.
The resolver data source name.
*/ - pipelineConfig?: PipelineConfig; + dataSourceName?: string; /** *The resolver type.
@@ -1681,6 +1754,31 @@ export interface Resolver { *The SyncConfig
for a resolver attached to a versioned datasource.
The resolver type name.
+ */ + typeName?: string; + + /** + *The response mapping template.
+ */ + responseMappingTemplate?: string; + + /** + *The caching configuration for the resolver.
+ */ + cachingConfig?: CachingConfig; + + /** + *The resolver field name.
+ */ + fieldName?: string; } export namespace Resolver { @@ -1736,16 +1834,6 @@ export namespace CreateTypeRequest { *Describes a type.
*/ export interface Type { - /** - *The type definition.
- */ - definition?: string; - - /** - *The type description.
- */ - description?: string; - /** *The type format: SDL or JSON.
*/ @@ -1756,10 +1844,20 @@ export interface Type { */ name?: string; + /** + *The type definition.
+ */ + definition?: string; + /** *The type ARN.
*/ arn?: string; + + /** + *The type description.
+ */ + description?: string; } export namespace Type { @@ -1810,14 +1908,14 @@ export namespace DeleteApiCacheResponse { export interface DeleteApiKeyRequest { /** - *The API ID.
+ *The ID for the API key.
*/ - apiId: string | undefined; + id: string | undefined; /** - *The ID for the API key.
+ *The API ID.
*/ - id: string | undefined; + apiId: string | undefined; } export namespace DeleteApiKeyRequest { @@ -1862,14 +1960,14 @@ export namespace DeleteDataSourceResponse { export interface DeleteFunctionRequest { /** - *The GraphQL API ID.
+ *The Function
ID.
The Function
ID.
The GraphQL API ID.
*/ - functionId: string | undefined; + apiId: string | undefined; } export namespace DeleteFunctionRequest { @@ -2025,14 +2123,14 @@ export namespace GetApiCacheResponse { export interface GetDataSourceRequest { /** - *The API ID.
+ *The name of the data source.
*/ - apiId: string | undefined; + name: string | undefined; /** - *The name of the data source.
+ *The API ID.
*/ - name: string | undefined; + apiId: string | undefined; } export namespace GetDataSourceRequest { @@ -2056,14 +2154,14 @@ export namespace GetDataSourceResponse { export interface GetFunctionRequest { /** - *The Function
ID.
The GraphQL API ID.
*/ - functionId: string | undefined; + apiId: string | undefined; /** - *The GraphQL API ID.
+ *The Function
ID.
A flag that specifies whether the schema introspection should contain directives.
- */ - includeDirectives?: boolean; - /** *The API ID.
*/ @@ -2131,6 +2224,11 @@ export interface GetIntrospectionSchemaRequest { *The schema format: SDL or JSON.
*/ format: OutputType | string | undefined; + + /** + *A flag that specifies whether the schema introspection should contain directives.
+ */ + includeDirectives?: boolean; } export namespace GetIntrospectionSchemaRequest { @@ -2170,11 +2268,6 @@ export namespace GraphQLSchemaException { } export interface GetResolverRequest { - /** - *The resolver type name.
- */ - typeName: string | undefined; - /** *The resolver field name.
*/ @@ -2184,6 +2277,11 @@ export interface GetResolverRequest { *The API ID.
*/ apiId: string | undefined; + + /** + *The resolver type name.
+ */ + typeName: string | undefined; } export namespace GetResolverRequest { @@ -2228,16 +2326,16 @@ export enum SchemaStatus { } export interface GetSchemaCreationStatusResponse { - /** - *Detailed information about the status of the schema creation operation.
- */ - details?: string; - /** *The current state of the schema (PROCESSING, FAILED, SUCCESS, or NOT_APPLICABLE). When * the schema is in the ACTIVE state, you can add data.
*/ status?: SchemaStatus | string; + + /** + *Detailed information about the status of the schema creation operation.
+ */ + details?: string; } export namespace GetSchemaCreationStatusResponse { @@ -2247,6 +2345,11 @@ export namespace GetSchemaCreationStatusResponse { } export interface GetTypeRequest { + /** + *The type format: SDL or JSON.
+ */ + format: TypeDefinitionFormat | string | undefined; + /** *The type name.
*/ @@ -2256,11 +2359,6 @@ export interface GetTypeRequest { *The API ID.
*/ apiId: string | undefined; - - /** - *The type format: SDL or JSON.
- */ - format: TypeDefinitionFormat | string | undefined; } export namespace GetTypeRequest { @@ -2283,6 +2381,12 @@ export namespace GetTypeResponse { } export interface ListApiKeysRequest { + /** + *An identifier that was returned from the previous call to this operation, which can be + * used to return the next set of items in the list.
+ */ + nextToken?: string; + /** *The API ID.
*/ @@ -2292,12 +2396,6 @@ export interface ListApiKeysRequest { *The maximum number of results you want the request to return.
*/ maxResults?: number; - - /** - *An identifier that was returned from the previous call to this operation, which can be - * used to return the next set of items in the list.
- */ - nextToken?: string; } export namespace ListApiKeysRequest { @@ -2326,6 +2424,11 @@ export namespace ListApiKeysResponse { } export interface ListDataSourcesRequest { + /** + *The maximum number of results you want the request to return.
+ */ + maxResults?: number; + /** *An identifier that was returned from the previous call to this operation, which can be * used to return the next set of items in the list.
@@ -2336,11 +2439,6 @@ export interface ListDataSourcesRequest { *The API ID.
*/ apiId: string | undefined; - - /** - *The maximum number of results you want the request to return.
- */ - maxResults?: number; } export namespace ListDataSourcesRequest { @@ -2370,10 +2468,9 @@ export namespace ListDataSourcesResponse { export interface ListFunctionsRequest { /** - *An identifier that was returned from the previous call to this operation, which can be - * used to return the next set of items in the list.
+ *The maximum number of results you want the request to return.
*/ - nextToken?: string; + maxResults?: number; /** *The GraphQL API ID.
@@ -2381,9 +2478,10 @@ export interface ListFunctionsRequest { apiId: string | undefined; /** - *The maximum number of results you want the request to return.
+ *An identifier that was returned from the previous call to this operation, which can be + * used to return the next set of items in the list.
*/ - maxResults?: number; + nextToken?: string; } export namespace ListFunctionsRequest { @@ -2393,16 +2491,16 @@ export namespace ListFunctionsRequest { } export interface ListFunctionsResponse { - /** - *A list of Function
objects.
An identifier that was returned from the previous call to this operation, which can be * used to return the next set of items in the list.
*/ nextToken?: string; + + /** + *A list of Function
objects.
An identifier that was returned from the previous call to this operation, which can be - * used to return the next set of items in the list.
+ *The maximum number of results you want the request to return.
*/ - nextToken?: string; + maxResults?: number; /** *The type name.
@@ -2467,9 +2564,10 @@ export interface ListResolversRequest { apiId: string | undefined; /** - *The maximum number of results you want the request to return.
+ *An identifier that was returned from the previous call to this operation, which can be + * used to return the next set of items in the list.
*/ - maxResults?: number; + nextToken?: string; } export namespace ListResolversRequest { @@ -2479,16 +2577,16 @@ export namespace ListResolversRequest { } export interface ListResolversResponse { - /** - *The Resolver
objects.
An identifier to be passed in the next request to this operation to return the next set * of items in the list.
*/ nextToken?: string; + + /** + *The Resolver
objects.
The Function ID.
+ *The maximum number of results you want the request to return.
*/ - functionId: string | undefined; + maxResults?: number; /** *The API ID.
@@ -2509,15 +2607,15 @@ export interface ListResolversByFunctionRequest { apiId: string | undefined; /** - *An identifier that was returned from the previous call to this operation, which you can - * use to return the next set of items in the list.
+ *The Function ID.
*/ - nextToken?: string; + functionId: string | undefined; /** - *The maximum number of results you want the request to return.
+ *An identifier that was returned from the previous call to this operation, which you can + * use to return the next set of items in the list.
*/ - maxResults?: number; + nextToken?: string; } export namespace ListResolversByFunctionRequest { @@ -2571,11 +2669,6 @@ export namespace ListTagsForResourceResponse { } export interface ListTypesRequest { - /** - *The maximum number of results you want the request to return.
- */ - maxResults?: number; - /** *The API ID.
*/ @@ -2586,6 +2679,11 @@ export interface ListTypesRequest { */ format: TypeDefinitionFormat | string | undefined; + /** + *The maximum number of results you want the request to return.
+ */ + maxResults?: number; + /** *An identifier that was returned from the previous call to this operation, which can be * used to return the next set of items in the list.
@@ -2620,14 +2718,14 @@ export namespace ListTypesResponse { export interface StartSchemaCreationRequest { /** - *The schema definition, in GraphQL schema language format.
+ *The API ID.
*/ - definition: Uint8Array | undefined; + apiId: string | undefined; /** - *The API ID.
+ *The schema definition, in GraphQL schema language format.
*/ - apiId: string | undefined; + definition: Uint8Array | undefined; } export namespace StartSchemaCreationRequest { @@ -2652,14 +2750,14 @@ export namespace StartSchemaCreationResponse { export interface TagResourceRequest { /** - *The GraphqlApi
ARN.
A TagMap
object.
A TagMap
object.
The GraphqlApi
ARN.
A list of TagKey
objects.
The GraphqlApi
ARN.
The GraphqlApi
ARN.
A list of TagKey
objects.
Represents the input of a UpdateApiCache
operation.
Caching behavior.
+ *+ * FULL_REQUEST_CACHING: All requests are fully + * cached.
+ *+ * PER_RESOLVER_CACHING: Individual resovlers + * that you specify are cached.
+ *The GraphQL API Id.
*/ apiId: string | undefined; /** - *The cache instance type.
+ *The cache instance type. Valid values are
*- * T2_SMALL: A t2.small instance type.
+ *SMALL
+ *
* - * T2_MEDIUM: A t2.medium instance - * type.
+ *MEDIUM
+ *
* - * R4_LARGE: A r4.large instance type.
+ *LARGE
+ *
* - * R4_XLARGE: A r4.xlarge instance - * type.
+ *XLARGE
+ *
* - * R4_2XLARGE: A r4.2xlarge instance - * type.
+ *LARGE_2X
+ *
* - * R4_4XLARGE: A r4.4xlarge instance - * type.
+ *LARGE_4X
+ *
* - * R4_8XLARGE: A r4.8xlarge instance - * type.
+ *LARGE_8X
(not available in all regions)
+ *
+ * LARGE_12X
+ *
Caching behavior.
+ *Historically, instance types were identified by an EC2-style value. As of July 2020, this is deprecated, and the generic identifiers above should be used.
+ *The following legacy instance types are avaible, but their use is discouraged:
*- * FULL_REQUEST_CACHING: All requests are fully - * cached.
+ * T2_SMALL: A t2.small instance type. *- * PER_RESOLVER_CACHING: Individual resovlers - * that you specify are cached.
+ * T2_MEDIUM: A t2.medium instance type. + *+ * R4_LARGE: A r4.large instance type.
+ *+ * R4_XLARGE: A r4.xlarge instance type.
+ *+ * R4_2XLARGE: A r4.2xlarge instance type.
+ *+ * R4_4XLARGE: A r4.4xlarge instance type.
+ *+ * R4_8XLARGE: A r4.8xlarge instance type.
*TTL in seconds for cache entries.
@@ -2799,15 +2935,15 @@ export namespace UpdateApiCacheResponse { export interface UpdateApiKeyRequest { /** - *The time from update time after which the API key expires. The date is represented as - * seconds since the epoch. For more information, see .
+ *The API key ID.
*/ - expires?: number; + id: string | undefined; /** - *The ID for the GraphQL API.
+ *The time from update time after which the API key expires. The date is represented as + * seconds since the epoch. For more information, see .
*/ - apiId: string | undefined; + expires?: number; /** *A description of the purpose of the API key.
@@ -2815,9 +2951,9 @@ export interface UpdateApiKeyRequest { description?: string; /** - *The API key ID.
+ *The ID for the GraphQL API.
*/ - id: string | undefined; + apiId: string | undefined; } export namespace UpdateApiKeyRequest { @@ -2840,30 +2976,25 @@ export namespace UpdateApiKeyResponse { } export interface UpdateDataSourceRequest { - /** - *The new Amazon DynamoDB configuration.
- */ - dynamodbConfig?: DynamodbDataSourceConfig; - /** *The API ID.
*/ apiId: string | undefined; /** - *The new relational database configuration.
+ *The new HTTP endpoint configuration.
*/ - relationalDatabaseConfig?: RelationalDatabaseDataSourceConfig; + httpConfig?: HttpDataSourceConfig; /** - *The new data source type.
+ *The new Amazon DynamoDB configuration.
*/ - type: DataSourceType | string | undefined; + dynamodbConfig?: DynamodbDataSourceConfig; /** - *The new AWS Lambda configuration.
+ *The new Elasticsearch Service configuration.
*/ - lambdaConfig?: LambdaDataSourceConfig; + elasticsearchConfig?: ElasticsearchDataSourceConfig; /** *The new service role ARN for the data source.
@@ -2871,24 +3002,29 @@ export interface UpdateDataSourceRequest { serviceRoleArn?: string; /** - *The new description for the data source.
+ *The new AWS Lambda configuration.
*/ - description?: string; + lambdaConfig?: LambdaDataSourceConfig; /** - *The new name for the data source.
+ *The new relational database configuration.
*/ - name: string | undefined; + relationalDatabaseConfig?: RelationalDatabaseDataSourceConfig; /** - *The new HTTP endpoint configuration.
+ *The new data source type.
*/ - httpConfig?: HttpDataSourceConfig; + type: DataSourceType | string | undefined; /** - *The new Elasticsearch Service configuration.
+ *The new description for the data source.
*/ - elasticsearchConfig?: ElasticsearchDataSourceConfig; + description?: string; + + /** + *The new name for the data source.
+ */ + name: string | undefined; } export namespace UpdateDataSourceRequest { @@ -2911,26 +3047,11 @@ export namespace UpdateDataSourceResponse { } export interface UpdateFunctionRequest { - /** - *The GraphQL API ID.
- */ - apiId: string | undefined; - - /** - *The Function
description.
The Function
request mapping template. Functions support only the
* 2018-05-29 version of the request mapping template.
The Function
name.
The Function
@@ -2944,15 +3065,30 @@ export interface UpdateFunctionRequest {
functionId: string | undefined;
/**
- *
The Function
request mapping template.
The Function
description.
The version
of the request mapping template. Currently the supported value
* is 2018-05-29.
The GraphQL API ID.
+ */ + apiId: string | undefined; + + /** + *The Function
name.
The Function
request mapping template.
The API ID.
+ */ + apiId: string | undefined; + + /** + *The new authentication type for the GraphqlApi
object.
The Amazon CloudWatch Logs configuration for the GraphqlApi
object.
A list of additional authentication providers for the GraphqlApi
- * API.
The new name for the GraphqlApi
object.
A flag indicating whether to enable X-Ray tracing for the @@ -2993,15 +3138,10 @@ export interface UpdateGraphqlApiRequest { xrayEnabled?: boolean; /** - *
The new Amazon Cognito user pool configuration for the GraphqlApi
- * object.
The new authentication type for the GraphqlApi
object.
A list of additional authentication providers for the GraphqlApi
+ * API.
The OpenID Connect configuration for the GraphqlApi
object.
The new name for the GraphqlApi
object.
The API ID.
+ *The new Amazon Cognito user pool configuration for the GraphqlApi
+ * object.
The new request mapping template.
+ *The new field name.
+ */ + fieldName: string | undefined; + + /** + *The PipelineConfig
.
The resolver type.
@@ -3065,14 +3206,14 @@ export interface UpdateResolverRequest { kind?: ResolverKind | string; /** - *The new data source name.
+ *The new response mapping template.
*/ - dataSourceName?: string; + responseMappingTemplate?: string; /** - *The PipelineConfig
.
The caching configuration for the resolver.
*/ - pipelineConfig?: PipelineConfig; + cachingConfig?: CachingConfig; /** *The SyncConfig
for a resolver attached to a versioned datasource.
The API ID.
- */ - apiId: string | undefined; - - /** - *The new response mapping template.
+ *The new data source name.
*/ - responseMappingTemplate?: string; + dataSourceName?: string; /** - *The caching configuration for the resolver.
+ *The API ID.
*/ - cachingConfig?: CachingConfig; + apiId: string | undefined; /** - *The new field name.
+ *The new request mapping template.
+ *A resolver uses a request mapping template to convert a GraphQL expression into a format + * that a data source can understand. Mapping templates are written in Apache Velocity + * Template Language (VTL).
+ *VTL request mapping templates are optional when using a Lambda data source. For all + * other data sources, VTL request and response mapping templates are required.
*/ - fieldName: string | undefined; + requestMappingTemplate?: string; } export namespace UpdateResolverRequest { @@ -3130,6 +3271,11 @@ export interface UpdateTypeRequest { */ format: TypeDefinitionFormat | string | undefined; + /** + *The new definition.
+ */ + definition?: string; + /** *The new type name.
*/ @@ -3139,11 +3285,6 @@ export interface UpdateTypeRequest { *The API ID.
*/ apiId: string | undefined; - - /** - *The new definition.
- */ - definition?: string; } export namespace UpdateTypeRequest { diff --git a/clients/client-appsync/protocols/Aws_restJson1.ts b/clients/client-appsync/protocols/Aws_restJson1.ts index 1822ed03718b..99f50f2dd805 100644 --- a/clients/client-appsync/protocols/Aws_restJson1.ts +++ b/clients/client-appsync/protocols/Aws_restJson1.ts @@ -315,15 +315,6 @@ export const serializeAws_restJson1CreateResolverCommand = async ( "Content-Type": "application/json", }; let resolvedPath = "/apis/{apiId}/types/{typeName}/resolvers"; - if (input.apiId !== undefined) { - const labelValue: string = input.apiId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: apiId."); - } - resolvedPath = resolvedPath.replace("{apiId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: apiId."); - } if (input.typeName !== undefined) { const labelValue: string = input.typeName; if (labelValue.length <= 0) { @@ -333,6 +324,15 @@ export const serializeAws_restJson1CreateResolverCommand = async ( } else { throw new Error("No value provided for input HTTP label: typeName."); } + if (input.apiId !== undefined) { + const labelValue: string = input.apiId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: apiId."); + } + resolvedPath = resolvedPath.replace("{apiId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: apiId."); + } let body: any; body = JSON.stringify({ ...(input.cachingConfig !== undefined && { @@ -432,15 +432,6 @@ export const serializeAws_restJson1DeleteApiKeyCommand = async ( "Content-Type": "", }; let resolvedPath = "/apis/{apiId}/apikeys/{id}"; - if (input.apiId !== undefined) { - const labelValue: string = input.apiId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: apiId."); - } - resolvedPath = resolvedPath.replace("{apiId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: apiId."); - } if (input.id !== undefined) { const labelValue: string = input.id; if (labelValue.length <= 0) { @@ -450,6 +441,15 @@ export const serializeAws_restJson1DeleteApiKeyCommand = async ( } else { throw new Error("No value provided for input HTTP label: id."); } + if (input.apiId !== undefined) { + const labelValue: string = input.apiId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: apiId."); + } + resolvedPath = resolvedPath.replace("{apiId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: apiId."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -510,15 +510,6 @@ export const serializeAws_restJson1DeleteFunctionCommand = async ( "Content-Type": "", }; let resolvedPath = "/apis/{apiId}/functions/{functionId}"; - if (input.apiId !== undefined) { - const labelValue: string = input.apiId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: apiId."); - } - resolvedPath = resolvedPath.replace("{apiId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: apiId."); - } if (input.functionId !== undefined) { const labelValue: string = input.functionId; if (labelValue.length <= 0) { @@ -528,6 +519,15 @@ export const serializeAws_restJson1DeleteFunctionCommand = async ( } else { throw new Error("No value provided for input HTTP label: functionId."); } + if (input.apiId !== undefined) { + const labelValue: string = input.apiId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: apiId."); + } + resolvedPath = resolvedPath.replace("{apiId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: apiId."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -726,15 +726,6 @@ export const serializeAws_restJson1GetDataSourceCommand = async ( "Content-Type": "", }; let resolvedPath = "/apis/{apiId}/datasources/{name}"; - if (input.apiId !== undefined) { - const labelValue: string = input.apiId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: apiId."); - } - resolvedPath = resolvedPath.replace("{apiId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: apiId."); - } if (input.name !== undefined) { const labelValue: string = input.name; if (labelValue.length <= 0) { @@ -744,6 +735,15 @@ export const serializeAws_restJson1GetDataSourceCommand = async ( } else { throw new Error("No value provided for input HTTP label: name."); } + if (input.apiId !== undefined) { + const labelValue: string = input.apiId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: apiId."); + } + resolvedPath = resolvedPath.replace("{apiId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: apiId."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -765,15 +765,6 @@ export const serializeAws_restJson1GetFunctionCommand = async ( "Content-Type": "", }; let resolvedPath = "/apis/{apiId}/functions/{functionId}"; - if (input.functionId !== undefined) { - const labelValue: string = input.functionId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: functionId."); - } - resolvedPath = resolvedPath.replace("{functionId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: functionId."); - } if (input.apiId !== undefined) { const labelValue: string = input.apiId; if (labelValue.length <= 0) { @@ -783,6 +774,15 @@ export const serializeAws_restJson1GetFunctionCommand = async ( } else { throw new Error("No value provided for input HTTP label: apiId."); } + if (input.functionId !== undefined) { + const labelValue: string = input.functionId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: functionId."); + } + resolvedPath = resolvedPath.replace("{functionId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: functionId."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -844,8 +844,8 @@ export const serializeAws_restJson1GetIntrospectionSchemaCommand = async ( throw new Error("No value provided for input HTTP label: apiId."); } const query: any = { - ...(input.includeDirectives !== undefined && { includeDirectives: input.includeDirectives.toString() }), ...(input.format !== undefined && { format: input.format }), + ...(input.includeDirectives !== undefined && { includeDirectives: input.includeDirectives.toString() }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -869,15 +869,6 @@ export const serializeAws_restJson1GetResolverCommand = async ( "Content-Type": "", }; let resolvedPath = "/apis/{apiId}/types/{typeName}/resolvers/{fieldName}"; - if (input.typeName !== undefined) { - const labelValue: string = input.typeName; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: typeName."); - } - resolvedPath = resolvedPath.replace("{typeName}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: typeName."); - } if (input.fieldName !== undefined) { const labelValue: string = input.fieldName; if (labelValue.length <= 0) { @@ -896,6 +887,15 @@ export const serializeAws_restJson1GetResolverCommand = async ( } else { throw new Error("No value provided for input HTTP label: apiId."); } + if (input.typeName !== undefined) { + const labelValue: string = input.typeName; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: typeName."); + } + resolvedPath = resolvedPath.replace("{typeName}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: typeName."); + } let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); return new __HttpRequest({ @@ -1000,8 +1000,8 @@ export const serializeAws_restJson1ListApiKeysCommand = async ( throw new Error("No value provided for input HTTP label: apiId."); } const query: any = { - ...(input.maxResults !== undefined && { maxResults: input.maxResults.toString() }), ...(input.nextToken !== undefined && { nextToken: input.nextToken }), + ...(input.maxResults !== undefined && { maxResults: input.maxResults.toString() }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -1035,8 +1035,8 @@ export const serializeAws_restJson1ListDataSourcesCommand = async ( throw new Error("No value provided for input HTTP label: apiId."); } const query: any = { - ...(input.nextToken !== undefined && { nextToken: input.nextToken }), ...(input.maxResults !== undefined && { maxResults: input.maxResults.toString() }), + ...(input.nextToken !== undefined && { nextToken: input.nextToken }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -1070,8 +1070,8 @@ export const serializeAws_restJson1ListFunctionsCommand = async ( throw new Error("No value provided for input HTTP label: apiId."); } const query: any = { - ...(input.nextToken !== undefined && { nextToken: input.nextToken }), ...(input.maxResults !== undefined && { maxResults: input.maxResults.toString() }), + ...(input.nextToken !== undefined && { nextToken: input.nextToken }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -1140,8 +1140,8 @@ export const serializeAws_restJson1ListResolversCommand = async ( throw new Error("No value provided for input HTTP label: apiId."); } const query: any = { - ...(input.nextToken !== undefined && { nextToken: input.nextToken }), ...(input.maxResults !== undefined && { maxResults: input.maxResults.toString() }), + ...(input.nextToken !== undefined && { nextToken: input.nextToken }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -1165,15 +1165,6 @@ export const serializeAws_restJson1ListResolversByFunctionCommand = async ( "Content-Type": "", }; let resolvedPath = "/apis/{apiId}/functions/{functionId}/resolvers"; - if (input.functionId !== undefined) { - const labelValue: string = input.functionId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: functionId."); - } - resolvedPath = resolvedPath.replace("{functionId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: functionId."); - } if (input.apiId !== undefined) { const labelValue: string = input.apiId; if (labelValue.length <= 0) { @@ -1183,9 +1174,18 @@ export const serializeAws_restJson1ListResolversByFunctionCommand = async ( } else { throw new Error("No value provided for input HTTP label: apiId."); } + if (input.functionId !== undefined) { + const labelValue: string = input.functionId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: functionId."); + } + resolvedPath = resolvedPath.replace("{functionId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: functionId."); + } const query: any = { - ...(input.nextToken !== undefined && { nextToken: input.nextToken }), ...(input.maxResults !== undefined && { maxResults: input.maxResults.toString() }), + ...(input.nextToken !== undefined && { nextToken: input.nextToken }), }; let body: any; const { hostname, protocol = "https", port } = await context.endpoint(); @@ -1249,8 +1249,8 @@ export const serializeAws_restJson1ListTypesCommand = async ( throw new Error("No value provided for input HTTP label: apiId."); } const query: any = { - ...(input.maxResults !== undefined && { maxResults: input.maxResults.toString() }), ...(input.format !== undefined && { format: input.format }), + ...(input.maxResults !== undefined && { maxResults: input.maxResults.toString() }), ...(input.nextToken !== undefined && { nextToken: input.nextToken }), }; let body: any; @@ -1410,15 +1410,6 @@ export const serializeAws_restJson1UpdateApiKeyCommand = async ( "Content-Type": "application/json", }; let resolvedPath = "/apis/{apiId}/apikeys/{id}"; - if (input.apiId !== undefined) { - const labelValue: string = input.apiId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: apiId."); - } - resolvedPath = resolvedPath.replace("{apiId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: apiId."); - } if (input.id !== undefined) { const labelValue: string = input.id; if (labelValue.length <= 0) { @@ -1428,6 +1419,15 @@ export const serializeAws_restJson1UpdateApiKeyCommand = async ( } else { throw new Error("No value provided for input HTTP label: id."); } + if (input.apiId !== undefined) { + const labelValue: string = input.apiId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: apiId."); + } + resolvedPath = resolvedPath.replace("{apiId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: apiId."); + } let body: any; body = JSON.stringify({ ...(input.description !== undefined && { description: input.description }), @@ -1515,15 +1515,6 @@ export const serializeAws_restJson1UpdateFunctionCommand = async ( "Content-Type": "application/json", }; let resolvedPath = "/apis/{apiId}/functions/{functionId}"; - if (input.apiId !== undefined) { - const labelValue: string = input.apiId; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: apiId."); - } - resolvedPath = resolvedPath.replace("{apiId}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: apiId."); - } if (input.functionId !== undefined) { const labelValue: string = input.functionId; if (labelValue.length <= 0) { @@ -1533,6 +1524,15 @@ export const serializeAws_restJson1UpdateFunctionCommand = async ( } else { throw new Error("No value provided for input HTTP label: functionId."); } + if (input.apiId !== undefined) { + const labelValue: string = input.apiId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: apiId."); + } + resolvedPath = resolvedPath.replace("{apiId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: apiId."); + } let body: any; body = JSON.stringify({ ...(input.dataSourceName !== undefined && { dataSourceName: input.dataSourceName }), @@ -1610,6 +1610,15 @@ export const serializeAws_restJson1UpdateResolverCommand = async ( "Content-Type": "application/json", }; let resolvedPath = "/apis/{apiId}/types/{typeName}/resolvers/{fieldName}"; + if (input.fieldName !== undefined) { + const labelValue: string = input.fieldName; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: fieldName."); + } + resolvedPath = resolvedPath.replace("{fieldName}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: fieldName."); + } if (input.typeName !== undefined) { const labelValue: string = input.typeName; if (labelValue.length <= 0) { @@ -1628,15 +1637,6 @@ export const serializeAws_restJson1UpdateResolverCommand = async ( } else { throw new Error("No value provided for input HTTP label: apiId."); } - if (input.fieldName !== undefined) { - const labelValue: string = input.fieldName; - if (labelValue.length <= 0) { - throw new Error("Empty value provided for input HTTP label: fieldName."); - } - resolvedPath = resolvedPath.replace("{fieldName}", __extendedEncodeURIComponent(labelValue)); - } else { - throw new Error("No value provided for input HTTP label: fieldName."); - } let body: any; body = JSON.stringify({ ...(input.cachingConfig !== undefined && { @@ -5610,6 +5610,7 @@ const deserializeAws_restJson1ApiCache = (output: any, context: __SerdeContext): const deserializeAws_restJson1ApiKey = (output: any, context: __SerdeContext): ApiKey => { return { + deletes: output.deletes !== undefined && output.deletes !== null ? output.deletes : undefined, description: output.description !== undefined && output.description !== null ? output.description : undefined, expires: output.expires !== undefined && output.expires !== null ? output.expires : undefined, id: output.id !== undefined && output.id !== null ? output.id : undefined, @@ -5808,6 +5809,7 @@ const deserializeAws_restJson1GraphqlApi = (output: any, context: __SerdeContext output.userPoolConfig !== undefined && output.userPoolConfig !== null ? deserializeAws_restJson1UserPoolConfig(output.userPoolConfig, context) : undefined, + wafWebAclArn: output.wafWebAclArn !== undefined && output.wafWebAclArn !== null ? output.wafWebAclArn : undefined, xrayEnabled: output.xrayEnabled !== undefined && output.xrayEnabled !== null ? output.xrayEnabled : undefined, } as any; }; diff --git a/clients/client-athena/models/models_0.ts b/clients/client-athena/models/models_0.ts index 2a85dd5a12d7..941cacaf8f4e 100644 --- a/clients/client-athena/models/models_0.ts +++ b/clients/client-athena/models/models_0.ts @@ -20,34 +20,34 @@ export namespace BatchGetNamedQueryInput { */ export interface NamedQuery { /** - *The query name.
+ *The query description.
*/ - Name: string | undefined; + Description?: string; /** - *The unique identifier of the query.
+ *The name of the workgroup that contains the named query.
*/ - NamedQueryId?: string; + WorkGroup?: string; /** - *The SQL query statements that comprise the query.
+ *The database to which the query belongs.
*/ - QueryString: string | undefined; + Database: string | undefined; /** - *The query description.
+ *The query name.
*/ - Description?: string; + Name: string | undefined; /** - *The database to which the query belongs.
+ *The unique identifier of the query.
*/ - Database: string | undefined; + NamedQueryId?: string; /** - *The name of the workgroup that contains the named query.
+ *The SQL query statements that comprise the query.
*/ - WorkGroup?: string; + QueryString: string | undefined; } export namespace NamedQuery { @@ -61,10 +61,9 @@ export namespace NamedQuery { */ export interface UnprocessedNamedQueryId { /** - *The error message returned when the processing request for the named query failed, if - * applicable.
+ *The unique identifier of the named query.
*/ - ErrorMessage?: string; + NamedQueryId?: string; /** *The error code returned when the processing request for the named query failed, if @@ -73,9 +72,10 @@ export interface UnprocessedNamedQueryId { ErrorCode?: string; /** - *
The unique identifier of the named query.
+ *The error message returned when the processing request for the named query failed, if + * applicable.
*/ - NamedQueryId?: string; + ErrorMessage?: string; } export namespace UnprocessedNamedQueryId { @@ -158,14 +158,14 @@ export namespace BatchGetQueryExecutionInput { */ export interface QueryExecutionContext { /** - *The name of the database used in the query execution.
+ *The name of the data catalog used in the query execution.
*/ - Database?: string; + Catalog?: string; /** - *The name of the data catalog used in the query execution.
+ *The name of the database used in the query execution.
*/ - Catalog?: string; + Database?: string; } export namespace QueryExecutionContext { @@ -216,15 +216,6 @@ export namespace EncryptionConfiguration { * settings. */ export interface ResultConfiguration { - /** - *If query results are encrypted in Amazon S3, indicates the encryption option used (for
- * example, SSE-KMS
or CSE-KMS
) and key information. This is a
- * client-side setting. If workgroup settings override client-side settings, then the query
- * uses the encryption configuration that is specified for the workgroup, and also uses the
- * location for storing query results specified in the workgroup. See WorkGroupConfiguration$EnforceWorkGroupConfiguration and Workgroup Settings Override Client-Side Settings.
The location in Amazon S3 where your query results are stored, such as
* s3://path/to/query/bucket/
. To run the query, you must specify the
@@ -235,6 +226,15 @@ export interface ResultConfiguration {
* specified for the workgroup. See WorkGroupConfiguration$EnforceWorkGroupConfiguration.
If query results are encrypted in Amazon S3, indicates the encryption option used (for
+ * example, SSE-KMS
or CSE-KMS
) and key information. This is a
+ * client-side setting. If workgroup settings override client-side settings, then the query
+ * uses the encryption configuration that is specified for the workgroup, and also uses the
+ * location for storing query results specified in the workgroup. See WorkGroupConfiguration$EnforceWorkGroupConfiguration and Workgroup Settings Override Client-Side Settings.
The location and file name of a data manifest file. The manifest file is saved to the - * Athena query results location in Amazon S3. The manifest file tracks files that the - * query wrote to Amazon S3. If the query fails, the manifest file also tracks files that - * the query intended to write. The manifest is useful for identifying orphaned files - * resulting from a failed query. For more information, see Working with Query Results, Output Files, and - * Query History in the Amazon Athena User Guide.
+ *The number of milliseconds that the query took to execute.
*/ - DataManifestLocation?: string; + EngineExecutionTimeInMillis?: number; + + /** + *The number of milliseconds that Athena took to run the query.
+ */ + TotalExecutionTimeInMillis?: number; /** *The number of milliseconds that the query was in your query queue waiting for @@ -272,15 +272,19 @@ export interface QueryExecutionStatistics { QueryQueueTimeInMillis?: number; /** - *
The number of milliseconds that Athena took to finalize and publish the query results - * after the query engine finished running the query.
+ *The location and file name of a data manifest file. The manifest file is saved to the + * Athena query results location in Amazon S3. The manifest file tracks files that the + * query wrote to Amazon S3. If the query fails, the manifest file also tracks files that + * the query intended to write. The manifest is useful for identifying orphaned files + * resulting from a failed query. For more information, see Working with Query Results, Output Files, and + * Query History in the Amazon Athena User Guide.
*/ - ServiceProcessingTimeInMillis?: number; + DataManifestLocation?: string; /** - *The number of milliseconds that Athena took to run the query.
+ *The number of bytes in the data that was queried.
*/ - TotalExecutionTimeInMillis?: number; + DataScannedInBytes?: number; /** *The number of milliseconds that Athena took to plan the query processing flow. This @@ -291,14 +295,10 @@ export interface QueryExecutionStatistics { QueryPlanningTimeInMillis?: number; /** - *
The number of bytes in the data that was queried.
- */ - DataScannedInBytes?: number; - - /** - *The number of milliseconds that the query took to execute.
+ *The number of milliseconds that Athena took to finalize and publish the query results + * after the query engine finished running the query.
*/ - EngineExecutionTimeInMillis?: number; + ServiceProcessingTimeInMillis?: number; } export namespace QueryExecutionStatistics { @@ -320,6 +320,16 @@ export enum QueryExecutionState { * applicable) for the query execution. */ export interface QueryExecutionStatus { + /** + *The date and time that the query was submitted.
+ */ + SubmissionDateTime?: Date; + + /** + *Further detail about the status of the query.
+ */ + StateChangeReason?: string; + /** *The state of query execution. QUEUED
indicates that the query has been
* submitted to the service, and Athena will execute the query as soon as resources are
@@ -340,16 +350,6 @@ export interface QueryExecutionStatus {
*
The date and time that the query completed.
*/ CompletionDateTime?: Date; - - /** - *The date and time that the query was submitted.
- */ - SubmissionDateTime?: Date; - - /** - *Further detail about the status of the query.
- */ - StateChangeReason?: string; } export namespace QueryExecutionStatus { @@ -362,6 +362,25 @@ export namespace QueryExecutionStatus { *Information about a single instance of a query execution.
*/ export interface QueryExecution { + /** + *The type of query statement that was run. The SQL query statements which the query execution ran. The name of the workgroup in which the query ran. Query execution statistics, such as the amount of data scanned, the amount of time
* that the query took to process, and the type of statement that was run. The SQL query statements which the query execution ran. The completion date, current state, submission time, and state change reason (if
* applicable) for the query execution. The name of the workgroup in which the query ran. The location in Amazon S3 where query results were stored and the encryption option,
* if any, used for query results. These are known as "client-side settings". If workgroup
@@ -401,15 +410,6 @@ export interface QueryExecution {
* The unique identifier for each query execution. The type of query statement that was run. The error code returned when the query execution failed to process, if
+ * The error message returned when the query execution failed to process, if
* applicable. The error message returned when the query execution failed to process, if
+ * The error code returned when the query execution failed to process, if
* applicable. The unique identifier of the query execution. Information about the query executions that failed to run. Information about a query execution. Information about a query execution. Information about the query executions that failed to run. A description of the data catalog to be created. A list of comma separated tags to add to the data catalog that is created. The name of the data catalog to create. The catalog name must be unique for the AWS
* account and can use a maximum of 128 alphanumeric, underscore, at sign, or hyphen
@@ -565,16 +575,6 @@ export interface CreateDataCatalogInput {
*
*/
Parameters?: { [key: string]: string };
-
- /**
- * A list of comma separated tags to add to the data catalog that is created. A description of the data catalog to be created. The name of the workgroup in which the named query is being created. The query name. The database to which the query belongs. The contents of the query with all query statements. The query description. The contents of the query with all query statements. The database to which the query belongs. The query name. The name of the workgroup in which the named query is being created. The upper data usage limit (cutoff) for the amount of bytes a single query in a
- * workgroup is allowed to scan. If set to DDL
indicates DDL query
+ * statements. DML
indicates DML (Data Manipulation Language) query
+ * statements, such as CREATE TABLE AS SELECT
. UTILITY
indicates
+ * query statements other than DDL and DML, such as SHOW CREATE TABLE
, or
+ * DESCRIBE
.
+ */
+ StatementType?: StatementType | string;
+
+ /**
+ *
DDL
indicates DDL query
- * statements. DML
indicates DML (Data Manipulation Language) query
- * statements, such as CREATE TABLE AS SELECT
. UTILITY
indicates
- * query statements other than DDL and DML, such as SHOW CREATE TABLE
, or
- * DESCRIBE
.
- */
- StatementType?: StatementType | string;
}
export namespace QueryExecution {
@@ -423,16 +423,16 @@ export namespace QueryExecution {
*/
export interface UnprocessedQueryExecutionId {
/**
- *